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:
1 parent
befbe2e714
commit
2949612e2c
18 files changed
+491
-117
No files matched your search
@@ -39,9 +39,15 @@ the comparison:
|
||||
|
||||
The SQLite engine uses **posture 1**: published `honker-core = 0.5`
|
||||
as a library dependency over the crate's own rusqlite connections
|
||||
(`bundled-sqlite` for hermetic builds).
|
||||
(`bundled-sqlite` for hermetic builds). *(Ownership superseded
|
||||
2026-10-05 by [ADR-011](011-sqlite-substrate-fork.md): the substrate
|
||||
is the forked `alkstore-substrate` lineage crate, not the published
|
||||
dependency — the driver, seam, and watcher architecture below are
|
||||
unchanged.)*
|
||||
|
||||
- **Driver**: rusqlite, riding honker-core's pinned version.
|
||||
- **Driver**: rusqlite, riding honker-core's pinned version. *(The
|
||||
pin is ours to move deliberately since the fork — [ADR-011], per
|
||||
[ADR-005]'s annotated rusqlite row.)*
|
||||
- **Async seam**: bridged. The writer slot (`Writer`) +
|
||||
reader pool (`Readers`) + every engine call in `spawn_blocking`.
|
||||
A dedicated std-thread bridge (one thread owning the writer conn,
|
||||
@@ -76,8 +82,10 @@ comparable reuse.
|
||||
- Static linkage: "open a path, get a store" needs no runtime
|
||||
artifacts.
|
||||
- The engine's job shrinks to wiring + the SQL surfaces honker doesn't
|
||||
cover (queue semantics depth, OQ-ST-05's SQLite side rides honker's
|
||||
machinery directly) + the async bridge.
|
||||
cover (queue semantics depth, OQ-ST-05's SQLite side rides honker's
|
||||
machinery directly) + the async bridge. *(Ownership since resolved:
|
||||
the substrate is forked — [ADR-011](011-sqlite-substrate-fork.md) —
|
||||
and the queue ops re-derived on contract v1 within it.)*
|
||||
|
||||
**Negative**
|
||||
|
||||
@@ -103,4 +111,7 @@ comparable reuse.
|
||||
- [ADR-007](007-transactional-seam.md) — the tx-handle shape both
|
||||
engines implement.
|
||||
- [engine-sqlite.md](../engine-sqlite.md) — the engine spec this
|
||||
decision defines.
|
||||
decision defines.
|
||||
[ADR-001]: 001-crate-split.md
|
||||
[ADR-005]: 005-dependency-ownership.md
|
||||
[ADR-007]: 007-transactional-seam.md
|
||||
Reference in new issue
Block a user