Wave-1 review gate: validation coverage fixes (unschedule, handle-level consumer-local entry points), ADR-008 §4 annotations (whitespace-exclusion, class scope), task check-line staleness fix (ADR-008/009/021, core-contract)
This commit is contained in:
1 parent
621415cc47
commit
8b03960e39
10 files changed
+196
-38
No files matched your search
@@ -544,7 +544,10 @@ by [ADR-009](decisions/009-scheduler-collapse.md) §1):
|
||||
- Reserved-prefix names are rejected at every entry point — the
|
||||
name-bearing methods *and their `*_tx` counterparts* — with the
|
||||
typed `ReservedName` error; empty names with `InvalidName`
|
||||
([ADR-008](decisions/008-contract-v1-pinning.md) §4). Stream-consumer
|
||||
([ADR-008](decisions/008-contract-v1-pinning.md) §4 — enforced as
|
||||
non-empty-after-whitespace-exclusion per that ADR's wave-1 review
|
||||
annotation: whitespace-only names are `InvalidName` on both name
|
||||
classes; names are not trimmed). Stream-consumer
|
||||
names are consumer-local identifiers, not a reserved-namespace kind.
|
||||
- Engine-derived names in consumer namespaces carry the reserved
|
||||
prefix (the outbox's backing queue is derived under the prefix —
|
||||
|
||||
@@ -247,9 +247,19 @@ struct Wake { channel: String }
|
||||
only** — an empty stream-consumer name or empty `try_lock` owner is
|
||||
`InvalidName`, mirroring `worker_id`'s rule
|
||||
([ADR-019](019-mechanism-handle-surfaces.md) §2) — with no
|
||||
reserved-prefix rejection (they are not a shared namespace, so a
|
||||
leading `__alkstore_` is the caller's own local name, no engine
|
||||
namespace to collide with).)*
|
||||
reserved-prefix rejection (they are not a shared namespace, so a
|
||||
leading `__alkstore_` is the caller's own local name, no engine
|
||||
namespace to collide with). *(Annotated 2026-10-07, wave-1 review:
|
||||
the stream-consumer-name class covers every method's consumer-name
|
||||
argument — `save_offset(_tx)`, `subscribe`, `get_offset(_tx)`,
|
||||
`read_from_consumer(_tx)`, the receiver forms — the class is by
|
||||
identifier role, not per-method enumeration. The non-empty rule is
|
||||
enforced as **non-empty after whitespace exclusion** — a
|
||||
whitespace-only name (`" "`, `"\t\n"`) is `InvalidName` on both
|
||||
name classes, never a meaningful name on any engine; names are not
|
||||
trimmed — the caller's name is stored as given, engine quoting is
|
||||
the engine's obligation. Pre-release class-1 annotations per
|
||||
[ADR-017](017-contract-versioning.md) §2.)*
|
||||
- Per-engine internal names:
|
||||
- SQLite: honker's machinery owns two categories of internal names,
|
||||
and the contract treats them differently. Its `_honker_*` *table*
|
||||
|
||||
Reference in new issue
Block a user