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:
1 parent
79a135c934
commit
befbe2e714
10 files changed
+586
-74
No files matched your search
+17
-11
@@ -133,8 +133,8 @@ made under; the ADRs carry the WHY.
|
||||
([ADR-010](decisions/010-queue-semantics-depth.md) §5): a job with
|
||||
an `expires` deadline is eventually in exactly one of
|
||||
pending/processing/dead, never stuck unreachable. (SQLite-side
|
||||
realization over honker's machinery rides OQ-06 — the zombie hole
|
||||
is that read's concrete fork candidate.)
|
||||
realization resolved with OQ-06 — the fork fires ([ADR-011](decisions/011-sqlite-substrate-fork.md)),
|
||||
the zombie fix lands in owned code.)
|
||||
- **No ambient sweeper**: the engine ships no background maintenance,
|
||||
no default cadence (the no-ambient-timers posture). Correctness of
|
||||
transitions is the engine's; **timeliness is the consumer's**.
|
||||
@@ -199,8 +199,9 @@ Collapsed into queues: no `Scheduler` handle, no schedule objects.
|
||||
proven shape and keeps `queue(name)` a name, not a DDL operation).
|
||||
- **SQLite**: honker's `_honker_*` family — storage-internal
|
||||
([ADR-008](decisions/008-contract-v1-pinning.md) §4); no new tables
|
||||
minted by this design; the family's fate rides OQ-06 (a fork
|
||||
re-owns the names; nothing consumer-visible changes).
|
||||
minted by this design; the family's fate resolved with OQ-06 — the
|
||||
fork ([ADR-011](decisions/011-sqlite-substrate-fork.md)) re-owns the
|
||||
names (`__alkstore_*`); nothing consumer-visible changes.
|
||||
- Partial indexes pinned identically on both engines: partial indexes
|
||||
matching the claim hot path; dead rows outside it; single clock
|
||||
source (second-precision timestamps); savepoint-guarded
|
||||
@@ -208,12 +209,16 @@ Collapsed into queues: no `Scheduler` handle, no schedule objects.
|
||||
|
||||
## Reference material
|
||||
|
||||
- **honker's queue design** — the SQLite-side incumbent
|
||||
(`/workspace/honker`, its honker-core machinery; the engine rides it
|
||||
directly, so the SQLite side's depth is largely "inherit + pin").
|
||||
- **honker's queue design** — the SQLite-side incumbent design
|
||||
reference (`/workspace/honker`; ownership resolved by
|
||||
[ADR-011](decisions/011-sqlite-substrate-fork.md) — forked, queue ops
|
||||
re-derived on this design).
|
||||
Full read: `docs/research/reference-honker-machinery.md` (schema,
|
||||
claim/visibility/retry/dead-letter mechanics with file/line cites;
|
||||
the defect list §8 feeds OQ-06).
|
||||
the defect list §8 fed OQ-06 and is the fork's fix/inheritance
|
||||
register), plus
|
||||
`docs/research/quality-read-honker-core.md` (the dependency-gate
|
||||
read).
|
||||
- **pg-boss family** — `/workspace/pgboss-rs` @ 98f7d9e (design
|
||||
reference only, [ADR-005](decisions/005-dependency-ownership.md)).
|
||||
Full read: `docs/research/reference-pgboss-rs-semantics.md` (states,
|
||||
@@ -245,9 +250,10 @@ Open questions are tracked in
|
||||
[open-questions.md](open-questions.md). Key
|
||||
questions affecting this document:
|
||||
|
||||
- **OQ-06**: honker-core quality read — the SQLite-side zombie fix and
|
||||
dead-row visibility are concrete fork candidates for it to weigh
|
||||
(open).
|
||||
- **OQ-06**: honker-core quality read — **resolved** (2026-10-05,
|
||||
[ADR-011](decisions/011-sqlite-substrate-fork.md)): the zombie fix
|
||||
and dead-row visibility — this document's two named SQLite-side gaps
|
||||
— land in owned code via the fork.
|
||||
|
||||
Resolved on this document's surface: **OQ-05** and **OQ-09**
|
||||
(2026-10-05, [ADR-010](decisions/010-queue-semantics-depth.md) /
|
||||
|
||||
Reference in new issue
Block a user