S1 lane: session shim (PTY, VT state, frozen socket protocol) #16
Closed
opened 2026-10-06 10:10:49 +00:00 by kayg
·
15 comments
No Branch/Tag specified
main
j470b-server-mesh-rejoin
mesh-compat-382
j444b-d381-key-wins-flood
j461b-macos-utun-reader-thread
j475b-remove-host-motion
fix-reconnect-new-link
j481-d380
dev
j479-mesh-soak
fix/j476-host-facts
j475-motion-pill-split
j470-mac-node-join
root-upgrade-d376
j474-review-merge
latency-targets-120hz
nightly-suite-shards
gotatun-pin-j469
macos-utun-reader-thread
fix-flood-echo-stall
wip/j416
motion-fast-ease-out
mesh-addhost-j259
takeover-close-terminals-d368
kbd-instant-followups
fix-trust-key-double-click
nightly-suite-partial-report
appwin-icons-j207
rusqlite-slice1
swipe-content-first-d374
mesh-mtu-381
addhost-instant-open
glass-contrast-d365-mock
glass-contrast-d365
signout-followups-442
fix-startup-toast-red
research-gotatun-matrix-j317
themes-sync-j304
fix-load-flakes
fix-nix-zig-patch
fix-compute01-browser-baseline
ratchet-size-baseline-419
predict-auto-d130
revoke-coverage-d367
nightly-suite-queue-timeout
nightly-browser-suite
fix-rustsec-2026-0459
fonts-ioskeley-obel
log-retention-d375
fix-kbd-no-anim-427
fix-dev-red-specs-2
takeover-proof-305-j205
wip/j410-server-pump
ui-consistency-d372
fix-osc52-clipboard
libghostty-vt-1.0
forget-retired-host-d369
j404-merge-426
fix-setup-lock-race
fix-touch-select-426
revoke-access-report-ui
fix-predictive-echo-specs
fix-selinux-agent-exec
wip/j395-checkpoint2
wip/j395
j391-review-scratch
ui-consistency-j195-deferred-rebased
fix-rustc-paths-421
decisions-wording-341
fix-install-suite-red
fix-dev-rtt-specs
fix-pending-removal-align
fix-privileged-skip
fix-install-suite-404
review-j368
mesh-dns-j254
revoke-access-report-d356b
revoke-privilege-round5
fix-removal-confirm
review-j360
gotatun-rotation-367
deps-refresh-340
review-j354
review-J351
review-j350
addhost-takeover-d359
revoke-report-items-347
revoke-end-sessions-d362
review-j348
size-mesh-ssh-346
size-trim-337
revoke-access-diff-d356
j259-pre-rebase-b06c5a6
j305-ended-at-start-spec
addhost-sudo-consent
fix-layout-real-specs-411
fix-shell-open-411
fix-console-hosts-373
fix-shell-exit
fuzz-host-name-353
fix-host-details-410
macos-filter-j197
research-gotatun-tricks
revoke-p3-j216l
stale-state-pill
revoke-followups-j216k
revoke-progress-j216e
backup/macos01-20261106/lume/j197
backup/macos01-20261106/lume/appwin-icons-j207-stash0
backup/macos01-20261106/claude/stash-0
backup/macos01-20261106/claude/stash-1
backup/macos01-20261106/claude/J80-macos-s1
backup/macos01-20261106/claude/J80
backup/macos01-20261106/claude/J80-slice1-20261102
backup/macos01-20261106/claude/J16b-appwin-on-dev
backup/macos01-20261106/claude/appwin-launch-idle-146
backup/macos01-20261106/claude/J80-s1-run
wip/j259
trust-285-p3c
runtime-lock-j216f
mesh-ssh-p3-j175
tun-proof-p3b
trust-285-p3
terminal-polish-j271
tun-proof-p3
ssh-install-flakes-j216i
fuzz-fixes-j264
trust-285-a
trust-285-b
restart-oversized-fixture-j198
backup/macos01-20261106/lume/appwin-icons-j207
restart-bound-j216h
up-preflight-p3-j198
backup/macos01-20261106/lume/j251
up-preflight-j198
wip/up-preflight-j198-j245-p2
wip/up-preflight-j198-j245-p1
agent-fsync-offloop-j196
wip/up-preflight-j198-j245
settings-offscreen-j231
wip/up-preflight-j198-j226-inspection
wip/j103f
themes-j206
wip/up-preflight-j198-j226
flakes-j216c
backup/macos01-20261106/claude/j197
flakes-j216b
backup/macos01-20261106/claude/j197-red
wip/up-preflight-j198-review
flakes-j216
backup/macos01-20261106/claude/appwin-icons-j207
engineering-j208b
appwin-mock-j209
toast-stack-j165
engineering-j208
decisions-d351
decisions-d350
decisions-d349
appearance-presets-mock-j129
decisions-d348
docs-audit-spec
doc-coverage-baseline-raise
decisions-d347
decisions-d346b
decisions-d346
j88h-profile
ui-consistency-j195-deferred
ui-consistency-j195
engineering-practices-j194
preferred-login-ui-j166
signin-pools-263-j174
macos-node-265-s1
decisions-d345
decisions-d344
proxy-cgroup-j164
verify-quick-fuzz-329
proxy-start-io-j168
timing-flakes-j163
up-263-s1
mcp-events-j147
verify-quick-fuzz-j158
proxy-p3-j159
agent-resource-j157-detect
wip/j103d-final
remote-cancel-hang-j155
proxy-traefik-281-j62d
j149-verify-quick
proxy-traefik-281-j62b
j150-drop-unnamed
wip/j79d-red-r4
wip/j103d-d332
rootless-toast-j142
wip/j103d-head
wip/j103d
j125c-mcp
macos-build-j136
backup/macos01-20261106/claude/j136
wip/j79d-red-cli
wip/j79d-red-server
j121-link-liveness
j118c-tracer-failures
wip/j79c-head
release-desktop-j131
j124c-signed-macos
wip/j79c-red-p3
wip/j79c-red-p23
wip/j79c-red-p22
merge-j128-check
perf-deferred-j128
sidebar-toggle-260
j127-shortcut-changed-dot
j125-mcp
j118-tracer-failures
j126-account-summary
settings-sections-mock-j92
j120-pinch-lock
sidebar-292
backup/macos01-20261106/claude/j120
taste-2026-11-03
row-actions-242-215
backup/macos01-20261106/claude/stash-0-untracked
backup/macos01-20261106/claude/J80-265-s1-run
backup/macos01-20261106/claude/J80-macos-s1-20261102
j112-canvas-commands
ui-no-overshoot-scroll
fix-recovery-restart
backup/macos01-20261106/claude/stash-1-untracked
taste-2026-11-02
size-baseline-ratchet
machine-cards-structure-j108
j109-boot-copy-mockups
fix-dev-red
wip/up-263-s1
j95b-settings-rows
proxy-traefik-281
j95-option-rows
docs-human-j91
docs-keys-palette
fix-flood-1013-270-j38d
mesh-ssh-s1
mesh-ssh-s0
addhost-d291-tunnel
test-stability-load
mesh-relay-220
repro-296
shim-thp-off-24
mesh-pins-258-v2
mesh-dns
signin-d311-merged
docs-pages
ui-size-283
fix-ui-batch-specs
wip/j12b-edge-update
gate-on-arm
fix-rename-sync-293
trust-285-j60b
fix-focus-ring-clip
integ-ui-1101
edge-update-v2
signin-d311
taste-2026-11-01
layout-per-tab-250
ui-approved-splitopt-224
ui-approved-splitopt-224-on-dev
icon-text-centre-282
ui-approved-189-212-216
research-reverse-proxy
transfer-budget-320
review-mesh-pins-258-r2
sidebar-pill-259
review-mesh-relay-220
wip/j12-edge-update-v2
nix-package
status-crash-loop-237
fix-dev-test-failures
fix-fixture-socket-path
wip/mesh-relay-220-pre-dev-advance-rebase
fix-canvas-side-clip
research-head-to-head
frosted-real-256
review-mesh-pins-258
wip/mesh-relay-220-pre-final-rebase
review-layout-per-tab-250-r2
broad-suite-triage
nix-devshell
review-status-crash-loop-237-r3
wip/nix-devshell-pre-p3
taste-frosted-real
wip/code-serve-demo-2026-10-30
wip/code-serve-glass-2026-10-30
wip/code-serve-clusters-2026-10-30
wip/code-merge-release94-dev-2026-10-30
wip/rproxy-delta-scratch-2026-10-30
wip/stale-note-257-staged-2026-10-30
wip/d241-size-staged-2026-10-30
review-broad-suite-207
wip/mesh-pins-258-pre-split
wip/mesh-relay-220-pre-rebase
mesh-measure-220
plan-211-update
review-edge-autoupdate-r3
perf24-reconnect
review-stale-note-r2
release-prod-live
d241-shell-marker
review-mesh-pins-server-258
review-revocation-r3
review-setup-token-r2
review-sync-journal-r3
wip/review-mesh-pins-258-prune-review-1995fee46
frosted-scroll-256
sync-journal-r3
revocation-per-account-wip
review-tokio-asyncfd-0386
review-sync-p3s
wip/stash-8by64-stash0-2026-10-30
mesh-drag-r2
setup-token-data-wip
release-9-4
auth-busy-1013
mesh-view-overlap
sync-p3s
review-auth-busy-wake
review-readd-r8-wip
mesh-drag-bounds
audit-auth-93
app-windows-stream-start
review-authority-cap-r3
app-windows-r7-measure
readd-minimal-r6
readd-minimal-r5
app-windows-r7-soak
readd-minimal-r4
app-windows-r7
app-windows-r6
readd-minimal-r3
readd-minimal-r2
readd-minimal
merge-release8-dev
review-busy-page-liveness-r2
review-busy-page-liveness
mesh-view-trim
review-authority-read-retry-r2
review-remove-uninstall-r2
release-retry-reattach
release-retry
review-remove-uninstall
review-authority-read-retry
app-windows-ship
mesh-autoswitch-p2
mesh-ssh
mesh-relay
mesh-macos-node
screen-and-control
session-labels
review-real-logins-r5
review-real-logins-r4
review-real-logins-r3
shim-memory-r2
review-real-logins-r2
shim-memory
shadow-addhost-instant
shadow-real-logins
shadow-same-session-flood
shadow-prod-perf-fix
hosts-from-server
app-windows-real
app-windows-transport
release-prod-6w
mesh-policy-verify
quiet-close-toast
dev-merge-r4
review-mesh-agent-transport
review-app-windows-transport
settings-roundtrip
review-release-pipeline-r4
mesh-agent-transport
ended-strip-fix
review-audit-ca-update-d244
settings-rows
phone-width
signout-clear
fix-restart-tests
dev-merge-rp
signer-hardening
review-audit-ca-update
terminal-fidelity
review-audit-ca-update-wip
mesh-integrate
review-mesh-agent-transport-515d3712
review-mesh-dataplane-feec1988
mesh-dataplane
signout
research-canvas-node
wip/review-renderer-cost
wip/review-terminal-fidelity
padlock-glyph
review-release-pipeline-2e95b689
phone-polish
sidebar-polish
inbox-generic
review-mesh-dataplane-378d4055
prod-batch
ui-inbox
ui-ca-unlock
ui-machine-sections
review-mesh-dataplane-a5f744fb
tls-session-prod
session-bounds-prod
fix-dead-session
session-bounds
tls-session
palette-polish
shortcuts-d222
research-appmeta
phone-gutter
ui-centre-button
wip/ui-centre-button
wip/tls-session
review-addhost-breakit
ui-platform
renderer-cost
remote-agents
mesh-api
ssh-bootstrap
prod-hotfix2
prod-fixes
review-remote-agents
review-mesh-dataplane
session-life
research-browser
review-mesh-api
research-capture
review-mesh-api-round3
review-mesh-api-round1
gate-stability
review-gate-stability
review-relay-direct
review-mesh-api-findings
proto-sessions
font-picker
proto-addhost
proto-windows
mesh-core
latency-gate
research-bsd
research-discovery
keytray-mods
mock-core
ui-tweaks
fix-motion-sel
fix-motion
integrate2
fix-robust
t-web
t-server
vt-ghostty
fix-snap-echo
t-web-auth
review-vt2
t-agent
lane-protocol
lane-shim
lane-auth
s1-base
s1-contracts
s1-workspace
No results found.
No labels
launch-qa
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set
Reference
kayg/infraternal#16
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implement
contracts/shim.mdininfraternal-shim: the PTY, the VT state with snapshots, the ring buffer, the frozen v1 framing, SO_PEERCRED, and survival through a restart (scope or setsid). Audited unsafe only in the PTY module. Base:s1-base386acfd. Part of #9.Starting S1 session shim on branch lane-shim, base s1-base at
386acfd. Read CLAUDE.md, DECISIONS.md, docs/ARCHITECTURE.md and contracts/shim.md. Will measure VT candidates, implement frozen v1 framing and PTY lifecycle, exercise reconnect/survival, fuzz the decoder for at least ten minutes, and run the requested fast gate.Contract finding: contracts/shim.md section 4 leaves Attach/live-stream ordering and future ReadFrom offsets unspecified. Proposed v1 interpretation: Hello is followed by Attach (caps=0); ReadFrom or SnapshotRequest establishes the output delivery cursor, then live Output continues from that cursor. This prevents output racing replay and producing duplicate bytes. ReadFrom above head_seq is rejected; ExitAck is accepted only after shell exit and PTY drain. No frame changes. Ring fallback Snapshot is generated at the current head, and streaming resumes exactly there. Also snapshots must be bounded to the 1 MiB frame limit, trimming only the oldest scrollback tail.
VT evidence (release, 200x60, same ASCII stream): alacritty_terminal 0.25.1 58.63 MB/s and +47,988 KiB RSS for 10,000 retained lines; vt100 0.16.2 42.51 MB/s and +63,704 KiB. libghostty-vt 0.2.2 safe binding builds with Zig 0.15.2 (0.16 rejected); corrected retention uses bytes despite API docs saying lines: +19,672 KiB for 10,001 lines, 138.26 MB/s in the throughput run (later 38,799 retained lines). Its available VT formatter failed cursor restoration on vim/htop/less and continuation equality on all three; htop repaint differed too (target/shim-ghostty-fixtures.log). Chose Alacritty: custom screen/primary/alternate/cursor/mode repaint passes real captured vim, htop, less fixtures and their continuations in terminal.rs. Snapshot 200x60 plus 256-line tail: p50 0.434 ms, p99 0.819 ms, 69,406 bytes. Input decode through a real PTY write: 10,000 samples, p50 1.497 us, p99 9.296 us (target/shim-budgets.log). Survival tests passed: separate transient systemd user scope remains active after parent service stop; setsid/double-fork shim remains usable after launcher SIGKILL. Five real socket integration tests pass. Repaint requests will be deferred to complete frame boundaries, rather than rejecting a valid request while Output is partly sent. Hello pid denotes shim pid; oversized repaint returns Error without killing the shell. These resolve unspecified ordering/limit behavior without changing v1 bytes.
Final findings/evidence: optimized the metadata observer to skip printable ASCII in ground state; the complete shim VT path now parses 44.69 MB/s, preserving 10,000 lines (release test terminal::throughput::measured_parser). Final latency samples: Input decode through successful real PTY write p99 17.007 us (10,000 samples); 200x60 screen plus bounded tail p99 1.103 ms (1,000 samples), 74,157 bytes. Fresh static binary idle RSS 1,160 KiB (1.133 MiB); ring allocated lazily. Rootful security canary verifies uid 1001 in real/effective/saved/fs slots, groups 27/1001 without root, home traversal after uid drop, rejection of uid 65534 via SO_PEERCRED, and retention of the authenticated root peer (tests/security.py; target/shim-security.log). Fuzzer finished 3,470,294 executions in 611 seconds without crash, cov=434 ft=1244 (target/shim-fuzz.log); LLVM coverage needed fuzz-only LTO=false after undefined _sancov_gen symbols, production LTO unchanged. The real vim socket integration now compares all 12,000 visible cells, colors/styles and cursor to an independent VT fed raw Output, at the same byte offset as the ring-wrap Snapshot. Both survival paths run here; detached-progress/backpressure and replacement checks pass. Evidence/reproduction and the five unsafe review sites are recorded in docs/S1-SHIM.md. Second reviewer audit remains the contract-required merge review; this lane does not claim to independently review itself.
Finished implementation on lane-shim at 7c879a47e508a32452571d2bb5d750a10311b718, base
386acfd3dc. One atomic feature commit; worktree clean; no push/deploy. Frozen v1 codec, PTY/session lifecycle, secure Unix rendezvous, bounded exactly-once replay/backpressure, Alacritty repaint and hidden __shim are implemented. Real vim fallback compares 12,000 visible cells, styles and cursor against raw-output VT at the same seq. Seven socket integrations and eight unit tests pass; both systemd scope and launcher-SIGKILL survival tests ran here. Five SAFETY-documented unsafe sites are confined to pty; second-reviewer audit remains the required merge review.Gate command: nix shell nixpkgs#binutils nixpkgs#file -c scripts/verify fast
Exit status: 0. Output verbatim:
Release budget/throughput output verbatim:
Final static idle and rootful canary output verbatim:
shim_frame_decode ASan/libFuzzer: Done 3470294 runs in 611 second(s), no crash; cov=434 ft=1244, corpus=296/64KiB. Fuzz-only LTO override and all reproduction commands/VT comparisons are recorded in docs/S1-SHIM.md and fuzz/README.md. Raw logs are under target/shim-*. Binary VT recordings and fuzz seeds are marked binary to preserve exact CR/escape bytes. All dependencies are workspace-declared with commit-body reasons; cargo-deny green including permissive NCSA harness licensing. Issue stays open for review/owner merge.
Independent review started on lane-shim at 7c879a47e508a32452571d2bb5d750a10311b718; base s1-base
386acfd3dc. Read-only audit against contracts/shim.md and decisions 7, 13, 17, 40, 41. Findings and reproductions will be recorded as review proceeds.Independent review blocker: snapshot continuation fails for prefix PRIMARY ESC[?47h ALTERNATE, snapshot into fresh Terminal, then ESC[?47l X in both. Cell 0:7 differs (original A, restored space). Failing independent test terminal::independent_review::alt47; target/review-shim-probes.log; source terminal.rs:97-100, 207-217, 301-303. Observer handles 47/1047 as alternate-screen changes although runtime parser semantics differ. Also history is one commit mixing 58 files / 3671 additions, rejected by owner atomic-history requirement.
Independent unsafe audit should-fix: exported detach() with fd0 closed after Rust startup loses /dev/null stdin. Reproduction target/review-harness/src/main.rs: nix::unistd::close(0), actual infraternal_shim::detach(), grandchild read_link(/proc/self/fd/0) => ENOENT (target/review-detach-fd0.log). pty.rs:190-199 opens File at fd0; dup2(0,0) is a no-op, then File drop closes fd0. SAFETY ownership comment is false for this input. Duplicate source above fd2 and use safe nix dup2_stdin/stdout/stderr. Normal CLI startup repairs missing std fds; this finding concerns the exported API. VT blocker also reproduces immediately for DECSET 1047; target/review-shim-extra.log. Correct repaint lines: terminal.rs:290-292.
Independent review finished at head 7c879a47e508a32452571d2bb5d750a10311b718. Verdict: MERGE AFTER FIXES.
Blockers:
Should-fix: detach() called with fd0 closed after Rust startup drops /dev/null fd0, confirmed by actual API probe ENOENT. Fix source-fd aliasing and inaccurate ownership comment at pty.rs:190-199. Safe nix duplication/chdir alternatives exist; safe rustix tcsetwinsize can replace resize ioctl.
Evidence: 7 real socket tests passed with both systemd parent-service stop and double-fork SIGKILL survival exercised (no skips); independent 20 concurrent two-peer races preserved contiguous output through final_seq=1439 and ExitAck; replay boundary tests passed. Supplied vim/htop/less tests pass despite the independent VT failure. Rootful UID and GID all four slots=1001, groups=27/1001; uid65534 refused and root peer retained. Idle RSS=1132/1100 KiB; Input→real PTY p99=7.566 us; snapshot p99=1.010 ms (74157 bytes); parser=49.05 MB/s. Local measurements, not perf VM. Static sizes base→head: x86_64 musl 705624→1024920 (+319296); aarch64 musl 607880→875544 (+267664). Runtime Alacritty only; vt100 dev-only, Ghostty opt-in.
Review report: /home/kayg/.local/state/codex-jobs/infraternal/review-shim/findings.md. Tracked checkout unchanged; no commits/push/deploy. Full scripts/verify fast output verbatim follows (all PASS); independent failing probes are outside this existing gate.
Starting independent-review fixes on lane-shim, reviewed head 7c879a47e508a32452571d2bb5d750a10311b718, base s1-base
386acfd3dc. Read all findings and contracts. Will reproduce VT and closed-fd regressions before fixes, tag lane-shim-v1, then reconstruct atomic buildable commits and remeasure contract §5.Confirmed both review regressions before editing: target/fix-vt-red.log fails immediate DECSET47 repaint at cell 0:7 (A becomes space); target/fix-detach-result.log initially reproduced ENOENT for fd0. Observer now recognizes only runtime-supported 1049, leaving ignored 47/1047 consistent with Alacritty. Six variant/nesting cases compare 12,000 cells immediately and after continuation (target/fix-vt-green.log). Detach now duplicates its owned source above fd2 with CLOEXEC before safe dup2 wrappers; the probe returns all three descriptors as /dev/null. Added automated coverage for all seven combinations of closed standard fds. Replaced raw chdir with allocation-free nix CStr wrapper. Retaining sound TIOCSWINSZ ioctl avoids a new production dependency solely for a reviewed, documented syscall.
Review audit answers: exactly-once replay/cursor ordering, authenticated replacement, frozen decoder bounds/caps, CLOEXEC shell inheritance, default 0700/0600 socket security and credential-drop order remain unchanged; their independent probes remain valid evidence for the reviewed code, and the final gate reruns real lifecycle tests. Custom --state parents remain trusted launcher choices; stale socket removal belongs to the infraternal agent. The separate user scope test proves parent-service-stop survival, not rootful installer restart or survival of stopping the shim own scope. No new claims on those limits. vt100 stays test-only, Ghostty stays optional benchmark-only. Original fuzz campaign is historical evidence, not independently rerun here. Replacing raw chdir and dup2 addresses the cheap unsafe nits; TIOCSWINSZ stays as the reviewed sound ioctl to avoid adding a production dependency for one call. Five unsafe boundaries remain, with unique ownership documented for the new fresh-fd-to-File transfer. First budget attempt overlapped builds and benchmark threads and failed snapshot p99 at 12.672 ms (target/fix-budgets.log); serial follow-up passes at input p99 16.002 us, snapshot p99 1.213 ms, throughput 53.41 MB/s, idle 1124 KiB. These are local host figures, not pinned perf VM or all-style worst-case results.
Finished review fixes on lane-shim. Base:
386acfd3dc. Head:9aacc4568c. Reviewed head preserved as lane-shim-v1 (7c879a47e508a32452571d2bb5d750a10311b718). Worktree clean; no push or deployment.All blockers and should-fix items repaired. VT observer now agrees with runtime-supported 1049; ignored 47/1047 no longer cause stale primary repaint. Six ordinary/nested cases compare 12,000 cells immediately and after continuation. Detach owns its temporary CLOEXEC source above fd2; all seven closed-standard-fd combinations pass. Raw chdir replaced with safe nix CStr wrapper; reviewed sound resize ioctl retained as answered in the audit comment. Every finding and evidence limitation is answered in this and preceding comments, and docs/S1-SHIM.md records the complete handoff.
Final serial local release budgets (target/final-budgets.log and target/final-idle.log): Input decode through successful real-PTY write n=10000 p50=2.118 us p99=4.777 us (<200 us); 200x60 snapshot plus 256-line tail n=1000 p50=0.426 ms p99=0.669 ms, 74157 bytes (<2 ms); parser+observer 57.35 MB/s; actual static shim idle RSS 1136 KiB / 1.109 MiB (<4 MiB), 80x24 fresh login with lazy ring. These exclude socket scheduling/shell echo and full ring/full scrollback, and are not pinned perf VM figures. The earlier loaded-host 12.672 ms failure remains documented.
Rootful canary rerun passes (target/final-security.log): slave uid1001/mode0600, UID slots1001, groups27/1001, uid65534 peer refused without replacing authenticated peer, ExitAck removes socket. Seven real socket integration tests pass, including separate user-scope parent-service-stop survival, with no skips. Historical independent twenty-race, boundary-offset, credential and fd-audit evidence is retained, without claiming it was all rerun or that the installer restart path is covered.
Static builds have no PT_INTERP. Complete lane vs independently measured base: x86_64 1025208 vs705624 (+319584 /45.29%); aarch64 875968 vs607880 (+268088 /44.10%). Repair vs reviewed head adds288/424 bytes respectively. Final lockfile equals reviewed lockfile; vt100 remains dev-only and Ghostty optional bench-only. Existing windows-sys duplicate warning remains allowed by cargo-deny policy; all advisory/license/source checks pass. Decoder unchanged; original fuzz campaign remains historical evidence.
Atomic commits, each passed nix shell nixpkgs#binutils nixpkgs#file -c scripts/verify fast. Full outputs are target/history-gates/01.log through19.log in this order; regression/benchmark harnesses are separated from production modules:
Final gate output, complete and verbatim (target/final-fast.log):
Merged into
devas7ae0b83. The conflict with auth was resolved: main() is synchronous, and only the server arm has a tokio runtime, because __shim forks. The gate on the merge result: all PASS.Closed by the orchestrator during the 2026-10-28 handover (#254), on the owner's request to close finished issues. Evidence: Shim lane merged to dev as
7ae0b83(verified in dev); review findings answered, gate PASS. Reopen if anything is still missing.kayg referenced this issue2026-10-28 17:53:54 +00:00