ADR-012: forked-substrate design — contract-blind boundary, fidelity posture, port deltas

Follow-through on OQ-06/ADR-011: pin the fork's structural decisions
(alkstore-substrate as a vendored path-dep crate, contract-blind API
boundary with contract formulas computed engine-side and pinned
equivalent by the contract suite, keep-the-kept-half API fidelity for
cheap cherry-picks, the W-1/W-2/dead-man's-switch/W-4 port deltas
decided per item, bootstrap re-keying off error-string matching, no
rename migration, deliberate upstream tracking).

Consistency sweep across the doc set for the fork: annotate ADR-003/
005/009/010 and core-contract for superseded ownership facts, fix
schedule-storage table naming (ADR-009 §5, queues.md), re-key ADR-010
§6's notifications hygiene to the at-attach cap the fork scope
realizes, add OQ-11 (scaffold-time residue), and complete both ADR
indexes. Independent review: 0 critical, warnings addressed.
This commit is contained in:
glm-5.3-flash committed 2026-10-05 05:00:55 +00:00
1 parent befbe2e714
commit 2949612e2c
18 files changed
+491 -117

No files matched your search

+8 -1
View File
@@ -285,7 +285,10 @@ pre-paid.
- **Keep as-ported:** the PRAGMA block + `set_journal_mode_wal` retry
logic; `Writer`; `Readers`; the polling watcher + `SharedUpdateWatcher`
+ `WatcherDeathGuard` + `stat_identity` dead-man's switch (W-1
backoff, W-2 fallible spawn applied in port); the `in_savepoint` /
backoff, W-2 fallible spawn applied in port; the dead-man's-switch
panic replaced by a deliberate watcher-fatal death — decided after
this register by [ADR-012](../architecture/decisions/012-forked-substrate-design.md)
§4, three watcher deltas total); the `in_savepoint` /
`UnwindUndo` machinery as the mutation-transition discipline; the
REAL-coercion arg helpers; the `notify()` scalar + notifications
table (renamed, plus an at-attach pruning cap implementing ADR-010
@@ -317,6 +320,10 @@ pre-paid.
- [ADR-011](../architecture/decisions/011-sqlite-substrate-fork.md) —
the fork decision and packaging.
- [ADR-012](../architecture/decisions/012-forked-substrate-design.md) —
the fork's design follow-through: the contract-blind substrate
boundary, the API fidelity posture, and this document's port notes
(W-1..W-4 and the dead-man's-switch panic) decided per item.
- [ADR-005](../architecture/decisions/005-dependency-ownership.md) —
posture row for honker-core annotated (trigger fired); the calculus
is applied, not renegotiated.