0002. Mono-repo with a federated document set
Status
Accepted, 2026-07-24.
Context
The research workspace this tool grew out of models the four-stream trust topology as four branches checked out as worktrees: requirements, implementation, results, and graph evolve under different owners, and the separation is what makes the trust boundary between them visible. An OSS repository, by contrast, must be clone-and-build for contributors.
Decision
This repository is an ordinary mono-repo. Stream separation is carried
by content hashes (the engine’s identity mechanism is topology-agnostic),
scoped per-document version tags (docs/srs/v*), and path-based
ownership. The requirement specification, test specification, and test
report live as separate Sphinx documents federated through a central
registry (doc/documents.yaml), each independently buildable and
versionable — the cygnus multi-document pattern. Build orchestration is a
first-party python -m doc driver (two-stage index/build); no CMake.
The four-stream topology is retained as a supported configuration and conformance fixture, exercised by integration tests against the four-worktree layout it came from.
Consequences
“Requirements lead code” moves from topology into review discipline.
The multi-repo flagship case must stay CI-exercised (fixture, not folklore).
This repo dogfoods its own tool: the specification documents are the first safety evidence graph affirmatrix seals (
case/).