Documentation policy

September 10, 2026 ยท View on GitHub

Tracked documentation serves engineers, contributors and agents using or maintaining the project. Describe current behavior, contracts, setup, troubleshooting and repeatable verification. Keep reusable examples and blank templates with a clear consumer.

Where information belongs

ContentDestination
Implemented behavior, invariants, supported configuration and recoveryThe existing guide for that subsystem
Code ownership and cross-application boundariesARCHITECTURE.md
Shared interface conventionsUI-GUIDELINES.md
Concise current capability or limitationSTATUS.md
Actionable contributor workTODO.md; align ROADMAP.md and the website roadmap when scope changes
User-facing setup and workflow instructionspackages/knowledge/src/content.ts; regenerate its catalog
Notable user-visible changesThe public changelog, following CONTRIBUTING.md
Test counts, screenshots, logs, benchmark results and per-run receiptsIgnored scratch/ or output/, or approved private storage
Plans, design proposals, decision records, research comparisons and work summariesTask discussion, an appropriate issue/PR, or approved private storage
Live deployment state, owner handoffs, account setup and campaign materialApproved private operator storage

Do not add a feature design document, implementation plan, experiment report, dated status entry, session handoff or completed checklist to source. Do not narrate what a maintainer requested or what an agent did. Extract the lasting behavior into the relevant guide; keep rationale only when needed to preserve a non-obvious contract. Updating documentation is not required for every task: change it when behavior, configuration, contributor workflow or a known limitation changes.

Adding or changing a guide

Prefer updating an existing source of truth. A new guide needs a distinct reader task and an entry in the documentation index. The optional behavior guide template provides a starting structure; omit sections that do not help its reader. Filenames describe the subject, not a date, branch, author or implementation phase.

Use present-tense behavior and reproducible commands. Distinguish implemented, unsupported and unverified capabilities. Document compatibility and failure recovery where they affect callers. A test command belongs here; its most recent pass count, machine timing and local profile location belong in the task's verification report. Version numbers, protocol revisions, license provenance and compatibility migrations remain useful technical facts. Public release notes may have dates.

Before deleting a file, trace source imports, generated paths, package scripts, native registration, packaging and manual verification consumers. A compatibility fixture or dynamically selected asset is not dead merely because it has no direct import. Remove confirmed orphaned references and styles with their owner. Keep required notices and migration paths. Update generators or ignores so retired outputs do not return.

Review and checks

Run pnpm check:docs. It checks local links, index registration, dated/internal document paths and recognizable work-diary sections. The check is intentionally bounded: reviewers must still read for internal narrative, accuracy, duplicates and private information. Registering a file in the index does not make its content suitable.

Keep detailed verification in the PR/task response with exact checks and limitations. Use the release record template outside tracked source for completed release receipts. Do not force-add ignored diagnostics or revive retired documents from old branches.