docs(review 003): Unit 1 re-pointed at alkcall review 004; bootstrap-op candidate recorded

The alkcall decision work (WS-24 dispatch-resolution mechanism, WS-25
client-side op registration) now lives upstream as alkcall review 004.
Unit 1 records the leading candidates and their alkhttp consequences:

- WS-24 -> option (a), per-session base registry (the only
  wire-proven dispatch shape; fork surface = alkcall F-02)
- WS-25 -> channel-0 bootstrap op (op/register as an assumed op in
  the bootstrap set; requires the alkcall client serving half, F-04)
- discovery composition: services/list on the fork + peer-registered
  ops via the already-built services/list-peers

Consumer-set reframe from WS-23 unchanged; no findings added or
removed.
This commit is contained in:
2026-09-03 14:42:50 +00:00
parent 19e30c9769
commit 5b62307be9
@@ -381,23 +381,42 @@ fold the cleanup into that task.
# Remediation plan # Remediation plan
Sequenced by dependency; Unit 1 is a decision task and gates the Sequenced by dependency; Unit 1 is a decision task and gates the
shape of Unit 2. shape of Unit 2. Upstream findings are tracked in parallel as alkcall
review 004
(`/workspace/@alkdev/alkcall/docs/reviews/004-*.md`), where the
decision work actually lives; the alkcall remediation units there
carry the acceptance gates for WS-24/WS-25. The plan below is the
alkhttp-side consequence of whichever upstream resolution lands.
## Unit 1 — alkcall decision task (WS-24, WS-25) ## Unit 1 — alkcall decision task (WS-24, WS-25) → tracked upstream
Decide the open-op dispatch-resolution mechanism and the client-side Decide the open-op dispatch-resolution mechanism and the client-side
op-registration question; record as alkcall ADR amendments (ADR-047 op-registration question; record as alkcall ADR amendments (ADR-047
§4 mechanism; ADR-048's bidirectionality scope) with alkhttp-side §4 mechanism; ADR-048's bidirectionality scope) with alkhttp-side
consequences noted. consequences noted. **Full analysis and remediation units live in
alkcall review 004**; the alkhttp summary:
- WS-24: pick (a) per-session base registry (amend ADR-047 §4's - WS-24: the leading candidate is **option (a), per-session base
mechanism wording; add the `OperationRegistry` fork/clone surface) registry** — the only shape proven to dispatch on the wire
or (b) overlay-aware top-level dispatch. Gate: an alkcall e2e test (alkcall's e2e test). It requires the alkcall fork/clone surface
where an open op registered per the *amended* mechanism resolves (`OperationRegistry` fork; all inner payload types verified
via `run_loop_single_stream` dispatch over a channels connection. `Clone`-able — see review 004 F-03).
- WS-25: decide the client-registration story (new envelope kind / - WS-25: the leading candidate is the **channel-0 bootstrap op**
channel-0 bootstrap op / explicit scope cut). Gate: the ADR (or (`op/register` as an assumed-op the hub serves per-session, whose
scope-cut note) exists and OQ-05/ADR-048 point at it. handler writes into the connection-local overlay via
`register_imported`) — no new envelope kind, the wire stays the
six `call.*` kinds. It requires the alkcall **client serving
half** (F-04): the connect-side read pump currently resolves
responses only and silently drops inbound `call.requested`. It
composes with the bootstrap-discovery split: `services/list` stays
the base-registry listing; peer-registered op discovery rides the
already-built `services/list-peers` (which reads
`ctx.env.peer_ids()`/`peer_operations()` — populated from the
connection overlay by `compose_root_env`).
Gate: the alkcall ADRs (or amendments) recorded per review 004, and
review 004's Units 13 landed; OQ-05/ADR-048 in this repo point at
the resolution.
## Unit 2 — alkhttp wiring (WS-20, WS-21, WS-22, WS-26) ## Unit 2 — alkhttp wiring (WS-20, WS-21, WS-22, WS-26)