- Seven task files under tasks/implementation/: w5-decline-matrix, w5-e2e-server, w5-e2e-client, w5-fuzz-harness, w5-release-readiness, review-wave-5 (pure review), w5-publish (over the gate) - Four independent implementation tasks (disjoint files) over the landed waves; release readiness over all four; the gate stays a pure review; the publish is its own task (the alkgit pattern) - Interpretations recorded: gate-then-publish split, e2e vehicle placement, matrix-runner vehicle, fuzz exposure shape, the crate-qualified alkssh-v0.1.0 tag, no version bump (0.1.0 is the manifest value) - Plan doc: wave-5 row -> decomposed + the decomposition record Verification: taskgraph validate (42 tasks) 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 | |
|---|---|---|---|---|---|---|---|---|
| w5-e2e-server | Wave 5 — real-tool e2e, server direction (OpenSSH / git / curl against the door) | pending |
|
moderate | medium | phase | implementation |
Description
The server-direction real-tool e2e — the POC-3 gates re-landed
against the shipped crate (docs/plans/implementation.md §Wave 5,
the real-tool e2e bullet's server half). The wave-3 smokes proved one
clone, one -L, one pty session; this task lands the full
server-direction e2e set in a dedicated home (decide + record the
placement — a new tests/e2e_server.rs binary reusing tests/common
is the recommended posture, keeping the wave-3/4 mapping binaries
single-writer for w5-decline-matrix), under the established
check-gated skipped-with-reason posture (never silently green):
- OpenSSH against the door — pty/shell interactive session
(the wave-3 smoke's composition, re-homed or extended per the
placement decision), plain exec (
ssh host "cmd"through the exec wrapper),-Llocal forward through the tunnel mapping,-Rremote forward (thew3-tunnel-listenflow — listen request, bound port, the server-initiatedforwarded-tcpiparrival pumped through the fabric — the leg the in-process smokes covered only through the alkcall fabric double), and-D: curl through the SOCKS proxy with the door as the server (thedirect-tcpipleg end to end — POC-3 correction 2's posture). - Decline observability — a declined open/session surfaces a
clean diagnostic to the real client (POC-1 §5 posture:
channel-scoped decline, auth intact, no hangs): an unfeatured
channel type from real
ssh -L/-R/pty attempts in a feature-limited build, the sftp subsystem decline from a realsftp/ssh -sattempt, the unknown-repo collapsed generic denial from a realgit cloneof a nonexistent repo. - git 2.43+ through the git mapping — clone (re-land) and push (the wave-3 smoke was clone-only; receive-pack through the real client is the POC-3 §B gate re-landed).
- The harness posture — real processes (
ssh/git/curl), the adapter mounted on a real TCP listener over the in-memory doubles (the existing smoke composition); every skip reasoned (tool absent / version short), every finding fixed in-task or booked for the gate — never absorbed silently.
Acceptance Criteria
- The e2e home decided + recorded (new binary recommended); the check-gated skipped-with-reason posture held for every row
- OpenSSH rows green (or reasoned-skipped): pty/shell, exec,
-L,-R(listen + arrival + data leg),-D+ curl through the proxy - Decline-observability rows green: unfeatured declines from a real client (clean diagnostic, no hang), the sftp decline, the unknown-repo generic denial
- git clone and push through the git mapping green (or reasoned-skipped)
- Every finding fixed in-task or booked for the gate (recorded)
cargo test(+ the builds the new binary rides), clippy ×2 (-D warnings), fmt,cargo doc --no-depsgreen
References
- docs/plans/implementation.md §Wave 5 (the real-tool e2e bullet)
- docs/architecture/mapping.md (the rows the real tools exercise), docs/research/poc-3-mapping-bakeoff.md (stages A–D — the gates re-landed), docs/research/poc-1-auth-bridge.md §5 (decline observability)
- tests/git_mapping.rs / tests/tty_mapping.rs / tests/tunnel_mapping.rs (the wave-3 smoke compositions this task re-lands/extends), tests/common/ (the doubles + harness)
Notes
To be filled by implementation agent
Summary
To be filled on completion