docs: resolve OQ-04 — contract v1 pinned (ADR-008): surface partition, TxHandle-on-handle-trait, Wake/WakeReceiver, reserved __alkstore_ namespace, error taxonomy, engine-crate constructors, locks guarantee row

This commit is contained in:
glm-5.3-flash committed 2026-10-05 02:23:15 +00:00
1 parent 4391f6e879
commit 7ad8ac56bc
11 files changed
+650 -133

No files matched your search

+14 -9
View File
@@ -1,6 +1,6 @@
---
status: draft
last_updated: 2026-10-04
last_updated: 2026-10-05
---
# Queues, scheduler, outbox — semantics depth
@@ -30,9 +30,11 @@ when made.
- **Wake-driven consumption**: the pg engine's default is LISTEN-driven
claim with a re-poll safety net; SQLite's is watcher wake with
per-subscription fanout ([ADR-006](decisions/006-wake-and-delivery-contract.md)).
- **Job options** (the honker-rs surface, the contract starting
artifact): `delay, priority, max_attempts, expires` at enqueue;
`ack / retry / fail / heartbeat` on the job handle.
- **Job options** (the contract v1 skeleton,
[ADR-008](decisions/008-contract-v1-pinning.md) §1, from the
honker-rs surface): `delay, priority, max_attempts, expires` at
enqueue; `ack / retry / fail / heartbeat` on the job handle. Deeper
`QueueOpts`/retry surface is this document's design space.
- **Cut-flag context**: result storage is
[ADR-002](decisions/002-feature-scope.md)'s cut-flag row; if
OQ-05's design shows queue consumers provably need
@@ -95,11 +97,13 @@ when made.
- Schema-scoped DDL (the pg-boss design) vs shared-schema table
naming. Rides the reserved-namespace contract
([ADR-006](decisions/006-wake-and-delivery-contract.md), OQ-04):
queue/stream/lock tables and the reserved channel prefix
must be collision-proof against consumer tables in the same
database (the alkblobs co-tenant-tables precedent — ADR-008 in
`/workspace/@alkdev/alkblobs/docs/architecture/decisions/`).
([ADR-006](decisions/006-wake-and-delivery-contract.md),
[ADR-008](decisions/008-contract-v1-pinning.md) §4):
the reserved *channel* namespace is pinned (`__alkstore_` prefix);
queue/stream/lock **table** layout remains this document's
OQ-05 work and must be collision-proof against consumer tables in
the same database (alkblobs' ADR-008 — co-tenant-tables precedent —
at `/workspace/@alkdev/alkblobs/docs/architecture/decisions/`).
## Reference material
@@ -125,6 +129,7 @@ when made.
| [005](decisions/005-dependency-ownership.md) | Ownership | design-reference postures for the queue family |
| [006](decisions/006-wake-and-delivery-contract.md) | Wake contract | wake-driven consumption, guarantee table |
| [007](decisions/007-transactional-seam.md) | Tx seam | enqueue_tx commit-atomicity |
| [008](decisions/008-contract-v1-pinning.md) | Contract v1 | queue skeleton + EnqueueOpts pinned; depth is OQ-05's extension path |
## Open Questions