diff --git a/README.md b/README.md index ae8027f..6ddc5f7 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,8 @@ If you are the person: read these in order: 6. `docs/ENVIRONMENT-FACTS.md` — the ids, the installed tools, and the one step that is still unproven. +![architecture](docs/diagrams/architecture.png) + ## The one-line version Paperclip already owns tasks, blockers, comments, approvals, runs, cost and git diff --git a/docs/DOCMAP.md b/docs/DOCMAP.md index 4930665..5664f1e 100644 --- a/docs/DOCMAP.md +++ b/docs/DOCMAP.md @@ -26,6 +26,8 @@ it is a pointer and should be deleted or replaced. | `docs/TEST-PLAN.md` | this project | the test plan: every step, every key, every expected result | | `docs/RUNS-AND-MERGE.md` | this project | what a task, a run and a merge are, with the measured run counts | | `docs/NEXT.md` | this project | what is left to build, in order, and what is still unproven | +| `docs/architecture.mmd` | this project | the system diagram in Mermaid: TUIOS panes, the commands, Paperclip, where work happens | +| `docs/diagrams/architecture.png` | this project | the same diagram rendered, for a README or a handover | ## What is not a document of this project diff --git a/docs/architecture.mmd b/docs/architecture.mmd new file mode 100644 index 0000000..be57a68 --- /dev/null +++ b/docs/architecture.mmd @@ -0,0 +1,54 @@ +flowchart TB + subgraph People + P["The person
on .27 or .51"] + end + + subgraph TUIOS["TUIOS daemon on .13"] + direction TB + W1["Board>board"] + W2["Work>work"] + W3["Agents>agents"] + W4["Reply>reply"] + W5["New task>new"] + W6["Project>project"] + W7["Repair>repair"] + W8["Shell>shell"] + end + + subgraph Harness["bin/ commands"] + O["office
adopt, create session, build panes"] + B["board
build or repair panes"] + M["merge
rebase, check, review, merge"] + R["review
ocr alone"] + T["triage
Mouse-1 one question"] + end + + subgraph Paperclip["Paperclip on .13 :3100"] + API["Control plane API"] + DB[("Tasks, blockers, comments,
runs, cost, approvals")] + AG["Agents
Pi adapter (pi_local)"] + end + + subgraph Work["Work happens here"] + WT["Worktree per task
.paperclip/worktrees"] + PI["Pi session per run
~/.pi/paperclips"] + SK["Skills
~/.pi/agent/skills"] + end + + GH["Gitea / git repository"] + + P --> TUIOS + W1 & W2 & W3 & W4 & W5 & W6 & W7 --> API + W8 --> O & B & M & R & T + O & B --> TUIOS + M & R --> GH + M --> OCR["ocr review"] + T --> MOUSE["Mouse-1 API"] + API --> DB + API --> AG + AG --> WT + AG --> PI + AG --> SK + WT --> GH + + click API "https://maps.lab.audasmedia.com.au/paperclip-harness/docs/" "View Archify Map" diff --git a/docs/diagrams/architecture.png b/docs/diagrams/architecture.png new file mode 100644 index 0000000..831da52 Binary files /dev/null and b/docs/diagrams/architecture.png differ