Skip to content

docs: add C4 container diagram (current system + roadmap)#40

Merged
NotYuSheng merged 2 commits into
mainfrom
docs/c4-container-diagram
Jun 24, 2026
Merged

docs: add C4 container diagram (current system + roadmap)#40
NotYuSheng merged 2 commits into
mainfrom
docs/c4-container-diagram

Conversation

@NotYuSheng

@NotYuSheng NotYuSheng commented Jun 23, 2026

Copy link
Copy Markdown
Owner

Summary

Adds a C4 Container diagram giving a one-page overview of Doppelganger — the current system plus the full exploratory roadmap.

  • docs/c4-container.puml — source (PlantUML, C4-PlantUML stdlib)
  • docs/c4-container.png — rendered diagram

What it shows

  • Ingestion Pipeline: Ingest CLI → Source Adapters → Sessionizer/Turn-merger → Redactor → LLM Validator → ShareGPT Formatter → ShareGPT Dataset
  • Training & Inference: LoRA Trainer → LoRA Adapter → Adapter Merge/Export → Inference/Chat
  • Roadmap (exploratory): more chat sources, RAG + memory, voice/multimodal, agentic, guardrails + offline NER, evaluation — grouped in their own boundary with (planned) relationships
  • External Systems: Hugging Face Hub, OpenAI-compatible / local LLM (OpenAI Chat Completions API)

Notes

  • Not linked from the README yet (deliberately).
  • Uses the bundled !include <C4/C4_Container> stdlib so it renders offline; render with plantuml -tpng docs/c4-container.puml.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Added C4 Container architecture diagram documenting system components, their relationships, and boundaries across ingestion, training, inference pipelines, and planned roadmap features.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 23, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@NotYuSheng, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 54 minutes and 20 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: c07522f0-5198-4756-acd8-5aa4905c4323

📥 Commits

Reviewing files that changed from the base of the PR and between 15395e4 and c173b80.

⛔ Files ignored due to path filters (1)
  • docs/c4-container.png is excluded by !**/*.png
📒 Files selected for processing (1)
  • docs/c4-container.puml
📝 Walkthrough

Walkthrough

A new file docs/c4-container.puml is added, containing a complete C4 Container PlantUML diagram for the Doppelganger project. It defines three system boundary groups (Ingestion Pipeline, Training & Inference, Roadmap), an External Systems boundary, named containers with technology descriptions, and explicit runtime and planned relationships.

Changes

C4 Container Architecture Diagram

Layer / File(s) Summary
C4 Container PlantUML diagram
docs/c4-container.puml
Introduces the full C4 Container diagram with system boundaries, container declarations (CLI, adapters, sessionizer, redactor, validator, formatter, dataset, LoRA trainer, adapter store, merger/export, chat, and roadmap containers), and relationship lines covering both active runtime flows and planned roadmap connections.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐇 A diagram born from a blank puml file,
Containers and boundaries stretching a mile,
The ingestion pipeline hops left to right,
The trainer and adapter tucked in just right,
Roadmap in dashes — a dream yet to leap,
This rabbit draws boxes and goes back to sleep! 💤

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main change: adding a C4 container diagram covering both the current system and planned roadmap components.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/c4-container-diagram

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds a new C4 container diagram (docs/c4-container.puml) for the Doppelganger project, detailing the Ingestion Pipeline, Training & Inference, Roadmap, and External Systems. The review feedback points out a missing relationship in the diagram between the Redactor container and the external LLM system, which is needed to accurately represent optional LLM-based redaction.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread docs/c4-container.puml

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
docs/c4-container.puml (1)

8-9: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Clarify relationship labels for planned roadmap features.

The roadmap section and its "(planned)" relationships are clearly annotated. Consider documenting (in comments or a separate ADR) the decision logic for which roadmap items relate to which existing containers, especially cross-boundary flows like "guardrails → redactor" and "rag → chat", to help future contributors understand the integration strategy.

Also applies to: 32-39, 66-72

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/c4-container.puml` around lines 8 - 9, Add clarifying comments in the C4
diagram to document the decision logic for planned roadmap features and their
relationships to existing containers. Specifically, for the relationships in the
"Roadmap (exploratory)" boundary (including the planned connections like
guardrails to redactor and rag to chat at lines 32-39 and 66-72), add inline
comments explaining the integration strategy and why each roadmap item connects
to its specific existing container. This will help future contributors
understand the architectural decisions and integration approach for these
planned features.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@docs/c4-container.puml`:
- Around line 8-9: Add clarifying comments in the C4 diagram to document the
decision logic for planned roadmap features and their relationships to existing
containers. Specifically, for the relationships in the "Roadmap (exploratory)"
boundary (including the planned connections like guardrails to redactor and rag
to chat at lines 32-39 and 66-72), add inline comments explaining the
integration strategy and why each roadmap item connects to its specific existing
container. This will help future contributors understand the architectural
decisions and integration approach for these planned features.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 12e05f15-e2c1-405a-9cc9-c913536eca13

📥 Commits

Reviewing files that changed from the base of the PR and between 70c8e41 and 15395e4.

⛔ Files ignored due to path filters (1)
  • docs/c4-container.png is excluded by !**/*.png
📒 Files selected for processing (1)
  • docs/c4-container.puml

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@NotYuSheng NotYuSheng merged commit ae70a6f into main Jun 24, 2026
4 checks passed
@NotYuSheng NotYuSheng deleted the docs/c4-container-diagram branch June 24, 2026 00:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant