- open-questions.md: OQ-39 → ADR-052, OQ-40 → ADR-053 (resolutions replace
the deferred-until-needed posture)
- channel-operations.md: the put contract (initiator allocates + streams,
reserved input key, one response, acks-in-result sentence), the control
routing (ADR-052), the enumerator aggregation (ADR-053), the
connection-owner paragraph's pub-era correction, the ADR table rows
- ADR-051 §6: PubTypedOpen → the put translation; ADR-047's 2026-09-06
amendment records its era honestly (the dynamic half is now ADR-053)
- review 010: all four findings resolved (with the S-01 sketch correction
so the published record stops carrying the wrong-graph reading)
- review 011: closed (all seven pins implemented + gates landed)
- review 001 C-08: resolved note (odd/even + adopt, implemented)
- AGENTS.md: the 'Stub Guard' section — the not_implemented grep is part
of cargo test; the registration invariants and the implement-or-stop
ruling are release-blocking
Verified: cargo test (696+guard), clippy -D warnings, fmt, doc clean.
From alkblobs (paused on S-01; its ADR-014 is the reviewed downstream
ruling):
- S-01's option-1 sketch (hand the OpenHandler the PublishStream) is
the wrong shape for marked ops — it imports ADR-046's unmarked
call.published semantics into the ADR-047 §2 marker case. The
settled shape: initiator allocates (odd) and writes immediately;
responder adopts (channel id crosses the open invocation, reserved
input key + dispatch-layer strip recommended); wrapper as responder
of record (await the handler's JoinHandle, merge establishment
reply fields + handler result into the single response); zero
call.published on marked ops (nonempty publish chunks rejected
loudly); relay PubTypedOpen lifted.
- Seven items the amendment-4 publish must pin (incl.
publish_schema refused at registration for marked ops; the put
acks-in-result sentence; the client-side stream-then-open
capability absent from ChannelClient today).
- Verification gates list; S-02/S-03/S-04 downstream
non-requirements and remedy preferences; per-crate impact for the
four published consumers (none register Pub-typed openables —
S-01 is capability-additive; semver risk concentrates in any
stop-advertising removals).
Docs-only change.