Type: axiom Status: Current (2026-07-30) Audience: anyone landing in
docs/for the first time Last verified vs code: mobile/hub/host2026.730.1231-alpha· desktop2026.730.1242
TL;DR. The index. Tells you where to start based on what you came
to find. If you're going to add a doc, read doc-spec.md
first — it defines what every doc must declare and where it lives.
I'm a contributor and want to ship something.
roadmap.md— what's in flight, what's nextspine/— the architecture you'll build againstplans/— pick up an active wedge or write a new one
I'm an operator and want to install / run / test.
how-to/install-hub-server.mdhow-to/install-host-runner.mdhow-to/run-the-demo.mdhow-to/release-testing.mdhow-to/export-traces-to-otlp.md— ship agent-run traces to Jaeger / a Collector / Phoenix.how-to/agent-collaboration.md— how multiple AI agents on different hosts share this repo via GitHub.
I'm trying to understand a piece of the system.
- Start with
spine/blueprint.mdfor the architecture spine/information-architecture.mdfor mobile IAspine/agent-lifecycle.mdfor how agents are born / live / diespine/sessions.mdfor the session ontologyreference/glossary.mdwhen a term feels overloaded — the canonical defs for every project-specific word that has more than one possible meaning (session, resume, fork, kind, transcript, …)reference/vocabulary.mdfor the swappable design vocab axes (post-MVP theme packs — different artifact)
I'm a tester or end-user filing a bug.
how-to/report-an-issue.md— UI vocabulary tour with annotated diagrams + a bug-report template.
I'm wondering "why did we do X?"
decisions/— append-only ADRs. Browse the index there; numbers are stable and the status field tells you whether a decision is still current.
I'm wondering "what shipped in version X?"
changelog.md— mobile app + hub + host release record (CalVerYYYY.MMDD.HHMMsince 2026-07-22, tagged per component asmobile-v*/hub-v*/host-v*; sequentialv1.0.xbefore that), Keep-a-Changelog format, one section per tagged release.changelog-desktop.md— the desktop workbench release record (its own CalVer lane;electron-v*— the formerdesktop-v*Tauri lane was retired at the M3.4 cutover).
I'm exploring an open question.
discussions/— pre-decision exploration, mixed lifecycle. Status header on each file says whether the question is open, resolved, or dropped.
docs/
├── README.md this file
├── roadmap.md where we're going (vision + Now/Next/Later)
├── changelog.md mobile + hub + host release record (CalVer; v1.0.x before 2026-07-22)
├── changelog-desktop.md desktop workbench release record (electron-v*; desktop-v* retired)
├── doc-spec.md contract every doc honors
│
├── spine/ axioms — always-true architecture
├── reference/ schemas, vocab, API surface
├── how-to/ task-oriented runbooks
├── decisions/ append-only ADRs (NNN-name.md)
├── plans/ active and recent work units
├── discussions/ open exploration
├── tutorials/ learning-oriented walkthroughs (TBD)
└── archive/ superseded, frozen
Each directory holds exactly one type of doc. The contract is in
doc-spec.md.
These four are the architectural foundation. Everything else cites back to them.
| Doc | Topic |
|---|---|
spine/blueprint.md |
Architecture, axioms, ontology, protocol layering |
spine/information-architecture.md |
Mobile IA — six axioms, role ontology, entity × surface matrix |
spine/agent-lifecycle.md |
How an agent is born, lives, spawns, dies |
spine/sessions.md |
Session ontology — the conversational primitive that survives respawn |
- Status block at the top of every file. See
doc-spec.md§3. - Naming: lowercase-hyphens, no version markers, no dates in
filenames. See
doc-spec.md§4. - One primitive per file. A file is exactly one of: axiom,
vision, plan, decision, reference, how-to, discussion, tutorial,
archive. See
doc-spec.md§2. - No mixed concerns. If a file would be "the architecture AND the runbook AND open questions," it gets split into three.
- English only. Per project convention, all docs are in English.
Read doc-spec.md first. The 30-second checklist:
- Pick the right primitive — §2 of the spec
- Add the status block — §3
- Put it in the right directory — §5
- Name it per §4
- Cross-references use relative paths
Reorgs go in their own commits prefixed docs: so feature commits
stay clean.