Home / Projects / Orchestrata Ultimate / Decisions / ADR index

ADR index

An ADR is a one-way-door decision, recorded once and never edited once Accepted. This page is the register of all of them, and the rules below are what the ADRs themselves say.

Three homes. ADR-0046 requires every ADR to live in docs (docs/adr/NNNN-title.md, the append-only file of record), on the wiki's decisions page (the human register) and as an ArchitectureDecision node in the graph. check_adr_graph_sync.py is the standing three-way drift gate: a new ADR is not done until the gate is clean for it.

Two registers. ADR-0047 found that the factory series (4-digit ids, file of record in docs/adr) and the project series (up to 3 digits, file of record the decisions page) reused the same integers for different decisions. It ruled that ids are zero-padded strings: ADR-0001 and ADR-001 are different decisions, nothing is renumbered, and register is a property of the graph node. Only factory ADRs with a docs file get a page here; project ADRs and wiki-only factory entries link to their anchor on the decisions page.

Status flips. A body is immutable once Accepted; a change of mind is a new ADR that supersedes the old one, and the old status flips to Superseded (ADR-0087 over ADR-0079, ADR-0101 over ADR-0100). Proposed ADRs wait for Mohamed's ruling. Where the docs file and the wiki entry disagree, the docs file wins and the drift is listed below.

A publish step. ADR-0130 ruled that while a thread is still being understood, researched and agreed, rulings stay verbatim in scratch notes; at the end they are reviewed against the register and minted together in all three homes. That is why a batch of ADRs shares one date.

Reading the pages. The counts and the per-month chart orient you; the tables group every ADR by status. The relations graph draws only what the text states outright: supersedes, amends, addendum. A no in the on-master column means the record exists only on a branch so far; its page says which branch and commit. Each ADR page carries the full text, related ADRs, the rulings it cites and the specs it names.

Still undecided: every Proposed ADR is listed on open decisions.

Counts

status project (3-digit) factory (4-digit) total
Accepted 25 104 129
Proposed 0 27 27
Superseded 0 2 2
Rejected 0 0 0
Other 0 0 0
all 25 133 158

Where each factory ADR was read from

ref branch files at ref used here ref on GitLab master
8a2cb42ad feat/maps-via-codetools 94 94 no
8c7031c9a fix/ship-sanctioned-gate-pytest 105 11 no
b3ea29a31 architecture/domain-model 57 19 no
1061f2d0a architecture/domain-model 58 1 no
030a4ff64 feat/session-ctx-inject 62 1 no
099eb1773 feat/shared-ledger 77 1 no
3f68a11a5 docs/adr-register-0080-0085 73 6 no

An ADR counts as on master when its ref is an ancestor of the master ref, or when the file is byte-identical to the one on master (so a branch that merely sits ahead of master does not hide ADRs master already holds). 133 factory ADRs have a page here (docs file of record). 0 factory ADRs exist only as wiki register entries (no docs/adr file at any ref); they, and the project-register ADRs, link to their entries on the decisions page.

Status drift between the docs file and the wiki entry

The docs file is the file of record. These ids carry a different status class on the wiki register:

ADRs per month

ADRs per month, stacked by register

5 ADRs carry no parseable date and are not charted.

Relations between ADRs

Only relations the text states explicitly are drawn: Supersedes / Superseded by, Amends / Amended by, and an addendum that names another ADR. Arrow: the newer record points at the one it changes. Fill shows the status: green accepted, yellow proposed, grey superseded.

Explicit relations between ADRs

12 relations: 5 supersedes, 5 amends, 2 addendum.

from relation to
ADR-0027 supersedes ADR-0025
ADR-0028 amends ADR-0015
ADR-0030 amends ADR-0001
ADR-0030 amends ADR-0017
ADR-0032 amends ADR-0002
ADR-0076 supersedes ADR-0074
ADR-0087 supersedes ADR-0079
ADR-0095 supersedes ADR-0091
ADR-0101 supersedes ADR-0100
ADR-0130 addendum ADR-0124
ADR-0130 addendum ADR-0127
ADR-0133 amends ADR-0099

Accepted (129)

id title date register source ref on master
ADR-001 Memgraph as Semantic Graph Backend 2026-07-07 project wiki register n/a
ADR-002 Repository Pattern Over Direct Bolt 2026-07-07 project wiki register n/a
ADR-003 Single HA Controller Container (Interim) 2026-07-07 project wiki register n/a
ADR-004 ASYNC Replication Default 2026-07-07 project wiki register n/a
ADR-005 Monkeypatch Fully Forbidden Suite-Wide 2026-07-08 project wiki register n/a
ADR-006 Governance Wired into PipelineRunner (P0.1) 2026-07-08 project wiki register n/a
ADR-007 Prolog Atom Escaping (P0.2) 2026-07-08 project wiki register n/a
ADR-008 get_neighbors With depth < 1 Returns Empty 2026-07-08 project wiki register n/a
ADR-009 Fail-Closed Governance by Default (P0.3) 2026-07-08 project wiki register n/a
ADR-010 All Persistence Through Core Factories (D12 P1) 2026-07-08 project wiki register n/a
ADR-011 NO_AUTH Sentinel for Unauthenticated Bolt 2026-07-08 project wiki register n/a
ADR-012 core.protocols Is the Canonical Interface Home (P2) 2026-07-08 project wiki register n/a
ADR-013 Hybrid RRF Retrieval + TESTS Edges in the Semantic Graph 2026-07-08 project wiki register n/a
ADR-014 review_edit Is a Deterministic Fail-Closed Floor 2026-07-08 project wiki register n/a
ADR-015 No Docker Deployment Work — Incus Is the Runtime 2026-07-08 project wiki register n/a
ADR-016 The Agent Runtime Kernel Is REQUIRED Infrastructure 2026-07-10 project wiki register n/a
ADR-017 Free-Threaded janus-swi Is the Deployed Prolog Path (Fixed at the C Level) 2026-07-10 project wiki register n/a
ADR-018 pytest-xdist Is Banned With a Single Source of Truth 2026-07-10 project wiki register n/a
ADR-019 D13 — Raw Memgraph Coordinator Probe Lives in the Allowlisted HA Seam 2026-07-10 project wiki register n/a
ADR-020 The Memgraph Adapter Retries Transient Storage-Access Contention – project wiki register n/a
ADR-021 Org-Mode Is Rejected as a Project Format – project wiki register n/a
ADR-022 Five Prolog Anti-Goals Are Settled Negatives – project wiki register n/a
ADR-023 The 2026-07-21 Corrected Decision Set Is Ratified – project wiki register n/a
ADR-024 One Factory Per Neo4j Database (Deployment Contract) – project wiki register n/a
ADR-025 KG Zero-Orphan Invariant Enforced; D1(b) Executed; Session CLI Refuses Auto-Detected Roots Under Pytest 2026-07-30 project wiki register n/a
ADR-0001 Enforcement boundary is committed worktree state, not tool interception 2026-07-23 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0002 Factory gates fail closed; interactive sessions stay fail-open 2026-07-23 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0003 Neo4j is the fact system of record; Memgraph deferred 2026-07-23 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0004 Facts are keyed by (worktree, commit); merge is fact promotion 2026-07-23 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0005 Prolog is a stateless reasoning view; the graph is the sole fact store 2026-07-23 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0006 Projection is rule-driven, with a completeness meta-check 2026-07-23 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0007 Traces are structurally validated, never model-declared 2026-07-23 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0008 The determinism boundary — gates check structure and transcription, not intent 2026-07-23 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0009 Asymmetric amendment — tightening needs quorum, loosening needs the human 2026-07-23 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0010 Constitutional invariants require stratified negation 2026-07-23 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0011 Detect incompleteness rather than prove completeness 2026-07-23 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0012 Semantic anchors are requirement-derived, not code-derived 2026-07-23 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0013 Anchors are constitution-tier and human-only; anchor edits are loosening 2026-07-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0014 Adjudications are promoted into the Project KB (detector memory) 2026-07-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0015 DoR is necessary-not-sufficient, with a human floor and forced-choice axes 2026-07-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0016 Anchor classes are ranked; differential oracles are mandatory for amendments 2026-07-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0017 Governed writers are (binary, config)-attested pure functions, re-executed trusted-side 2026-07-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0018 Three-uid execution model (agent / sandboxed executor / trusted gate) 2026-07-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0019 Gate reads require causal consistency — snapshot + watermark, not replicas 2026-07-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0020 Amendment direction — syntactic sufficient condition, else the human 2026-07-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0021 Edge accounting over the transitive closure; boundary changes are loosening 2026-07-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0022 Interpretation mutation must be adversarially separated; promote the model-free detector 2026-07-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0023 The fast path requires anchors satisfied and unchanged 2026-07-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0024 The assumption-matching arbiter and its independence guarantee 2026-07-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0025 The governance rulebase bans dynamic predicate construction 2026-07-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0026 A governance predicate may not return a truncated answer set 2026-07-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0027 Retain Prolog as the reasoning engine 2026-07-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0028 Completeness axes are delivered as a construction procedure, not a checklist 2026-07-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0029 The lexical incompleteness detector set is tiered by measured precision 2026-07-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0030 Provenance uses in-toto / SLSA attestations rather than a bespoke format 2026-07-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0031 Every gate decision carries its proof tree 2026-07-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0032 The gate adopts the admission-control contract 2026-07-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0033 No agent merges its own work; dispatch gates on duplication and staleness 2026-07-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0037 Idempotent KG event ids are SHA1 content digests 2026-07-22 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0038 The CXP envelope schema supersedes the pre-CXP Postman schema 2026-07-06 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0039 Ruleset design — one commit per design version (F12) 2026-08-28 factory b3ea29a31 (architecture/domain-model) yes
ADR-0040 Ruleset traceability contract + one-word approval UX (F13) 2026-08-29 factory b3ea29a31 (architecture/domain-model) yes
ADR-0046 Every ADR lives in three synchronized homes — docs, wiki, graph 2026-08-29 factory b3ea29a31 (architecture/domain-model) yes
ADR-0047 Two ADR registers, string-significant ids — namespace, renumber nothing 2026-08-29 factory b3ea29a31 (architecture/domain-model) yes
ADR-0053 Infrastructure is guilty until proven live — probe, never trust 2026-08-30 factory b3ea29a31 (architecture/domain-model) yes
ADR-0054 Misplaced infrastructure seams relocate to a new L1 infra package 2026-09-21 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0055 volk_registry lives in the agents layer; L0 protocols never name concretes 2026-09-21 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0056 Two-gate architecture measurement — runtime gate + static ratchet with a pinned baseline 2026-09-21 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0057 PEP 649/749 annotation convention — Any + named comment, never TYPE_CHECKING-only names in evaluable annotations 2026-09-21 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0058 HA controller tests run against a dedicated two-node orchgraph sandbox, never the shared test node 2026-09-22 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0059 REQ propagation in generated tests is uncapped — traceability is not sampled 2026-09-22 factory b3ea29a31 (architecture/domain-model) yes
ADR-0063 The Read tool is allowed on a module the session already read through the AST toolkit 2026-09-23 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0064 The deployed orchgraph package carries MAGE so the ratified pagerank SLO is measurable 2026-09-23 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0065 The production gateway's WS control plane binds loopback through the committed prod profile 2026-09-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0066 /opt/orchestrata secrets live in ~/.config/orchestrata/.env and the installer never defaults to the workspace template 2026-09-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0067 Developer daemons are deployed code; the checkout they serve is a runtime parameter 2026-10-05 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0068 SPEC-110 in-memory review checks run on the ctok lossless layer and CPython ast, not LibCST 2026-10-06 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0069 Every spec's Definition of Done includes @traces annotations, RTM regeneration, documentation, wiki update and ≥90% coverage 2026-10-06 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0070 Hooks live at the user level only and scope themselves to the project in cwd, so they apply to every project 2026-10-06 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0072 The conversation graph endpoint is the prod orchgraph cluster, database orchkg 2026-10-06 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0073 ERR-110-002 amended: the default-on review engine aborts a commit on findings the change introduced (delta baseline) 2026-10-06 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0074 The prod promote re-embeds only changed semantic chunks and probes the embedding provider before the tree moves 2026-10-07 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0077 Terraform owns every Incus environment; the live dev, test and prod fleets are imported, not rebuilt 2026-10-08 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0080 Every fleet container's address is pinned as nic ipv4.address 2026-10-09 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0081 Provisioners create topology only by generating Terraform 2026-10-09 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0082 The mcp-server-test-ssh profile's embedded key stays unrotated 2026-10-09 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0083 The retired rehearsal fleet stays parked, not deleted 2026-10-09 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0084 Governance predicate dispositions — wire 14, keep 8, hold 30 2026-10-09 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0085 Every ruling is recoverable, logged, and fed back into design 2026-10-09 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0087 The prod gate is one correctness run of the promoted commit 2026-10-11 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0088 One shared green ledger per repo; a test reruns only when its own code or the code it tests changes 2026-10-11 factory 099eb1773 (feat/shared-ledger) no
ADR-0089 Bare toolchain names fail the gate in Prolog, and the C toolchain is one declared file 2026-10-11 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0091 The janus fork links the declared SWI-Prolog through a path guix gc keeps alive 2026-10-11 factory 3f68a11a5 (docs/adr-register-0080-0085) no
ADR-0092 The orchestrata plugin is self-contained, pinned by a tag, and installed by one verifying command 2026-10-12 factory 3f68a11a5 (docs/adr-register-0080-0085) no
ADR-0093 Promotion, test and gate work re-injects the process, test and gate memories, and compaction resets the injector 2026-10-12 factory 3f68a11a5 (docs/adr-register-0080-0085) no
ADR-0094 Graph queries run with the ontology structure memory injected first 2026-10-12 factory 3f68a11a5 (docs/adr-register-0080-0085) no
ADR-0095 SWI-Prolog is built from pinned source into a fixed project-owned prefix, and the runtime path leaves guix 2026-10-12 factory 3f68a11a5 (docs/adr-register-0080-0085) no
ADR-0096 ADR body-drift dispositions — the graph sync treats wiki pointer entries as pointers, the three-way check compares bodies, ADR-0073's graph body is re-baselined once to its docs body, and the post-acceptance edits of ADR-0004 and ADR-0019 are ratified as their accepted text 2026-10-13 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0097 The resident AST daemon publishes the snapshot file from its warm cache — the post-edit hooks stop re-serializing the tree on every write, and the duplicate home-directory refresh hook is retired 2026-10-13 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0098 First-docs-capture rule — a graph ADR node whose body was never captured from docs/adr/ (it holds a wiki summary or is empty) is baselined once from its docs body; immutability binds from that first docs capture onward 2026-10-13 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0099 The gateway's MCP transport is a WebSocket JSON-RPC client of the running gateway, over one declarative method table that both transports read, and every method is approval-gated unless marked read-only 2026-10-13 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0101 ADR-0100 rested on a wrong reading of the commit hook; the real hook's stages are measured first and placement is decided on the numbers; none of ADR-0100's rules execute 2026-10-13 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0102 Three graph ADR nodes overwritten by a mis-targeted codetools sync are re-baselined from docs, and the codetools register gets its own graph key before any further sync 2026-10-13 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0103 The byte-faithful LIFT is the parity oracle, not the deliverable; the clean target is the deliverable 2026-10-15 factory b3ea29a31 (architecture/domain-model) yes
ADR-0104 Git worktrees are not graph projects — orchkg holds one current, provenance-stamped copy per codebase 2026-10-16 factory 1061f2d0a (architecture/domain-model) no
ADR-0105 The components branch pushes only after the affected-test gate learns the packages/** layout — a 345-commit push is not shipped past the gate with --no-verify 2026-10-18 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0106 Ruling-gated lift increments are not claimed by their package's parity suite until their ruling lands — the affected gate certifies the landed surface, and the held REQs stay UNLINKED in the RTM 2026-10-18 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0107 The frozen tools family lands as its own component package orchestrata-tools, and volks consumes it as a declared dependency (N-V3) 2026-10-18 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0108 The AST toolkit stays host-side — the volks codedirector consumes it through a contracts protocol injection seam (N-V4) 2026-10-18 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0109 Semantic-graph bulk writes run in transactions of at most 500 rows; replication stays SYNC 2026-10-19 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0110 The idle Prolog containers are retired from every fleet, and SWI-Prolog runs only embedded in the kernel 2026-10-19 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0111 Test runs never create containers; container creation is exercised only by explicit rehearsals 2026-10-19 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0112 Tools reaches Redis and embeddings through contracts protocols, not kernel imports 2026-10-19 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0113 Integration L1 builds now, and the master push is recorded as backup-and-deploy, not cut-over 2026-10-19 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0114 orchkg sees the component packages, and Spec and Requirement nodes are in scope 2026-10-19 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0115 E-1 ruled: the component DAG gains integration → knowledge_graph, governance, tools (27 → 30 edges) 2026-10-20 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0116 Staged source .py files enter the T21 env-key review at commit time 2026-10-20 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0117 SPEC-109 rename engine moves to codetools, and orchestrata consumes the deployed CLI 2026-10-20 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0118 Tier-1 host-side scripts transfer to codetools in two batches; review and RTM lane merges wait for their own rulings 2026-10-20 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0119 dr-hannah connects only to the prod orchgraph memgraph cluster; data stranded in another memgraph moves to prod 2026-10-20 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0120 Test-spawned subprocesses import from the installed environment, never the source tree 2026-10-20 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0121 The deployed Hermes subagent keeps persistent curated memory across runs; the user profile stays off 2026-10-20 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0122 One coordinator per worktree at a time; the shared handoff board is the coordination channel 2026-10-20 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0125 The host Claude writes no orchestrata code; it perfects the briefs, checks and workflow and measures the worker models 2026-10-22 factory 8c7031c9a (fix/ship-sanctioned-gate-pytest) no
ADR-0127 The test runner stays a repo dev tool outside the integration release until codetools has an affected-set oracle 2026-10-23 factory 8c7031c9a (fix/ship-sanctioned-gate-pytest) no
ADR-0128 The tracked codebase maps are regenerated at commit, by per-file delta, through the codetools ast map verb 2026-10-23 factory 8c7031c9a (fix/ship-sanctioned-gate-pytest) no
ADR-0129 Installer tests that only read the install share one read-only install, an enforced exception to function-scoped fixtures 2026-10-23 factory 8c7031c9a (fix/ship-sanctioned-gate-pytest) no
ADR-0130 ADRs are a publish step — rulings live in the scratch notes while a thread is open and are minted together at its end 2026-10-23 factory 8c7031c9a (fix/ship-sanctioned-gate-pytest) no
ADR-0131 Deploys the classifier blocks run through approved user-level launchers that refuse unsafe states and verify or roll back 2026-10-23 factory 8c7031c9a (fix/ship-sanctioned-gate-pytest) no

Proposed (27)

id title date register source ref on master
ADR-0034 Governed-action classification is property-derived, not name-enumerated 2026-07-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0035 Authorization is a scoped grant matched to the action instance, from two sources 2026-07-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0036 Classification facts are stamped at creation under the trusted boundary 2026-07-24 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0041 Ruleset engine — per-surface immutable versions, named compositions (F1) 2026-08-29 factory b3ea29a31 (architecture/domain-model) yes
ADR-0042 Wiring-gate supersession by the ruleset engine's §5 (F4) 2026-08-29 factory b3ea29a31 (architecture/domain-model) yes
ADR-0043 Rollback window N + process-cap arithmetic (F8-cap) 2026-08-29 factory b3ea29a31 (architecture/domain-model) yes
ADR-0044 Registry entries self-admit via the ratify chain (r12-decision-1) 2026-08-29 factory b3ea29a31 (architecture/domain-model) yes
ADR-0045 Per-lineage bearer token for submitter continuity (r12-decision-2, refined) 2026-08-29 factory b3ea29a31 (architecture/domain-model) yes
ADR-0048 A ratified ADR is sufficient design authority for bounded implementation 2026-08-29 factory b3ea29a31 (architecture/domain-model) yes
ADR-0049 Adversarial-review evidence is repo-committed and enriches wiki + graph 2026-08-29 factory b3ea29a31 (architecture/domain-model) yes
ADR-0050 Amend F13(D) — target semantics, not current-CLI claims; correct the payload 2026-08-29 factory b3ea29a31 (architecture/domain-model) yes
ADR-0051 F13(A) decomposition map made total — buckets for §0, §1, §10 2026-08-29 factory b3ea29a31 (architecture/domain-model) yes
ADR-0052 F13(C) bindings — wire the five unbound gates (recommended) or amend the clause 2026-08-29 factory b3ea29a31 (architecture/domain-model) yes
ADR-0060 The RUL-032 content key covers every edge the selector routes on, not only imports 2026-09-22 factory b3ea29a31 (architecture/domain-model) yes
ADR-0061 The one ADR-body bypass also covers an empty factory body, not only a register-less node 2026-09-22 factory b3ea29a31 (architecture/domain-model) yes
ADR-0062 Production runs from a pinned-ref git checkout under /opt/orchestrata 2026-09-23 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0071 REQ-110-135 amended: codemod daemon lifecycle is delegated to systemd user units 2026-10-06 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0075 The promote's infra stage proves the ADR-0066 secrets file holds every required env key before the tree moves 2026-10-07 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0076 The semantic/RAG ingest leaves the prod promote; readers check freshness at runtime and trigger refresh on demand 2026-10-07 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0078 The deployed codemod daemon reviews with every phase; the tools venv carries the free-threaded janus-swi 2026-10-08 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0086 Claude sessions get a project-scoped SPEC-106 context pack at SessionStart 2026-10-11 factory 030a4ff64 (feat/session-ctx-inject) no
ADR-0090 The git sentinel fails a test for its own mutations, not for sibling-worktree activity 2026-10-11 factory 3f68a11a5 (docs/adr-register-0080-0085) no
ADR-0123 Every host service is registered in the runtime view with its purpose and architecture component, or it is retired 2026-10-22 factory 8c7031c9a (fix/ship-sanctioned-gate-pytest) no
ADR-0124 Orchestrata runs in a test container and a prod container built from one OpenMandriva image, over always-on memgraph and Redis 2026-10-22 factory 8c7031c9a (fix/ship-sanctioned-gate-pytest) no
ADR-0126 The kg is branch-aware: each synced branch is its own project, serialized from a clean commit and checked after every sync 2026-10-22 factory 8c7031c9a (fix/ship-sanctioned-gate-pytest) no
ADR-0132 One tree is edited and the deployment copy is built from it at a pinned version — which tree is edited at the cut-over 2026-10-23 factory 8c7031c9a (fix/ship-sanctioned-gate-pytest) no
ADR-0133 orchestrata-mcp mints its own short-lived gateway token from the deployed JWT secret, and an exported GATEWAY_TOKEN still wins 2026-10-23 factory 8c7031c9a (fix/ship-sanctioned-gate-pytest) no

Superseded (2)

id title date register source ref on master
ADR-0079 The prod interlock requires a green test-env record of the commit being promoted 2026-10-08 factory 8a2cb42ad (feat/maps-via-codetools) yes
ADR-0100 Model review and the Prolog gate run once per slice at hand-back and once per batch, not on every commit; the deterministic gates stay per commit 2026-10-13 factory 8a2cb42ad (feat/maps-via-codetools) yes

Rejected (0)

None.

Other (0)

None.

Recorded on a branch, not yet on master

ADR-0086, ADR-0088, ADR-0090, ADR-0091, ADR-0092, ADR-0093, ADR-0094, ADR-0095, ADR-0104, ADR-0123, ADR-0124, ADR-0125, ADR-0126, ADR-0127, ADR-0128, ADR-0129, ADR-0130, ADR-0131, ADR-0132, ADR-0133

How to regenerate

scripts/gen-decision-pages.py          # write pages and diagrams
scripts/gen-decision-pages.py --check  # exit 1 if anything would change