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.6 KiB
3.6 KiB
id, name, status, depends_on, scope, risk, impact, level
| id | name | status | depends_on | scope | risk | impact | level | ||
|---|---|---|---|---|---|---|---|---|---|
| implementation/core-integration-suite | Core — cross-cutting integration suite + docs sync | pending |
|
moderate | medium | phase | implementation |
Description
The batch-1 closing task: the cross-cutting integration suite that pins the whole protocol core's behavior in one place, plus the docs sync that records what landed. The per-command tasks own their verticals; this task owns the cross-cutting invariants and the spec-vs-implementation reconciliation.
Deliverables:
- Cross-cutting integration tests (
tests/):- One registration, all three commands (the POC #2/#5
regression guard, now complete): CONNECT + ASSOCIATE + BIND all
served on the same
channels/socks5/subop, interleaved sessions on one connection. - Concurrency: multiple concurrent sessions of mixed command types over one channels connection (the mux/demux under load — the POCs tested sequentially; this pins concurrency).
- Teardown semantics matrix: client half-close ends a CONNECT data plane cleanly (the producer's pump exits, the connection stays healthy); ASSOCIATE EOF ends the association; BIND client-gone teardown releases the accept; a fresh session succeeds immediately after each teardown (no connection poisoning).
- Identity/scope matrix:
socks5:open-only (CONNECT + ASSOCIATE yes, BIND 0x02),socks5:bind-only (BIND yes, CONNECT/ASSOCIATE FORBIDDEN at the open gate), both-scopes (everything) — the two-grants-never-implied posture (ADR-006) pinned end to end. - The readiness contract re-pinned at the integration level (the producer-associate task owns the unit-level test; this pins it under concurrent load).
- One registration, all three commands (the POC #2/#5
regression guard, now complete): CONNECT + ASSOCIATE + BIND all
served on the same
- Docs sync (the architecture-sync check):
docs/architecture/README.mdCurrent State + the doc statuses reflect the landed core (the rfc1928 doc's "remaining layers follow the decomposition phase" line updated).- Any spec drift the implementation surfaced (naming, shapes, the wire.md/bast.md residue already fixed in the wire-codec task) reconciled in the same change — never silently diverged.
lib.rscrate docs updated to describe the landed surface (producer + consumer + wire + seams), pointing at the specs.
- Full verification sweep (the batch gate's input):
cargo test,cargo test --all-features(features are still empty — verify the flag combination compiles), clippy--all-targets -- -D warnings,cargo fmt --check, both wasm checks, andcargo doc --no-deps(docs changed).
Acceptance Criteria
- The three-command regression + concurrency + teardown-matrix + identity-matrix tests all pass
- Docs reconciled (README Current State; any drift fixed)
- The full verification sweep is green (test, all-features, clippy, fmt, both wasm checks, doc)
- No
local/composedcode exists yet (the batch boundary holds — the default crate is protocol-only)
References
- docs/architecture/wire.md §Sentinels and lifecycle (the teardown matrix's normative source)
- docs/architecture/decisions/006-access-control.md (the identity matrix)
- POC regression guards:
udp_composed_egress_round_trip-adjacent tests in/workspace/alksocks-udp-poc, test 7 in/workspace/alksocks-bind-poc - docs/sdd_process.md (the architecture-sync-check posture)
Notes
To be filled by implementation agent
Summary
To be filled on completion