ADR 0081: a decision nothing cites is not yet in the chain

Decisions were the one link the cycle checks skipped, and measuring found 19 of 70 records
orphaned — the credential flow and the module-runtime cluster among them, which is how a
stale premise about a settled decision survived in working memory. cycle.py now refuses an
accepted record nothing cites; the 19 got true homes (design frontmatter, the playbook that
implements 0021, META for the process records). The overview names the practice: spec-driven
development with provenance.

https://claude.ai/code/session_01D6qtiYU3P9jk3pnAXyAFyx
This commit is contained in:
2026-09-17 22:36:33 +02:00
parent 1162f7fe25
commit 90e4a368dc
12 changed files with 107 additions and 1 deletions
+1
View File
@@ -10,6 +10,7 @@ decisions:
- 02-DECISIONS/0006-the-substrate-and-the-control-plane.md
- 02-DECISIONS/0008-a-context-owns-its-store.md
- 02-DECISIONS/0019-how-this-repository-works.md
- 02-DECISIONS/0046-a-module-configuration-is-its-assignments-not-its-manifest.md
---
# The controller
+3
View File
@@ -17,6 +17,9 @@ decisions:
- 02-DECISIONS/0007-connectivity.md
- 02-DECISIONS/0006-the-substrate-and-the-control-plane.md
- 02-DECISIONS/0066-public-routing-is-name-agnostic.md
- 02-DECISIONS/0029-a-network-is-a-shape-because-an-action-cannot-be-undone.md
- 02-DECISIONS/0044-a-public-name-is-provisioned-like-any-capability.md
- 02-DECISIONS/0045-a-machine-firewall-is-the-sum-of-what-it-listens-on.md
---
# Connectivity
+2
View File
@@ -8,6 +8,8 @@ updated: 2026-09-05
decisions:
- 02-DECISIONS/0024-model-access-is-a-provision.md
- 02-DECISIONS/0009-modules-and-the-graph.md
- 02-DECISIONS/0054-model-usage-is-recorded-at-two-grains.md
- 02-DECISIONS/0055-model-access-is-answered-by-a-licence-or-a-node.md
---
# 14 — Model access
+1
View File
@@ -11,6 +11,7 @@ decisions:
- 02-DECISIONS/0006-the-substrate-and-the-control-plane.md
- 02-DECISIONS/0005-the-node-host.md
- 02-DECISIONS/0010-delivery.md
- 02-DECISIONS/0036-bootstrap-ends-at-a-usable-mesh.md
---
# Raising a mesh
@@ -11,6 +11,8 @@ decisions:
- 02-DECISIONS/0039-what-the-sdk-holds-and-refuses.md
- 02-DECISIONS/0069-a-module-is-a-repository-and-a-path.md
- 02-DECISIONS/0009-modules-and-the-graph.md
- 02-DECISIONS/0072-two-graphs-and-the-build-chain.md
- 02-DECISIONS/0076-the-sdk-is-a-published-package.md
---
# Building a module
@@ -11,6 +11,7 @@ decisions:
- 02-DECISIONS/0039-what-the-sdk-holds-and-refuses.md
- 02-DECISIONS/0043-a-module-broker-account-is-scoped-by-emits-and-consumes.md
- 02-DECISIONS/0042-the-shape-of-an-event-on-the-wire.md
- 02-DECISIONS/0047-a-module-runs-its-code-as-its-own-process-with-its-own-account.md
---
# The module protocol
@@ -10,6 +10,7 @@ decisions:
- 02-DECISIONS/0074-the-wire-is-specified-not-the-types.md
- 02-DECISIONS/0040-what-a-module-is.md
- 02-DECISIONS/0039-what-the-sdk-holds-and-refuses.md
- 02-DECISIONS/0053-a-step-that-runs-on-a-schedule.md
---
# Writing a module