OQ-06 resolved: honker-core quality read fires the fork trigger (ADR-011)

Quality read of honker-core's watcher/transactional core cross-checked
against the published crates.io artifact: the core itself is clean
(Writer/Readers, polling-watcher failure handling, WatcherDeathGuard
all verified), but published 0.5.0 predates upstream's unreleased fix
train carrying the issue-#133 savepoint hardening (silent job loss in
the dead-letter paths) and five .ok() error swallows — and ADR-010's
queue depth requires engine-owned queue SQL in any posture. Resolution:
fork honker-core at the reference revision, inherit the clean machinery
and test suites, re-derive queue ops on contract v1, rename tables to
__alkstore_*.

- docs/research/quality-read-honker-core.md — full evidence
- docs/architecture/decisions/011-sqlite-substrate-fork.md — decision
- OQ-06 resolved in open-questions.md; ADR-003/005/008, engine-sqlite,
  queues, README annotated for consistency
This commit is contained in:
glm-5.3-flash committed 2026-10-05 03:39:46 +00:00
1 parent 79a135c934
commit befbe2e714
10 files changed
+586 -74

No files matched your search

@@ -208,8 +208,9 @@ struct Wake { channel: String }
- SQLite: honker's machinery owns two categories of internal names,
and the contract treats them differently. Its `_honker_*` *table*
family (`_honker_dead`, `_honker_locks`, …) is storage-internal —
not part of any consumer namespace; its fate rides the quality
read (OQ-06, [ADR-005](005-dependency-ownership.md)). Its
not part of any consumer namespace; its fate resolved with the
quality read (OQ-06, [ADR-011](011-sqlite-substrate-fork.md) — the
fork re-owns the names as `__alkstore_*`). Its
**consumer-namespace derived names** are a real collision surface:
honker-rs materializes an outbox's backing queue as
`_outbox:{name}` inside the queue-name namespace — a consumer