Batch 1 of the Phase 1 decomposition: the default, wasm-clean crate (producer + consumer + wire + seams + params/errors), per the architecture spec set (ADRs 001-013) and the three POCs' validated shapes. The assembly layer (local/composed providers, front doors) is batch 2, decomposed after review-protocol-core opens. - foundation: crate-deps (alkcall 0.8.0 first consumption), wire-codec (the ASSOCIATE frame + the joint bound), seam-types (the three ADR-004 seams), params-errors (the one-way-door surface) - harness: duplex transport + identities + in-process seams (the alkcall 0.8.0 establishment surface proven before the producer) - verticals: producer/consumer splits per command (CONNECT, ASSOCIATE, BIND) — each POC's scope, producer tasks test via the raw RFC client, consumer tasks e2e through the harness - closing: integration suite (three-command regression, teardown matrix, identity matrix, docs sync) + review-protocol-core (the batch gate) taskgraph: 8 generations, no cycles, risk path 2.55 (no high-risk tasks). Also records the wire.md/bast.md len=0 residue (payload-level F-2 is the operative invariant) as a doc-sync deliverable of the wire-codec task. Verification: cargo test (76 passed), fmt clean; taskgraph validate/cycles/parallel/critical clean.
3.0 KiB
3.0 KiB
id, name, status, depends_on, scope, risk, impact, level
| id | name | status | depends_on | scope | risk | impact | level | |
|---|---|---|---|---|---|---|---|---|
| review-protocol-core | Review — the protocol core before any assembly-layer work | pending |
|
narrow | low | project | review |
Description
Review checkpoint before batch 2 (the assembly layer: local
providers, front doors, composed providers). Everything in batch 2
consumes the seams and the session types, so a core defect — a seam
contract drift, a teardown hole, a wasm regression — would propagate
into every downstream task. This review is the gate between the core
group and the assembly layer, and the point where batch 2 gets
decomposed (its task shapes may adjust to what the core actually
landed).
Review against the architecture, in this order:
- Seam contracts (ADR-004, producer.md §The Three Seams): the
readiness contract (
next_replyPendingwhen nothing is ready — the contract test exists and pins it), ownership-rides-the-handle (no_bindings of owning values; handles own their payloads structurally), the accept future owning its resources end-to-end (the quiet-wait drop IS the client-gone teardown), framing-once (the egress speaks inner bytes; the wire layer frames once). - Wire fidelity (wire.md, ADR-003/ADR-007): the datagram frame
(joint bound, F-2 at payload level), the phase model (no mode
byte; post-reply garbage refused structurally in all three
commands), the sentinel surfaces (ASSOCIATE's
127.0.0.1:0, BIND's variant-3 zeros), association lifetime = channel lifetime. - Access control (ADR-006): the open gate (
socks5:openat the registry), the command gate (socks5:bindat BIND dispatch), two grants never implied; refusals RFC-faithful everywhere (convention 2 — never collapsed into generic errors). - Teardown/lifecycle (wire.md §Sentinels, alkcall ADR-050):
pump_bidiawaited inline (R-02 — no spawn-and-forget); the teardown matrix tests actually pin the semantics; no teardown-at-birth paths (the third-witness pattern held). - Convention compliance (AGENTS.md): no
unwrap/expect/ panics outside tests;thiserrorsurfaces; no comments in code except doc comments + pinned non-obvious-correctness notes; naming; module structure (one module per file,lib.rsre-exports); producer/consumer vocabulary (no server/client framing outside RFC vocabulary). - Wasm-clean invariant (ADR-009): both wasm checks green; no
net-shaped feature; tokio on the wasm-clean subset; the harness and tests stay out of the wasm build. - POC-fidelity spot-check: for two or three of the trickiest behaviors (the readiness contract, the quiet-wait two-exit semantics, the split-datagram reader persistence), diff the crate's behavior against the POC crates' findings — the POCs are the empirical record; drift is a finding.
- Docs sync: the specs match what landed (the integration task's reconciliation verified; any residue is a finding).
Notes
To be filled by implementation agent
Summary
To be filled on completion