Skip to content
Cockpit0.29.0
A snapshot: read at commit 707a04c7ce8 on 2026-10-18T00:06:01Z by majordomus 0.29.0. Nothing on this page is read again. See it live

Decisions and what they put in force

Every architecture decision, the decisions it stands in for, and the rules, claims, files and tests it names as what it put in force. The reverse question — what decided this rule — is the same edge read backwards.

Where it comes from

Derived from
the front matter of every object of kind `adr`
Nodes
694
Edges
862
Acyclic
yes
As data
/api/v1/graph

Graph

The drawing is an enhancement. Everything it shows is in the lists below, which is what a reader without JavaScript, a crawler and a screen reader get.

What the shapes mean

Nodes

adr
one architecture decision record
claim
a claim of docs/CLAIMS.yaml the decision backs
file
a document or an implementation the decision names
rule
a rule the decision put in force
test
a behavioural case the decision names

Edges

put_in_force
the decision put the thing in force
supersedes
the decision stands in for the other

Nodes

NodeKindSummaryStatusNowSource
adr-0001adrA Rust executable with a data-driven, read-only MCP surface over stdioaccepted-.ai/repo/adrs/0001-rust-cli-and-stdio-mcp.md
adr-0002adrA canonical capability registry, with MCP, HTTP, OpenAPI, Swagger UI, the CLI and the reference as projectionsaccepted-.ai/repo/adrs/0002-canonical-capability-registry.md
adr-0003adrOne shared MCP server per repository, peers, and clients that start it themselvesaccepted-.ai/repo/adrs/0003-shared-mcp-server-peers-and-client-autostart.md
adr-0004adrOne canonical declaration, composed modules, derived projections, and performance as evidenceaccepted-.ai/repo/adrs/0004-canonical-architecture-and-performance-truth.md
adr-0005adrOne projection plan over the canonical inputs, named owners for every truth, and the site as a view of the registryaccepted-.ai/repo/adrs/0005-one-projection-plan-canonical-owners-and-the-site-as-registry-view.md
adr-0006adrCI planned from one model of what affects what, gates as repository-owned scripts, and the site deployed from the run that verified itaccepted-.ai/repo/adrs/0006-ci-planned-from-one-model-and-the-site-deployed-from-its-verified-run.md
adr-0007adrSkills are data under the layer's skills section, and every surface that shows one is a projectionaccepted-.ai/repo/adrs/0007-skills-are-data-not-registrations.md
adr-0008adrUse cases are executable canonical objects of the layeraccepted-.ai/repo/adrs/0008-executable-use-cases.md
adr-0009adrPrompt capture happens below the model, or is reported as unavailableaccepted-.ai/repo/adrs/0009-prompt-capture-happens-below-the-model.md
adr-0010adrCurated knowledge is one kind with a class, not a second storeproposed-.ai/repo/adrs/0010-curated-knowledge-is-one-kind-with-a-class-not-a-second-stor.md
adr-0011adrEvery directory in the layer carries a contractproposed-.ai/repo/adrs/0011-every-directory-in-the-layer-carries-a-contract.md
adr-0012adrThe Cockpit is a sixth projection of the registry, not an application over itproposed-.ai/repo/adrs/0012-the-cockpit-is-a-projection-not-an-application.md
adr-0013adrEvery web surface is discovered from its producer, resolved once, and projectedproposed-.ai/repo/adrs/0013-every-web-surface-is-discovered-from-its-producer-resolved-o.md
adr-0014adrA closed session is a shared object of the layer, not a local noteproposed-.ai/repo/adrs/0014-a-closed-session-is-a-shared-object-of-the-layer-not-a-local.md
adr-0015adrThe episode boundary is drawn by the provider, not by the modelproposed-.ai/repo/adrs/0015-the-episode-boundary-is-drawn-by-the-provider-not-by-the-mod.md
adr-0016adrThe scenario is a body section, not a header fieldaccepted-.ai/repo/adrs/0016-the-scenario-is-a-body-section-not-a-header-field.md
adr-0017adrAn episode that opens is handed what the last one leftproposed-.ai/repo/adrs/0017-an-episode-that-opens-is-handed-what-the-last-one-left.md
adr-0018adrOperational moments are objects of the layer, not pages of the siteaccepted-.ai/repo/adrs/0018-operational-moments-are-objects-of-the-layer-not-pages-of-th.md
adr-0019adrDistribution is one model, and every surface that ships the tool is a projection of itproposed-.ai/repo/adrs/0019-distribution-is-one-model-and-every-surface-that-ships-the-t.md
adr-0020adrThe capability graph is composed, not centralised, and projected twiceproposed-.ai/repo/adrs/0020-the-capability-graph-is-composed-not-centralised-and-projecte.md
adr-0021adrThe branch-to-worktree topology is derived from git identity and enforced everywhereaccepted-.ai/repo/adrs/0021-the-branch-to-worktree-topology-is-derived-from-git-identity-and-enfor.md
adr-0022adrThe UI standard is an audit over a discovered page set, and its failures are fixed at their shared sourceaccepted-.ai/repo/adrs/0022-the-ui-standard-is-an-audit-over-a-discovered-page-set.md
adr-0023adrProduct features are objects of the layer, and the landing page is a projection of themaccepted-.ai/repo/adrs/0023-product-features-are-objects-of-the-layer-and-the-landing-page-is-a-projection.md
adr-0024adrAn orchestrator is a provider only at the bootstrap level, and its worktrees are scratch checkoutsaccepted-.ai/repo/adrs/0024-an-orchestrator-is-a-provider-only-at-the-bootstrap-level-an.md
adr-0025adrPresentation order is one total order owned by the crate, not a decision each surface makesaccepted-.ai/repo/adrs/0025-presentation-order-is-one-total-order-owned-by-the-crate-not-a-decision-each-surface-makes.md
adr-0026adrA capability module's area is derived from the features that name it, not declared beside itaccepted-.ai/repo/adrs/0026-a-capability-modules-area-is-derived-from-the-features-that-name-it.md
adr-0027adrA command is declared once and every surface is a projection of the command graphproposed-.ai/repo/adrs/0027-a-command-is-declared-once-and-every-surface-is-a-projection.md
adr-0028adrThe crate's public surface is measured by the crate, and absence from the API is a decisionaccepted-.ai/repo/adrs/0028-the-crates-public-surface-is-measured-by-the-crate-and-absence.md
adr-0029adrThe changelog is a projection of what the repository already records, and the version has one writer rather than one sourceproposed-.ai/repo/adrs/0029-the-changelog-is-a-projection-and-the-version-has-one-writer.md
adr-0030adrA task owes obligations, and the evidence that discharges them goes staleproposed-.ai/repo/adrs/0030-a-task-owes-obligations-and-evidence-goes-stale.md
adr-0031adrThe design is one declaration and every surface is a projection of itaccepted-.ai/repo/adrs/0031-the-design-is-one-declaration-and-every-surface-is-a-project.md
adr-0032adrAn external workspace is not a provider: the term, the dependency posture, and where synced content livesproposed-.ai/repo/adrs/0032-an-external-workspace-is-not-a-provider-the-term-the-depende.md
adr-0033adrAn execution is a watched capability call, not a second registryaccepted-.ai/repo/adrs/0033-an-execution-is-a-watched-capability-call-not-a-second-registry.md
adr-0035adrA checkout's server is one of the repository's, and its state is served like every other factproposed-.ai/repo/adrs/0035-a-checkout-s-server-is-one-of-the-repository-s-and-its-state.md
adr-0036adrThe design system is a typed declaration in the crate and every first-party surface consumes its projectionsaccepted-.ai/repo/adrs/0036-the-design-system-is-a-typed-declaration-and-every-first-party-surface-consumes-its-projections.md
adr-0037adrA gate whose runner the repository cannot get on demand is planned on demand, so that the verdict arrivesaccepted-.ai/repo/adrs/0037-a-gate-whose-runner-is-scarce-is-planned-on-demand-so-that-the-verdict-arrives.md
adr-0038adrA scenario declares where it runs, and an obligation is a stepproposed-.ai/repo/adrs/0038-a-scenario-declares-where-it-runs-and-an-obligation-is-a-ste.md
adr-0039adrLiveness is four rules, advisory until a scan can decide themproposed-.ai/repo/adrs/0039-liveness-is-four-rules-advisory-until-a-scan-can-decide-them.md
adr-0040adrDevelopment semantics are capabilities of one runtime; every surface is a consumeraccepted-.ai/repo/adrs/0040-development-semantics-are-capabilities-of-one-runtime.md
adr-0041adrProof is a recorded execution, and inputs unchanged is not provenproposed-.ai/repo/adrs/0041-proof-is-a-recorded-execution-and-inputs-unchanged-is-not-proven.md
adr-0043adrEntering the repository brings its runtime up, through one bootstrap command the entry file callsproposed-.ai/repo/adrs/0043-entering-the-repository-brings-its-runtime-up.md
adr-0044adrCooperation is repository-wide because the board is gathered, not because the server is sharedaccepted-.ai/repo/adrs/0044-cooperation-is-repository-wide-the-board-is-gathered-not-shared.md
adr-0046adrA working context is derived and a closed record is composed; neither is a document somebody must remember to writeproposed-.ai/repo/adrs/0046-a-working-context-is-derived-and-a-closed-record-is-composed.md
adr-0047adrThe session domain is typed, its identities are not interchangeable, and closing is exactly onceproposed-.ai/repo/adrs/0047-the-session-domain-is-typed-and-its-identities-are-not-interchangeable.md
adr-0048adrA rule declares how it is enforced, and review is one of the three waysproposed-.ai/repo/adrs/0048-a-rule-declares-how-it-is-enforced-and-review-is-one-of-the-three.md
adr-0049adrThe model catalogue is declarative data, and routing is an explainable projection of itproposed-.ai/repo/adrs/0049-the-model-catalogue-is-declarative-data-and-routing-is-an-ex.md
adr-0050adrMesh peer discovery is provider-based observation with authenticated node identityproposed-.ai/repo/adrs/0050-mesh-peer-discovery-is-provider-based-observation-with-authe.md
adr-0051adrThe minimum release version is measured from the public contract, and conventional commits are demoted to evidenceproposed-.ai/repo/adrs/0051-the-minimum-release-version-is-measured-from-the-public-contract.md
adr-0052adrThe session lifecycle is the episode's, not the task'sproposed-.ai/repo/adrs/0052-the-session-lifecycle-is-the-episodes-not-the-tasks.md
adr-0053adrAn identity is allocated above the high-water mark, and a collision is refused on the branchproposed-.ai/repo/adrs/0053-an-identity-is-allocated-above-the-high-water-mark-and-a-collision-is-refused-on-the-branch.md

Edges

FromEdgeTo
adr:adr-0010put_in_forcefile:.ai/repo/knowledge/sources.yaml
adr:adr-0010put_in_forcefile:share/kinds.yaml
adr:adr-0010put_in_forcetest:test/cases/64_knowledge_discovery.sh
adr:adr-0010put_in_forcetest:test/cases/73_knowledge_nodes.sh
adr:adr-0011put_in_forceclaim:context-coverage
adr:adr-0011put_in_forcefile:docs/CONTEXT.md
adr:adr-0011put_in_forcefile:lib/context_docs.sh
adr:adr-0011put_in_forcerule:majordomus.context-integrity
adr:adr-0011put_in_forcetest:test/cases/69_context_documents.sh
adr:adr-0012put_in_forcefile:apps/majordomus-cli/src/capability/builtin/graph.rs
adr:adr-0012put_in_forcefile:apps/majordomus-cli/src/capability/builtin/health.rs
adr:adr-0012put_in_forcefile:apps/majordomus-cli/src/cockpit/mod.rs
adr:adr-0012put_in_forcefile:apps/majordomus-cli/src/graph.rs
adr:adr-0012put_in_forcefile:docs/COCKPIT.md
adr:adr-0012put_in_forcefile:scripts/cockpit-probe
adr:adr-0012put_in_forcefile:share/cockpit/src/cockpit.css
adr:adr-0012put_in_forcerule:project.interfaces-are-projections
adr:adr-0012put_in_forcerule:project.no-network-no-eval
adr:adr-0012put_in_forcerule:project.rust-benchmark-coverage
adr:adr-0012put_in_forcerule:project.rust-canonical-declaration
adr:adr-0012put_in_forcetest:apps/majordomus-cli/tests/cockpit.rs
adr:adr-0013put_in_forcefile:.ai/repo/ci/pages.yaml
adr:adr-0013put_in_forcefile:apps/majordomus-cli/src/http/router.rs
adr:adr-0014put_in_forcefile:lib/session.sh
adr:adr-0014put_in_forcerule:project.never-store-transcripts
adr:adr-0018put_in_forcefile:.ai/repo/why/README.md
adr:adr-0018put_in_forcefile:apps/majordomus-cli/src/why.rs
adr:adr-0018put_in_forcerule:project.interfaces-are-projections
adr:adr-0018put_in_forcerule:project.why-catalogue-is-canonical
adr:adr-0018put_in_forcetest:test/cases/98_why_catalogue.sh
adr:adr-0020put_in_forcefile:apps/majordomus-cli/src/capability/builtin/graph.rs
adr:adr-0020put_in_forcefile:apps/majordomus-cli/src/cockpit/mod.rs
adr:adr-0020put_in_forcefile:apps/majordomus-cli/src/graph.rs
adr:adr-0020put_in_forcefile:docs/COCKPIT.md
adr:adr-0020put_in_forcerule:project.derived-once
adr:adr-0020put_in_forcerule:project.hot-path-reads-once
adr:adr-0020put_in_forcerule:project.interfaces-are-projections
adr:adr-0020put_in_forcerule:project.no-new-nouns
adr:adr-0021put_in_forcefile:apps/majordomus-cli/src/capability/builtin/worktree.rs
adr:adr-0021put_in_forcefile:apps/majordomus-cli/src/worktree/migrate.rs
adr:adr-0021put_in_forcefile:apps/majordomus-cli/src/worktree/mod.rs
adr:adr-0021put_in_forcefile:apps/majordomus-cli/src/worktree/path.rs
adr:adr-0021put_in_forcefile:docs/WORKTREES.md
adr:adr-0021put_in_forcerule:project.interfaces-are-projections
adr:adr-0021put_in_forcerule:project.no-machine-paths
adr:adr-0021put_in_forcerule:project.rust-canonical-declaration
adr:adr-0021put_in_forcerule:project.worktree-topology
adr:adr-0022put_in_forcefile:apps/majordomus-cli/src/web/report/ui.rs
adr:adr-0022put_in_forcefile:apps/majordomus-cli/src/web/validate.rs
adr:adr-0022put_in_forcefile:scripts/lib/ui-audit.mjs