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:
1 parent
4391f6e879
commit
7ad8ac56bc
11 files changed
+650
-133
No files matched your search
@@ -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
|
||||
|
||||
|
||||
Reference in new issue
Block a user