Galley Docs

July 11, 2026 · View on GitHub

This is the routing index for Galley documentation, and the single source of truth for what to read when. AGENTS.md carries only the highest-frequency subset of the task table below; when the two disagree, this index wins and AGENTS.md needs the fix.

Read By Role

RoleStart Here
User evaluating GalleyREADME, then architecture
Agent / Supervisor integratorSupervisor SOP, then Supervisor reference or agent-api
ContributorCONTRIBUTING, then engineering workflow
Maintainerproject status, release / update SOP, release workflow, GA baseline
Historical readerdevlog, then archive
Coding agentAGENTS.md, then the focused docs below

Read By Task

TaskRead First
Understand current project stateproject status — current version, release gates, phase state
Understand the architecturearchitecture — external-facing system overview
Change product behavior or roadmapPRD — product definition and roadmap
Change CLI output or Agent APIagent-api — stable CLI / socket contract; v1 is frozen, additive-only
Change the Core ↔ runner wire protocolIPC protocol — change docs first, then code
Change Supervisor / Agent integrationSupervisor SOP, then Supervisor reference
Plan or design Galley Native runtimeGalley Native — charter, RFC set, implementation slices
Check architecture invariantsarchitecture demo — code-level proofs and grep gates; hard engineering invariants (I3/I5/I6/I9/I11) are in engineering workflow
Prepare or update a releaserelease / update SOP (runbook), then release workflow (background)
Write GitHub Release notesrelease notes guide — writing rules and bilingual templates
Close a long coding session or sync project knowledgesession close SOP
Smoke Windows buildsWindows checklist
Touch GenericAgent integrationGA baseline — pinned upstream compatibility
Touch app packaging / runtimedesktop runtime
Touch managed / bundled GA runtimemanaged GA runtime — mode boundaries, patch discipline, state rules
Touch GUI or engineering workflowengineering workflow — conventions plus hard invariants
Touch visual designDESIGN.md
Look up domain vocabulary (turn numbering, seams, protocol terms)CONTEXT.md — the ubiquitous-language glossary; engineering skills read it before exploring
Check whether a refactor direction was already decided againstADRs — accepted architecture decisions; reviews must not re-litigate them
Track issues / PRDs for an in-flight featureissue tracker — local markdown under .scratch/, triage states in triage labels
Grow the domain model (glossary + ADRs)domain — how CONTEXT.md and docs/adr/ are maintained
Understand or change Galley's temperament / brand charactertemperament charter — the "why" above the execution specs
Touch UI copy, terminology, or localizationcopy and language guidelines (what to call things), copy austerity principles (how to say it)
Touch conversation text rendering / CJK typographytypography principles — render-only red line
Reshoot README screenshots / demo assetsscreenshot playbook — includes the binary-asset policy
Review product / UX audit findingsaudits — evidence-backed decision input, not specs
Understand history or decisionsdevlog — chronological decision provenance
Dig into completed-mission docs (B-phase refactor, old drafts, handoffs)archive

Lifecycle

Status is encoded by location, not per-file headers:

  • docs/archive/**archived. Mission complete; kept verbatim for provenance. Never a current rule.
  • docs/devlog/**historical by definition. Dated decision narrative; entries are never rewritten, only superseded by newer entries.
  • Everything else under docs/living. Current rules and references, expected to be accurate today.

To archive a doc: pull any still-binding rules into a living doc, git mv the file into docs/archive/, add a short > **ARCHIVED <date>** banner saying where the living rules went, and update the table in archive README.

When a living doc grows past what one session can afford to read (~1000 lines), split it into a directory with its own README.md routing index, grouped by what a session typically needs together. The original path stays behind as a redirect stub so external references keep resolving. Current stubs: docs/DESIGN.md, docs/agent-api.md, docs/managed-ga-runtime.md.

Update Triggers

Living docs drift when nothing says who updates them and when. One table, one trigger event per doc — if you just did the event in the left column, the doc on the right is part of your change, not a follow-up:

When you…You must update
Ship a releaseproject status (already in the release SOP)
Upgrade the GA baselineGA baseline + managed patch notes; audit starts at runner/ga_session.py
Change the Agent API or IPC protocolagent-api / IPC protocol first, then code (Rule 3)
Land a new seam, module, or pinned termCONTEXT.md; record rejected directions as ADRs
Add a top-level module or cross-tier seamarchitecture + architecture demo (file + symbol refs, never line numbers)
Write a devlog entryadd its row to devlog README in the same change
Change UI copy rules or visual specscopy guidelines / design
Update the Supervisor SOPre-sync the verbatim copy in .claude/skills/galley-supervisor/references/

Keep Docs Lean

Do not duplicate long history into task documents. Prefer:

  • current rule in the focused document
  • link to the devlog for why
  • link to the playbook for how
  • update AGENTS.md only for global rules every session must know
  • this index is the only full routing table; do not grow parallel indexes

When adding a major new document: add one row to the task table above, and (only if it is truly high-frequency) one row to AGENTS.md. Binary assets follow the policy in screenshot playbook.