Files
alksocks/tasks/implementation/core-integration-suite.md
T
glm-5.3-flash a2483e4a84 tasks: decompose the protocol-core group — thirteen dependency-ordered tasks
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.
2026-09-23 07:38:27 +00:00

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
implementation/core-consumer-associate
implementation/core-consumer-bind
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:

  1. 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/sub op, 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).
  2. Docs sync (the architecture-sync check):
    • docs/architecture/README.md Current 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.rs crate docs updated to describe the landed surface (producer + consumer + wire + seams), pointing at the specs.
  3. 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, and cargo 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/composed code 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