DATA_DIR; no database server, cache or broker.
This guide and the pages it links describe the current checkout. Confirm
contracts against source and tests; linked feature guides own detailed user and
wire behavior.
Architecture guides
How a document flows
Document lifecycle follows each step.Where to start a change
Keep behavior with its domain owner.
plugin-api/ provides vocabulary for
compile-linked authenticators, job subscribers and audit sinks, without a runtime
Go plugin loader or service framework. The shared assembly injects integration
callbacks into the API instead of importing plugins/* there and provides one
boot-time callback for compiled native routes and durable subscribers. See
Plugins.
core/approvals/document_change.go owns review eligibility together with source,
field-generation, access and session validation. The classifier records bounded
review reasons; Suchi’s approval transaction performs the final checks and write.
See Review-first mode.
Change and verification map
Start at the affected boundary, then run the aggregate loop.GOCACHE when restricted; force re-execution with
make test TEST_FLAGS='-count=1 -timeout 60s'. Race tests need CGO. UI changes also
need make ui and relevant browser regressions. Use focused benchmarks for local
performance claims and make bench-check for startup/memory/binary guardrails.
Update this guide when ownership, entry points, state flow or invariants change;
update owning feature/API guides and changelog for observable changes. Report
missing runtime/real-tool checks: mocks do not establish end-to-end compatibility.