a73x

eef028e2

docs: record forwarding landing validation

a73x   2026-09-08 17:49

Commit message
docs: record forwarding landing validation

docs/superpowers/plans/2026-09-07-native-port-forwarding-slice-1.md
Old New
@@ -202,3 +202,79 @@ no production-file changes. Protocol/platform coverage is Linux x86-64 only:
202 SSH stdio and direct IPv4 QUIC were exercised; macOS was not exercised. No 202 SSH stdio and direct IPv4 QUIC were exercised; macOS was not exercised. No
203 general build or gate was rerun because this delivery changes only the Python 203 general build or gate was rerun because this delivery changes only the Python
204 harness and validation record. 204 harness and validation record.
205
206 ### Final clean landing candidate (2026-09-08)
207
208 This section is final-candidate evidence; the preceding sections are historical
209 records and are intentionally not erased. A new clean worktree was created
210 from original `input-refactor` `22fa3b7f878204a1d785b8293c53d04dd810fb58` and
211 rebased with `GIT_SEQUENCE_EDITOR=: git rebase -i --autosquash 03661841`.
212 The production snapshot is the resulting one-commit candidate
213 `8d4f4e41213548711d29ed7d26c8c4f41c367f97` (parent
214 `03661841b1ef0853f43317067d4894ebe355a937`), tree
215 `181377d85715a59355d0ce2d349376e8cc085f65`. The pre-squash tree was the same
216 value, so tree equality passed; the eight original range commits became one
217 production commit without changing tracked content. The base-to-candidate binary-diff SHA-256 is
218 `c476c4b065e5de246e660561a3f6ae599ac12d38f45425ec2b336992aed22d3c`.
219 No complete-index-manifest hash is asserted here: the originally recorded
220 value did not have a reproducible manifest artifact.
221
222 All commands below ran serially from that clean candidate through
223 `tools/run-logged.sh`, with wrapper-preserved status **0**. Full ignored logs,
224 status files, source-index snapshot, platform/toolchain record, dependency
225 symlink provenance, and release-binary records are retained outside Git at
226 `dist/native-forward-validation/final-candidate/`; this document retains the
227 assertions rather than making the ignored logs the only evidence. The host was
228 Linux x86-64; Make resolved mise Zig 0.15.2. No macOS result is claimed.
229
230 | Command | Status | Final assertion/result |
231 | --- | ---: | --- |
232 | `make daemon-test client-test native-core-test` | 0 | Focused daemon, client, and native-core suites passed. |
233 | `make native` | 0 | Native build and native test passed. |
234 | `make check` (before this documentation edit) | 0 | Required lint, format, unit, shell, ABI, reference, and source-rule gate passed. |
235 | `make ci` | 0 | CI, e2e, agent, and throughput gates passed. |
236 | `make check` (post-review documentation correction) | 0 | Re-ran after the wording correction; log and wrapper status are `dist/native-forward-validation/final-candidate/post-review-doc-check.log` and `post-review-doc-check.status`. |
237 | `make native-e2e` | 0 | Native journey passed all 33 checkpoints. |
238 | `make install BINDIR=ABSOLUTE_CANDIDATE_PATH INSTDIR=ABSOLUTE_CANDIDATE_PATH` | 0 | Built fresh ReleaseSafe `mux`/`muxg` only under the candidate; no user bin was used. |
239 | `python3 -B test/native_forward.py ABSOLUTE_CANDIDATE_MUX ABSOLUTE_CANDIDATE_MUXG` | 0 | Socket, stdio, and QUIC routes passed HTTP 200 with unique-token containment; each route ran three concurrent roughly 256 KiB streams (without half-close), then a separate 1 MiB+17-byte half-closed stream. Lifetime/refusal and whole-daemon recovery checks also passed (4 checkpoints). |
240 | `MUX_FORWARD_REMOTE_ENABLE=1 MUX_FORWARD_REMOTE=ubuntu@192.168.0.107 python3 -B test/native_forward_remote.py ABSOLUTE_CANDIDATE_MUX ABSOLUTE_CANDIDATE_MUXG` | 0 | Authorized disposable-VM SSH-stdio and direct IPv4 QUIC routes passed exact HTTP, three concurrent >1 MiB half-close streams, listener reservation, restart recovery, and OS-oracle daemon/socket/UDP-release cleanup assertions. |
241
242 The fresh candidate ReleaseSafe binaries had SHA-256 `mux`
243 `f58e53bd63e2bef7cac995ca3b1b82ae8ab14d65fb690d013dfa69b7baa3b544` and
244 `muxg` `f76e39c72e5c8fefed450915fe801745f2d0f94bc5ad3f71d52bc12214c3eb40`.
245 Final source SHA-256 values were `src/client/forward.zig`
246 `4d81ce5b896c3d734372f2f1017fffb661e63cf413205ed0b4dd177131665f30`,
247 `src/server/server_forward.zig`
248 `90d0b41d6f6035659ea1294cc257ad46eda87035e68d1b7ab3330aa903437e61`,
249 `test/native_forward.py`
250 `b9e4e96d2cd1c83063d74a8957c48542f374d1bdac904ecbef3d3943d654796e`, and
251 `test/native_forward_remote.py`
252 `c40eb5ab7067b0c86b238ea8437fcab913844f66d18bbd20dda673eabbcf2cc4`.
253
254 The latest independent review was clear. Historical remote-harness blockers
255 are resolved by fixture-owned private paths/key and OS-oracle cleanup; the
256 remote result above is the replacement evidence. Its local and remote claims
257 are intentionally distinct: only the remote SSH-stdio and direct-QUIC run
258 asserted exact HTTP response bodies, three concurrent >1 MiB half-closed
259 streams, and exact bidirectional bytes. The earlier assessment that
260 TUI handling was redundant was wrong: forwarding protocol messages must be
261 explicitly skipped by the TUI router because it has no reply of its own and
262 those frames belong to another client conversation. The committed exhaustive
263 router test covers every forwarding message. The historical local-HTTP
264 readiness failure was also fixed: startup retries now apply only to the typed
265 pre-response connection/reset/EOF condition; the parser API returns
266 `(status, body)`, requires one bounded `Content-Length`, rejects malformed,
267 duplicate, chunked, truncated, and surplus responses, and regression tests
268 prove parser failures and non-200/wrong-body responses are not swallowed.
269
270 Before this documentation-only change, the candidate source tree was clean and
271 had the production snapshot above. After the documentation commit, the exact
272 tracked diff must be this single plan file only. Read-only recomputation
273 against production commit `8d4f4e41` (commands and output at
274 `dist/native-forward-validation/final-candidate/recomputed-production-hashes.txt`)
275 confirms the tree equality, binary-diff hash, and listed source-file hashes.
276 The independent-review record is
277 `dist/native-forward-validation/final-candidate/independent-review.txt`.
278 There is no captured historical local invocation manifest; it is not claimed
279 as run evidence. `make check` is rerun after the edit and records the final
280 documentation gate.