Status board: work in flight (kept current) #24
Open
opened 2026-10-06 15:42:26 +00:00 by kayg
·
540 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#24
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?
Status board. This is the one place to see what is in flight. The orchestrator updates it whenever a job starts or ends, so progress survives long threads and session restarts.
Every Codex job has its own issue, and comments there when it starts (branch and base), on each finding, when blocked, and when it finishes (head and gate output). Jobs never close issues.
The board itself is the first comment, kept current.
Status, 2026-10-06 (orchestrator)
Running jobs
Queued (blocked by)
Done today
cdc7c59). D104–107 record the owner's answers.7948ff0, client639ac27.d3c7194: review → rework (#25).Owner actions
infraternal.kayg.org → 10.69.69.50(#6).gh auth loginbefore any upstream PR (#31).Housekeeping: removed the merged and finished worktrees (lane-, s1-, research-vnc, s0-website, spike-transport, spike-vt). Branches are kept. 213 GB free.
48d7bab): the old check sampled CPU ticks for 500 ms and could miss a real 1 Hz wakeup. The new canary counts per-thread scheduler activations with a zero threshold; an injected 1 Hz timer is caught (test). The agent and shim measure 0 runs/min idle on the baseline, t-agent and VT builds. Gate green.e2ee906, research/vnc/SPIKE-A.md): auth survey (type 30 Apple DH; AES mode disputed), 146 MB corpus, 30 codec cases. Shortlist: H.264 4:2:0 1280x800 (5 KB/frame, 1.8 ms encode, 25.6 ms decode+draw) > JPEG/WebP rects > lossless rects. VideoToolbox untested (no ffmpeg on the VM).6e5d956, t-web75ffa93). The orchestrator fixed the card height and centring (t-web7a5e5db): Playwright 4/4, gate green.6e5d956, t-web75ffa93). The orchestrator fixed the card height and centring (t-web7a5e5db): Playwright 4/4, gate green.2016941.gh auth loginbefore the upstream release request (#31) is shown and filed.8e0c5c2), gate green. t-agent worktree removed.a557cc1, SPIKE-B.md): type 30 auth works (AES-128-ECB); held session OK. Input-to-canvas p50/p99: JPEG 382/1032 ms, H.264 704/953 ms. The RFB update arrival (about 360 ms) dominates; the H.264 prototype spawned ffmpeg per frame. Desktop 5004x2652, Zlib only.845c293, #36): crash corpus 14/14, latency unchanged.e4809d4, t-web-auth58040df): F1–F3 fixed, gates green. review-auth4 (recheck) running.d57516a); spike-vnc worktree removed.845c293, #38): server coalescing vs renderer recycle vs both.59f7686,7551ff6): cookie-neutral replies (F1 remainder), 60 s connect bound. 16 ten-second opens OK; revocation closes all sockets in 2.7 ms. Gates green. The orchestrator is running its two new browser regressions by hand (they are not in the gate yet; they get wired in during integration).ec38f95): original 20k 19,864/136/0, expanded 20k 4,815/15,185/0 (the rejections recover approximately and reconnects never close); flood ≥ 12.5 MB/s; recovery p99 at 128 sessions 39 ms. Budget question for the owner: idle shim RSS 4.7 MB vs the old 4 MiB canary (Alacritty was 5.7 MB).f6f2c3c): 15/15 Playwright, latency within noise. Orchestrator visual review found: an iconless toggle in ink, light overlay material in dark themes, placeholder "static" clutter, no real hostname. Run 2 is fixing these.0c47cd4). See #34 for the contents and the check. fix-setup started (Luna Max) for two hands-found setup bugs; redeploy after.0c47cd4).565105f): T1–T3 fixed; all four 20k corpora have 0 accepted divergences; flood minimum 10.23 MB/s (was 12.5, budget 10); recovery p99 at 128 sessions 51.7 ms. review-vt4 (narrow recheck) running.7d2d0a5): #39 Snapshot echo fix, #32 setup-token check at step 1, button alignment. Checked by hand on production.a5250c3, the libghostty-vt engine). Checked by hand: flood 12.4 MiB/s, reconnect, multi-device, resume and native auth all PASS. See #34.1f57c71, Approve after its fixes). Three commits changed owner-approved designs and are held back; motion-restore started (Luna Max, fix-motion-sel) to restore them while keeping the perf wins. Owner questions on #40.4daf8c0): motion fixes with the approved designs restored; main docs merged into dev. Running: review-perf (#42).Started #64 (research-discovery), branch research-discovery from main
a85ca2e265; read #64 and tracking context before work.Research-discovery finished in commit
2a986fc276: report and 30 × 34 fact matrix committed. Read-only host attempts returned 0 fact rows due DNS and strict host-key failures. scripts/verify fast could not run because scripts/verify is absent from the main-based worktree (exit 127; exact output on #64).Priorities (owner, 2026-10-07): the UI and basic features first.
Running:
Queue, in order as slots free:
Waiting on the owner: the test lab (#77-ish: Proxmox VM + NetBird key).
Status 2026-10-07 13:15 (orchestrator). Running jobs (9):
infraternal-meshcrate, coordination, rules, rotation, benches.Merged to dev today: latency-gate (#55) at
ac03b19. Mesh decisions D163–D167 on main (159f437).Held: sign-in speed part 2 (#66) waits for fix-recovery (both touch auth).
Deploy 2026-10-07 ~16:15 (orchestrator): owner asked to remove the user deploy and redeploy fresh as root (D170). Removed the user unit, binary, data, web and the three surviving shims plus /run/user/1001/infraternal. Installed dev
ac03b19(x86_64 musl): /usr/local/bin/infraternal, web /usr/local/share/infraternal/web, data /var/lib/infraternal (0700 root), system unit /etc/systemd/system/infraternal-server.service (same listen 172.18.0.1:7011 behind Traefik). Public origin answers 200. Owner re-enrolls with a fresh setup token (given to the owner directly, not recorded).Deployed dev
9e09924to monitor01 (root, 2026-10-07 ~17:20): retire the setup-token socket (#51, verified: socket absent after start with an owner present), local lossless terminal themes (#75), test stabilisation (#65), binary size budget (#57). Gate before deploy: scripts/verify fast exit 0 (6/6 Rust PASS, static size 16,160,816 B within 16,404,816 B, TS 7/7, browser 2/2, RTT smoke PASS). Previous binary kept at /usr/local/bin/infraternal.prev and web at web.prev for rollback.REGRESSION found by the owner on monitor01 after deploying
9e09924: the cursor sits about 2 cells right of the text, and the drift grows along the line. Cause: local-theme-api.patch draws text runs with fillText at runStart * metrics.width, so glyphs inside a run advance at the font natural width (~8.4 px) while the grid and cursor use the ceil width (9 px). Web bundle rolled back on monitor01 (server binary kept). The fix goes into #84 (fix-cell-metrics, run 2) with pixel tests. dev is not deployable until #84 merges.Deployed dev
7eca507to monitor01 (~19:00): font-height terminal lines and on-grid glyphs (#84), local lossless themes (#75) back in. Before deploying, the orchestrator checked a 86-character line on a local production build at DPR 2: renderer cursorX=86 right after the last glyph, the same relative position as on a 2-character line (no drift). Gate: scripts/verify fast exit 0. Rollback: web.prev and infraternal.prev on the server.Deployed dev
5ed4f29to monitor01: reviewed recovery backend with the recovery UI held (live sign-in verified: no recovery entry, text "Welcome back / Your passkey is all you need / Continue with passkey"), palette keyboard selection stays in view (#85), deterministic recovery expiry tests (#65). Gate: scripts/verify fast exit 0. Rollback: web.prev / infraternal.prev.Deployed dev
1f77d1b: docked desktop sidebar, keyboard-only focus rings (focus-ring.ts), pointer-opened palette motion (D171). Gate exit 0. Orchestrator check: terminal text and cursor survive docking; click and Cmd+K show no ring, Tab does.Owner priority (2026-10-07): product demo on 10 October. Until then: (1) canvas (windows prototype to production, Claude-built per D171), (2) SSH: add a real host end to end (#78 plus add-host wired to the real backend), (3) finesse on every UI component (docs/design/TASTE.md). Deferred until after the demo: deep-links grill #86, mesh slice 2, backups, auto-update. monitor01 stays demo-stable (hands-on check before each deploy, rollback copies kept).
Deployed dev
19fe05a: sidebar glass panel, travelling toggle pill, one type scale, mono default, sign-in tracking, instant theme swap (D171). Gate exit 0. Known: software-compositing measurement of the open sidebar over 10 MB/s output was 33 ms p95 on desktop; real-GPU measurement pending.Hotfix
bd12725deployed (web) to monitor01 ~21:30: the terminal host resets letter-spacing/word-spacing so the mono UI tracking no longer shrinks the renderer cell (owner saw the cursor drift again). Verified on the production build: cell 8, cursorX 86 on an 86-char line at DPR 1/2. Post-deploy gate: scripts/verify fast exit 0 (Rust 6/6, browser 20/20, TS 7/7).Deployed dev
e19c4eb: predictive local echo behind ?predict=1 (#50). Before deploy the orchestrator checked the cursor on the production build with and without prediction at DPR 1/2 (cell 8, cursorX 86 on an 86-char line). Gate exit 0.Deployed to production (infraternal.kayg.org) 2026-10-08 ~23:17 CEST: web build of dev
1c3ae5f(server binary unchanged). Rollback: /usr/local/share/infraternal/web.prev. Gate: scripts/verify fast EXIT 0 on04ad866(Rust unchanged since); TS gate EXIT 0 on1c3ae5f(critical 282381/307200 gzip, deferred 50565/51200, on-demand largest chunk 8493/20480); real-server browser specs 22/23 (canvas phone-memory spec flaked under load, passed 2/2 alone).Deployed to production 2026-10-09 ~09:50 CEST: web build of dev
63b1f10e(server binary unchanged; rollback web.prev =1c3ae5f). Gate: scripts/verify fast EXIT 0 on63b1f10e(critical 282934/307200 gzip, deferred 49879/51200); real-server browser specs 27/27.Deployed to production 2026-10-09 ~12:15 CEST: web build of dev
01a6d848(server binary unchanged; rollback web.prev =63b1f10e). Gate: scripts/verify fast EXIT 0; real-server specs 29/30 with the one failure (switch.spec keys acknowledged, load 48) passing 21/21 on three reruns.Started mesh test directory fix on branch mesh-test-dir, based on origin/dev at
03ee2060b3.Finding: with
--features agentandCARGO_TARGET_DIRunset fromcrates/plugins/mesh, 11 node-state tests fail atnode_state.rs:231withNotFound; 2 performance tests are ignored. The default-feature package run does not compile this module. A source scan found no other test helper with the same target-directory fallback andcreate_dirpattern. Baseline output: mesh-node-state-baseline.log.Iterate finding: repository artifact, deployment checks, RTT self-test, fmt, clippy and cargo-deny passed. The workspace test row had one failure:
infraternal-agentplugin_control::tests::retained_runtime_registry_keeps_lifetime_ownership_after_listener_abort(143 passed, 1 failed, 20 ignored), assertion atcrates/infraternal-agent/src/plugin_control.rs:1040. This is outside the changed file; the run overlapped other build jobs. Full log: verify-iterate.log. A focused rerun is in progress.The failing
plugin_controltest passed on a focused rerun (1 passed, 0 failed) with theremotefeature; the initial run overlapped workspace builds. This test is ininfraternal-agent, outside the changed file. Focused output: iterate-failure-rerun-remote.log. I will rerun iterate before committing.Second iterate finding: the earlier
plugin_controlfailure did not recur. This run failed onlyinfraternalintegration testshim::legacy_output_subscription_unblocks_deferred_shared_inputatcrates/infraternal/tests/shim.rs:1233after 30.35 s (deferred input never reached the real PTY; 23 passed, 1 failed). The same shim suite passed 24/24 in the prior iterate run; this file is outside the change. Full output: verify-iterate-rerun.log. I am rerunning this test by itself.The
legacy_output_subscription_unblocks_deferred_shared_inputtest passed by itself (1 passed, 0 failed, 2.50 s); the full suite had passed it in the first iterate run and timed out once in the second under concurrent test load. Focused output: shim-failure-rerun.log. I am proceeding to the required branch-head fast gate.Committed the test-directory fix as
6f7cde60a.cargo test -p infraternal-plugin-mesh --features agent --lockedwithCARGO_TARGET_DIRunset passed (60 passed, 14 ignored); direct node-state run fromcrates/plugins/meshwith the variable unset passed (11 passed, 2 ignored).cargo clippy --locked -p infraternal-plugin-mesh --features agent --testsandcargo fmt --checkpassed. Receipts: package tests, node-state tests, clippy. The iterate failures and focused reruns are recorded above; running the branch-head fast gate now.Finding during
scripts/verify fastat6f7cde60a430590a20f0b9384fc423df465bde7f: the test row failed becausecrates/plugins/ssh/tests/previous_attempt_shell.py:25requiresINFRATERNAL_TEST_RUNTIME_HELPER; the variable was unset, producing 32 Python setup errors. The x86_64 and AArch64 static builds, size caps (21,225,872 and 19,427,688 bytes; both delta +0), and remaining fast checks passed. Full log: https://git.kayg.org/attachments/6dc543b6-4f83-4da9-9912-40658262c5f4. I will build the existingrecovery-helperexample and rerun the final gate with the required variable set.The SSH oracle passes with the existing recovery helper supplied:
INFRATERNAL_TEST_RUNTIME_HELPER=.../target/debug/examples/recovery-helper cargo test --locked -p infraternal-plugin-ssh --test previous_attempt_shell -- --exactpassed 1/1 at6f7cde60a430590a20f0b9384fc423df465bde7f(Python suite completed in 14.70s). Log: https://git.kayg.org/attachments/0bf85b80-edbf-49c1-a2d9-7fc799ee686d. Starting finalscripts/verify fastwith that variable set.The rerun at
6f7cde60a430590a20f0b9384fc423df465bde7fpassed the missing-helper SSH oracle, butscripts/verify faststill reportstest: FAIL (101):crates/plugins/ssh/tests/recovery_support.rshad 3 failures (review_cached_helper_without_session_mode_asks_for_a_refresh,review_live_session_socket_in_plain_home_blocks_cleanup,review_live_session_socket_in_newline_home_blocks_cleanup). All stem fromOSError: AF_UNIX path too long/InvalidInput: path must be shorter than SUN_LEN; the test comments explicitly require a shortINFRATERNAL_TEST_STATE_ROOT. Other fast rows passed, and static sizes remain 21,225,872 bytes x86_64 and 19,427,688 bytes AArch64 (+0 bytes). Full log: https://git.kayg.org/attachments/0c36b199-73f3-412c-b165-42dc3d083a36. I will rerun the SSH suite and final gate with a short root that resolves into this job's scratch directory.With
INFRATERNAL_TEST_STATE_ROOT=/tmp/mt-dirresolving to this job's scratch directory, the focused SSH suite passes:cargo test --locked -p infraternal-plugin-ssh --test recovery_support= 11 passed, 1 ignored, 0 failed (0.40s) at6f7cde60a430590a20f0b9384fc423df465bde7f. Log: https://git.kayg.org/attachments/dbe96b31-773a-4c81-a7f6-baf982a51ed1. Starting finalscripts/verify fastwith both required test environment variables.The next
scripts/verify fastrun at6f7cde60a430590a20f0b9384fc423df465bde7fcleared the SSH recovery socket-length errors, but the/tmp/mt-dirsymlink into this job's cache caused 7infraternalrestart tests to fail: they compare canonical paths and reject the alias (restart_tests.rs,restart_signature_audit_tests.rs). Full log: https://git.kayg.org/attachments/22ca329b-e309-4c9e-8110-16ed9048d0c9. I will use a real, short/tmp/mt-dirdirectory for disposable test state (the build target remains under$HOME/.cache/codex-scratch/mesh-test-dir/target) and rerun.A real
/tmp/mt-dirroot removes the symlink mismatch but is also unsuitable for the full test suite:cargo test --locked -p infraternal --bin infraternalhad 6 failures (93 passed, 1 ignored), includingCrossesDevicesfor a hard link from the home-cache target and parent-path permission refusals under sticky/tmp. Log: https://git.kayg.org/attachments/a57d220f-9586-48e0-a00c-5a24a56bc6c0. I will use a short relative test-state path inside each test's package working directory, keeping fixtures on the worktree filesystem without a symlink or/tmpparent.A relative
.test-stateroot also fails path-sensitive restart tests: 6infraternaltests returnInvalidInputbecause those tests require an absolute path; 93 passed and 1 was ignored. Log: https://git.kayg.org/attachments/03a8b778-389a-4c74-81de-e4ee50f400c7. A direct home-cache directory/home/kayg/.cache/mhas a 102-byte session socket path, is private, and shares the build target filesystem. I will use it as disposable test state and remove it after the gate.Using a direct private
/home/kayg/.cache/mstate root (short socket path, same filesystem as the target), both focused suites pass at6f7cde60a430590a20f0b9384fc423df465bde7f: SSH recovery support 11 passed/1 ignored;infraternalbinary 99 passed/1 ignored. Logs: https://git.kayg.org/attachments/64d1e409-a6c7-4c1a-9951-36d0cf40107f and https://git.kayg.org/attachments/b12acb92-5df7-4fec-b910-1549aabcf1f9. Rerunning finalscripts/verify fastwith that root and the recovery helper configured.The third
scripts/verify fastrun at6f7cde60a430590a20f0b9384fc423df465bde7fpassed all SSH/restart/auth tests and both static builds (x86_64 21,225,872 bytes; AArch64 19,427,688 bytes; each +0), but the workspace test row failed only atinfraternal-shim::pty::child_locale_tests::spawned_login_shell_receives_selected_locale_without_other_host_variables(80 passed, 1 failed, 13 ignored in that crate). The assertion said the login shell did not receive the selected locale; full log: https://git.kayg.org/attachments/5778227b-69cf-4719-8aaa-f3b2bd51b19c. I will rerun that one test in isolation, then repeat the final gate.The shim locale test passed in isolation:
cargo test --locked -p infraternal-shim --lib pty::child_locale_tests::spawned_login_shell_receives_selected_locale_without_other_host_variables -- --exact --nocapture= 1 passed, 0 failed. Log: https://git.kayg.org/attachments/89e31514-b9c0-41cc-a136-2e73f9d821dc. Repeatingscripts/verify faston the same head to obtain the required full green gate.Finished mesh node-state test directory fix.
Head SHA:
6f7cde60a430590a20f0b9384fc423df465bde7f.origin/devwas fast-forwarded to this commit.Stripped static x86_64 size, same recipe: merge base
03ee2060b331cad4221cf0acbeb136f9aa1ac3ec= 21,225,872 bytes; head = 21,225,872 bytes; delta = +0 bytes; binaries are byte-identical.Evidence: full fast log, merge-base static build log.
The full
scripts/verify fastoutput from the build-slot run follows verbatim:==> Repository artifact size gate
repository artifact gate: PASS (1 changed path(s), merge base
03ee2060b3)==> Release deployment functional checks
.....Release build failed for aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa; gate log retained
.Build deferred: host capacity limit reached
.........
Ran 15 tests in 0.704s
OK
.
Ran 1 test in 0.069s
OK
bun test v1.4.2 (744846f84)
scripts/release/deploy-review.test.ts:
REMOTE_ADMISSION unsigned_x86_payload=true refused=true
(pass) remote admission refuses an x86 payload outside the signed manifest [182.41ms]
{"state": "deployed", "ca_unlocked": true}
WEB_ONLY_RECORD candidate_binary_recorded=false
(pass) web-only deployment does not record the candidate as the running binary [181.60ms]
ALIAS_RECOVERY restart_requests=2
(pass) alias restoration failure still requests the retained warm rollback [172.77ms]
3 pass
0 fail
3 expect() calls
Ran 3 tests across 1 file. [543.00ms]
METRIC name=network_rtt_selftest configured_rtt_ms=300 jitter_ms=30 loss=unsupported transport=tcp-stream n=3 p50_ms=310.16 p99_ms=326.20 result=PASS
==> fmt
(fmt: 3s)
==> VT native fmt
(VT native fmt: 0s)
==> CLI plugin compile-out
disabled CLI plugin dependencies: absent from normal dependency graph
warning: function
print_progressis never used--> crates/infraternal/src/cli/output.rs:592:8
|
592 | pub fn print_progress<T: Serialize>(result: &CommandResult, json: bool, to_stderr: bool) {
| ^^^^^^^^^^^^^^
|
= note:
#[warn(dead_code)](part of#[warn(unused)]) on by defaultwarning: function
write_outputis never used--> crates/infraternal/src/cli/output.rs:616:8
|
616 | pub fn write_output(output: Result<String, serde_json::Error>, to_stderr: bool) {
| ^^^^^^^^^^^^
warning:
infraternal(bin "infraternal" test) generated 2 warningsFinished
testprofile [unoptimized + debuginfo] target(s) in 0.20sRunning unittests src/main.rs (/home/kayg/.cache/codex-scratch/mesh-test-dir/target/debug/deps/infraternal-9c4fc48b971836fc)
running 37 tests
test cli::actions::default_build_tests::default_build_registers_no_unbuilt_command ... ok
test cli::actions::tests::compiled_out_mesh_has_no_registered_commands ... ok
test cli::actions::tests::hidden_session_shim_is_registered_to_its_runtime_handler ... ok
test cli::actions::tests::every_registered_action_has_description_and_step_by_step_guidance ... ok
test cli::actions::tests::no_default_plugins_register_no_component_commands ... ok
test cli::actions::key_memory_registry_tests::key_memory_diagnostic_follows_remote_feature ... ok
test cli::actions::tests::agent_session_integration_target_is_gated_by_agent_plugin ... ok
test cli::actions::tests::server_only_dependencies_are_removed_with_server_plugin ... ok
test cli::output::tests::a_body_replaces_the_generic_rendering_of_data ... ok
test cli::command_tree::tests::every_command_in_the_tree_takes_json ... ok
test cli::command_tree::tests::public_help_is_plain_words ... ok
test cli::command_tree::tests::root_help_lines_fit_80_columns ... ok
test cli::command_tree::tests::node_build_omits_and_refuses_server_commands ... ok
test cli::command_tree::tests::skill_parser_accepts_a_multi_part_command_and_write_directory ... ok
test cli::command_tree::tests::compiled_out_plugin_has_no_help_or_parse_path ... ok
test cli::command_tree::tests::hidden_session_shim_parser_uses_the_registered_input_schema ... ok
test cli::output::tests::exit_codes_follow_d303 ... ok
test cli::output::tests::a_failure_says_why_and_what_to_do ... ok
test cli::command_tree::tests::root_help_uses_registered_descriptions_and_long_action_guidance ... ok
test cli::output::tests::json_is_one_line_with_stable_fields_and_omits_absent_ones ... ok
{"schema_version":1,"command":"x","ok":false,"state":"failed","message":"It broke.","next":[],"details":"because","error":{"code":"failed","detail":"because"},"data":{}}
test cli::output::tests::tables_omit_empty_columns_and_rows_and_single_rows_have_no_header ... ok
{"schema_version":1,"command":"x","ok":true,"state":"ready","message":"Done.","next":[],"data":{}}
test cli::output::tests::plain_text_answers_first_then_aligned_blocks_then_next ... ok
test cli::output::tests::terminal_output_has_a_mark_and_colour_and_wraps_to_the_width ... ok
test cli::output::tests::finishing_a_command_stamps_ok_and_the_error_from_the_exit ... ok
test cli::output::tests::registered_action_output_schemas_accept_typed_json_envelopes ... ok
test cli::usage::tests::missing_arguments_are_listed_by_name ... ok
test failure_data_tests::unavailable_results_keep_registered_data_shapes ... ok
test cli::usage::tests::an_unknown_option_is_named_without_its_value ... ok
test shim_cli::tests::spawned_decode_refuses_changes_to_the_fixed_shape_before_startup ... ok
test cli::usage::tests::a_wrong_command_names_only_a_plain_word ... ok
test cli::skills::tests::writing_skills_creates_one_file_per_visible_action ... ok
test cli::command_tree::tests::unbuilt_placeholders_are_neither_shown_nor_parsed ... ok
test failure_data_tests::skill_errors_keep_the_registered_result_data_shape ... ok
test shim_cli::tests::spawned_shapes_reuse_full_shim_options_and_defaults ... ok
test dispatch_tests::hidden_session_shim_dispatches_from_the_registered_action ... ok
test startup_tests::process_dumpability_is_disabled_before_dispatch ... ok
test cli::command_tree::tests::packaged_node_dependency_closure_omits_server_storage_and_release ... ok
test result: ok. 37 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s
running 100 tests
test cli::actions::key_memory_registry_tests::key_memory_diagnostic_follows_remote_feature ... ok
test cli::actions::tests::hidden_session_shim_is_registered_to_its_runtime_handler ... ok
test cli::actions::tests::every_registered_action_has_description_and_step_by_step_guidance ... ok
test cli::actions::tests::enabled_mesh_plugin_registers_its_component_commands ... ok
test cli::actions::tests::registered_actions_include_plugin_permission_contract_fields ... ok
test cli::actions::factory_tests::plugin_command_materializes_only_its_owner_and_discovery_remains_complete ... ok
test cli::actions::tests::hidden_ssh_session_bridge_is_registered_to_its_runtime_handler ... ok
test cli::actions::hosted_tests::production_descriptors_share_cli_registry_and_skills ... ok
test cli::command_tree::tests::hidden_ssh_session_action_parses_existing_session_rendezvous ... ok
test cli::command_tree::tests::root_help_lines_fit_80_columns ... ok
test cli::command_tree::backmerge_tests::restart_inherits_private_state_before_or_after_the_command ... ok
test cli::command_tree::tests::every_command_in_the_tree_takes_json ... ok
test cli::command_tree::backmerge_tests::removal_and_retention_inputs_keep_the_production_runtime_bindings ... ok
test cli::actions::release_tests::server_commands_bind_release_without_losing_hosted_skills ... ok
test cli::command_tree::tests::hidden_session_shim_parser_uses_the_registered_input_schema ... ok
test cli::output::tests::exit_codes_follow_d303 ... ok
test cli::command_tree::tests::root_help_uses_registered_descriptions_and_long_action_guidance ... ok
test cli::command_tree::tests::public_help_is_plain_words ... ok
test cli::command_tree::tests::parser_uses_plugin_inputs_and_accepts_json_after_a_leaf_command ... ok
test cli::command_tree::tests::skill_parser_accepts_a_multi_part_command_and_write_directory ... ok
test cli::output::tests::json_is_one_line_with_stable_fields_and_omits_absent_ones ... ok
test cli::output::tests::plain_text_answers_first_then_aligned_blocks_then_next ... ok
{"schema_version":1,"command":"x","ok":false,"state":"failed","message":"It broke.","next":[],"details":"because","error":{"code":"failed","detail":"because"},"data":{}}
{"schema_version":1,"command":"x","ok":true,"state":"ready","message":"Done.","next":[],"data":{}}
test cli::output::tests::a_failure_says_why_and_what_to_do ... ok
test cli::output::tests::tables_omit_empty_columns_and_rows_and_single_rows_have_no_header ... ok
test cli::output::tests::a_body_replaces_the_generic_rendering_of_data ... ok
test cli::output::tests::terminal_output_has_a_mark_and_colour_and_wraps_to_the_width ... ok
test cli::output::tests::finishing_a_command_stamps_ok_and_the_error_from_the_exit ... ok
test cli::command_tree::tests::server_init_parses_confirmation_plan_and_server_configuration ... ok
test cli::usage::tests::a_wrong_command_names_only_a_plain_word ... ok
test cli::command_tree::tests::unbuilt_placeholders_are_neither_shown_nor_parsed ... ok
test cli::output::tests::registered_action_output_schemas_accept_typed_json_envelopes ... ok
test embedded_cli::tests::dispatch_keeps_public_help_operator_modes_and_foreign_commands ... ok
test cli::usage::tests::missing_arguments_are_listed_by_name ... ok
test cli::usage::tests::an_unknown_option_is_named_without_its_value ... ok
test cli::skills::tests::generated_skill_contains_front_matter_inputs_outputs_and_safety ... ok
test install::tests::dry_run_prints_a_process_surviving_user_unit ... ok
test failure_data_tests::skill_errors_keep_the_registered_result_data_shape ... ok
test dispatch_tests::hidden_session_shim_dispatches_from_the_registered_action ... ok
test remote::tests::oversized_or_invalid_invitation_fails_before_local_state_is_created ... ok
test remote::tests::local_identity_load_refuses_symlink_and_shared_file ... ok
test failure_data_tests::unavailable_results_keep_registered_data_shapes ... ok
test remote::tests::join_dns_failure_reports_resolution_instead_of_generic_refusal ... ok
test remote::tests::preparation_refuses_shared_and_symlinked_data_directories ... ok
test remote::tests::ordinary_join_keeps_the_foreground_connection_default ... ok
test cli::skills::tests::writing_skills_creates_one_file_per_visible_action ... ok
test failure_data_tests::server_errors_keep_the_registered_result_data_shapes ... ok
test remote::tests::ssh_installation_can_enroll_before_starting_the_service ... ok
test remote::tests::uid_and_privilege_mismatch_fails_before_key_generation ... ok
test remote_server::tests::independent_review_remote_operator_commands_accept_json_output ... ok
test embedded_cli::tests::inherited_flags_keep_public_parser_validation_and_values ... ok
test remote_server::tests::missing_ca_refuses_before_database_or_listener_creation ... ok
test remote_server::tests::service_dry_run_preserves_remote_listener_and_private_trust_path ... ok
test remote_server::tests::failed_cold_configuration_still_disposes_handoff_stdin ... ok
test remote_service::tests::successful_link_return_is_a_service_failure ... ok
test remote_server::tests::remote_activation_is_explicit_and_ca_override_requires_listener ... ok
test remote::tests::publication_is_private_and_never_replaces_existing_identity ... ok
test remote::tests::join_refuses_the_same_host_id_from_another_server ... ok
test remote::tests::renewal_publication_replaces_only_certificate_and_preserves_private_metadata ... ok
test remote::tests::join_re_enrolls_for_a_moved_server_but_not_a_renamed_one ... ok
test remote::tests::join_re_enrolls_the_same_hosts_identity_and_refuses_another_host ... ok
test remote::tests::replace_aborts_when_the_identity_changed_since_it_was_read ... ok
test restart::tests::private_control_endpoint_cannot_be_stolen_or_created_by_a_client ... ok
test restart::tests::private_path_prefix_cannot_authorize_a_parent_directory_escape ... ok
test cli::command_tree::tests::packaged_node_dependency_closure_omits_server_storage_and_release ... ok
test remote_server::tests::failed_restart_endpoint_does_not_prevent_http_serving ... ok
test restart::tests::replacement_never_exports_to_a_general_purpose_binary ... ok
test restart::tests::early_hangup_is_queued_until_control_installs_its_handler ... ok
test remote_service::tests::link_failure_does_not_wait_forever_for_blocking_work ... ok
test remote_service::tests::polling_panic_reaches_bounded_shutdown ... ok
test restart::tests::root_owned_marked_target_requires_protected_root_parents ... ok
test restart::tests::real_fd_exec_pins_replacement_and_cold_rollback_uses_null_stdin ... ok
test restart::tests::runtime_directory_symlinks_and_public_permissions_are_refused ... ok
test restart::tests::reviewer_fifo_replacement_is_refused_without_waiting_for_a_writer ... ok
test restart::tests::path_review::late_recovery_from_path_invocation_keeps_install_target ... ok
test restart::tests::reload_reopens_install_path_when_the_running_inode_was_replaced ... ok
test restart_binary::audit_tests::symlink_parent_escape_and_writable_candidates_are_refused ... ok
test restart_binary::audit_tests::unsigned_or_tampered_replacement_is_refused_before_exec ... ok
test restart_binary::audit_tests::unusable_admitted_image_keeps_the_existing_service_running ... ok
test restart_binary::audit_tests::verification_twenty_megabytes ... ignored, optimized weighted 20 MiB signature and admission measurement
test restart::tests::rootless_even_marked_replacement_is_cold_and_open_fd_pins_the_inode ... ok
test restart_image::tests::snapshot_refuses_every_mutation_and_preserves_source_offset ... ok
test setup_token_tests::setup_token_command_reads_only_the_expected_socket_response ... ok
test shim_cli::tests::spawned_decode_refuses_changes_to_the_fixed_shape_before_startup ... ok
test shim_cli::tests::spawned_shapes_reuse_full_shim_options_and_defaults ... ok
test ssh_internal::tests::connect_requires_exactly_a_host_and_numeric_port ... ok
test ssh_internal::tests::connector_is_available_only_on_the_initiating_build ... ok
test ssh_internal::tests::session_accepts_only_the_two_spawned_shapes ... ok
test startup_tests::process_dumpability_is_disabled_before_dispatch ... ok
test startup_tests::shared_reactor_preserves_borrows_errors_and_panic_cleanup ... ok
test restart::tests::default_restart_opens_the_receiver_target_exactly_once ... ok
test restart::tests::cold_exec_with_closed_stdin_keeps_the_image_pinned_and_maps_null ... ok
test restart::tests::restart_requests_use_the_servers_binary_and_reject_untrusted_paths ... ok
test restart::tests::restart_request_logs_kernel_peer_target_and_cold_outcome ... ok
test restart_image::tests::probe_never_inherits_the_control_descriptor ... ok
test restart::tests::runtime_shutdown_never_waits_forever_on_a_blocking_waiter ... ok
test restart::tests::closed_reply_and_missing_reload_target_do_not_end_restart_control ... ok
test restart::tests::deleted_path_review::relative_recovery_after_atomic_install_keeps_live_install_path ... ok
test restart_binary::audit_tests::admitted_inode_cannot_change_in_place_before_execution ... ok
test restart_binary::audit_tests::pathname_replacement_keeps_the_admitted_inode ... ok
test restart::recovery_tests::verified_exec_and_late_refusal_preserve_listener_and_ca ... ok
test result: ok. 99 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 9.89s
running 1 test
test cli::tests::agent_actions_are_complete_and_unavailable_until_lifecycle_exists ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 71 filtered out; finished in 0.01s
running 1 test
test cli::tests::mesh_actions_are_complete_with_optional_ssh_connectivity ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 1 test
test cli::tests::backup_actions_are_complete_and_unavailable_until_runtime_exists ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 1 test
test cli::tests::relay_actions_are_complete_and_unavailable_until_runtime_exists ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 1 test
test cli::tests::ssh_actions_are_complete_and_marked_unavailable ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 42 filtered out; finished in 0.01s
(CLI plugin compile-out: 11s)
==> clippy
Finished
devprofile [unoptimized + debuginfo] target(s) in 0.89s(clippy: 2s)
==> test
Finished
testprofile [unoptimized + debuginfo] target(s) in 0.66sRunning unittests src/main.rs (/home/kayg/.cache/codex-scratch/mesh-test-dir/target/debug/deps/infraternal-f82f0e86e638dcc3)
running 100 tests
test cli::actions::key_memory_registry_tests::key_memory_diagnostic_follows_remote_feature ... ok
test cli::actions::tests::hidden_session_shim_is_registered_to_its_runtime_handler ... ok
test cli::actions::tests::enabled_mesh_plugin_registers_its_component_commands ... ok
test cli::actions::default_build_tests::default_build_registers_no_unbuilt_command ... ok
test cli::actions::tests::hidden_ssh_session_bridge_is_registered_to_its_runtime_handler ... ok
test cli::actions::tests::every_registered_action_has_description_and_step_by_step_guidance ... ok
test cli::actions::factory_tests::plugin_command_materializes_only_its_owner_and_discovery_remains_complete ... ok
test cli::actions::tests::registered_actions_include_plugin_permission_contract_fields ... ok
test cli::command_tree::tests::parser_uses_plugin_inputs_and_accepts_json_after_a_leaf_command ... ok
test cli::command_tree::tests::root_help_lines_fit_80_columns ... ok
test cli::command_tree::tests::hidden_ssh_session_action_parses_existing_session_rendezvous ... ok
test cli::actions::release_tests::server_commands_bind_release_without_losing_hosted_skills ... ok
test cli::command_tree::backmerge_tests::removal_and_retention_inputs_keep_the_production_runtime_bindings ... ok
test cli::output::tests::a_failure_says_why_and_what_to_do ... ok
test cli::output::tests::a_body_replaces_the_generic_rendering_of_data ... ok
test cli::output::tests::exit_codes_follow_d303 ... ok
{"schema_version":1,"command":"x","ok":false,"state":"failed","message":"It broke.","next":[],"details":"because","error":{"code":"failed","detail":"because"},"data":{}}
{"schema_version":1,"command":"x","ok":true,"state":"ready","message":"Done.","next":[],"data":{}}
test cli::command_tree::tests::every_command_in_the_tree_takes_json ... ok
test cli::output::tests::json_is_one_line_with_stable_fields_and_omits_absent_ones ... ok
test cli::command_tree::tests::hidden_session_shim_parser_uses_the_registered_input_schema ... ok
test cli::output::tests::finishing_a_command_stamps_ok_and_the_error_from_the_exit ... ok
test cli::command_tree::tests::server_init_parses_confirmation_plan_and_server_configuration ... ok
test cli::command_tree::tests::skill_parser_accepts_a_multi_part_command_and_write_directory ... ok
test cli::output::tests::plain_text_answers_first_then_aligned_blocks_then_next ... ok
test cli::command_tree::tests::root_help_uses_registered_descriptions_and_long_action_guidance ... ok
test cli::output::tests::tables_omit_empty_columns_and_rows_and_single_rows_have_no_header ... ok
test cli::usage::tests::a_wrong_command_names_only_a_plain_word ... ok
test cli::output::tests::terminal_output_has_a_mark_and_colour_and_wraps_to_the_width ... ok
test cli::command_tree::tests::public_help_is_plain_words ... ok
test cli::skills::tests::generated_skill_contains_front_matter_inputs_outputs_and_safety ... ok
test cli::usage::tests::an_unknown_option_is_named_without_its_value ... ok
test cli::command_tree::backmerge_tests::restart_inherits_private_state_before_or_after_the_command ... ok
test cli::command_tree::tests::unbuilt_placeholders_are_neither_shown_nor_parsed ... ok
test cli::output::tests::registered_action_output_schemas_accept_typed_json_envelopes ... ok
test failure_data_tests::unavailable_results_keep_registered_data_shapes ... ok
test cli::usage::tests::missing_arguments_are_listed_by_name ... ok
test embedded_cli::tests::dispatch_keeps_public_help_operator_modes_and_foreign_commands ... ok
test failure_data_tests::skill_errors_keep_the_registered_result_data_shape ... ok
test dispatch_tests::hidden_session_shim_dispatches_from_the_registered_action ... ok
test install::tests::dry_run_prints_a_process_surviving_user_unit ... ok
test remote::tests::preparation_refuses_shared_and_symlinked_data_directories ... ok
test remote::tests::ordinary_join_keeps_the_foreground_connection_default ... ok
test cli::skills::tests::writing_skills_creates_one_file_per_visible_action ... ok
test failure_data_tests::server_errors_keep_the_registered_result_data_shapes ... ok
test remote::tests::ssh_installation_can_enroll_before_starting_the_service ... ok
test remote::tests::oversized_or_invalid_invitation_fails_before_local_state_is_created ... ok
test embedded_cli::tests::inherited_flags_keep_public_parser_validation_and_values ... ok
test remote::tests::local_identity_load_refuses_symlink_and_shared_file ... ok
test remote_server::tests::independent_review_remote_operator_commands_accept_json_output ... ok
test remote::tests::join_dns_failure_reports_resolution_instead_of_generic_refusal ... ok
test remote_server::tests::remote_activation_is_explicit_and_ca_override_requires_listener ... ok
test remote_server::tests::service_dry_run_preserves_remote_listener_and_private_trust_path ... ok
test remote::tests::uid_and_privilege_mismatch_fails_before_key_generation ... ok
test remote_server::tests::missing_ca_refuses_before_database_or_listener_creation ... ok
test remote_service::tests::successful_link_return_is_a_service_failure ... ok
test remote_server::tests::failed_cold_configuration_still_disposes_handoff_stdin ... ok
test remote::tests::publication_is_private_and_never_replaces_existing_identity ... ok
test remote::tests::join_refuses_the_same_host_id_from_another_server ... ok
test remote::tests::renewal_publication_replaces_only_certificate_and_preserves_private_metadata ... ok
test remote::tests::join_re_enrolls_the_same_hosts_identity_and_refuses_another_host ... ok
test remote::tests::join_re_enrolls_for_a_moved_server_but_not_a_renamed_one ... ok
test remote::tests::replace_aborts_when_the_identity_changed_since_it_was_read ... ok
test restart::tests::private_control_endpoint_cannot_be_stolen_or_created_by_a_client ... ok
test restart::tests::private_path_prefix_cannot_authorize_a_parent_directory_escape ... ok
test remote_server::tests::failed_restart_endpoint_does_not_prevent_http_serving ... ok
test cli::command_tree::tests::packaged_node_dependency_closure_omits_server_storage_and_release ... ok
test restart::tests::replacement_never_exports_to_a_general_purpose_binary ... ok
test restart::tests::early_hangup_is_queued_until_control_installs_its_handler ... ok
test remote_service::tests::link_failure_does_not_wait_forever_for_blocking_work ... ok
test remote_service::tests::polling_panic_reaches_bounded_shutdown ... ok
test restart::tests::root_owned_marked_target_requires_protected_root_parents ... ok
test restart::tests::reviewer_fifo_replacement_is_refused_without_waiting_for_a_writer ... ok
test restart::tests::runtime_directory_symlinks_and_public_permissions_are_refused ... ok
test restart::tests::real_fd_exec_pins_replacement_and_cold_rollback_uses_null_stdin ... ok
test restart::tests::rootless_even_marked_replacement_is_cold_and_open_fd_pins_the_inode ... ok
test restart::tests::reload_reopens_install_path_when_the_running_inode_was_replaced ... ok
test restart_binary::audit_tests::symlink_parent_escape_and_writable_candidates_are_refused ... ok
test restart::tests::path_review::late_recovery_from_path_invocation_keeps_install_target ... ok
test restart_binary::audit_tests::unusable_admitted_image_keeps_the_existing_service_running ... ok
test restart_binary::audit_tests::verification_twenty_megabytes ... ignored, optimized weighted 20 MiB signature and admission measurement
test restart_binary::audit_tests::unsigned_or_tampered_replacement_is_refused_before_exec ... ok
test restart_image::tests::snapshot_refuses_every_mutation_and_preserves_source_offset ... ok
test setup_token_tests::setup_token_command_reads_only_the_expected_socket_response ... ok
test shim_cli::tests::spawned_decode_refuses_changes_to_the_fixed_shape_before_startup ... ok
test shim_cli::tests::spawned_shapes_reuse_full_shim_options_and_defaults ... ok
test ssh_internal::tests::connect_requires_exactly_a_host_and_numeric_port ... ok
test ssh_internal::tests::connector_is_available_only_on_the_initiating_build ... ok
test ssh_internal::tests::session_accepts_only_the_two_spawned_shapes ... ok
test startup_tests::process_dumpability_is_disabled_before_dispatch ... ok
test startup_tests::shared_reactor_preserves_borrows_errors_and_panic_cleanup ... ok
test restart_image::tests::probe_never_inherits_the_control_descriptor ... ok
test restart::tests::cold_exec_with_closed_stdin_keeps_the_image_pinned_and_maps_null ... ok
test restart::tests::restart_request_logs_kernel_peer_target_and_cold_outcome ... ok
test restart::tests::default_restart_opens_the_receiver_target_exactly_once ... ok
test restart::tests::restart_requests_use_the_servers_binary_and_reject_untrusted_paths ... ok
test restart::tests::closed_reply_and_missing_reload_target_do_not_end_restart_control ... ok
test restart::tests::runtime_shutdown_never_waits_forever_on_a_blocking_waiter ... ok
test restart::tests::deleted_path_review::relative_recovery_after_atomic_install_keeps_live_install_path ... ok
test restart_binary::audit_tests::admitted_inode_cannot_change_in_place_before_execution ... ok
test restart_binary::audit_tests::pathname_replacement_keeps_the_admitted_inode ... ok
test restart::recovery_tests::verified_exec_and_late_refusal_preserve_listener_and_ca ... ok
test result: ok. 99 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 10.71s
running 1 test
test real_binary_preserves_input_and_output_across_24_abrupt_stops ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 32.96s
running 1 test
test saturated_terminal_queues_preserve_every_byte_and_daemon_liveness ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 35.03s
running 8 tests
test reaped_shim_exit_survives_credit_after_starvation_deadline ... ok
test stalled_terminal_never_delays_control_or_sibling_dispatch ... ok
test last_typist_selects_its_own_real_pty_dimensions ... ok
test initial_attach_requires_explicit_credit_before_replay ... ok
test retained_unwritten_input_survives_interleaved_ack_restart ... ok
test two_writers_keep_independent_ack_and_exact_input_after_restart ... ok
test local_session_counts_and_memory_refusals_follow_real_lifecycle ... ok
test repeated_tiny_credit_pauses_preserve_shell_progress ... ok
test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 14.91s
running 3 tests
test detached_shim_is_discovered_and_replays_from_the_last_observed_offset ... ok
test latency_fixture_accepts_the_unsolicited_startup_inventory ... ok
test restart_discovery_keeps_a_live_shim_and_drops_clean_exit_and_sigkill ... ok
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.53s
running 8 tests
test status_exits_0_on_a_machine_with_nothing_installed ... ok
test an_unknown_command_is_a_usage_envelope_that_does_not_echo_odd_input ... ok
test a_missing_server_is_not_found_exit_4 ... ok
test component_commands_fail_in_the_envelope_when_the_agent_is_not_there ... ok
test bare_infraternal_is_the_overview_and_points_to_help ... ok
test status_exits_5_when_something_that_should_run_is_down ... ok
test read_only_commands_answer_in_the_envelope ... ok
test every_command_reports_a_usage_error_in_the_envelope_naming_the_argument ... ok
test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
running 16 tests
test a_missing_runtime_directory_is_not_called_a_bad_reply ... ok
test a_malformed_host_id_is_a_usage_error_exit_2 ... ok
test a_failing_command_in_json_mode_prints_exactly_one_envelope ... ok
test a_group_with_one_command_says_so_in_the_singular ... ok
test no_compiled_python_is_tracked ... ok
test a_dry_run_plan_keeps_its_line_breaks ... ok
test root_help_fits_80_columns ... ok
test status_is_not_down_when_the_service_manager_cannot_be_asked ... ok
test user_facing_text_never_says_agent_alone ... ok
test a_subcommand_does_not_advertise_options_it_ignores ... ok
test an_unknown_skill_is_not_found_exit_4 ... ok
test a_usage_error_in_text_mode_does_not_echo_the_odd_input ... ok
test a_dumb_terminal_gets_neither_colour_nor_marks ... ok
test json_help_and_version_are_envelopes_too ... ok
test an_empty_no_color_is_ignored ... ok
test ctrl_c_in_json_mode_ends_with_an_interrupted_envelope_and_exit_130 ... ok
test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.83s
running 11 tests
test a_failed_later_page_emits_only_the_failure_envelope ... ok
test status_text_does_not_call_an_unanswered_unit_not_running ... ok
test three_pages_preserve_order_and_only_the_final_cursor ... ok
test an_unknown_skill_does_not_echo_what_was_typed ... ok
test a_paged_listing_is_still_one_envelope ... ok
test a_mistyped_word_that_looks_like_a_token_is_not_echoed ... ok
test usage_errors_under_json_are_one_envelope_and_exit_2 ... ok
test help_and_version_under_json_are_one_envelope_and_exit_0 ... ok
test a_later_runtime_handler_is_not_bypassed_by_the_interrupt_handler ... ok
test ctrl_c_in_a_script_loop_stops_the_loop ... ok
test ctrl_c_while_the_result_is_being_written_never_leaves_a_broken_line ... ok
test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.01s
running 4 tests
test signal_fixture ... ok
test a_pending_interrupt_during_final_output_preserves_result_and_sigint_status ... ok
test a_pending_blocked_interrupt_emits_notice_and_terminates_by_sigint ... ok
test inherited_ignored_sigint_stays_ignored_during_cli_output ... ok
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
running 1 test
test inherited_fd_is_rejected_instead_of_ignored_by_remote_commands ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
running 1 test
test one_hertz_wakeup_is_detected_past_the_legacy_half_second_window ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.10s
running 1 test
test diagnostic_requires_locked_pages_and_supports_json_without_public_help ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
running 1 test
test remote_refusal_matches_its_declared_cli_output ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
running 1 test
test attached_window_recovers_final_output_and_exit_after_shim_link_detaches ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.93s
running 1 test
test idle_daemon_discovers_unattached_and_adopted_shim_exit_without_requests ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.73s
running 1 test
test bounded_owned_exit_reconnects_as_ended_with_status ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.58s
running 1 test
test setup_output_keeps_legacy_and_versioned_readers ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
running 24 tests
test malformed_shared_successor_does_not_evict_the_live_shared_peer ... ok
test detached_shell_exit_reaps_shim_within_one_second ... ok
test detached_shell_exit_reaps_even_with_a_live_background_descendant ... ok
test double_fork_survives_parent_death ... ok
test disallowed_signal_only_disconnects_peer ... ok
test replacement_connection_and_malformed_limit ... ok
test parked_shared_writer_does_not_stop_detached_pty_progress ... ok
test shared_writer_coexists_and_replayed_input_is_written_once ... ok
test shared_writer_refusals_and_full_peer_limit_preserve_the_live_writer ... ok
test shared_writer_restores_durable_geometry_after_another_writer_types ... ok
test unowned_normal_exit_retires_promptly_and_records_status ... ok
test real_shell_reconnect_resize_and_delivered_exit ... ok
test attached_backpressure_and_detached_progress ... ok
test writer_replacement_is_per_mode_and_fresh_ordinary_writers_stay_optional ... ok
test dropped_deferred_peers_release_slots_before_the_pty_drains ... ok
test independent_shared_writers_wait_for_the_same_global_queue ... ok
active
test delivered_exit_cannot_release_another_owning_window ... ok
test user_scope_survives_parent_unit_stop ... ok
test fresh_shared_peer_negotiates_while_another_shared_input_is_deferred ... ok
test shared_input_waits_for_global_queue_space_without_losing_the_suffix ... ok
test owned_exit_releases_promptly_on_window_close ... ok
test owned_exit_maximum_retires_with_status_even_with_an_unread_data_peer ... ok
test legacy_output_subscription_unblocks_deferred_shared_input ... ok
test ring_wrap_snapshot_repaints_real_vim ... ok
test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.22s
running 3 tests
test encrypted_key_without_passphrase_never_prompts_on_a_controlling_terminal ... ignored, run under the disposable controlling-terminal harness
test real_cli_askpass_refuses_unregistered_parent_and_cleans_helper ... ok
test real_cli_unlocks_an_encrypted_synthetic_key_on_private_pipes ... ok
test result: ok. 2 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 2.09s
running 1 test
test connector_preserves_configured_bind_address_refusal ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.01s
running 1 test
test unaffordable_repaints_park_until_sufficient_credit ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 19.94s
running 1 test
test snapshot_limits_never_close_live_reconnect ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 15.68s
running 164 tests
test daemon::gone_tests::scale_review::two_hundred_vanished_sessions_preserve_the_same_channel ... ignored, scale measurement; run alone under CPUWeight=10000
test daemon::authenticated_tests::authenticated_uid_refusal_precedes_state_and_io ... ok
test daemon::readiness_tests::a_shut_down_peer_refuses_the_write_while_a_forked_copy_holds_it ... ok
test daemon::readiness_tests::a_saturated_census_queue_cannot_establish_the_open_fence ... ok
test daemon::readiness_tests::replay_complete_preserves_the_full_output_cursor_as_decimal ... ok
test daemon::readiness_tests::replay_prefix_stops_at_the_shim_hello_head ... ok
test daemon::readiness_tests::reply_lane_memory_at_1000_channels ... ignored, queue-only scale diagnostic; run alone without build/browser overlap, not whole-daemon memory
test cli::tests::agent_actions_are_complete_and_unavailable_until_lifecycle_exists ... ok
test daemon::readiness_tests::census_and_open_result_share_fifo_order ... ok
test daemon::readiness_tests::control_precedes_bulk_without_reordering_snapshot_notice ... ok
test daemon::liveness_tests::input_state_probe_preserves_written_ack_after_input ... ok
test daemon::readiness_tests::uninstall_handoff_runs_only_after_a_successful_real_socket_write ... ok
test daemon::liveness_tests::input_state_probe_preserves_written_ack_before_input ... ok
test daemon::liveness_tests::terminal_probe_waits_for_the_shim_fence_and_keeps_stream_identity ... ok
test daemon::liveness_tests::detached_ping_preserves_written_ack_without_output_credit ... ok
test daemon::gone_tests::a_vanished_session_gets_a_final_close_and_the_channel_stays_up ... ok
test daemon::census_retry_tests::full_control_lane_retries_retirement_census_on_capacity_without_requests ... ok
test daemon::session_commands::measurements::command_coordination_cost_against_existing_fifo ... ignored, release command coordination diagnostic, not end-to-end throughput; run without own build overlap
test daemon::session_commands::tests::credit_above_one_wire_word_is_exact_and_idle_after_drain ... ok
test daemon::remote_tests::wrong_enrolled_uid_is_refused_before_state_creation ... ok
test daemon::session_commands::tests::credit_allowance_does_not_cross_ordered_command_barriers ... ok
test daemon::session_commands::tests::input_and_resize_keep_their_shared_fifo_order_around_credit ... ok
test daemon::session_commands::tests::probe_at_full_command_capacity_preserves_accepted_input ... ok
test daemon::remote_tests::wrong_open_uid_is_rejected_while_control_remains_usable ... ok
test daemon::stream_memory_tests::terminal_stream_memory_at_200 ... ignored, weighted release measurement of 200 idle relay tasks
test daemon::terminal_events::tests::census_uses_uuid_strings_and_replay_keeps_all_cursor_bits ... ok
test daemon::terminal_events::tests::ordinary_exit_omits_retired_and_snapshot_sequences_stay_numeric ... ok
test lifecycle::tests::directory_inode_changes_do_not_retire_the_same_process ... ok
test daemon::session_commands::tests::credit_bursts_do_not_consume_ordered_input_capacity ... ok
test lifecycle::tests::process_birth_parser_handles_command_bytes_and_numeric_bounds ... ok
test lifecycle::tests::window_ownership_and_process_identity_bound_live_counts ... ok
test daemon::remote_tests::cancelling_remote_dispatch_retires_the_borrowed_authenticated_channel ... ok
test plugin_control::tests::admission_observes_the_same_plugin_settings_as_actions ... ok
test plugin_control::tests::dropping_a_listener_does_not_unlink_a_replacement_file ... ok
test plugin_control::tests::empty_catalog_preserves_control_contract_without_an_os_worker ... ok
test daemon::readiness_exit_tests::ownership_eof_does_not_discard_private_terminal_output ... ok
test plugin_control::tests::local_public_actions_refuse_controls_and_active_socket_replacement ... ok
test plugin_control::tests::retained_path_and_observed_transport_cross_the_lazy_worker ... ok
test lifecycle::tests::nondumpable_process_keeps_its_authenticated_lifetime ... ok
test plugin_control::tests::retained_runtime_registry_keeps_lifetime_ownership_after_listener_abort ... ok
test plugin_control::tests::worker_preserves_trusted_context_and_writer_owned_effect ... ok
test process_exits::platform::tests::resource_failures_do_not_silently_disable_exit_tracking ... ok
test daemon::remote_tests::reattach_dispatch_serves_while_another_runtime_holds_the_lifetime_lock ... ok
test daemon::session_commands::tests::zero_credit_is_idle_and_overflow_refuses_without_mutating_accounting ... ok
test process_exits_tests::process_descriptor_is_cloexec_and_rejects_invalid_pid ... ok
test process_exits_tests::shared_exit_queue_at_200_processes ... ignored, 200 live process lifetimes; run in a weighted benchmark scope
test plugin_control::tests::local_frame_reader_retains_fragmentation_and_refuses_trailing_frames ... ok
test process_exits_tests::exited_before_registration_is_not_a_live_registration ... ok
test relay::tests::attachment_has_no_implicit_output_or_snapshot_credit ... ok
test relay::tests::expired_credit_resumes_retained_bytes_at_the_same_cursor ... ok
test relay::tests::input_overlap_gap_and_restart_from_confirmed_offset ... ok
test relay::tests::output_payload_move_measurement ... ignored, release ownership versus payload-copy measurement
test relay::tests::output_partial_credit_and_dedup ... ok
test relay::tests::positive_insufficient_credit_arms_a_one_shot_deadline ... ok
test relay::tests::returned_credit_cancels_starvation_and_state_has_no_payload_buffer ... ok
test relay::tests::starvation_is_one_shot_and_snapshot_length_does_not_advance_sequence ... ok
test remote_client::dial_runtime::tests::owned_driver_clock_advances_with_its_timer_runtime ... ok
test relay::tests::overflowing_ranges_never_mutate_cursors ... ok
test remote_client::server_path::tests::a_latched_mesh_reply_wakes_retry_without_selecting_the_path ... ok
test plugin_control::tests::synchronous_plugin_work_does_not_park_the_current_thread_reactor ... ok
test remote_client::server_path::tests::a_future_mesh_lease_and_silent_cut_keep_their_port_reserved ... ok
test process_exits::platform::tests::unavailable_kernel_has_no_timer_or_descriptor ... ok
test remote_client::server_path::tests::backed_discovery_ends_with_its_owned_session ... ok
test daemon::readiness_tests::saturated_ping_replies_preserve_connection ... ok
test daemon::readiness_tests::saturated_action_replies_preserve_connection ... ok
test daemon::readiness_tests::fixture_fence_processes_messages_before_the_control_pong ... ok
test remote_client::server_path::tests::backed_candidate_refusal_keeps_new_datagrams_on_mesh_discovery ... ok
test remote_client::server_path::tests::backup_published_during_candidate_proof_keeps_enrolled_control_live ... ok
test process_exits_tests::shared_queue_detects_exit_and_does_not_repeat_or_retain_descriptors ... ok
test remote_client::server_path::tests::failed_control_worker_returns_to_retry_owner ... ok
test remote_client::server_path::tests::healthy_mesh_path_is_never_declared_interrupted ... ignored, Timing assertion: run on the perf VM under the shared benchmark lock.
test remote_client::server_path::tests::component_down_activates_the_warm_fallback_without_a_new_connection ... ok
test remote_client::server_path::tests::component_down_keeps_its_reason_when_the_mesh_also_stops_answering ... ok
test remote_client::server_path::tests::component_down_returns_the_live_connection_to_the_enrolled_address ... ok
test daemon::remote_tests::control_greeting_precedes_actions_and_odd_writers_are_refused ... ok
test remote_client::server_path::tests::invalid_mesh_hint_cannot_complete_fresh_path_proof ... ok
test remote_client::server_path::tests::pending_enrolled_proof_does_not_hide_a_latched_mesh_hint ... ok
test remote_client::server_path::tests::pending_enrolled_proof_does_not_hide_the_mesh_discovery_clock ... ok
test remote_client::server_path::tests::backed_discovery_keeps_control_cancellation_and_udp_recovery_bounded ... ok
test remote_client::server_path::tests::review_silent_mesh_interruption_returns_to_fallback_within_local_reconnect_budget ... ignored, Run alone on the perf VM under the shared benchmark lock.
test remote_client::server_path::tests::retained_mesh_proposal_connects_when_the_fallback_port_is_unavailable ... ok
test remote_client::server_path::tests::silent_mesh_handshake_keeps_the_shared_timeout_classification ... ok
test remote_client::server_path::tests::returning_publishes_the_selected_path_before_its_proof_finishes ... ok
test remote_client::server_path::tests::healthy_mesh_preserves_every_control_reply_on_the_admitted_connection ... ok
test remote_client::server_path::tests::unadvertised_path_proof_keeps_the_existing_enrolled_connection ... ok
test remote_client::server_path::tests::unnegotiated_backup_preserves_the_enrolled_retry_cooling ... ok
test remote_client::server_path::tests::candidate_proof_keeps_probing_after_its_first_packet_is_lost ... ok
test remote_client::supervisor::review_tests::six_hour_server_outage_keeps_one_retry_owner_with_bounded_attempts ... ok
test remote_client::server_path::tests::interrupted_mesh_is_retried_on_the_same_connection ... ok
test remote_client::server_path::tests::proposed_mesh_moves_the_live_connection_and_a_silent_cut_returns_it ... ok
test remote_client::supervisor::tests::a_burst_then_a_stable_link_is_summarised_by_the_timer ... ok
test remote_client::supervisor::tests::every_error_kind_and_successful_return_retries ... ok
test remote_client::supervisor::tests::failed_attempt_cost_does_not_extend_the_retry_period ... ok
test remote_client::supervisor::tests::healthy_link_has_no_watchdog_deadline ... ok
test remote_client::supervisor::tests::link_close_notes_print_once_per_window_and_summarise_repeats ... ok
test remote_client::supervisor::tests::watchdog_restarts_a_stalled_offline_attempt ... ok
test remote_client::tests::capability_fixture_retries_a_port_held_by_the_other_transport ... ok
test remote_client::server_path::tests::unanswered_mesh_address_keeps_the_live_connection ... ok
test remote_client::tests::idle_timers::copy_cost::fresh_admission_accepts_dormant_replies_but_refuses_pending_recovery ... ok
test remote_client::tests::idle_timers::copy_cost::fresh_copy_from_admission_at_one_thousand_transports ... ignored, Separate fresh-copy cohort on the perf VM under its shared benchmark lock.
test remote_client::tests::idle_timers::copy_cost::mesh_probe_and_copy_cost_at_one_thousand_transports ... ignored, Optimized transport-only measurement on the perf VM under its shared benchmark lock.
test remote_client::tests::idle_timers::copy_cost::physical_counters_include_both_source_paths ... ok
test remote_client::tests::idle_timers::copy_cost::receive_diagnostic::monotonic_origin_bounds_fail_closed_without_losing_receive_receipts ... ok
test remote_client::tests::idle_timers::copy_cost::receive_diagnostic::receive_diagnostic_counts_gro_and_only_fixed_sampled_ports ... ok
test remote_client::tests::idle_timers::copy_cost::receive_diagnostic::receive_diagnostic_gap_bins_have_explicit_bounds ... ok
test remote_client::tests::idle_timers::copy_cost::runtime_configuration_trial_at_one_thousand_transports ... ignored, Explicit runtime scheduling control on the perf VM; ordinary runtime and guards unchanged.
test remote_client::tests::idle_timers::copy_cost::socket_configuration_trial_at_one_thousand_transports ... ignored, Explicit socket-configuration diagnostic on the perf VM; ordinary scale gates stay unchanged.
test remote_client::tests::idle_timers::copy_cost::udp_drop_receipt_counts_only_owned_live_sockets ... ok
test remote_client::tests::idle_timers::mesh_idle_timer_cost_at_one_thousand_connections ... ignored, Release-only perf VM measurement under the shared benchmark lock.
test remote_client::server_path::tests::unavailable_credentials_do_not_end_server_link ... ok
test remote_client::tests::prefixed_control_keeps_coalesced_suffix_and_suppresses_only_its_greeting ... ok
test remote_client::tests::rootless_uid_mismatch_is_refused_before_dial ... ok
test remote_client::server_path::tests::untrusted_server_on_the_mesh_address_never_takes_the_connection ... ok
test remote_client::tests::supervisor_300ms_quic_and_blocked_udp_fallback ... ignored, supervisor establishment diagnostic; run alone without builds or browsers
test remote_client::tests::raw_tcp_control_preserves_mux_envelopes_and_buffered_suffix ... ok
test remote_client::tests::tcp_proxy_preserves_spacing_between_packets_already_in_flight ... ok
test remote_client::tests::tcp_winner_cancels_silent_udp_drivers_without_waiting_for_drain ... ok
test remote_client::server_path::tests::dropped_return_replies_keep_the_admitted_connection ... ok
test remote_client::supervisor::review_tests::terminated_factory_is_replaced_without_overlapping_live_workers ... ok
test remote_client::tests::unavailable_udp_does_not_add_seconds_before_tcp_admission ... ok
test remote_client::tests::server_path_capability_is_advertised_on_native_and_fallback_transports ... ok
test remote_cursor::tests::exact_unsigned_cursor_and_whole_object_are_required ... ok
test remote_native_tests::control_must_be_host_initiated_stream_zero_and_terminal_halves_cannot_impersonate_it ... ok
test remote_native_tests::bound_writer_uses_raw_frames_and_rejects_cross_writer_transmit ... ok
test remote_native_tests::primed::negotiated_connection_keeps_unmarked_new_writers_ordinary ... ok
test remote_native_tests::primed::ordinary_native_writer_refuses_the_additive_cursor_request ... ok
test remote_client::tests::unavailable_local_credentials_retry_without_creating_state ... ok
test remote_client::tests::delayed_proxy_keeps_replies_bound_to_the_original_udp_client ... ok
test remote_native_tests::primed::prime_marker_is_canonical_and_requires_negotiated_permission ... ok
test remote_native_tests::primed::primed_writer_acknowledges_before_reading_credit_funded_cursor ... ok
test daemon::readiness_tests::the_unhealthy_handoff_case_survives_concurrent_spawns ... ok
test remote_native_tests::terminal::gone_review::retired_native_session_delivers_saved_status_then_final_close_before_retirement ... ok
test remote_native_tests::partial_native_write_cancellation_retires_both_directions ... ok
test remote_native_tests::terminal::gone_review::vanished_native_session_delivers_final_close_before_stream_retirement ... ok
test remote_native_tests::terminal::real_pty_resumes_native_writer_after_25_connection_replacements ... ignored, real CLI/shim oracle; set INFRATERNAL_TEST_BINARY and run alone under CPUWeight10000
test sessions::tests::borrowed_reader_payload_uses_reusable_cancel_safe_storage ... ok
test remote_native_tests::terminal::credits::private_credit_burst_waits_for_its_shim_without_retiring_native_stream ... ok
test remote_native_tests::terminal::gone_review::retiring_native_handshake_preserves_final_answer_with_inflight_commands ... ok
test sessions::tests::ordinary_native_writer_negotiates_queue_backpressure_without_shared_selection ... ok
test sessions::tests::cancelled_fragmented_shim_read_retains_header_and_body_progress ... ok
test sessions::tests::reader_borrow_measurement ... ignored, release borrowed versus owned asynchronous receive measurement
test sessions::tests::refused_socket_is_removed_but_insecure_directory_is_rejected ... ok
test sessions::tests::bounds::discovery_recovers_more_than_128_authenticated_sockets ... ok
test sessions::tests::sequenced_attach_intersects_caps_and_legacy_attach_stays_zero ... ok
test sessions::tests::symlink_state_cannot_redirect_private_runtime_storage ... ok
test sessions::tests::shared_writer_helper_negotiates_before_sending_its_selector ... ok
test transport::remote_deadline_tests::queued_suffix_cannot_complete_an_expired_cancelled_frame ... ok
test sessions::tests::post_listen_chmod_wakes_a_connection_refused_at_bind ... ok
test transport::remote_deadline_tests::remote_partial_frame_deadline_survives_receive_cancellation ... ok
test transport_diagnostics::quic_300ms_and_1000_connection_pairs ... ignored, diagnostic only; run alone without build or browser overlap
test transport_diagnostics::quic_bulk_50m_exact_bytes ... ignored, size investigation diagnostic; run alone without build or browser overlap
test transport_diagnostics::quic_bulk_50m_kernel_latency ... ignored, Exact 50MiB kernel-latency control on the perf VM in an owned network namespace.
test transport_diagnostics::tcp_300ms_and_1000_connection_pairs ... ignored, diagnostic only; run alone without build or browser overlap
test transport::remote_deadline_tests::coalesced_partial_suffix_keeps_its_arrival_deadline ... ok
test transport::remote_deadline_tests::wholly_idle_remote_channel_has_no_frame_expiry ... ok
test remote_client::tests::winning_quic_drops_the_unfinished_tls_dial_before_control_dispatch ... ok
test remote_client::tests::tcp_proxy_flushes_bounded_flood_before_half_close ... ok
test remote_client::server_path::tests::component_down_proves_tcp_fallback_when_enrolled_udp_is_unavailable ... ok
test remote_native_tests::terminal::gone_review::retired_native_status_bounds_final_reply_drain_for_a_stuck_peer ... ok
test remote_native_tests::terminal::gone_review::vanished_native_session_bounds_final_reply_drain_for_a_stuck_peer ... ok
test remote_client::supervisor::review_tests::durable_state::acknowledged_network_access_survives_superseded_worker_completion ... ok
test remote_client::supervisor::review_tests::watchdog_bounds_workers_when_local_path_discovery_stalls ... ok
test daemon::remote_tests::silent_authenticated_peer_has_a_greeting_deadline ... ok
test plugin_control::tests::accepted_public_transaction_outlives_the_framing_deadline ... ok
test result: ok. 144 passed; 0 failed; 20 ignored; 0 measured; 0 filtered out; finished in 11.08s
running 2 tests
test oversized_header_and_truncated_frame_are_rejected ... ok
test fragmented_headers_coalesced_frames_and_reusable_transmit ... ok
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
running 1 test
test cli::tests::mesh_actions_are_complete_with_optional_ssh_connectivity ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 1 test
test omitted_arrow_ports_default_to_all_services ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 14 tests
test overlaps_are_reported_without_silent_range_changes ... ok
test join_to_same_tag_grants_both_initiation_directions ... ok
test server_rotation_has_continuous_keys_for_every_node_during_delivery ... ok
test names_versions_and_backend_status ... ok
test private_material_never_enters_debug_or_coordination_serialization ... ok
test checkpoint_after_suffix_change_restores_without_reallocating_addresses ... ok
test arrow_replacement_is_atomic_and_unrelated_nodes_keep_their_versions ... ok
test rotation_waits_for_overlap_and_delivery_and_removal_drops_every_key ... ok
test directional_grants_union_and_minimal_updates ... ok
test exhausted_versions_reject_mutations_without_changing_state ... ok
test public_checkpoint_preserves_addresses_rules_versions_and_overlap ... ok
test protocol_port_unions_never_grant_an_unlisted_service ... ok
test addresses_are_unique_stable_and_not_recycled ... ok
test seeded_random_sequences_equal_full_compile_and_deny_without_grants ... ok
test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.14s
running 1 test
test unrepresentable_rotation_overlap_rejects_before_mutation ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
running 29 tests
test component_tests::destructive_actions_require_a_dry_run_and_every_action_has_instructions ... ok
test component_tests::component_declarations_cannot_create_servers ... ok
test present::tests::sizes_and_ages_use_units_a_person_would_say ... ok
test admission::tests::memory_refusal_round_trips_without_losing_legacy_error ... ok
test action::tests::command_result_schema_keeps_action_data_typed_inside_stable_envelope ... ok
test action::tests::only_hidden_internal_routes_may_use_the_reserved_prefix ... ok
test present::tests::pairs_align_values_and_wrap_under_them ... ok
test present::tests::wide_leading_columns_are_cut_with_an_ellipsis ... ok
test present::tests::a_table_fits_its_width_by_wrapping_only_the_last_column ... ok
test present::tests::a_table_has_a_header_only_from_two_rows ... ok
test action::tests::registry_rejects_inconsistent_json_schemas ... ok
test action::tests::registry_rejects_missing_action_guidance_and_command_collisions ... ok
test action::tests::any_of_permissions_are_machine_readable_and_empty_authority_is_rejected ... ok
test routing::tests::topic_is_borrowed_and_other_filter_fields_are_left_to_the_plugin ... ok
test present::tests::tint_wraps_text_after_padding_is_measured ... ok
test routing::tests::invalid_or_oversized_topics_are_refused ... ok
test storage::tests::writer_begin_at_1000_nodes ... ignored, Measure only on the perf VM under its benchmark lock, 31 batches of 1000 writes.
test action::tests::registry_keeps_plugin_ownership_and_exact_command_paths ... ok
test tests::machine_actions_are_declared_without_entering_human_discovery ... ok
test release_version::tests::accepts_only_worker_version_forms ... ok
test action::tests::command_result_schema_has_required_stable_fields_and_optional_next_step ... ok
test server_path::tests::legacy_link_omits_the_optional_source_port ... ok
test tests::deferred_plugin_effect_waits_for_successful_reply_and_drops_on_cancellation ... ok
test tests::public_dispatch_cannot_call_a_machine_control_action ... ok
test tests::operator_presentation_cannot_follow_a_private_control_action ... ok
test tests::notifications_are_declared_json_bounded_and_drained_once ... ok
test tests::registry_routes_only_declared_actions ... ok
test tests::registry_rejects_oversized_json_before_plugin_dispatch ... ok
test storage::tests::cancelled_begin_never_leaves_an_open_writer_transaction ... ok
test result: ok. 28 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.08s
running 2 tests
test review_topic_borrows_plain_and_owns_escaped ... ok
test review_topic_refuses_oversize_duplicate_and_deep_input ... ok
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
running 1 test
test cli::tests::backup_actions_are_complete_and_unavailable_until_runtime_exists ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 14 tests
test memory::tests::default_floor_refuses_only_below_headroom_even_above_128_sessions ... ok
test tests::linux_load_average_text_ignores_proc_metadata_and_rejects_invalid_values ... ok
test tests::descriptor_declares_default_settings_actions_and_no_hidden_role_dependency ... ok
test memory::tests::custom_policy_rounds_up_and_validates_all_settings_before_use ... ok
test tests::os_release_parser_rejects_unbounded_input_and_ignores_untrusted_lines ... ok
test tests::action_decoders_reject_unknown_and_oversized_fields ... ok
test tests::os_release_uses_distribution_name_and_version_without_shell_evaluation ... ok
test tests::macos_load_average_decodes_the_bounded_64_bit_sysctl_shape ... ok
test tests::configured_memory_floor_refuses_with_current_host_counters ... ok
test tests::compatibility_fields_are_kept_in_the_rust_shape_and_architecture_on_wire ... ok
test session_counts_tests::host_owned_session_counts_are_additive_and_refresh_on_request ... ok
test tests::static_facts_report_the_machines_hostname ... ok
test tests::static_facts_are_cached_and_live_counters_are_collected_only_when_requested ... ok
test tests::runtime_disable_drops_cached_facts_and_reenable_collects_them_again ... ok
test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 74 tests
test firewall::tests::already_removed_owned_table_does_not_block_component_cleanup ... ignored, Run inside a dedicated network namespace with CAP_NET_ADMIN.
test firewall::tests::initial_apply_without_adoption_refuses_a_foreign_table ... ignored, Run inside a dedicated network namespace with CAP_NET_ADMIN.
test firewall::tests::real_nft_ownership_atomicity_and_scaled_apply ... ignored, Run inside a dedicated network namespace with CAP_NET_ADMIN.
test iptables::tests::real_nf_tables_ownership_partial_family_and_scaled_apply ... ignored, Run inside a dedicated network namespace with CAP_NET_ADMIN.
test iptables::tests::initiating_prefixes_cover_only_owned_intervals_even_at_family_boundaries ... ok
test netlink::tests::connection_tuple_uses_initiating_service_and_refuses_ambiguous_selectors ... ok
test netlink::tests::host_prefix_decoder_refuses_ambiguous_or_malformed_ownership ... ok
test netlink::tests::malformed_lengths_and_padding_are_rejected ... ok
test netlink::tests::nested_attributes_roundtrip_without_copying_payloads ... ok
test node::rotation_tests::nf_tables_restart_fences_retained_replacement_address ... ignored, Run in a disposable user/network namespace, #173.
test node::rotation_tests::nft_restart_fences_retained_replacement_address ... ignored, Run in a disposable user/network namespace, #173.
test node::tests::chunked_snapshot_is_atomic_and_applies_1000_kernel_peers ... ignored, Run inside a dedicated network namespace with CAP_NET_ADMIN; use release for timing.
test node::tests::explicit_up_recovers_disabled_intent_before_reusing_identity ... ignored, Run inside a dedicated network namespace with CAP_NET_ADMIN.
test node::tests::externally_removed_interface_does_not_block_down ... ignored, Run inside a dedicated network namespace with CAP_NET_ADMIN.
test netlink::tests::public_host_prefixes_decode_both_families_without_claiming_subnets ... ok
test node::tests::server_identity_cannot_change_inside_a_staged_snapshot ... ok
test iptables::tests::replacement_retains_established_rules_and_does_not_duplicate_hooks ... ok
test node_actions::identity_upgrade_tests::ordinary_identity_reply_retains_the_legacy_shape ... ok
test node_actions::peer_page_tests::poll_cost ... ignored, measurement
test connection_state::tests::narrowing_depends_on_services_and_direction_not_the_fallback_label ... ok
test node_actions::tests::applied_server_route_and_observed_link_survive_only_explicit_component_up ... ignored, Run inside a dedicated kernel namespace with CAP_NET_ADMIN.
test node_actions::tests::failed_cleanup_reports_stopping_and_reconnect_keeps_explicit_off ... ignored, Run inside a dedicated network namespace with CAP_NET_ADMIN.
test access_updates::tests::compact_rules_reconstruct_the_exact_config_and_preserve_server_access ... ok
test access_updates::tests::grouping_never_crosses_an_unchanged_protected_peer ... ok
test access_updates::tests::malformed_ranges_refuse_before_any_rule_changes ... ok
test node_actions::tests::node_actions_refuse_alternate_forms_duplicates_and_unbounded_input ... ok
test node_actions::tests::node_actions_register_without_kernel_work_and_hide_machine_calls ... ok
test access_updates::tests::identity_changes_and_snapshots_keep_the_original_encoding ... ok
test node_coordination::tests::refused_listener_replacement_preserves_the_current_lease ... ok
test firewall::tests::removal_plan_cannot_add_permissions_or_change_identity ... ok
test iptables::tests::contiguous_open_members_use_ranges_without_opening_gaps ... ok
test node_presentation::tests::a_wide_table_stays_within_the_width ... ok
test node_presentation::tests::an_unproven_peer_gets_a_hint_that_names_it ... ok
test node_presentation::tests::legacy_status_remains_readable_and_invalid_link_is_refused ... ok
test node_presentation::tests::peers_show_units_ages_and_no_hint_when_every_path_is_direct ... ok
test node_state::order_tests::accepted_snapshot_persistence_at_1000_peers ... ignored, Run release on the locked performance VM; public-state persistence at 1000 peers.
test node_presentation::tests::status_explains_the_observed_server_transport ... ok
test node_state::order_tests::exact_legacy_binding_upgrade_preserves_the_revision_fence ... ok
test node_state::order_tests::explicit_off_can_replace_a_corrupt_public_snapshot ... ok
test node_state::order_tests::stale_and_conflicting_snapshots_cannot_replace_acknowledged_intent ... ok
test node_state::order_tests::concurrent_workers_serialize_revision_check_and_publication ... ok
test firewall::tests::rule_count_is_independent_of_membership_and_policy_data_is_in_sets ... ok
test node_state::restore_tests::public_state_restore_at_1000_peers ... ignored, Run only on the perf VM under its lock; INFRATERNAL_STATE_RESTORE_MODE=reader|slice, separate processes.
test node_state::restore_tests::restore_rejects_invalid_schema_trailing_data_and_unsafe_descriptors ... ok
test node_state::tests::explicit_off_survives_restart_and_snapshot_contains_only_public_fields ... ok
test node_state::tests::route_recording_preserves_the_legacy_accepted_state_format ... ok
test node_state::tests::unsafe_route_journal_and_existing_temporary_files_are_preserved ... ok
test node_state::tests::unsafe_snapshots_and_preexisting_temporary_files_are_not_followed_or_removed ... ok
test presence::tests::a_mesh_that_is_off_shows_nobody_online ... ok
test presence::tests::a_page_cursor_is_followed ... ok
test presence::tests::a_reading_expires_when_the_node_stops_answering ... ok
test presence::tests::a_recent_handshake_is_online_on_a_direct_path ... ok
test presence::tests::an_unreadable_node_is_no_reading ... ok
test presence::tests::no_handshake_a_stale_one_or_a_future_one_is_offline ... ok
test presence::tests::nodes_go_offline_twenty_seconds_after_the_last_good_reading ... ok
test presence::tests::receiving_a_keepalive_does_not_shorten_the_session_window ... ok
test presence::tests::replace_reports_only_visible_changes ... ok
test presence::tests::the_edge_of_the_session_window_is_still_online ... ok
test presence::tests::the_server_and_a_peer_passing_traffic_are_online ... ok
test presence::tests::traffic_proves_a_session_until_it_ends ... ok
test settings::tests::settings_objects_are_bounded_and_strict_before_storage ... ok
test store::naming_tests::a_numeric_or_invalid_address_gives_no_name ... ok
test store::naming_tests::an_address_or_hostname_gives_the_machines_name ... ok
test node_actions::peer_page_tests::peer_pages_cover_every_peer_once_within_the_frame ... ok
test node_state::order_tests::worker_start_stop_apply_interleavings_never_decrease_acknowledged_revision ... ok
test node_coordination::tests::refused_delta_recovers_immediately_and_closed_channel_retires_worker ... ok
test node_coordination::tests::a_reported_hostname_names_a_host_added_by_address ... ok
test node_coordination::tests::server_listener_belongs_to_applied_enabled_worker ... ok
test node_coordination::tests::peer_route_precedes_configuration_and_retires_with_the_node ... ok
test node_coordination::tests::explicit_off_waits_for_up_and_reconnect_requests_a_snapshot ... ok
test node_coordination::tests::a_name_a_person_chose_is_kept ... ok
test node_coordination::tests::placeholder_names_become_the_machines_names ... ok
test node_coordination::tests::removed_binding_can_attach_only_after_authorized_reenrollment ... ok
test node_state::restore_tests::public_restore_retains_large_intent_and_matches_reader ... ok
test result: ok. 60 passed; 0 failed; 14 ignored; 0 measured; 0 filtered out; finished in 0.32s
running 8 tests
test nf_tables_compact_delta_preserves_identity_and_refuses_invalid_bases ... ignored, Run in an isolated user/network namespace with CAP_NET_ADMIN.
test nft_compact_delta_preserves_identity_and_refuses_invalid_bases ... ignored, Run in an isolated user/network namespace with CAP_NET_ADMIN.
test ordinary_up_and_identity_keep_the_legacy_reply_shape ... ignored, requires an isolated user/network namespace
test compact_identity_support_requires_an_explicit_strict_probe ... ok
test negotiated_access_chunk_is_accepted_by_the_strict_action_parser ... ok
test range_objects_reject_unknown_duplicate_and_positional_fields ... ok
test default_tightening_at_1000_peers_fits_one_round_trip ... ok
test uniform_changes_fit_one_frame_after_churn_with_distinct_kept_services ... ok
test result: ok. 5 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.01s
running 2 tests
test nf_tables_local_binding_and_address_recovery ... ignored, Run in a disposable user/network namespace, #173.
test nft_local_binding_and_address_recovery ... ignored, Run in a disposable user/network namespace, #173.
test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 1 test
test enrollment_requires_canonical_host_uuid_spelling ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
running 5 tests
test edition_default_is_explicit_and_build_selected ... ok
test port_grant_narrows_allow_opens_deny_and_preserves_direction ... ok
test chunks_fit_body_budget_and_one_peer_delta_does_not_repeat_the_snapshot ... ok
test compiled_chunks_identify_the_server_and_old_snapshots_have_no_proposal ... ok
test large_valid_port_policy_is_split_without_a_port_count_cap ... ok
test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s
running 6 tests
test bulk_retirement_preserves_identity_and_routes_at_1000_peers ... ignored, Run inside a dedicated network namespace with CAP_NET_ADMIN.
test created_interface_is_marked_for_restart_adoption ... ignored, Run inside a dedicated network namespace with CAP_NET_ADMIN.
test policy_table_route_conflict_is_refused ... ignored, Run inside a dedicated network namespace with CAP_NET_ADMIN.
test real_kernel_chunked_peers ... ignored, Run inside a dedicated network namespace with CAP_NET_ADMIN.
test real_kernel_ephemeral_identity ... ignored, Run inside a dedicated network namespace with CAP_NET_ADMIN.
test retired_host_routes_can_be_replayed ... ignored, Run inside a dedicated network namespace with CAP_NET_ADMIN.
test result: ok. 0 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 4 tests
test a_viewer_without_host_facts_does_not_see_reported_hostnames ... ok
test a_squatter_yields_to_a_host_added_later_and_the_renames_are_audited ... ok
test a_person_takes_an_automatic_name_and_the_machine_moves_aside ... ok
test the_servers_names_are_kept_for_the_server ... ok
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
running 4 tests
test noncanonical_host_binding_is_refused ... ok
test host_binding_requires_global_authority_and_existing_unrevoked_host ... ok
test explicit_binding_preserves_identity_and_clears_removal_only_on_enrollment ... ok
test refused_enrollment_preserves_removal_and_revision ... ok
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
running 1 test
test unbound_enrollment_public_key_is_not_host_authority ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
running 6 tests
test nf_tables_equal_version_conflicting_snapshot_is_refused ... ignored, Run in a disposable user/network namespace, #173.
test nf_tables_snapshot_cannot_replace_local_node_identity ... ignored, Run in a disposable user/network namespace, #173.
test nf_tables_split_snapshot_replay_requires_complete_identical_contents ... ignored, Run in a disposable user/network namespace, #173.
test nft_equal_version_conflicting_snapshot_is_refused ... ignored, Run in a disposable user/network namespace, #173.
test nft_snapshot_cannot_replace_local_node_identity ... ignored, Run in a disposable user/network namespace, #173.
test nft_split_snapshot_replay_requires_complete_identical_contents ... ignored, Run in a disposable user/network namespace, #173.
test result: ok. 0 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 2 tests
test an_unchanged_reading_is_not_announced_and_a_lost_session_goes_offline ... ok
test nodes_the_server_sees_are_online_with_their_path_and_named_by_machine ... ok
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
running 1 test
test orphan_route_retirement_preserves_foreign_routes ... ignored, Run inside a dedicated user/network namespace with CAP_NET_ADMIN.
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 2 tests
test nf_tables_authorized_reenrollment_reaches_the_live_node ... ignored, Run in a disposable user/network namespace, #173.
test nft_authorized_reenrollment_reaches_the_live_node ... ignored, Run in a disposable user/network namespace, #173.
test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 1 test
test refused_endpoint_persistence_preserves_kernel_endpoint ... ignored, Run inside a dedicated user/network namespace with CAP_NET_ADMIN.
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 2 tests
test nf_tables_marker_substring_is_not_chain_ownership ... ignored, Run in a disposable user/network namespace, #173.
test nft_marker_substring_is_not_table_ownership ... ignored, Run in a disposable user/network namespace, #173.
test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 2 tests
test nf_tables_translated_underlay_ingress_is_refused ... ignored, Run inside a dedicated user/network namespace with CAP_NET_ADMIN.
test nft_translated_underlay_ingress_is_refused ... ignored, Run inside a dedicated user/network namespace with CAP_NET_ADMIN.
test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 2 tests
test nf_tables_node_local_mesh_delivery_remains_available ... ignored, Run inside a dedicated user/network namespace with CAP_NET_ADMIN.
test nft_node_local_mesh_delivery_remains_available ... ignored, Run inside a dedicated user/network namespace with CAP_NET_ADMIN.
test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 3 tests
test a_peer_with_25_second_keepalives_stays_online_when_server_keepalives_suppress_its_sends ... ok
test a_passive_keepalive_does_not_turn_later_silence_into_a_false_offline ... ok
test a_counter_reset_discards_the_previous_peers_keepalive_classification ... ok
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 6 tests
test an_address_that_is_an_ip_never_becomes_a_name ... ok
test a_remote_machine_cannot_take_the_servers_hostname ... ok
test a_host_record_name_beats_another_machines_reported_hostname ... ok
test a_remote_machine_cannot_be_called_server ... ok
test a_hand_set_name_equal_to_the_placeholder_is_kept ... ok
test a_peer_does_not_stay_online_past_its_session_when_the_server_node_stops_answering ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 11.17s
running 9 tests
test the_previous_release_starts_on_a_database_this_release_migrated ... ignored, deploy gate, not code: production rollback restores the database copy (#236)
test a_hex_ipv4_spelling_never_becomes_a_name ... ok
test evidence_a_silent_peer_expires_with_its_session_without_flapping ... ok
test an_idle_healthy_peer_without_its_own_keepalive_stays_online ... ok
test a_person_can_take_a_name_a_machine_reported ... ok
test a_viewer_without_host_facts_still_sees_distinct_names ... ok
test no_viewer_sees_a_remote_machine_called_server ... ok
test a_node_moved_aside_keeps_its_name_on_its_next_attach ... ok
test evidence_migration_0026_upgrades_a_realistic_database_without_churn ... ok
test result: ok. 8 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.18s
running 5 tests
test an_idle_peer_that_started_its_session_stays_online_until_it_rekeys ... ok
test a_dead_peer_expires_at_session_end_without_inferring_a_sending_promise ... ok
test a_node_moved_aside_by_a_person_is_audited_under_that_person ... ok
test a_non_owner_cannot_confirm_the_servers_hidden_hostname ... ok
test a_scoped_manager_cannot_rename_a_node_outside_their_scope_by_taking_its_name ... ok
test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
running 7 tests
test a_name_chosen_while_rewound_survives_rolling_forward_and_reattaching ... ok
test rewind_reconciles_same_spelling_choices_without_freezing_untouched_names ... ok
test evidence_a_refused_move_rolls_back_inventory_audit_and_revision ... ok
test a_scoped_manager_cannot_confirm_a_hidden_reported_hostname ... ok
test evidence_server_hostname_moves_only_with_server_rename_authority ... ok
test a_global_manager_cannot_probe_a_hidden_name_by_exhausting_move_aside_names ... ok
test hidden_names_are_indistinguishable_for_every_non_global_node_manager ... ok
test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.41s
running 1 test
test restart_retires_orphan_peer_host_routes ... ignored, Run inside a dedicated user/network namespace with CAP_NET_ADMIN.
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 7 tests
test retire_checks_every_object_before_deleting_any ... ignored, Run as root in a disposable network namespace with nft.
test retire_decides_every_object_and_leaves_a_foreign_table ... ignored, Run as root in a disposable network namespace with WireGuard and nft.
test retire_leaves_a_foreign_interface_without_failing_the_uninstall ... ignored, Run as root in a disposable network namespace.
test retire_leaves_a_marked_interface_this_installation_never_recorded ... ignored, Run as root in a disposable network namespace.
test retire_leaves_another_installations_interface_and_filter ... ignored, Run as root in a disposable network namespace with WireGuard and nft.
test retire_removes_the_interface_and_filter_this_installation_created ... ignored, Run as root in a disposable network namespace with WireGuard and nft.
test retire_with_a_record_leaves_a_foreign_interface_and_names_it ... ignored, Run as root in a disposable network namespace with WireGuard and nft.
test result: ok. 0 passed; 0 failed; 7 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 4 tests
test nf_tables_ipv4_retired_tcp_stops_after_reverse_traffic ... ignored, Run in a disposable user/network namespace with the kernel_node example built, #173.
test nf_tables_ipv6_retired_tcp_stops_after_reverse_traffic ... ignored, Run in a disposable user/network namespace with the kernel_node example built, #173.
test nft_ipv4_retired_tcp_stops_after_reverse_traffic ... ignored, Run in a disposable user/network namespace with the kernel_node example built, #173.
test nft_ipv6_retired_tcp_stops_after_reverse_traffic ... ignored, Run in a disposable user/network namespace with the kernel_node example built, #173.
test result: ok. 0 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 1 test
test revoked_host_is_not_retained_in_compiled_peer_policy ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
running 2 tests
test refused_recovery_inventory_save_does_not_retire_kernel_peers_or_routes ... ignored, Run inside a dedicated user/network namespace with CAP_NET_ADMIN.
test restart_preserves_unrecorded_direct_host_routes ... ignored, Run inside a dedicated user/network namespace with CAP_NET_ADMIN.
test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 1 test
test restart_preserves_operator_gateway_host_route ... ignored, Run inside a dedicated user/network namespace with CAP_NET_ADMIN.
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 1 test
test shipping_mesh_down_1000_peers_finishes_within_one_second ... ignored, Run in a dedicated user/network namespace under CPUWeight=10000 with INFRATERNAL_BIN pointing to the shipping release binary.
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 3 tests
test crash_child ... ignored, Child-only fixture for the weighted user/network namespace restart proof.
test refused_journal_retirement_keeps_stopping_until_explicit_retry ... ignored, Run inside a dedicated user/network namespace under CPUWeight=10000.
test restart_finishes_interrupted_down_at_1000_peers ... ignored, Run inside a dedicated user/network namespace under CPUWeight=10000.
test result: ok. 0 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 1 test
test default_switch_requires_owner_freshness_and_the_preview_revision ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
running 6 tests
test required_server_membership_cannot_be_deleted ... ok
test key_replacement_preserves_identity_and_addresses_after_restart ... ok
test absent_discovery_preserves_the_last_known_endpoint ... ok
test removed_host_cannot_restore_membership_without_authorized_enrollment ... ok
test scale_preview_pages_do_not_allocate_the_pair_matrix ... ok
test attach_cancelled_at_any_await_leaves_the_store_writable ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.64s
running 1 test
test cli::tests::relay_actions_are_complete_and_unavailable_until_runtime_exists ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 8 tests
test service::tests::channel_reads_at_fifty_concurrent_callers ... ignored, run alone under CPUWeight=10000; measures SQLite action overhead, not terminal or full authenticated socket latency
test service::tests::object_input_rejects_duplicates_unknown_fields_and_alternate_representations ... ok
test service::tests::disabled_feature_starts_no_lookup_and_rejects_settings ... ok
test service::tests::default_stable_refuses_silent_edge_and_persists_explicit_opt_in ... ok
test service::tests::authority_is_rechecked_after_the_setting_write_before_commit ... ok
test service::tests::api_setting_requires_owner_and_current_fresh_session ... ok
test latest::tests::startup_reclaims_only_owned_inactive_private_metadata ... ok
test latest::tests::cancellation_joins_verification ... ok
test result: ok. 7 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.56s
running 1 test
test pending_channel_writers_preserve_authority_read_capacity ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.58s
running 4 tests
test partial_metadata_restart_child ... ignored, subprocess helper for metadata restart verification
test restricted_umask_lookup_child ... ignored, subprocess helper for restricted-umask lookup verification
test lookup_creates_private_staging_under_owner_restrictive_umask ... ok
test restarted_latest_reclaims_metadata_after_process_stop ... ok
test result: ok. 2 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.05s
running 113 tests
test remote_bindings::receive_cost_tests::repeated_mesh_ingress_cost_at_one_thousand_retained_histories ... ignored, Component timing on the authorized perf VM under its fair lock; not transport acceptance.
test inventory::tests::inventory_descriptor_is_valid_for_server_startup ... ok
test inventory::tests::list_input_refuses_parallel_authority_and_noncanonical_cursors ... ok
test inventory::authority_tests::inventory_events_keep_the_subscription_generation ... ok
test inventory::authority_tests::revocation_cancels_a_result_waiting_for_socket_credit ... ok
test remote_bindings::tests::an_encrypted_duplicate_cannot_move_the_reply_route ... ok
test remote_bindings::tests::lease_installed_during_a_pending_poll_cannot_lose_the_receive_wakeup ... ok
test remote_bindings::tests::alias_retirement_restores_the_previous_reply_socket ... ok
test remote_bindings::tests::dropping_one_peer_removes_alternative_work_while_another_peer_lives ... ok
test remote_bindings::tests::replies_follow_the_last_heard_address_and_leases_retire_their_routes ... ok
test remote_bindings::tests::backup_withdrawal_reconciles_idle_peers_without_canceling_another_return ... ok
test remote_bindings::tests::peer_route_preserves_the_logical_tuple_and_replays_on_return ... ok
test remote_bindings::tests::retiring_mesh_lease_cancels_only_queued_alternative_reply ... ok
test remote_path_copies::tests::arming_after_pending_wakes_the_owned_endpoint_and_clear_drops_it ... ok
test remote_path_copies::tests::cancelling_retired_work_keeps_the_next_send_receive_wakeup ... ok
test remote_path_proof::tests::fixed_header_mac_matches_independent_sha256_vectors ... ok
test remote_bindings::tests::enrolled_dual_replies_preserve_primary_and_mesh_sources ... ok
test remote_path_proof::tests::mixed_aggregation_preserves_all_neighboring_quic_bytes ... ok
test remote_path_proof::tests::only_current_session_response_answers_a_sent_probe ... ok
test remote_bindings::tests::unknown_mesh_reply_waits_for_duplicate_coordinates_and_off_retires_it ... ok
test remote_bindings::tests::wildcard_reply_uses_the_destination_of_the_latest_peer_packet ... ok
test remote_path_socket::tests::a_probe_request_latches_before_its_waiter_is_polled ... ok
test remote_path_socket::tests::an_old_ack_only_send_does_not_start_a_backpressured_probe_deadline ... ignored, timed watchdog ordering proof; run under the perf VM benchmark lock
test remote_path_socket::tests::backpressure_never_starts_or_replaces_the_probe_send_clock ... ok
test remote_path_socket::tests::an_unrelated_reply_cannot_discard_ciphertext_needed_after_a_cut ... ok
test remote_bindings::tests::retiring_one_route_preserves_another_peers_enrolled_return ... ok
test remote_path_socket::tests::cancelling_old_requests_cannot_clear_a_new_probe_generation ... ok
test remote_path_socket::tests::exporting_path_keys_never_holds_the_receive_proof_lock ... ok
test remote_path_socket::tests::dedicated_receive_preserves_segmented_sends_in_single_datagram_buffers ... ok
test remote_path_socket::tests::mesh_route_maps_only_the_trusted_tuple_and_resends_unanswered_datagrams ... ok
test remote_path_socket::tests::segmented_replay_evicts_enough_old_datagrams_to_keep_the_byte_bound ... ok
test remote_peer_routes::bench::complete_tag_lookup_at_1000_peers ... ignored, Measure only on the perf VM under its benchmark lock.
test remote_peer_routes::bench::routing_lookup_at_1000_nodes ... ignored, Measure only on the perf VM under its benchmark lock.
test remote_peer_routes::copy_scan_tests::copy_poll_cost_at_one_thousand_retained_histories ... ignored, 31 bookkeeping samples per profile on the authorized perf VM under its fair lock; not transport acceptance.
test remote_path_socket::tests::send_gate_releases_only_one_successful_transmission ... ok
test remote_peer_routes::tests::alternative_admission_never_evicts_pending_enrolled_return ... ok
test remote_peer_routes::tests::alternative_backpressure_keeps_one_copy_and_hints_preserve_its_deadline ... ok
test remote_peer_routes::copy_scan_tests::history_mutation_after_an_idle_poll_still_sends_every_due_datagram ... ok
test remote_peer_routes::tests::alternative_queue_shares_bounds_and_never_becomes_return_history ... ok
test remote_peer_routes::tests::ciphertext_history_at_1000_peers ... ignored, Measure only on the perf VM: 31 batches of 20000 fresh/duplicate pairs across 1000 peers.
test remote_peer_routes::tests::completed_backup_copies_cannot_be_replayed_as_a_second_return_burst ... ok
test remote_bindings::tests::a_negotiated_peer_copies_output_without_a_worker_and_off_cancels_it ... ok
test remote_peer_routes::tests::completed_return_entries_stay_consumed_when_new_mesh_history_arrives ... ok
test remote_peer_routes::tests::replay_is_bounded_for_large_segmented_transmits ... ok
test remote_bindings::tests::a_lease_added_while_waiting_is_polled_without_another_primary_datagram ... ok
test remote_peer_routes::tests::retiring_an_old_lease_cannot_remove_a_reused_tuple ... ok
test remote_peer_routes::tests::shared_copy_clock_preserves_each_datagrams_deadline ... ok
test remote_peer_routes::tests::ciphertext_history_normalizes_gro_batches_and_stays_bounded ... ok
test remote_quic::design_scale_review::authenticated_mesh_health_at_design_scale ... ignored, Perf VM only: distinct physical tuple health at 1000 mTLS connections.
test remote_quic::design_scale_review::authenticated_mesh_health_at_design_scale_100ms ... ignored, Perf VM only: authenticated physical health at 100ms cadence.
test remote_quic::design_scale_review::review_fast_mesh_health_at_design_scale ... ignored, Perf VM only: fast detector at 1000 mTLS connections.
test remote_quic::design_scale_review::review_production_adaptive_health_at_design_scale ... ignored, Perf VM only: production adaptive detector at 1000 mTLS connections.
test remote_peer_routes::tests::output_evicting_the_oldest_copy_still_copies_one_bounded_batch ... ok
test remote_quic::probe_tests::copy_first_ack_only_probes_keep_authenticated_mesh_guard_live ... ignored, Physical 15ms/30ms guard comparison on the perf VM under its benchmark lock.
test remote_quic::probe_tests::copy_first_ack_only_requested_ack_delay_five_ms_comparison ... ignored, ACK-delay hypothesis comparison on the quiet perf VM under its benchmark lock.
test remote_peer_routes::tests::unsuccessful_backups_preserve_originals_for_explicit_recovery ... ok
test remote_path_socket::tests::negotiated_copies_use_the_enrolled_socket_and_retire_on_return ... ok
test remote_quic::mtu_tests::both_directions_keep_a_mesh_safe_payload_after_discovery ... ok
test remote_bindings::tests::a_copy_poll_bounds_work_before_servicing_receive ... ok
test remote_quic::probe_tests::review_invalid_mesh_packets_cannot_borrow_enrolled_authentication ... ignored, Perf VM only: real socket scheduling and path-response deadline.
test remote_bindings::tests::admitted_path_proofs_survive_mesh_retirement_and_old_key_lease_drop ... ok
test remote_quic::probe_tests::lost_path_proof_spends_its_reserved_retry_margin ... ok
test remote_quic::tests::mesh_liveness_keeps_authentication_and_refuses_invalid_intervals ... ok
test remote_path_socket::tests::a_delayed_probe_waiter_keeps_first_send_clock_after_ack_only_traffic ... ok
test remote_bindings::tests::legacy_enrolled_return_replay_is_bounded_and_consumed_once ... ok
test remote_path_socket::tests::an_old_ack_only_send_cannot_complete_probe_emission ... ok
test remote_renewal::tests::credential_snapshot_does_not_block_async_reconnect ... ok
test remote_quic::tests::wrong_server_name_never_yields_authenticated_connection ... ok
test remote_quic::tests::repeated_native_id_has_distinct_server_writer_authority_and_preserves_suffix ... ok
test remote_tls::tests::outgoing_tcp_detects_a_vanished_peer_without_application_traffic ... ok
test remote_bindings::tests::negotiated_enrolled_return_replay_is_bounded_and_consumed_once ... ok
test remote_quic::probe_tests::healthy_path_proofs_keep_the_configured_polling_interval ... ok
test remote_tls::tests::mutual_tls_delivers_exact_bytes_and_verified_leaf_fingerprints ... ok
test runtime_lock::tests::a_live_legacy_runtime_cannot_publish_an_unheld_lifetime_file ... ok
test runtime_lock::tests::cleanup_admission_prevents_starting_even_if_runtime_lock_was_removed ... ok
test runtime_lock::tests::dump_datagrams_split_exactly ... ok
test runtime_lock::tests::dump_records_accept_only_known_shapes ... ok
test runtime_lock::tests::foreign_inode_twin_inner ... ignored, runs inside the namespace prepared by the foreign-inode test
2
test runtime_lock::tests::internal_dispatch_checks_exact_argument_counts ... ok
test runtime_lock::tests::internal_dispatch_reads_only_the_normal_command_name ... ok
test remote_tls::tests::untrusted_client_never_reaches_server_admission ... ok
test runtime_lock::tests::legacy_inspection_finds_a_real_bound_socket ... ok
test runtime_lock::tests::legacy_inspection_is_independent_of_the_bound_name ... ok
test runtime_lock::tests::lifetime_contention_preserves_would_block ... ok
test runtime_lock::tests::lifetime_precedes_bind_and_survives_until_last_description_closes ... ok
test runtime_lock::tests::lock_links_and_replacements_are_refused ... ok
test runtime_lock::tests::managed_start_refuses_another_host_and_an_unfinished_receipt ... ok
test runtime_lock::tests::session_inspection_finds_bound_endpoints_by_identity ... ok
test runtime_lock::tests::split_device_inner ... ignored, runs inside the namespace prepared by the split-device test
test remote_quic::tests::host_cannot_open_a_second_server_control_stream ... ok
test runtime_lock::tests::unavailable_lock_support_does_not_claim_a_live_holder ... ok
test uninstall::tests::a_failed_kernel_check_stops_cleanup_before_the_service ... ok
running 1 test
test runtime_lock::tests::split_device_inner ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 112 filtered out; finished in 0.00s
test runtime_lock::tests::legacy_bound_endpoint_on_a_split_device_filesystem_is_kept ... ok
running 1 test
test runtime_lock::tests::foreign_inode_twin_inner ... test uninstall::tests::bootstrap_lock_delays_uninstall_without_omitting_its_handler ... ok
ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 112 filtered out; finished in 0.00s
test uninstall::tests::file_removal_keeps_what_setup_did_not_create ... ok
test runtime_lock::tests::stale_session_endpoint_is_not_held_live_by_a_foreign_inode_twin ... ok
test uninstall::tests::replies_name_the_objects_left_as_valid_json ... ok
test uninstall::tests::manual_uninstall_refuses_another_hosts_installation ... ok
test remote_tls::tests::untrusted_server_or_wrong_server_name_is_refused_before_bytes ... ok
test remote_quic::probe_tests::copy_first_real_mesh_originals_do_not_strand_the_authenticated_mesh_guard ... ok
test uninstall::tests::review_planted_plan_is_never_followed ... ok
test uninstall::tests::uninstall_never_accepts_request_selected_paths_or_foreign_identity ... ok
test uninstall::tests::review_failed_launcher_leaves_no_plan ... ok
test uninstall::tests::accepted_handoff_runs_on_a_thread_without_an_async_runtime ... ok
test remote_tls::tests::cancelled_partial_write_cannot_reuse_the_channel ... ok
test remote_bindings::tests::alternating_fresh_hints_cannot_amplify_retained_ciphertext ... ok
test remote_quic::probe_tests::enrolled_copy_replies_cannot_keep_a_dead_mesh_path_alive ... ok
test uninstall::tests::retirement_signals_the_shell_after_its_foreground_job_exits ... ok
test remote_quic::probe_tests::a_queued_probe_cannot_expire_before_the_socket_emits_it ... ok
test remote_quic::tests::acknowledged_idle_survives_and_replayed_packets_cannot_mask_failure ... ok
test remote_quic::tests::one_way_authenticated_output_keeps_the_path_fresh ... ok
test remote_tls::tests::stalled_write_retires_both_directions_without_idle_polling ... ok
test uninstall::tests::uninstall_and_setup_exclude_each_other ... ok
test result: ok. 98 passed; 0 failed; 15 ignored; 0 measured; 0 filtered out; finished in 5.21s
running 46 tests
test auth_evidence::tests::later_local_key_receipt_supersedes_an_earlier_banner ... ok
test cli::tests::ssh_actions_are_complete_and_marked_unavailable ... ok
test auth_evidence::tests::partial_and_malformed_receipts_are_not_method_evidence ... ok
test auth_evidence::tests::receipt_is_identical_at_every_chunk_boundary ... ok
test auth_once::tests::caller_cannot_choose_or_extend_the_expiry_clock ... ok
test auth_evidence::tests::selected_local_authentication_diagnostics_keep_method_at_every_boundary ... ok
test config::tests::configured_private_sources_are_excluded_and_public_trust_is_retained ... ok
test config::tests::flattened_quoted_public_filenames_are_refused_when_existing_trust_would_be_lost ... ok
test config::tests::unresolved_or_relative_public_paths_cannot_admit_first_contact ... ok
test bootstrap::proof_tests::failed_published_facts_clean_only_the_private_probe_and_never_commit ... ok
test auth_once::tests::each_method_consumes_once_and_expiry_erases_both_methods ... ok
test config::tests::malformed_public_policy_is_refused_before_it_can_change_command_arguments ... ok
test config::tests::trust_lookup_uses_every_explicit_alias_verbatim ... ok
test bootstrap::proof_tests::review_stopped_commit_channel_finishes_the_private_probe ... ok
test bootstrap::proof_tests::published_proofs_start_together_and_commit_requires_both ... ok
test auth_order::tests::only_exact_generated_read_only_checks_can_choose_credentials ... ok
test install::tests::transfer_caps_accept_only_the_fixed_record ... ok
test install::tests::compaction_drops_only_comment_lines_and_indentation ... ok
test manifest::tests::node_provisioning_declares_an_existing_server_and_only_node_components ... ok
test payload::tests::payload_hash_cache_at_1600_adds ... ignored, #190 public payload hash/cache measurements on the locked perf VM only
test model::failure_serialization_tests::wire_format_is_exact_and_failure_stays_small ... ok
test auth_once::tests::invalid_material_is_refused_before_any_helper_or_scheduling ... ok
test model::failure_serialization_tests::uuid_reference_uses_the_outcome_specific_wire_key ... ok
test install::tests::embedded_setup_programs_have_no_constructs_compaction_would_change ... ok
test duplex::tests::closed_receipt_channel_is_reported_as_unreachable ... ok
test payload::tests::concurrent_adds_share_the_cached_digest_allocation ... ok
test prompt::tests::reply_fixture ... ignored, private subprocess for the one-reply peer oracle
test payload::tests::replacement_and_removal_never_reuse_a_path_name_digest ... ok
test prompt_image::tests::helper_identity_refuses_in_place_and_path_replacement ... ok
test session_bridge::tests::failed_dispatcher_does_not_publish_a_session ... ok
test setup::tests::exhausted_setup_failure_retains_reason_without_offering_retry ... ok
test payload_encoding::tests::small_payloads_retain_raw_streaming ... ok
test duplex::tests::duplex_preserves_binary_bytes_in_both_directions ... ok
test session_bridge::tests::publication_and_dispatcher_greeting_share_the_first_write ... ok
test setup::tests::host_status_outlives_its_subscriber_and_keeps_exact_identity ... ok
test socket_connector::tests::connected_socket_has_nodelay_before_any_application_bytes ... ok
test payload::tests::settings_changes_keep_at_most_four_entries ... ok
test stdio::tests::pipes_preserve_bytes_and_do_not_escape_into_child_exec ... ok
test socket_connector::tests::invalid_endpoint_cannot_send_a_descriptor ... ok
test socket_connector::tests::descriptor_delivery_keeps_the_exact_peer_after_helper_copy_closes ... ok
test transport::secret_tests::secret_input_has_a_fixed_bound_and_accepts_only_strings ... ok
test session_bridge::tests::publication_prefix_preserves_every_dispatcher_byte_across_reads ... ok
test payload_encoding::tests::gzip_roundtrip_and_repeated_adds_share_one_encoding ... ok
test payload_encoding::tests::binary_replacement_never_reuses_the_previous_encoding ... ok
test payload::tests::same_size_in_place_edits_with_restored_mtime_invalidate_the_digest ... ok
test prompt::tests::helper_reply_requires_the_registered_parent_and_is_served_once ... ok
test result: ok. 44 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.14s
running 1 test
test a_host_key_challenge_never_serializes_as_a_host_id ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 11 tests
test later_command_auth_errors_never_restart_the_selected_method_sequence ... ok
test only_exhausted_auth_returns_typed_choose_method ... ok
test automatic_checked_channel_selects_bridge_after_read_only_authentication ... ok
test manual_hosts_try_available_methods_without_a_separate_none_refusal ... ok
test successful_authentication_is_reported_and_later_secrets_are_never_requested ... ok
test trust_network_and_remote_command_failures_stop_without_loading_local_secrets ... ok
test authentication_never_replays_a_mutating_first_command_or_reuses_a_failed_scope ... ok
test manual_method_trust_refusal_never_loads_later_credentials ... ok
test ownership_checks_authenticate_once_without_replaying_a_different_check ... ok
test ownership_check_fallback_repeats_only_the_allowlisted_read_only_command ... ok
test cancelling_authentication_consumes_the_attempt_without_requesting_secrets ... ok
test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
running 1 test
test build_without_default_plugins_excludes_ssh_dependency ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s
running 7 tests
test a_thousand_admitted_targets_keep_eight_active_backend_calls ... ignored, explicit CPUWeight10000 scale measurement with a controlled unavailable backend
test entire_batch_validates_before_start_and_duplicates_are_refused ... ok
test an_interrupted_disable_keeps_admission_closed_until_its_adapter_retires ... ok
test authenticated_batches_retain_an_opaque_session_for_trusted_issuance ... ok
test component_off_retires_a_real_native_helper ... ok
test concurrency_is_eight_across_batches_and_all_ten_hosts_fail_independently ... ok
test turning_off_drains_queued_work_and_reenable_never_resumes_old_batches ... ok
test result: ok. 6 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.01s
running 2 tests
test synthetic_master_socket_is_private_at_creation ... ok
test configured_identity_paths_are_not_inherited_by_the_command_child ... ok
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
running 4 tests
test credential_helper_refuses_host_trust_and_permission_prompts ... ok
test password_socket_refuses_an_unrelated_same_user_process ... ok
test password_helpers_prepare_a_fresh_private_root_and_remove_only_their_directory ... ok
test kernel_running_helper_is_materialized_in_its_private_scope ... ok
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.42s
running 12 tests
test control_probe_statuses_preserve_actionable_setup_messages ... ok
test every_failed_step_names_the_step_and_a_next_action ... ok
test mesh_policy_requires_both_discovery_facts_and_a_transport_refusal ... ok
test status_mapping_preserves_authentication_and_missing_payload_classification ... ok
test script_status_diagnostics_are_honest_for_all_nonzero_codes ... ok
test remote_command_text_is_not_ssh_authority_and_never_enters_logs ... ok
test engine_failures_keep_their_ssh_boundary_without_remote_bytes ... ok
test effective_configuration_never_scans_a_proxy_or_invalid_endpoint ... ok
test dynamic_public_trust_is_retained_without_becoming_file_only_admission ... ok
test failure_diagnostics_distinguish_auth_trust_transport_and_channel_without_raw_text ... ok
test failed_join_retains_only_the_allowlisted_host_dns_error ... ok
test bootstrap_status_mapping_covers_each_step_and_approved_mode ... ok
test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 1 test
test unsupported_host_reports_method_and_retry_never_replays_it_as_current ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
running 1 test
test configured_backgrounding_is_overridden_for_owned_bootstrap_commands ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
running 2 tests
test configured_known_hosts_command_revocation_cannot_offer_first_contact ... ignored, run through research/ssh-client/measure.py with its synthetic public host key
test first_contact_needs_fresh_authority_and_never_replaces_existing_trust ... ignored, run through research/ssh-client/measure.py --negative-trust-oracle with its memory-held synthetic key
test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 95 tests
test command_failure_names_upload_join_install_and_start_separately ... ok
test breakit2_stage_refuses_parent_that_cannot_be_rolled_back ... ok
test cleanup_receipt_cannot_authorize_a_replaced_unowned_directory ... ok
test compound_join_failure_preserves_the_original_status_and_boundary ... ok
test breakit2_rollback_preserves_foreign_launcher_new ... ok
test acknowledged_linger_noop_does_not_own_later_external_enable ... ok
test breakit2_rollback_preserves_foreign_unit_new ... ok
test active_transaction_is_live_between_ssh_setup_commands ... ok
test breakit2_interrupted_lock_creation_allows_cleanup_and_retry ... ok
test buffering_setup_reader_receives_no_payload_until_selection ... ok
test declared_transfer_sends_the_payload_before_any_selection_receipt ... ok
test active_service_stop_failure_never_replaces_live_artifacts ... ok
test declared_transfer_refuses_a_different_selection_or_a_named_refusal ... ok
test earlier_attempt_classification_preserves_status_boundary_and_authentication ... ok
test earlier_attempt_records_reject_suffixes_truncation_and_unbounded_counts ... ok
test duplex_check_refuses_named_failures_and_oversized_records_before_staging ... ok
test compound_restaging_refuses_a_foreign_journal_before_upload ... ok
test early_staging_preserves_canonical_foreign_root_refusal ... ok
test compound_activation_and_start_failures_keep_exact_step_and_rollback ... ok
test control_cleanup_never_follows_a_socket_symlink_or_removes_regular_data ... ok
test enrollment_process_exit_71_is_not_reported_as_directory_refusal ... ok
test every_setup_command_fits_one_kernel_argument_in_both_modes ... ok
test compressed_stage_roundtrips_and_rejects_corruption_before_execution ... ok
test foreign_data_refusal_retains_exit_status_and_actionable_directory ... ok
test denied_linger_request_does_not_undo_a_later_external_enable ... ok
test framed_receipts_preserve_upload_failures_and_reject_extra_output ... ok
test compound_setup_keeps_owned_rollback_and_linger_warning ... ok
test checked_staging_survives_a_buffering_payload_reader_and_reuses_the_cache ... ok
test commit_signal_retains_journal_until_proof_and_on_cancel ... ok
test concurrent_attempts_cannot_replace_or_clean_each_others_transaction ... ok
test fresh_cleanup_refuses_a_shared_writable_receipt_parent_before_mutation ... ok
test framed_join_refusal_keeps_status_separate_from_upload ... ok
test fresh_cleanup_resumes_after_base_removal_and_retires_its_receipt ... ok
test foreign_files_and_another_attempt_lock_are_never_removed ... ok
test crash_mid_install_can_roll_back_and_retry ... ok
test fresh_cleanup_resumes_after_owner_marker_removal_with_a_fresh_session ... ok
test fresh_receipt_is_removed_before_transaction_rollback ... ok
test failed_upgrade_preserves_previous_binary_state_and_unit ... ok
test fresh_runtime_symlink_never_removes_foreign_empty_directories ... ok
test fresh_rollback_resumes_after_transaction_directory_removal ... ok
test facts_timeout_retires_stale_plugin_control_socket_before_retry ... ok
test full_stage_frees_payload_before_allocating_a_cleanup_receipt ... ok
test fresh_runtime_unexpected_data_keeps_ownership_and_cleanup_receipt ... ok
test framed_upload_keeps_invitation_after_verified_raw_and_compressed_payloads ... ok
test earlier_binary_cache_is_refreshed_before_owned_recovery ... ok
test full_payload_restaging_preserves_the_running_session_build ... ok
test earlier_control_socket_receipt_recovers_before_a_new_setup ... ok
test installed_infraternal_agent_always_restarts_without_start_limit ... ok
test fresh_runtime_empty_directories_do_not_block_rollback_and_retry ... ok
test fresh_failure_removes_owned_artifacts_and_success_can_rejoin ... ok
test missing_payload_preserves_the_bootstrap_binary_remedy ... ok
test interrupted_linger_reply_retains_intent_for_cleanup ... ok
test interrupted_acquisition_cleanup_receipt_can_resume ... ok
test linked_owner_marker_is_refused_before_retiring_the_transaction ... ok
test optional_session_payload_is_architecture_scoped_and_refuses_symlinks ... ok
test interrupted_restore_recreates_links_without_deleting_the_original ... ok
test payload_reuse_never_adopts_a_foreign_cache_directory ... ok
test one_command_channel_carries_check_verified_upload_and_bridge_bytes ... ok
test interrupted_upgrade_after_acknowledged_stop_restarts_the_previous_service ... ok
test interrupted_rollback_never_deletes_already_restored_state_on_retry ... ok
test partial_full_upload_rebridges_from_a_verified_image ... ok
test interrupted_control_cleanup_is_resumed_only_by_its_original_attempt ... ok
test linger_policy_denial_is_a_warning_and_owned_changes_are_reversible ... ok
test malformed_or_exposed_cleanup_receipts_never_remove_the_owned_root ... ok
test reported_cache_digest_selects_reuse_without_sending_payload ... ok
test retry_cleanup_uses_fresh_session_and_preserves_privilege_consent ... ok
test refused_previous_service_stop_only_removes_staging ... ok
test known_failed_setup_finishes_without_a_second_confirmation ... ok
test rejoin_preserves_existing_host_identity_in_the_private_staging_state ... ok
test pending_fresh_cleanup_refuses_replacement_staging_until_finished ... ok
test review_unrelated_user_relative_socket_does_not_block_stale_cleanup ... ignored, requires sudo -n to create an isolated listener as uid 65534
test negotiated_transfer_delivers_the_invitation_after_a_buffering_head ... ok
test review_interrupted_transaction_receipt_allows_owned_cleanup ... ok
test setup_receipts_require_exact_order_and_preserve_failure_boundaries ... ok
test live_setup_retry_preserves_the_bridge_and_host_identity_state ... ok
test setup_transaction_holds_a_live_lock_between_shell_commands ... ok
test review_live_relative_control_socket_preserves_its_receipt ... ok
test retry_reuses_verified_payload_after_owned_rollback ... ok
test retry_resends_payload_when_cache_content_changes ... ok
test rollback_stop_refusal_retains_artifacts_for_later_cleanup ... ok
test session_restaging_uses_one_compound_command ... ok
test review_restart_recovers_cleanup_after_base_retirement ... ok
test staged_shell_bridge_keeps_protocol_bytes_and_releases_setup_guard ... ok
test negotiated_retry_reuses_only_a_verified_cache_after_activation_refusal ... ok
test review_restart_recovers_cleanup_after_owner_retirement ... ok
test review_inode_reuse_after_diagnostics_preserves_live_replacement ... ok
test streaming::decoded_image_and_hash_advance_before_the_transfer_tail_is_released ... ok
test writable_installation_is_refused_before_upload_or_cleanup ... ok
test turning_off_paused_host_provisioning_preserves_earlier_leftovers ... ok
test streamed_digest_refuses_a_short_file_or_a_changed_stream_before_launch ... ok
test start_fresh_resumes_the_same_attempt_after_owner_confirmation ... ok
test stale_previous_attempt_socket_can_be_retired_without_manual_cleanup ... ok
test stopped_control_socket_modes_from_service_manager_are_recoverable ... ok
test restart_recovers_partial_stage_retirement ... ok
test successful_stage_releases_the_parent_lock_from_its_lease_child ... ok
test result: ok. 94 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 7.81s
running 1 test
test network_identity_connect_check_and_changed_key_refusal ... ignored, requires the Go interoperability fixture; run research/ssh-client/mesh-fixture/run
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 6 tests
test addresses_never_become_options_or_shell_syntax ... ok
test passwordless_sudo_keeps_default_rootless_without_explicit_consent ... ok
test start_fresh_is_declared_as_an_owned_host_provisioning_action ... ok
test check_is_exact_bounded_and_rejects_every_truncation ... ok
test root_consent_is_required_before_ssh_and_uid_zero_cannot_be_rootless ... ok
test consent_and_credential_references_are_the_only_request_authority ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 2 tests
test verification_failure_names_step_and_stops_before_upload ... ok
test stalled_download_retains_the_named_step_before_the_attempt_deadline ... ok
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
running 1 test
test home_alias_keeps_open_setup_descriptor_live ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s
running 1 test
test shared_ownership_shell_preserves_recovery_and_refusal_invariants ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.19s
running 3 tests
test breakit2_no_systemd_names_the_required_manager ... ok
test shell_startup_refusal_names_an_interactive_only_remedy ... ok
test manager_availability_does_not_request_its_private_environment ... ok
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
running 10 tests
test unavailable_negotiated_codec_never_sends_invitation ... ok
test review_compound_refusal_preserves_receipt_when_invitation_pipe_closes ... ok
test completed_helper_retires_descendants_with_closed_pipes ... ok
test cancellation_retires_the_helper_descendant_too ... ok
test negotiated_sources_require_an_exact_receipt_before_private_input ... ok
test reviewer_ssh_helper_does_not_inherit_server_reload_mask ... ok
test oversized_remote_output_is_bounded_and_active_timeout_is_enforced ... ok
test declared_payload_flows_before_receipts_and_private_input_waits ... ok
test group_identity_is_retained_until_inherited_pipes_finish ... ok
test declared_selection_mismatch_and_missing_verification_withhold_private_input ... ok
test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.05s
running 1 test
test unchecked_proxy_hops_are_refused_before_credential_helpers_or_network ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
running 4 tests
test encoding_warmup_resolves_admitted_source_images_instead_of_configured_paths ... ok
test refused_publication_reports_failure_to_the_waiting_wizard ... ok
test signed_session_is_typable_before_full_resolution_and_late_failure_retries_the_same_shell ... ok
test retry_reopens_ssh_after_transport_loss_and_keeps_the_published_shell ... ok
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
running 1 test
test actual_ssh_authentication_check_and_strict_host_key_rejection ... ignored, run through research/ssh-client/measure.py with the synthetic rootless sshd fixture
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 12 tests
test cleanup_script_requires_the_shipped_helper_level ... ok
test review_stale_receipt_recovers_without_host_python ... ignored, requires sudo -n Docker and the local debian:trixie-slim image
test review_cached_helper_without_session_mode_asks_for_a_refresh ... ok
test review_live_session_socket_in_newline_home_blocks_cleanup ... ok
test legacy_control_socket_in_spaced_home_preserves_receipt ... ok
test legacy_control_socket_through_absolute_alias_preserves_receipt ... ok
test review_live_session_socket_in_plain_home_blocks_cleanup ... ok
test legacy_control_socket_in_newline_home_preserves_receipt ... ok
test private_legacy_control_socket_preserves_receipt ... ok
test review_bound_control_socket_before_listen_preserves_receipt ... ok
test cleanup_holds_runtime_lock_until_all_receipts_retire ... ok
test unrelated_same_user_relative_socket_does_not_block_cleanup ... ok
test result: ok. 11 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.35s
running 1 test
test a_long_pre_authentication_banner_does_not_refuse_the_host ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
running 1 test
test nested_scripts_preserve_bytes_without_expanding_public_text ... ignored, run on the owned disposable target with all supported login shells installed
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 1 test
test one_physical_connection_erases_helpers_and_refuses_reconnect ... ignored, run through the rootless real-sshd fixture, selecting this test only
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 1 test
test declared_public_modules_have_committed_sources ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 2 tests
test long_data_directory_does_not_bound_the_ssh_helper_socket ... ignored, scripts/test-ssh-host-trust.py supplies the real multi-key target
test multi_key_target_trusts_once_and_reconnects_without_a_loop ... ignored, scripts/test-ssh-host-trust.py supplies a real multi-key sshd and memory-held credentials
test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 7 tests
test stream_tests::split_mux_header_preserves_trailing_close ... ok
test tests::rejects_oversized_noncanonical_and_malformed_frames_before_buffering_body ... ok
test tests::oversized_encode_keeps_the_reusable_output_unchanged ... ok
test tests::mux_round_trip_and_incremental_decoders_preserve_frame_order ... ok
test stream_tests::all_short_frame_splits_match_direct_decoding ... ok
test tests::golden_vectors_encode_and_decode_every_contract_frame ... ok
test stream_tests::maximum_sized_fragmented_frame_is_not_rejected ... ok
test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
running 615 tests
test auth::cookies::measurement::cookie_latency_at_50_sessions ... ignored, local optimized cookie reader measurement at 50 browser sessions
test auth::cookies::tests::duplicates_missing_invalid_and_nontext_fail_closed ... ok
test auth::cookies::tests::joined_split_reordered_and_other_cookies ... ok
test auth::migration_compat_tests::dirty_production_migration_is_refused_without_retagging ... ok
test auth::migration_compat_tests::occupied_destination_leaves_the_production_ledger_unchanged ... ok
test auth::http::tests::admission_partitions_reset_without_trusting_forwarded_headers ... ok
test auth::tests::aaguid_projection_rejects_malformed_cbor_corpus ... ok
test auth::http::hostname_tests::authenticated_session_response_includes_system_hostname ... ok
test auth::migration_compat_tests::dev_history_keeps_its_mesh_checksum_and_data ... ok
test auth::migration_compat_tests::committed_retag_can_resume_after_interruption_and_concurrent_startup ... ok
test auth::migration_compat_tests::fresh_history_has_unique_versions_and_both_schemas ... ok
test auth::migration_compat_tests::production_history_keeps_index_checksum_and_data ... ok
test auth::migration_compat_tests::live_production_retirement_history_survives_dev_upgrade ... ok
test auth::tests::account_identity_migration_backfills_legacy_users ... ok
test auth::migration_compat_tests::unrecognized_checksum_is_refused_without_retagging ... ok
test auth::tests::aaguid_migration_preserves_legacy_credentials_and_sessions ... ok
test auth::tests::ca_administration_tests::actual_ca_unlock_cost_at_1000_administrator_records ... ignored, release real authority diagnostic at1000 memberships/copies; no concurrent own build/browser
test auth::tests::account_identity_schema_has_unique_usernames_and_display_names ... ok
test auth::crypto::verifier_tests::recovery_capacity_denial_is_not_a_legacy_credential_signal ... ok
test auth::tests::ca_administration_tests::actual_passkey_unlocks_cold_ca_once_and_leaves_no_extra_browser_session ... ok
test auth::tests::ca_administration_tests::audit_tests::unlock_audit_cost_at_1000_memberships ... ignored, real 100-unlock/1000-membership audit formatting diagnostic; no own builds or browsers
test auth::tests::ca_administration_tests::administrator_with_stale_tap_must_make_a_new_verified_proof_to_unlock ... ok
test auth::tests::ca_administration_tests::audit_tests::unlock_audit_records_principal_time_outcome_without_material ... ok
test auth::tests::ca_administration_tests::audit_tests::private_copy_persistence_contains_only_ciphertext_and_public_metadata ... ok
test auth::crypto::verifier_tests::browser_secret_hashing_is_canonical_and_bounded ... ok
test auth::tests::ca_administration_tests::bootstrap_requires_a_fresh_real_proof_and_publishes_only_wrapped_ca_material ... ok
test auth::tests::ca_administration_tests::concurrent_bootstrap_ceremonies_retain_one_issuer_and_replay_is_refused ... ok
test auth::tests::ca_administration_tests::foreign_browser_cannot_consume_the_original_ca_unlock_ceremony ... ok
test auth::tests::ca_administration_tests::http_tests::ca_body_admission_at_1000_requests ... ignored, 1000-request body admission diagnostic; run alone without builds
test auth::tests::ca_administration_tests::http_tests::audit_tests::ca_start_budget_is_shared_by_routes_and_cookies_but_not_status_or_finish ... ok
test auth::crypto::verifier_tests::fixture_waits_while_production_hashing_refuses_capacity ... ok
test auth::tests::ca_administration_tests::http_tests::audit_tests::sequential_unlock_starts_require_a_temporal_budget ... ok
test auth::tests::ca_administration_tests::http_tests::ca_finish_body_deadline_returns_its_admission_slot ... ok
test auth::tests::ca_administration_tests::http_tests::ca_http_exact_origin_and_live_cookie_are_required ... ok
test auth::tests::audit_ceremony_browser_binding ... ok
test auth::tests::ca_administration_tests::http_tests::ca_http_parser_is_bounded_and_errors_do_not_reflect_wrapping_material ... ok
test auth::tests::ca_administration_tests::changed_generation_expired_session_or_removed_credential_cannot_unlock ... ok
test auth::tests::ca_administration_tests::http_tests::ca_http_real_passkey_unlock_returns_only_lock_status_without_a_session_cookie ... ok
test auth::tests::ca_administration_tests::http_tests::ca_http_refuses_origin_and_cookie_before_decoding_wrapping_material ... ok
test auth::tests::ca_administration_tests::http_tests::ca_status_distinguishes_initial_setup_from_locked_retained_trust ... ok
test auth::tests::ca_administration_tests::http_tests::first_machine_certificate_setup_starts_a_fresh_passkey_ceremony ... ok
test auth::tests::audit_logout_survives_admission_exhaustion ... ok
test auth::tests::ca_administration_tests::http_tests::independent_review_ca_body_reads_share_the_eight_request_admission_limit ... ok
test auth::tests::ca_administration_tests::http_tests::independent_review_ca_headers_are_refused_before_reading_an_unfinished_body ... ok
test auth::tests::ca_administration_tests::new_administrator_device_rewraps_pending_copy_and_role_generation_never_resurrects_it ... ok
test auth::tests::ca_administration_tests::shipping_cli_tests::bootstrap_cli::fresh_release_bootstrap_join_renew_revoke_cuts_a_live_connection ... ignored, configured release E2E requires INFRATERNAL_REMOTE_TEST_BINARY and exclusive4701/7443
test auth::tests::ca_administration_tests::shipping_cli_tests::configured_release_cli_cold_lock_real_passkey_unlock_and_cold_restart ... ignored, configured release CLI proof needs INFRATERNAL_REMOTE_TEST_BINARY and exclusive4701/7443
test auth::tests::ca_administration_tests::shipping_cli_tests::deploy_staging::signed_deploy_preserves_passkey_ca_and_live_sessions ... ignored, exclusive perf VM staging proof; requires signed run artifacts and systemd
test auth::tests::ca_administration_tests::shipping_cli_tests::deploy_staging::staging_browser_services_probes_between_commands ... ignored, root shipping binary functional proof; requires INFRATERNAL_TEST_BINARY and private CA test root
test auth::tests::ca_administration_tests::ordinary_login_ceremony_has_no_ca_unlock_purpose ... ok
test auth::tests::ca_administration_tests::pending_administrator_cannot_replace_the_last_retained_wrapped_copy ... ok
test auth::tests::ca_administration_tests::published_issuer_without_memory_projection_is_recovered_as_locked_trust ... ok
test auth::tests::audit_no_public_credential_listing ... ok
test auth::tests::ca_membership_tests::administrator_guard_cost_at_1000_memberships ... ignored, optimized administrator guard diagnostic at1000 memberships; no own build/browser overlap
test auth::tests::ca_administration_tests::role_changes_require_fresh_purpose_bound_proofs_and_recheck_owner_permission ... ok
test auth::tests::ca_administration_tests::role_grant_is_pending_and_revoke_removes_old_copy_without_restoring_old_authority ... ok
test auth::tests::discoverable_latency_at_pending_capacity ... ignored, run --release --ignored --nocapture without concurrent builds
test auth::tests::ca_membership_tests::administrator_bootstrap_is_explicit_and_owner_flag_cannot_replace_revoked_role ... ok
test auth::tests::ca_membership_tests::administrator_copy_refuses_deleted_passkey_or_session ... ok
test auth::tests::ca_membership_tests::administrator_copy_refuses_pending_expired_stale_or_future_session ... ok
test auth::tests::audit_recovery_pending_is_visible_to_signed_in_device ... ok
test auth::tests::ca_administration_tests::revoked_membership_or_original_session_cannot_finish_an_existing_ca_ceremony ... ok
test auth::tests::provider_labels_cover_the_cited_registry_without_guessing ... ok
test auth::tests::provider_session_latency_at_50_devices ... ignored, local auth session scale measurement; run without concurrent builds
test auth::tests::ca_administration_tests::wrong_wrapping_key_or_missing_user_verification_leaves_ca_locked ... ok
test auth::tests::audit_recovery_after_page_discard_can_resume_at_original_deadline ... ok
test auth::tests::audit_recovery_session_expiring_during_verification_keeps_delay ... ok
test auth::tests::authenticated_prf_metadata_preserves_legacy_envelopes ... ok
test auth::tests::ceremony_prf_wraps_and_optional_second_passkey ... ok
test auth::tests::concurrent_owner_and_optional_passkey_enrollment_fail_closed ... ok
test auth::tests::discoverable_login_handle_credential_counter_and_replay ... ok
test auth::tests::enrollment_prf_input_matches_discoverable_login ... ok
test auth::tests::recovery_session_delay_latency_at_capacity ... ignored, release-only recovery measurement at 50 live sessions; run without concurrent compilation
test auth::tests::host_facts_review_tests::pending_host_facts_read_keeps_control_ping_responsive ... ok
test auth::tests::http_csrf_cookie_flags_body_limit_and_latency_evidence ... ok
test auth::tests::recovery_verifier_latency_at_capacity ... ignored, release-only v2 diagnostic at 50 live session rows; record host load separately
test auth::tests::pending_unlock_expires_without_terminal_authority ... ok
test auth::tests::public_status_and_discoverable_http_login ... ok
test auth::tests::recovery_audit_commits_once_with_start_cancel_and_complete ... ok
test auth::tests::remote_removal_tests::fresh_removal_revokes_offline_host_and_cannot_replay ... ok
test auth::tests::remote_removal_tests::logout_or_role_loss_after_removal_start_preserves_host ... ok
test auth::tests::recovery_delay_cancel_and_replacement_revokes_every_capability ... ok
test auth::tests::recovery_expiry_revocation_and_cross_user_isolation ... ok
test auth::tests::recovery_http_live_same_account_is_immediate ... ok
test auth::tests::recovery_http_other_expired_pending_and_missing_sessions_wait ... ok
test auth::tests::recovery_live_session_cannot_accelerate_an_active_delayed_request ... ok
test auth::tests::recovery_live_session_revoked_during_verification_cannot_waive_delay ... ok
test auth::tests::recovery_unknown_identity_pays_the_same_database_and_verifier_work ... ok
test auth::tests::recovery_username_identity_is_additive_and_ambiguous_forms_fail ... ok
test auth::tests::redacted_unknown_and_failed_registrations_do_not_claim_a_provider ... ok
test auth::tests::registration_aaguid_survives_none_attestation_and_binds_session_provider ... ok
test auth::tests::rejected_origin_uv_challenge_signature_prf_and_expired_ceremonies ... ok
test auth::tests::review3_tests::review3_backend_reply_has_a_deadline ... ok
test auth::tests::review3_tests::review3_busy_expiry ... ok
test auth::tests::review3_tests::review4_slow_open_at_user_capacity ... ignored, release-only connect scale measurement; run without concurrent builds
test auth::tests::review3_tests::review3_busy_logout ... ok
test auth::tests::review3_tests::review3_busy_recovery ... ok
test auth::tests::review3_tests::review3_completion_and_cleanup_are_transaction_bound ... ok
test auth::tests::review3_tests::review3_expired_handshake_must_not_welcome ... ok
test auth::tests::review3_tests::review3_identified_privacy_timing_and_binding_replays ... ok
test auth::tests::review3_tests::review3_pending_routes_and_idle_expiry_recovery ... ok
test auth::tests::review3_tests::review3_revoked_handshake_must_not_welcome ... ok
test auth::tests::review3_tests::review3_revoked_resume_must_not_welcome ... ok
test auth::tests::review3_tests::review3_unwrap_cannot_be_skipped ... ok
test auth::tests::review3_tests::review3_waiting_handshake_loses_authority ... ok
test auth::tests::review3_tests::review4_open_reply_and_revocation_preserve_authority ... ok
test auth::tests::review_invalid_device_polling_exhausts_browser_budget ... ok
test auth::tests::review_old_words_race_rotation ... ok
test auth::tests::reviewer_tests::reviewer_disk_cancel_complete_races ... ok
test auth::tests::reviewer_tests::reviewer_disk_restart_and_concurrent_resume ... ok
test auth::tests::setup_check_is_non_consuming_and_closes_after_owner_creation ... ok
test auth::tests::setup_identity_validation_and_uniqueness ... ok
test auth::tests::reviewer_tests::reviewer_http_denials_and_recovery_admission has been running for over 60 seconds
test auth::tests::reviewer_tests::reviewer_http_expired_capability_cannot_complete_after_writer_wait has been running for over 60 seconds
test auth::tests::reviewer_tests::reviewer_http_expired_ceremony_cannot_complete_after_writer_wait has been running for over 60 seconds
test auth::tests::reviewer_tests::reviewer_server_clock_rollback_retains_deadline_and_reports_more_than_day has been running for over 60 seconds
test auth::tests::rotation_tests::recovery_phrase_routes_are_removed_and_words_fail_closed has been running for over 60 seconds
test auth::tests::rotation_tests::recovery_rotation_cannot_follow_a_cookie_account_switch has been running for over 60 seconds
test auth::tests::rotation_tests::recovery_rotation_denies_pending_expired_and_stale_sessions has been running for over 60 seconds
test auth::tests::reviewer_tests::reviewer_http_denials_and_recovery_admission ... ok
test auth::tests::setup_start_accepts_username_and_display_name ... ok
test auth::tests::rotation_tests::recovery_rotation_requires_session_and_replaces_legacy_envelope has been running for over 60 seconds
test auth::tests::rotation_tests::reviewer_concurrent_signed_in_rotations_commit_once has been running for over 60 seconds
test auth::tests::reviewer_tests::reviewer_http_expired_capability_cannot_complete_after_writer_wait ... ok
test auth::tests::socket_tests::authority_stall_soak::authority_fast_read_echo_rtt ... ignored, measurement for #240; run explicitly on the perf VM
test auth::tests::socket_tests::authority_stall_soak::authority_stall_soak ... ignored, measurement for #240; run explicitly on the perf VM
test auth::tests::server_setup_terminal_echo_and_resume_preserve_offsets_once has been running for over 60 seconds
test auth::tests::reviewer_tests::reviewer_http_expired_ceremony_cannot_complete_after_writer_wait ... ok
test auth::tests::reviewer_tests::reviewer_server_clock_rollback_retains_deadline_and_reports_more_than_day ... ok
test auth::tests::rotation_tests::recovery_phrase_routes_are_removed_and_words_fail_closed ... ok
test auth::tests::rotation_tests::recovery_rotation_cannot_follow_a_cookie_account_switch ... ok
test auth::tests::rotation_tests::recovery_rotation_denies_pending_expired_and_stale_sessions ... ok
test auth::tests::rotation_tests::recovery_rotation_requires_session_and_replaces_legacy_envelope ... ok
test auth::tests::rotation_tests::reviewer_concurrent_signed_in_rotations_commit_once ... ok
test auth::tests::server_setup_terminal_echo_and_resume_preserve_offsets_once ... ok
test auth::tests::sessions_slide_but_fresh_tap_does_not_and_device_keys_are_scoped ... ok
test auth::tests::setup_restart_rotation_expiry_and_parallel_redemption ... ok
test auth::tests::socket_tests::authenticated_idle_socket_survives_the_former_read_timeout ... ok
test auth::tests::socket_tests::claude_review_visible_liveness::claude_review_watch_expires_host_made_visible_by_membership_edit ... ok
test auth::tests::socket_tests::clean_control_close_is_not_an_internal_error ... ok
test auth::tests::socket_tests::close_logging::agent_stream_loss_logs_its_safe_close_reason_and_reaches_the_browser ... ok
test auth::tests::socket_tests::mesh_latency::mesh_snapshot_keystroke_latency_at_10000_nodes ... ignored, weighted real-binary 300 ms Mesh/PTY measurement
test auth::tests::socket_tests::close_logging::authority_read_timeout_during_a_frame_logs_authority_unavailable ... ok
test auth::tests::socket_tests::close_logging::browser_websocket_close_logs_its_code_and_safe_reason_for_attached_sessions ... ok
test auth::tests::socket_tests::close_logging::failed_client_resume_attempt_logs_each_retained_session ... ok
test auth::tests::socket_tests::plugin_lifecycle::mesh_destructive_metadata_matches_frozen_confirmation_requirements ... ok
test auth::tests::socket_tests::close_logging::rootless_attach_without_a_live_peer_logs_the_host_and_keeps_the_socket_up ... ok
test auth::tests::socket_tests::close_logging::session_lookup_store_error_logs_authority_unavailable ... ok
test auth::tests::socket_tests::plugin_lifecycle::plugin_exchange_correlates_results_after_subscription_events ... ok
test auth::tests::socket_tests::expired_handshake_releases_user_permits ... ok
test auth::tests::socket_tests::fragmented_wire_frame_has_a_completion_deadline ... ok
test auth::tests::socket_tests::fresh_delete::review_mesh_delete_requires_fresh_passkey_tap ... ok
test auth::tests::socket_tests::half_open_sockets_obey_user_limit ... ok
test auth::tests::socket_tests::incomplete_rfc_message_still_loses_authority_on_revocation ... ok
test auth::tests::socket_tests::mesh_calls_and_subscriptions_deliver_scoped_live_inventory ... ok
test auth::tests::socket_tests::non_owner_without_host_configure_permission_is_refused_before_leg_b ... ok
test auth::tests::socket_tests::plugin_lifecycle::disabling_mesh_joins_pending_writer_and_refuses_nonowner_switches ... ok
test auth::tests::socket_tests::plugin_lifecycle::mesh_coordinator_requires_an_existing_server_role ... ok
test auth::tests::socket_tests::plugin_lifecycle::mesh_lifecycle_withdrawals_survive_calls_but_never_end_a_replacement ... ok
test auth::tests::socket_tests::plugin_lifecycle::mesh_plugin_discovery_disable_and_restart_preserve_control_socket ... ok
test auth::tests::socket_tests::recovery_subscription_updates_every_signed_in_socket ... ok
test auth::tests::socket_tests::restart_open_liveness_review::responsive_socket_survives_a_held_terminal_open_with_an_existing_attachment ... ok
test auth::tests::socket_tests::review_authority_retry::renewing_retries_do_not_drain_the_pool_during_a_write_stall ... ok
test auth::tests::socket_tests::review_input_credit::pending_browser_input_counts_against_slots_and_cancels_on_drop ... ok
test auth::tests::socket_tests::review_input_credit::pending_browser_input_has_a_wire_byte_bound ... ok
test auth::tests::socket_tests::review_authority_retry::session_expiring_during_the_wait_is_not_revived_or_served ... ok
test auth::tests::socket_tests::review_close_log::attaches_to_unowned_session_ids_cannot_flood_the_close_log ... ok
test auth::tests::socket_tests::review_control::pending_mesh_writers_preserve_authority_pool_capacity ... ok
test auth::tests::socket_tests::review_control::review_pending_mesh_write_keeps_control_dispatch_available ... ok
test auth::tests::socket_tests::review_fresh_wait::review_mesh_delete_refused_when_freshness_expires_during_writer_wait ... ok
test auth::tests::socket_tests::review_input_credit::browser_input_overload_retires_only_the_terminal_stream ... ok
test auth::tests::socket_tests::review_input_credit::browser_output_credit_refusal_logs_the_stream_reason ... ok
test auth::tests::socket_tests::review_input_credit::idle_browser_probes_do_not_renew_or_poll_session_authority ... ok
test auth::tests::socket_tests::review_input_credit::idle_probe_authority_cancels_waiting_write_on_committed_revocation ... ok
test auth::tests::socket_tests::socket_authority_latency_at_user_capacity ... ignored, release-only measurement without concurrent compilation
test auth::tests::socket_tests::review_input_credit::idle_probe_authority_refreshes_expiry_after_authorized_activity ... ok
test auth::tests::socket_tests::review_input_credit::idle_server_probes_do_not_renew_session_authority ... ok
test auth::tests::socket_tests::review_input_credit::review_full_input_writer_preserves_browser_control_progress ... ok
test auth::tests::socket_tests::review_liveness::review_mesh_watch_reports_liveness_expiry_without_another_edit ... ok
test auth::tests::socket_tests::review_subscription_refusal::oversized_refusal_cannot_reinstall_a_queued_mesh_subscription ... ok
test auth::tests::socket_tests::review_subscription_refusal::review_oversized_replacement_ends_the_previous_mesh_subscription ... ok
test auth::tests::socket_tests::review_subscription_refusal::saturated_refusal_cannot_reinstall_a_queued_mesh_subscription ... ok
test auth::tests::socket_tests::revoked_idle_socket_loses_all_authority ... ok
test auth::tests::socket_tests::scale::review_mesh_headroom_snapshot_does_not_close_shared_socket has been running for over 60 seconds
test auth::tests::socket_tests::session_gone::an_ended_or_unknown_session_gets_the_final_close_without_losing_the_socket has been running for over 60 seconds
test auth::tests::socket_tests::session_gone::the_infraternal_agent_saying_gone_reaches_the_browser_as_the_final_close has been running for over 60 seconds
test auth::tests::socket_tests::terminal_exit::retired_exit_preserves_status_without_claiming_final_output_delivery has been running for over 60 seconds
test auth::tests::socket_tests::terminal_exit::terminal_exit_persists_once_under_current_ownership_and_session has been running for over 60 seconds
test auth::tests::socket_tests::transient_authority_stall::authority_read_stall_beyond_the_wait_still_fails_closed has been running for over 60 seconds
test auth::tests::socket_tests::transient_authority_stall::authority_read_stall_shorter_than_the_wait_keeps_the_socket_and_its_order has been running for over 60 seconds
test auth::tests::socket_tests::transient_authority_stall::teardown_does_not_renew_the_session has been running for over 60 seconds
test auth::tests::socket_tests::scale::review_mesh_headroom_snapshot_does_not_close_shared_socket ... ok
test auth::tests::socket_tests::session_gone::an_ended_or_unknown_session_gets_the_final_close_without_losing_the_socket ... ok
test auth::tests::socket_tests::session_gone::the_infraternal_agent_saying_gone_reaches_the_browser_as_the_final_close ... ok
test auth::tests::socket_tests::terminal_exit::retired_exit_preserves_status_without_claiming_final_output_delivery ... ok
test auth::tests::socket_tests::transient_authority_stall::teardown_with_a_busy_store_does_not_wait_for_authority has been running for over 60 seconds
test auth::tests::verified_passkey_tests::canceled_proof_before_writer_admission_leaves_no_new_session_or_pending_ceremony ... ok
test auth::tests::socket_tests::terminal_exit::terminal_exit_persists_once_under_current_ownership_and_session ... ok
test auth::tests::socket_tests::transient_authority_stall::terminal_stream_survives_authority_stalls_without_loss_or_reorder has been running for over 60 seconds
test auth::tests::verified_passkey_tests::proof_only_ceremony_expiring_during_writer_wait_cannot_commit_a_counter_or_session ... ok
test auth::tests::verified_passkey_tests::proof_only_verification_preserves_monotone_registered_credential_counter ... ok
test auth::tests::verified_passkey_tests::verified_passkey_has_live_registered_identity_and_creates_no_session ... ok
test auth::tests::stale_counters_recovery_cancellation_and_wrap_tampering has been running for over 60 seconds
test auth::tests::verified_passkey_tests::proof_only_verification_refuses_missing_uv_or_deleted_credential ... ok
test auth::tests::socket_tests::transient_authority_stall::authority_read_stall_beyond_the_wait_still_fails_closed ... ok
test auth::tests::terminal_refusal_tests::memory_refusal_preserves_reason_and_counters_to_browser has been running for over 60 seconds
test auth::tests::socket_tests::transient_authority_stall::authority_read_stall_shorter_than_the_wait_keeps_the_socket_and_its_order ... ok
test auth::tests::socket_tests::transient_authority_stall::teardown_does_not_renew_the_session ... ok
test auth::tests::socket_tests::transient_authority_stall::teardown_with_a_busy_store_does_not_wait_for_authority ... ok
test auth::tests::socket_tests::transient_authority_stall::terminal_stream_survives_authority_stalls_without_loss_or_reorder ... ok
test auth::tests::stale_counters_recovery_cancellation_and_wrap_tampering ... ok
test auth::tests::terminal_refusal_tests::memory_refusal_preserves_reason_and_counters_to_browser ... ok
test auth::tests::tls_tests::proxy_tls_registration_session_split_cookies ... ok
test auth::tests::tls_tests::standalone_tls_registration_session_split_cookies ... ok
test bootstrap_api::tests::a_client_request_during_a_pending_confirmation_keeps_the_batch ... ok
test bootstrap_api::tests::admission_stream_is_ordered_and_logout_retires_an_idle_socket ... ok
test bootstrap_api::tests::component_off_interrupts_a_stalled_host_key_confirmation_lookup ... ok
test bootstrap_api::tests::start_fresh_request_is_bound_to_a_target_and_public_challenge ... ok
test bootstrap_runtime::failure_log_tests::one_line_contains_only_classified_public_coordinates ... ok
test bootstrap_runtime::failure_log_tests::start_fresh_logs_only_the_exact_public_ownership_journal_and_outcome ... ok
test bootstrap_api::tests::component_off_interrupts_a_stalled_progress_send ... ok
test bootstrap_runtime::remote_backend::admission_tests::installed_admission_waits_for_the_active_route ... ok
test bootstrap_runtime::remote_backend::canary_tests::cancellation_keeps_the_owned_session_available_for_cleanup ... ok
test bootstrap_runtime::remote_backend::canary_tests::failed_attachment_finishes_the_private_command ... ok
test bootstrap_runtime::remote_backend::canary_tests::private_writers_reserve_the_browser_allocator_without_publishing_sessions ... ok
test bootstrap_runtime::remote_backend::canary_tests::readiness_accepts_authoritative_snapshot_output ... ok
test bootstrap_runtime::remote_backend::canary_tests::readiness_accepts_primary_exit_without_reattaching_to_a_retired_session ... ok
test bootstrap_runtime::remote_backend::canary_tests::readiness_input_preserves_the_terminal_actor_and_host_connection ... ok
test bootstrap_runtime::remote_backend::tests::already_added_breakit::a_non_owner_session_never_learns_the_owners_host_id ... ok
test bootstrap_runtime::remote_backend::tests::already_added_breakit::a_revoked_host_never_names_its_id ... ok
test bootstrap_runtime::remote_backend::tests::already_added_breakit::the_typed_address_decides_which_host_is_named_when_two_match ... ok
test bootstrap_runtime::remote_backend::tests::automatic_cleanup_requires_the_exact_failed_server_host_binding ... ok
test bootstrap_api::tests::component_off_retires_idle_sockets_and_refuses_new_admission ... ok
test bootstrap_runtime::remote_backend::tests::breakit2_live::breakit2_live_ssh_install_join_and_terminal ... ignored, #169 live disposable Docker target; invoke docs/verification/addhost-breakit2/measure.py
test bootstrap_runtime::remote_backend::tests::breakit2_live::compound_retry_fixture_reaches_install_boundary ... ok
test bootstrap_runtime::remote_backend::tests::breakit2_concurrent_same_destination_issues_only_one_invitation ... ok
test bootstrap_runtime::remote_backend::tests::breakit2_live::live_fixture_keeps_the_full_image_and_selects_the_explicit_session_image ... ok
test bootstrap_runtime::remote_backend::tests::breakit2_live::provisioning_https_uses_production_tcp_admission ... ok
test bootstrap_runtime::remote_backend::tests::breakit2_live::live_fixture_keeps_authority_after_connection_retirement ... ok
test bootstrap_runtime::remote_backend::tests::breakit2_unpublished_invitation_retires_durable_authority ... ok
test bootstrap_runtime::remote_backend::tests::cancelled_invitation_after_commit_retires_its_host_record ... ok
test bootstrap_runtime::remote_backend::tests::destination_reservation_admission_at_1600_pending_hosts ... ignored, #169 local bounded-journal scale evidence under CPUWeight scope
test bootstrap_runtime::remote_backend::tests::cold_ca_refuses_before_invitation_or_upload ... ok
test bootstrap_runtime::remote_backend::tests::failed_upload_retires_only_the_new_host ... ok
test bootstrap_runtime::remote_backend::tests::readding_a_live_host_reports_already_added_before_issuing_a_certificate ... ok
test bootstrap_runtime::remote_backend::tests::foreign_or_revoked_authority_never_opens_ssh ... ok
test bootstrap_api::tests::control_frames_do_not_cancel_bootstrap_or_starve_progress ... ok
test bootstrap_runtime::remote_backend::tests::unpublished_attempt_drop_releases_only_its_ownership ... ok
test bootstrap_runtime::tests::pending_integration_refuses_enrollment_vault_and_discovery ... ok
test ca::tests::signed_identity_has_only_server_constructed_host_authority_and_seven_days ... ok
test ca::tests::signing_boundary_at_1000_public_identities ... ignored, explicit signing-boundary diagnostic; not live renewal or connected-agent RSS
test ca::tests::source_mismatch_locked_and_uncovered_validity_fail_closed ... ok
test ca::wrapping::tests::bounded_decoder_rejects_duplicate_unknown_fields_and_exact_oversize ... ok
test ca::wrapping::tests::ciphertext_nonce_salt_and_issuer_tampering_fail_authenticated_decryption ... ok
test ca::wrapping::tests::creation_rejects_unbound_membership_and_malformed_copies_cannot_open ... ok
test ca::wrapping::tests::encrypted_copy_cost_at_1000_administrators ... ignored, optimized CA copy diagnostic; no own builds/browser overlap
test ca::wrapping::tests::invalid_issuer_key_binding_is_refused_before_a_copy_is_persisted ... ok
test ca::wrapping::tests::wrapped_seed_roundtrip_validates_the_same_issuer_key ... ok
test ca::wrapping::tests::wrong_key_member_epoch_or_issuer_cannot_unwrap_a_copy ... ok
test ca_bootstrap::tests::generated_remote_leaf_is_verifiable_after_cold_restart ... ok
test ca_copies::tests::copy_store_cost_at_1000_administrators ... ignored, release-only private CA-copy disk diagnostic; no own build/browser overlap
test ca_copies::tests::encrypted_copy_is_private_durable_and_bound_to_member_generation ... ok
test ca_copies::tests::removal_is_member_generation_scoped_and_idempotent ... ok
test ca_copies::tests::unsafe_copy_directory_or_file_is_refused_without_following_symlinks ... ok
test ca_handoff::shipping_tests::browser_client::tests::probes_are_answered_without_assertion_reads_and_drop_closes_the_socket ... ok
test ca_handoff::shipping_tests::shipping_child ... ok
test ca_handoff::shipping_tests::shipping_restart_reload_rollback_and_cold_start ... ignored, explicit shipping-binary integration/benchmark; set INFRATERNAL_TEST_BINARY
test ca_handoff::tests::exec_child ... ok
test ca_handoff::tests::failed_null_open_or_duplication_closes_private_stdin ... ok
test bootstrap_api::tests::host_key_confirmation_rechecks_the_exact_live_owner_capability ... ok
test ca_handoff::tests::real_exec_failures_and_killed_receiver_never_unlock_a_cold_successor ... ok
test ca_handoff::tests::real_exec_retains_unlock_but_another_process_cannot_import_the_channel ... ok
test ca_handoff::tests::serialized_seed_frame_is_locked_and_excluded_from_core_dumps ... ok
test ca_handoff::tests::socketpair_preserves_unlock_and_cold_start_still_locks ... ok
test ca_handoff::tests::truncated_wrong_generation_and_wrong_version_leave_successor_locked ... ok
test ca_handoff_binary::tests::marker_is_an_exact_versioned_note_not_a_byte_substring ... ok
test ca_http::intake_tests::chunked_intake_is_bounded_before_parsing ... ok
test ca_memory::tests::accepted_unlock_notifies_and_memory_handoff_preserves_signing_without_a_timer ... ok
test ca_memory::tests::cold_start_retains_public_trust_and_denied_unlock_leaves_signing_locked ... ok
test ca_memory::tests::unavailable_secure_heap_refuses_root_and_warns_for_nonroot ... ok
test ca_handoff::tests::parser_property_corpus_is_bounded_and_never_accepts_trailing_bytes ... ok
test ca_update_audit_tests::handoff_descriptor_is_close_on_exec_and_prepare_failure_preserves_source ... ok
test ca_update_audit_tests::every_ciphertext_byte_and_tag_mutation_refuses_without_material_in_errors ... ok
test ca_update_audit_tests::handoff_memory_protection_failure_keeps_the_existing_signer ... ok
test ca_update_audit_tests::secure_heap_capacity_at_10000_live_keys ... ignored, isolated secure heap sizing at 10000 live keys; run with no own builds/browser overlap
test ca_update_audit_tests::unlocked_signer_requires_persistent_locked_pages ... ok
test csr::tests::incomplete_suffix_oversized_forged_and_wrong_algorithm_requests_are_refused ... ok
test csr::tests::nonminimal_outer_lengths_and_real_oversized_requests_are_refused ... ok
test csr::tests::signed_cached_noncanonical_or_incomplete_shapes_are_refused ... ok
test csr::tests::signed_constructed_primitive_attribute_is_refused ... ok
test csr::tests::signed_noncanonical_ignored_values_are_refused ... ok
test csr::tests::verified_host_key_is_admitted_without_trusting_requested_identity ... ok
test embedded::exit_latency_tests::shim_sigkill_to_server_inventory_latency ... ignored, real daemon artifact and 200 shim exits; run with INFRATERNAL_BIN in a weighted scope
test embedded::priming::flights::tests::queued_sibling_failure_stays_owned_until_the_actor_observes_it ... ok
test embedded::priming::flights::tests::stop_preserves_finished_success_and_identifies_unpolled_cancellation ... ok
test ca_update_audit_tests::no_timer_locks_signing_and_wrong_issuer_cannot_replace_the_unlocked_source ... ok
test embedded::priming::header_tests::blocked_promotion_header_does_not_stop_actor_control_progress ... ok
test embedded::priming::header_tests::promoted_owned_attach_opens_a_missing_native_writer_binding ... ok
test embedded::priming::tests::abandoned_preparation_cancels_even_before_the_owned_task_first_polls ... ok
test embedded::priming::tests::flow_control_blocked_shadow_does_not_stop_actor_control_progress ... ok
test embedded::priming::tests::later_input_is_hedged_without_resending_the_first_suffix ... ok
test embedded::priming::tests::overlap_and_stale_snapshot_do_not_spend_browser_credit ... ok
test embedded::priming::header_tests::promotion_never_publishes_an_unstarted_shadow_flight_as_credited ... ok
test embedded::priming::tests::snapshot_notice_precedes_repaint_and_duplicates_spend_no_browser_credit ... ok
test embedded::priming::tests::stream_reuse_waits_for_the_retired_flight_to_join ... ok
test embedded::regressions::actor_batch_probes_every_ready_route_without_payload_notifications ... ok
test embedded::regressions::agent_link_loss_invalidates_the_last_live_session_snapshot ... ok
test embedded::regressions::child_spawn_disposes_inherited_stdin ... ok
test embedded::priming::tests::shadow_input_and_snapshot_credit_have_independent_bounded_windows ... ok
test embedded::regressions::credited_bulk_output_survives_forwarder_io_pause ... ok
test embedded::regressions::credited_output_queue_at_stream_capacity ... ignored, debug actor memory/scheduling measurement; run without concurrent builds
test embedded::regressions::expired_route_retires_full_consumer ... ok
test embedded::regressions::expired_route_waits_for_browser_authority_before_rebind ... ok
test embedded::regressions::full_output_queue_must_not_block_shared_actor ... ok
test embedded::regressions::greeted_links_that_die_young_escalate_the_actor_retry_delay ... ok
test embedded::regressions::credit_tests::retained_input_credit_parks_only_the_full_writer_until_its_ack ... ok
test embedded::regressions::healthy_receiver_survives_ready_native_output_burst ... ok
test bootstrap_api::tests::logout_interrupts_a_stalled_host_key_confirmation_lookup ... ok
test embedded::regressions::idle_route_proofs_do_not_queue_payload_notifications_at_capacity ... ok
test embedded::regressions::liveness_doubt_breakit_r2_tests::a_pinned_dead_host_retires_within_two_ceilings_without_doubt ... ok
test embedded::regressions::liveness_doubt_breakit_r2_tests::a_window_that_reconnects_mid_doubt_is_told_and_recovered ... ok
test embedded::regressions::liveness_doubt_breakit_r2_tests::doubt_retry_sends_one_notice_per_window_per_episode ... ok
test embedded::regressions::liveness_doubt_breakit_tests::a_window_full_at_doubt_start_is_told_on_a_later_tick ... ok
test embedded::regressions::liveness_doubt_breakit_tests::doubt_and_retire_times_per_rtt ... ok
test embedded::regressions::liveness_doubt_breakit_tests::inflated_host_link_still_retires_a_dead_host_within_four_seconds ... ok
test embedded::regressions::liveness_doubt_breakit_tests::queued_path_at_the_ceiling_does_not_flap_doubt_every_probe ... ok
test bootstrap_api::tests::origin_owner_unlock_and_whole_request_consent_are_required ... ok
test embedded::regressions::native_input_retention_leaves_terminal_probes_to_the_route ... ok
test embedded::regressions::output_and_snapshot_spend_remaining_restart_credit ... ok
test embedded::regressions::path_tests::full_ack_releases_retention_and_duplicate_input_is_not_replayed ... ok
test embedded::regressions::path_tests::full_retention_replays_as_legal_frames_with_contiguous_offsets ... ok
test embedded::regressions::path_tests::initial_attachment_keeps_input_cut_through_before_its_first_ack ... ok
test embedded::regressions::path_tests::input_retention_cost_at_200_terminals ... ignored, Run alone on the perf VM under the shared benchmark lock.
test embedded::regressions::path_tests::input_retention_refuses_excess_before_advancing_the_cursor ... ok
test embedded::regressions::path_tests::replacement_replays_only_the_unacknowledged_suffix_and_queued_input ... ok
test embedded::regressions::path_tests::review_pending_input_limit_retires_only_its_attachment ... ok
test embedded::regressions::plugin_control_notice_preserves_capability_invalidation ... ok
test embedded::regressions::real_agent_canonical_uuid_result_is_accepted ... ok
test embedded::regressions::real_agent_open_uses_uid_and_character_dimensions ... ok
test embedded::regressions::reattach_must_restore_output_credit ... ok
test embedded::regressions::recovered_route_ignores_stale_browser_rebind ... ok
test embedded::regressions::recovery_event_then_snapshot_keeps_embedded_connection_live ... ok
test embedded::regressions::recovery_notices_preserve_order_credit_and_session_isolation ... ok
test embedded::regressions::replay_complete_notice_is_accepted_by_embedded_server ... ok
test embedded::regressions::resumed_writer_closes_previous_route_before_shared_stream_reuse ... ok
test embedded::regressions::resumed_writer_for_other_session_preserves_live_route ... ok
test embedded::regressions::saturated_control_pong_does_not_retire_connection ... ok
test embedded::regressions::healthy_streams_progress_at_user_attachment_capacity ... ok
test embedded::regressions::stream_close_must_not_restart_all_sessions ... ok
test embedded::regressions::uncredited_output_or_repaint_is_rejected_before_queueing ... ok
test embedded::regressions::server_reload_mask_is_not_inherited_by_embedded_children ... ok
test embedded::writes::tests::bounded_lane_metadata_and_flight_sizes ... ok
test embedded::writes::tests::cached_promotion_ack_never_replays_inside_the_actor ... ok
test embedded::writes::tests::enabling_owned_writes_preserves_unsent_replacement_input ... ok
test embedded::writes::tests::full_control_lane_keeps_all_terminal_owner_slots_available ... ok
test embedded::writes::tests::promotion_headers_preserve_attach_credit_ack_input_order ... ok
test embedded::writes::tests::saturated_control_queue_preserves_fifo_and_shutdown_owns_flights ... ok
test embedded::writes::tests::socket_completion_cannot_spend_unacknowledged_writer_credit ... ok
test enrollment::authority::tests::admission_uses_enrolled_uid_and_exact_public_identity_validity ... ok
test enrollment::authority::tests::renewal_preserves_overlap_and_refuses_changed_key_or_expired_predecessor ... ok
test enrollment::authority::tests::revocation_is_owner_bound_and_denies_admission_and_renewal_after_commit ... ok
test enrollment::bootstrap_retirement::ownership_regression::retirement_requires_an_unfinished_intent ... ok
test enrollment::bootstrap_retirement::tests::proven_completion_is_owner_bound_and_survives_restart ... ok
test enrollment::bootstrap_retirement::tests::retirement_consumes_only_its_owned_intent_with_the_tombstone ... ok
test enrollment::bootstrap_retirement::tests::startup_preserves_a_published_live_session_and_its_setup_intent ... ok
test enrollment::bootstrap_retirement::tests::startup_retires_only_unfinished_provisioning_and_is_idempotent ... ok
test enrollment::migration_tests::remote_identity_and_sessions_upgrade_dev_v11_and_remain_idempotent ... ok
test liveness::tests::a_doubt_recovered_at_the_ceiling_pins_until_the_path_drains ... ok
test liveness::tests::a_recovered_doubt_below_the_ceiling_keeps_early_notice ... ok
test liveness::tests::a_reply_during_doubt_clears_it_and_renews_the_route ... ok
test liveness::tests::an_unanswered_host_link_retires_at_the_startup_grace_without_doubt ... ok
test liveness::tests::delayed_server_probe_does_not_expire_an_answered_route ... ok
test liveness::tests::healthy_reply_survives_a_150ms_server_stall ... ok
test liveness::tests::host_allowance_covers_one_loss_recovery_and_browser_routes_keep_theirs ... ok
test liveness::tests::host_allowance_has_a_floor_a_settled_long_haul_value_and_a_ceiling ... ok
test liveness::tests::host_link_doubts_on_the_first_miss_and_retires_on_the_second ... ok
test liveness::tests::jitter_allowance_decays_after_the_link_settles ... ok
test liveness::tests::late_native_probe_keeps_its_unissued_reply_allowance ... ok
test liveness::tests::missing_replies_expire_even_with_probes_in_flight ... ok
test liveness::tests::pipelined_requests_do_not_renew_an_outstanding_deadline ... ok
test liveness::tests::quiet_dead_peer_expires_within_floor_plus_one_interval ... ok
test liveness::tests::ready_reply_only_pulls_forward_an_answered_probe_after_one_tick ... ok
test liveness::tests::recent_application_progress_preserves_the_first_tick_cadence ... ok
test liveness::tests::restarting_monitoring_never_reuses_an_old_issued_probe ... ok
test liveness::tests::serial_probe_accepts_a_timely_rtt_step_without_renewing_unsolicited_replies ... ok
test liveness::tests::serial_probe_deadline_includes_only_one_gap_and_the_estimated_allowance ... ok
test liveness::tests::terminal_routes_still_end_their_lease_on_the_first_miss ... ok
test liveness::tests::variation_uses_the_previous_smoothed_sample ... ok
test embedded::regressions::liveness_doubt_breakit_tests::retired_doubt_never_confirms_a_replacement_link_mid_replay ... ok
test bootstrap_api::tests::revocation_interrupts_a_stalled_progress_send ... ok
test mesh_api_tests::claude_review::claude_review_late_committing_observation_does_not_rewind_last_seen ... ok
test embedded::regressions::half_open_infraternal_agent_route_loses_inventory_without_eof ... ok
test mesh_api_tests::identity::identity_migration_preserves_inventory_and_retired_audit_ids ... ok
test bootstrap_api::tests::settings_public_key_requires_exact_origin_and_live_unlocked_owner ... ok
test mesh_api_tests::claude_review::claude_review_scoped_grant_cannot_target_node_in_unscoped_tag ... ok
test mesh_api_tests::concurrent_tag_edits_serialize_revisions_and_unique_names ... ok
test mesh_api_tests::identity::review_deleted_node_identity_is_not_reused ... ok
test mesh_api_tests::identity::retired_identity_survives_database_reopen_and_exhaustion_is_atomic ... ok
test embedded::regressions::unresponsive_child_is_killed_and_reaped_within_the_shutdown_bound ... ok
test mesh_api_tests::mesh_api_scale_benchmark ... ignored, scale measurement; run on infraternal-dev under the weighted user scope
test mesh_api_tests::invalidation::filtered_view_invalidations_follow_every_affected_host_tag ... ok
test mesh_api_tests::invalidation::review_membership_change_notifies_other_visible_tag ... ok
test mesh_api_tests::parser_rejects_unknown_fields_user_endpoints_and_invalid_bounds ... ok
test bootstrap_api::tests::setup_status_tests::late_setup_subscriber_receives_failure_and_retry_completion ... ok
test mesh_api_tests::inventory_lifecycle_preserves_policy_identity_and_audits_every_edit ... ok
test mesh_api_tests::membership::review_scoped_membership_cannot_claim_hidden_node ... ok
test bootstrap_api::tests::setup_status_tests::setup_replay_outlives_its_socket_and_logout_retires_delivery ... ok
test mesh_api_tests::membership::scoped_membership_checks_pre_edit_host_scope ... ok
test mesh_api_tests::shared_mesh_vectors_cover_each_production_action_and_wire_shape ... ok
test mesh_api_tests::pagination::continuation_restarts_on_change_and_rechecks_permissions ... ok
test bootstrap_runtime::remote_backend::tests::review_cleanup::review_cancelled_committed_invitation_survives_temporary_writer_contention ... ok
test bootstrap_runtime::remote_backend::tests::retirement_contention::cancelled_invitation_retires_after_sqlite_busy_timeout ... ok
test mesh_api_tests::review_filtered::review_global_viewers_do_not_refresh_unrelated_filtered_inventory ... ok
test mesh_api_tests::review_null_policy::review_null_port_policy_does_not_create_unrestricted_grant ... ok
test mesh_api_tests::pagination::an_unsendable_object_returns_a_sanitized_service_error ... ok
test mesh_api_tests::review_null_scope::review_null_role_scopes_preserve_denied_inventory_access ... ok
test mesh_api_tests::storage_diagnostics::changed_storage_failure_reports_the_previous_count ... ok
test mesh_api_tests::storage_diagnostics::coordinator_clones_share_failure_counts_and_report_recovery ... ok
test mesh_api_tests::storage_diagnostics::coordinator_loading_preserves_missing_server_and_sql_reasons ... ok
test mesh_api_tests::storage_diagnostics::invalid_stored_column_is_skipped_without_panicking ... ok
test mesh_api_tests::storage_diagnostics::invalid_stored_host_is_reported_once_by_id ... ok
test mesh_api_tests::storage_diagnostics::coordinator_stored_column_refuses_without_panic_and_recovers_after_repair ... ok
test bootstrap_api::tests::split_cookie_fields_preserve_bootstrap_owner_authority ... ok
test mesh_api_tests::watch_deadline::watch_deadline_scale_benchmark ... ignored, weighted local scale measurement; run optimized without concurrent compilation
test plugins::node_lifecycle::tests::disabling_replacement_and_retirement_join_the_correct_node_worker ... ok
test release_build_tests::release_build_marker_is_explicit ... ok
test mesh_api_tests::scoped_grant_role_filters_inventory_and_cannot_cross_tags ... ok
test release_http::tests::bounded_body_status_and_existing_destination_are_refused ... ok
test release_http::tests::https_cannot_silently_accept_a_plaintext_bucket ... ok
test release_latest::tests::bench_bounded_metadata_verification ... ignored, local weighted-scope verification latency benchmark
test release_latest::tests::bench_latest_fifty_callers ... ignored, local weighted-scope 50-caller real-engine RSS measurement
test release_http::tests::unsupported_scheme_credentials_query_and_fragment_never_connect ... ok
test release_latest::tests::edge_pointer_is_verified_in_its_own_channel ... ok
test release_latest::tests::stable_empty_reports_opt_in_without_edge_request ... ok
test release_manifest::tests::noncanonical_or_cross_channel_identity_is_refused ... ok
test release_manifest::tests::signed_identity_and_exact_bytes_are_required ... ok
test mesh_api_tests::storage_diagnostics::malformed_host_keeps_healthy_inventory_readable ... ok
test release_payload::tests::a_missing_payload_never_enables_development_fallback ... ok
test release_latest::tests::pointer_authenticates_signed_version_and_refuses_replays_tampering_and_duplicates ... ok
test release_payload::tests::a_valid_older_release_replayed_under_the_requested_version_is_refused ... ok
test release_payload::tests::cache_symlinks_and_shared_files_are_refused ... ok
test release_payload::tests::cross_architecture_cold_and_warm_cache_measurements ... ignored, run release-profile measurements in a weighted scope
test release_payload::tests::concurrent_session_requests_publish_one_verified_artifact ... ok
test release_payload::tests::dangling_session_cache_symlink_is_refused_without_publication ... ok
test release_payload::tests::development_session_fallback_only_uses_trusted_local_artifacts_for_missing_release ... ok
test release_payload::tests::advertised_session_missing_digest_or_signature_never_falls_back ... ok
test release_payload::tests::edge_add_host_keeps_exact_server_version_and_verified_cache ... ok
test release_payload::tests::partial_download_restart_child ... ignored, subprocess helper for release-cache restart verification
test release_payload::tests::eight_concurrent_add_hosts_share_one_verified_download ... ok
test release_payload::tests::refused_session_release_never_uses_development_fallback ... ok
test release_payload::tests::resolver_startup_removes_only_owned_inactive_private_staging ... ok
test release_payload::tests::missing_wrong_version_tampered_network_and_development_only_fallback ... ok
test mesh_api_tests::storage_diagnostics::malformed_unrelated_host_preserves_scoped_inventory ... ok
test release_payload::tests::session_staging_cleanup_preserves_active_and_unknown_files ... ok
test mesh_api_tests::storage_diagnostics::settings_storage_failure_has_a_safe_original_reason ... ok
test release_payload::tests::signed_download_cache_hit_offline_and_tampered_cache ... ok
test release_payload::tests::session_payloads_are_signed_on_both_architectures_and_reused_offline ... ok
test release_verify::tests::compiled_authorities_keep_production_and_isolate_staging ... ok
test release_payload::tests::session_cache_refuses_shared_payloads_symlinks_and_unsafe_absence ... ok
test release_verify::tests::per_run_signature_obeys_the_compiled_feature_boundary ... ok
test mesh_api_tests::storage_diagnostics::unrelated_success_does_not_reset_a_persistent_write_failure ... ok
test release_verify::tests::verification_twenty_megabytes_fifty_runs ... ignored, run release-profile measurements in a weighted scope
test remote_accept::tests::anonymous_capacity_and_single_source_cannot_consume_known_reserve ... ok
test mesh_api_tests::storage_diagnostics::repeated_storage_failure_has_bounded_diagnostics ... ok
test remote_admission::tests::source_admission_cost_at_1000_sources ... ignored, optimized source admission diagnostic; no own build overlap
test release_payload::tests::signed_session_absence_is_cached_and_reauthenticated_offline ... ok
test remote_admission::tests::ports_do_not_change_source_capacity_and_mapped_addresses_share_it ... ok
test release_payload::tests::restarted_resolution_reclaims_partial_downloads_after_process_stop ... ok
test remote_guard::cut_tests::cancellation_survives_last_transport_until_durable_tombstone ... ok
test release_verify::tests::openssh_signatures_preserve_descriptor_and_reject_every_byte_mutation ... ok
test remote_http::tests::enrollment_api_at_1000_hosts ... ignored, explicit real HTTP-adapter/SQLite signing measurement at 1000 hosts; not transport or whole-daemon evidence
test release_payload::tests::signed_session_version_replay_and_untrusted_key_are_refused ... ok
test release_verify::tests::trust_namespace_hash_trailing_data_and_manifest_ambiguity_are_refused ... ok
test mesh_api_tests::storage_diagnostics::storage_failures_have_safe_reasons_and_recover_after_repair ... ok
test remote_enrollment::tests::cold_locked_signer_preserves_admission_and_token_until_authenticated_unlock ... ok
test remote_enrollment::tests::invalid_invitations_never_load_the_private_signer ... ok
test remote_enrollment::tests::invalid_csr_does_not_burn_token_and_join_returns_only_committed_authority ... ok
test remote_guard::cut_tests::provisional_ssh_authority_requires_exact_pending_owner_and_uid ... ok
test bootstrap_runtime::key_authority_tests::key_export_rechecks_role_session_and_cold_lock ... ok
test remote_http::tests::enrollment_http_is_bound_single_use_and_preserves_token_while_locked ... ok
test remote_http::tests::invitation_publication_rechecks_session_after_host_creation ... ok
test remote_http::tests::revocation::claude_review_anonymous_stalled_joins_cannot_block_owner_revocation ... ok
test remote_removal::review_tests::accepted_uninstall_names_the_objects_it_leaves ... ok
test remote_removal::review_tests::no_commands_for_a_host_setup_did_not_install ... ok
test remote_removal::review_tests::review_manual_commands_are_gated_on_this_hosts_bootstrap_owner ... ok
test remote_removal::review_tests::review_manual_commands_stop_only_this_installations_sessions ... ok
test remote_removal::review_tests::review_manual_rootful_commands_delete_only_marked_kernel_objects ... ok
test remote_removal_http::tests::removal_parsers_refuse_positional_duplicate_and_unbounded_inputs ... ok
test remote_http::tests::revocation::permission_revoked_while_waiting_for_sqlite_writer_refuses_tombstone ... ok
test remote_http::tests::revocation::abandoned_revocation_write_cannot_leave_committed_authority_live ... ok
test remote_http::tests::revocation::cold_signer_does_not_block_owner_revocation_or_cancellation ... ok
test remote_http::tests::revocation::revocation_rechecks_locked_expired_logged_out_and_wrong_owner_sessions ... ok
test remote_inventory::tests::admitted_hosts_are_account_scoped_offline_and_revocation_filtered ... ok
test remote_inventory::tests::unredeemed_invitations_are_not_admitted_and_cursors_are_canonical ... ok
test remote_mesh_revocation_tests::committed_host_revocation_pushes_peer_withdrawal_without_polling ... ok
test remote_runtime::tests::additional_listeners::additional_listener_keeps_underlay_address_and_retires_with_its_lease ... ok
test remote_runtime::tests::additional_listeners::additional_listener_refuses_unenrolled_certificate_before_proof_reply ... ok
test remote_runtime::tests::cancelled_native_read_retains_dequeued_packet ... ok
test remote_runtime::tests::candidate_proofs::quic_candidate_proof_waits_for_hello_and_preserves_its_suffix ... ok
test remote_runtime::tests::additional_listeners::initial_overlay_admission_has_no_underlay_guess ... ok
test remote_runtime::tests::additional_listeners::admitted_connection_moves_to_a_leased_address_and_back_without_readmission ... ok
test remote_runtime::tests::ephemeral_listener_pair_retries_real_udp_collision_without_leaking_tcp ... ok
test remote_runtime::tests::candidate_proofs::tls_candidate_proof_waits_for_hello_and_preserves_its_suffix ... ok
test remote_runtime::tests::independent_review::admitted_frame_write_fence_cost ... ignored, write-fence CPU diagnostic; run release alone, not whole-transport evidence
test remote_runtime::tests::explicit_listener_pair_never_moves_an_occupied_operator_port ... ok
test remote_runtime::tests::candidate_proofs::candidate_proof_refuses_a_second_probe_and_invalid_hello ... ok
test mesh_api_tests::review_frame_budget::review_mesh_design_point_frames_fit_shared_socket_budget ... ok
test remote_runtime::tests::late_native_detach_after_peer_close_keeps_the_control_connection ... ok
test remote_runtime::tests::ping_flood::primary_ping_during_terminal_flood ... ignored, 10-minute real PTY measurement; pinned VM lock and INFRATERNAL_PING_BINARY required
test remote_runtime::tests::additional_listeners::ipv6_wildcard_listener_reuses_binding_and_preserves_ipv4_discovery ... ok
test remote_runtime::tests::remote_peer_routing_capability_does_not_retain_the_host_registry ... ok
test remote_runtime::tests::late_native_detach_after_peer_stop_keeps_the_control_connection ... ok
test remote_runtime::tests::additional_listeners::wildcard_listener_reuses_binding_and_tracks_destination_lease_counts ... ok
test remote_runtime::tests::quic_actor_binds_durable_writer_and_recovery_offsets ... ok
test remote_runtime::tests::renewal_checks::renewal_validates_host_dates_json_and_durable_publication_before_ack ... ok
test remote_runtime::tests::renewal_checks::renewal_refuses_same_issuer_wrong_key_purpose_or_lifetime_before_publication ... ok
test remote_runtime::tests::revocation::guard_bookkeeping_at_1000_hosts ... ignored, guard component diagnostic; run alone without builds or browser measurements
test remote_runtime::tests::additional_listeners::leased_tcp_admits_current_identity_releases_lease_and_keeps_primary_usable ... ok
test remote_runtime::tests::revocation::retirement::registry_retention_at_1000_actual_tls_hosts ... ignored, 1000-host registry diagnostic; optimized, FD limit8192, no own build/browser overlap
test remote_runtime::tests::retired_native_writer_frames_cannot_close_or_ack_its_replacement ... ok
test mesh_api_tests::storage_diagnostics::sqlite_admission_failures_have_distinct_safe_reasons ... ok
test remote_runtime::tests::independent_review::review_expired_identity_must_refuse_new_attachment_on_existing_transport ... ok
test remote_runtime::tests::revocation::expired_identity_must_refuse_new_attachment_on_existing_transport ... ok
test remote_runtime::tests::revocation::revocation_closes_admitted_idle_quic_connection ... ok
test remote_runtime::tests::revocation::retirement::revoked_host_releases_its_registry_entry_and_retained_actor ... ok
test remote_runtime::tests::ssh_bridge::ssh_bridge_does_not_invent_node_path_capabilities ... ok
test remote_runtime::tests::claude_review_idle_anonymous_sockets_cannot_starve_host_handshakes ... ok
test remote_runtime::tests::ssh_bridge::ssh_greeting_keeps_full_capabilities_and_coalesced_frames ... ok
test remote_runtime::tests::ssh_bridge::component_off_retires_ssh_fallback_after_installed_admission ... ok
test remote_runtime::tests::independent_review::review_revocation_must_cancel_input_on_existing_tls_transport ... ok
test remote_runtime::tests::ssh_bridge::refused_installed_reattachment_restores_the_ssh_writer ... ok
test remote_runtime::tests::ssh_bridge::ssh_bridge_retires_only_after_installed_writer_acknowledges ... ok
test remote_runtime::tests::independent_review::committed_tombstone_cannot_forward_input_before_finalizer_returns ... ok
test remote_runtime::tests::ssh_bridge::ssh_greeting_refuses_invalid_first_frames_and_releases_its_master ... ok
test remote_runtime::tests::standby::a_second_parked_fallback_cannot_replace_the_first ... ok
test remote_runtime::tests::standby::control_pause::cancelled_control_packet_survives_pause_and_resumes_before_queued_sibling ... ok
test remote_runtime::tests::revocation::revocation_must_cancel_input_on_existing_tls_transport ... ok
test remote_runtime::tests::standby::control_queue::saturated_native_control_queue_does_not_hide_primary_terminal_output ... ok
test remote_runtime::tests::standby::parked_fallback_is_cancelled_by_ledger_revocation ... ok
test remote_runtime::tests::standby::control_queue::scheduled_probe_preserves_primary_at_full_native_control_capacity ... ok
test remote_inventory::pagination_tests::long_destinations_stay_bounded_and_all_pages_are_complete ... ok
test remote_runtime::tests::standby::primed_standby_greets_without_replacing_the_live_actor_before_activation ... ok
test remote_runtime::tests::standby::tcp_fallback_parks_without_a_host_actor_and_activates_on_the_existing_tls_channel ... ok
test remote_standby::tests::bounded_standby_options_reject_ambiguous_or_unrecognized_fields ... ok
test remote_standby::tests::cancelled_queue_admission_releases_parking_before_actor_poll ... ok
test remote_standby::tests::parking_is_per_identity_bounded_and_released_on_drop ... ok
test remote_standby_request::tests::requests_require_objects_and_exact_fields ... ok
test remote_runtime::tests::standby::primed_fallback_activates_after_the_primary_closes ... ok
test remote_startup::tests::normal_cold_start_uses_public_trust_without_loading_or_generating_ca_key ... ok
test remote_runtime::tests::tcp_actor_uses_enrolled_uid_and_replays_admission_hello ... ok
test remote_startup::tests::symlink_shared_oversized_or_special_trust_files_fail_closed ... ok
test runtime::remote_demo_tests::cold_start::normal_cli_cold_start_keeps_enrolled_remote_terminal_while_signing_locked ... ignored, normal CLI cold-start proof requires static INFRATERNAL_REMOTE_TEST_BINARY and exclusive 4701/7443
test runtime::remote_demo_tests::cold_start::release_transition_recovers_enrolled_host_after_long_outage ... ignored, requires isolated release binaries and a ten-minute outage
test runtime::remote_demo_tests::real_host::o1_rootless_join_terminal_and_cleanup ... ignored, authorised o1 proof requires pinned INFRATERNAL_O1_KNOWN_HOSTS and aarch64 INFRATERNAL_REMOTE_TEST_BINARY; exclusive 4701/7443
test runtime::remote_demo_tests::real_host::o1_runtime_path_admits_real_unix_socket_address ... ok
test runtime::remote_demo_tests::remote_cli_enrollment_and_browser_terminal_two_processes ... ignored, two-process proof requires INFRATERNAL_REMOTE_TEST_BINARY and exclusive port 4701
test remote_startup::tests::wrong_issuer_key_name_or_unpinned_https_refuses_startup ... ok
test remote_runtime::tests::standby::primed_fallback_hedges_when_credit_arrives_behind_a_blocked_primary_write ... ok
test remote_runtime::tests::standby::primed_fallback_hedges_while_primary_native_send_buffer_is_full ... ok
test runtime::remote_demo_tests::renewal_cli::cli_live_renewal_cost_and_durable_identity_on_unchanged_transport ... ignored, real CLI renewal measurement requires release binary and exclusive port4701; no own compilation/browser overlap
test runtime::remote_demo_tests::renewal_cli::flood::remote_cli_renewal_under_50m_load_preserves_every_byte_and_writer ... ignored, real CLI 50MiB renewal proof: exclusive4701 and release binary; no own build/browser overlap
test remote_runtime::tests::standby::primed_hedge_survives_blocked_control_call ... ok
test runtime::remote_demo_tests::shipping_route::independent_review_configured_server_mounts_ca_unlock_routes ... ok
test runtime::reviewer_admission::reviewer_recovery_source_limit_covers_all_routes_without_forwarding_bypass ... ok
test runtime::temporal_admission_tests::ca_budget_cost_at_capacity ... ignored, isolated debug admission diagnostic at 4096 principals; run without own build overlap
test runtime::remote_demo_tests::shipping_route::review_default_server_must_register_remote_join ... ok
test runtime::tests::empty_no_color_does_not_disable_terminal_logs ... ok
test runtime::remote_demo_tests::renewal::half_life_requests_proof_on_live_authenticated_control ... ok
test runtime::tests::proxy_mode_requires_an_explicit_peer_allowlist ... ok
test runtime::tests::proxy_networks_match_only_their_address_family_and_prefix ... ok
test runtime::tests::production_router_exposes_bootstrap_owner_admission ... ok
test remote_runtime::tests::standby::detached_primed_writers_release_native_binding_budget ... ok
test runtime::tests::setup_socket_cleanup_preserves_symlinks_and_regular_files ... ok
test runtime::tests::setup_token_socket_is_private_and_requires_explicit_request ... ok
test runtime::temporal_admission_tests::windows_principals_and_capacity_remain_bounded ... ok
test runtime::remote_demo_tests::renewal_ack::failed_publication_retains_original_admission_without_interrupting_terminal ... ok
test server_tls::tests::standalone_https_disables_nagle_before_application_bytes ... ok
test runtime::remote_demo_tests::renewal_ack::unlock_renews_live_identity_only_after_publication_ack_with_terminal_intact ... ok
test remote_runtime::tests::revocation::admitted_guard_expires_and_prior_revocation_cannot_reregister ... ok
test runtime::tests::router_migrates_private_storage_and_serves_health ... ok
test ssh_key::tests::concurrent_initialization_retains_one_identity_and_unwrap_cannot_replace_it ... ok
test ssh_key::tests::first_start_is_wrapped_once_and_every_cold_start_is_locked ... ok
test runtime::tests::startup_with_owner_unlinks_stale_setup_token_socket ... ok
test ssh_key::tests::lock_during_administrator_unwrap_cannot_reinstall_private_material ... ok
test stream_close::tests::a_close_naming_no_owned_session_prints_none_for_session_and_host ... ok
test stream_close::tests::a_dead_logger_is_counted_and_summarised_by_the_callers ... ok
test stream_close::tests::a_full_queue_drops_and_counts_instead_of_blocking ... ok
test ssh_key::tests::lock_generation_exhaustion_never_wraps_into_an_unlocked_source ... ok
test stream_close::tests::an_unavailable_agent_stream_is_reported_as_a_link_drop ... ok
test ssh_key::tests::material_refuses_invalid_pem_and_non_ed25519_algorithms ... ok
test stream_close::tests::close_line_has_session_counters_and_never_copies_untrusted_close_text ... ok
test ssh_key::tests::malformed_existing_storage_is_refused_without_generating_a_replacement ... ok
test stream_close::tests::close_path_cost ... ignored, manual microbenchmark
test stream_close::tests::different_accounts_and_reason_categories_each_get_their_first_line ... ok
test stream_close::tests::mixed_reasons_and_closers_in_one_window_are_named_as_mixed ... ok
test stream_close::tests::one_close_line_and_one_summary_bound_an_account_storm ... ok
test web_assets::tests::encodings_and_identity_have_correct_headers_and_sizes ... ok
test stream_close::tests::client_chosen_session_ids_share_their_accounts_window ... ok
test websocket::cookie_tests::duplicate_cookie_fields_deny_socket_session ... ok
test websocket::cookie_tests::split_cookie_fields_preserve_socket_session ... ok
test websocket::link_notice_tests::doubt_notices_reach_only_viewers_that_announced_them_and_never_await_an_ack ... ok
test websocket::receive_tests::browser_websocket_close_keeps_its_code_and_discards_unknown_reason_text ... ok
test stream_close::tests::the_thread_writes_the_first_close_and_summarises_the_rest_on_shutdown ... ok
test websocket::receive_tests::buffered_control_frames_cannot_monopolize_a_transport_turn ... ok
test websocket::receive_tests::receive_failures_keep_protocol_size_and_idle_classifications ... ok
test websocket::recovery_notification_bench::recovery_notification_state_at_socket_capacity ... ignored, notification state sizing diagnostic, not allocator-inclusive RSS certification
test web_assets::tests::spa_and_mutable_assets_revalidate_and_missing_brotli_uses_gzip ... ok
test websocket::session_inventory_tests::inventory_reconciliation_at_200_sessions_and_50_accounts ... ignored, independent scale diagnostic; run in a weighted scope
test stream_close::tests::a_full_table_keeps_rate_limiting_a_storm ... ok
test ssh_key::tests::unavailable_or_empty_custody_publishes_no_key ... ok
test ssh_key::tests::update_handoff_preserves_unlocked_identity_but_cold_restart_does_not ... ok
test websocket::write_tests::a_stalled_group_has_one_absolute_write_budget ... ok
test websocket::write_tests::ready_proofs_keep_message_boundaries_and_order_with_one_flush ... ok
test websocket::session_inventory_tests::census_waiting_for_database_does_not_close_a_newly_created_live_session ... ok
test runtime::key_runtime_tests::configured_startup_generates_once_and_settings_shares_its_cold_lock ... ok
test websocket::session_inventory_tests::pending_agent_inventory_hides_cached_rows_until_the_first_census ... ok
test websocket::session_inventory_tests::reconciliation_before_saved_exit_keeps_the_authoritative_exit_status ... ok
test websocket::session_inventory_tests::restart_reconciliation_keeps_live_rows_and_closes_missing_rows ... ok
test websocket::session_inventory_tests::available_snapshot_reports_live_rows_and_bounded_saved_exit_statuses ... ok
test websocket::writer_tests::authority_watchdog::periodic_authority_read_fails_closed_at_the_bounded_wait ... ok
test websocket::writer_tests::writer_admission_at_user_capacity ... ignored, release-only scale measurement; run without concurrent builds
test websocket::writer_tests::authority_watchdog::periodic_authority_read_rejects_revocation_committed_by_its_operation ... ok
test websocket_transport::queue_tests::full_browser_transport_proof_queue_keeps_connection_usable ... ok
test websocket_transport::queue_tests::full_browser_wire_proof_queue_keeps_connection_usable ... ok
test websocket_transport::tests::each_receive_end_has_a_structured_terminal_close_reason ... ok
test websocket_transport::tests::no_probe_in_an_active_idle_active_window ... ok
test websocket::writer_tests::authority_watchdog::periodic_authority_read_rejects_expiry_committed_by_its_operation ... ok
test websocket::writer_tests::authority_watchdog::periodic_authority_read_stops_side_effects_at_expiry ... ok
test websocket::writer_tests::authority_watchdog::periodic_authority_read_keeps_its_connection_owner_runnable ... ok
test websocket::writer_tests::authority_watchdog::periodic_authority_read_stops_side_effects_on_revocation ... ok
test websocket::writer_tests::second_device_does_not_inherit_first_device_input_ack ... ok
test websocket::writer_tests::writer_ownership_capacity_unsigned_offsets_and_identity_reuse ... ok
test runtime::tests::restart_serves_fresh_setup_token_and_completes_owner_enrollment ... ok
test remote_runtime::tests::standby::liveness_doubt::one_missed_primary_reply_shows_reconnecting_and_only_a_second_retires_the_link ... ok
test mesh_api_tests::watch_deadline::watch_deadline_matches_complete_filtered_snapshots ... ok
test remote_runtime::tests::revocation::retirement::old_expiry_cannot_remove_a_fresh_tls_replacement ... ok
test remote_runtime::tests::standby::parked_fallback_survives_greeting_deadline_and_activates_without_another_hello ... ok
test result: ok. 563 passed; 0 failed; 52 ignored; 0 measured; 0 filtered out; finished in 369.45s
running 1 test
test explicit_catalog_startup_remains_public_and_validates_before_storage ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 6 tests
test enrollment_storage_at_500_hosts ... ignored, explicit 500-host storage measurement; not a remote transport budget
test concurrent_redemption_has_one_winner_and_one_certificate ... ok
test malformed_capabilities_and_certificate_overflow_are_refused_before_mutation ... ok
test invalid_certificate_and_failed_insert_preserve_the_invitation ... ok
test invitation_is_hashed_replaced_and_bound_to_owner_host_mode_and_exact_expiry ... ok
test revocation_tombstone_refuses_existing_and_new_invitations_after_restart ... ok
test result: ok. 5 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.31s
running 2 tests
test review_grant_parser_rejects_unknown_nested_port_fields ... ok
test nested_endpoint_and_policy_fields_are_strict_without_rejecting_valid_ports ... ok
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 1 test
test review_mesh_dependency_is_removable_at_build_time ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
running 1 test
test review_null_port_policy_is_refused ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 2 tests
test review_explicit_null_role_scopes_do_not_become_global_authority ... ok
test role_scopes_require_an_array_when_provided ... ok
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 23 tests
test liveness::tests::an_unanswered_host_link_retires_at_the_startup_grace_without_doubt ... ok
test liveness::tests::a_reply_during_doubt_clears_it_and_renews_the_route ... ok
test liveness::tests::delayed_server_probe_does_not_expire_an_answered_route ... ok
test liveness::tests::healthy_reply_survives_a_150ms_server_stall ... ok
test liveness::tests::late_native_probe_keeps_its_unissued_reply_allowance ... ok
test liveness::tests::pipelined_requests_do_not_renew_an_outstanding_deadline ... ok
test liveness::tests::missing_replies_expire_even_with_probes_in_flight ... ok
test liveness::tests::a_doubt_recovered_at_the_ceiling_pins_until_the_path_drains ... ok
test liveness::tests::jitter_allowance_decays_after_the_link_settles ... ok
test liveness::tests::a_recovered_doubt_below_the_ceiling_keeps_early_notice ... ok
test liveness::tests::host_allowance_covers_one_loss_recovery_and_browser_routes_keep_theirs ... ok
test liveness::tests::quiet_dead_peer_expires_within_floor_plus_one_interval ... ok
test liveness::tests::ready_reply_only_pulls_forward_an_answered_probe_after_one_tick ... ok
test liveness::tests::host_link_doubts_on_the_first_miss_and_retires_on_the_second ... ok
test liveness::tests::host_allowance_has_a_floor_a_settled_long_haul_value_and_a_ceiling ... ok
test liveness::tests::recent_application_progress_preserves_the_first_tick_cadence ... ok
test liveness::tests::restarting_monitoring_never_reuses_an_old_issued_probe ... ok
test liveness::tests::serial_probe_accepts_a_timely_rtt_step_without_renewing_unsolicited_replies ... ok
test unissued_native_probe_reply_cannot_extend_readiness ... ok
test liveness::tests::terminal_routes_still_end_their_lease_on_the_first_miss ... ok
test liveness::tests::variation_uses_the_previous_smoothed_sample ... ok
test liveness::tests::serial_probe_deadline_includes_only_one_gap_and_the_estimated_allowance ... ok
test healthy_real_socket_survives_a_150ms_server_stall ... ok
test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
running 7 tests
test review_core_topic_remains_core_owned_even_when_declared ... ok
test review_undeclared_topic_is_left_to_the_core ... ok
test review_completed_call_survives_normal_worker_exit ... ok
test review_disable_withdraws_view_and_keeps_socket ... ok
test review_reenable_preserves_cancelled_calls_until_delivery ... ok
test review_disable_answers_inflight_call ... ok
test review_exited_worker_ends_its_subscriptions ... ok
test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.50s
running 3 tests
test plugin_settings_enforce_boolean_and_role_plugin_identity ... ok
test failed_plugin_save_restores_previous_state_without_workers ... ok
test plugin_switches_survive_database_reopen ... ok
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.52s
running 1 test
test independent_review_core_build_without_features_omits_remote_transport ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.35s
running 1 test
test revoked_remote_host_is_withdrawn_from_mesh_peer_policy ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
running 2 tests
test tests::unsupported_commands_cannot_start_operator_roles_or_open_state ... ok
running 1 test
test tests::fresh_exec_closes_dumpability_before_private_startup ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
test tests::fresh_exec_closes_dumpability_before_private_startup ... ok
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 94 tests
test frame::checks::codec_reuse_measurement ... ignored, release codec and allocation-path measurement
test frame::checks::deferred_frame_keeps_its_borrowed_storage_and_ordered_trailing_bytes ... ok
test frame::checks::golden::every_frozen_message ... ok
test frame::checks::shared_writer_selector_is_fixed_length_and_fragment_safe ... ok
test frame::checks::tests::invalid_lengths_types_and_utf8 ... ok
test locale::tests::absent_locale_uses_fallback_only_when_it_is_installed ... ok
test locale::tests::existing_user_locale_values_are_preserved_without_replacement ... ok
test locale::tests::invalid_shell_expressions_are_ignored ... ok
test frame::checks::tests::golden_and_fragmented ... ok
test ended::tests::bounded_record_preserves_status_and_rejects_malformed_or_linked_data ... ok
test locale::tests::non_locale_values_do_not_cross_the_scrubbed_shell_boundary ... ok
test locale::tests::missing_lang_preserves_other_locale_values_and_fills_only_lang ... ok
test locale::tests::unsupported_configured_locale_uses_installed_utf8_fallback ... ok
test pty::child_signal_tests::child_signal_reset_spawn_cost_at_128_children ... ignored, child spawn diagnostic; run locally in a weighted scope without own build overlap
test locale::tests::configured_locale_is_selected_from_login_locale_files ... ok
test frame::checks::approximate_snapshot_codec_is_bounded_and_canonical ... ok
test locale::tests::macos_locale_identifier_gets_a_utf8_codeset ... ok
test ring::checks::tests::wrap_and_exact_offsets ... ok
test frame::checks::borrowed_and_owned_decoders_agree_at_every_fragment_boundary ... ok
test session::measurements::budgets::input_to_pty_write ... ignored, real-PTY performance measurement; set ZDOTDIR to tests/profile
test session::measurements::poll_storage_measurement ... ignored, release poll-storage allocation measurement
test pty::child_signal_tests::child_policy_closes_the_control_descriptor_before_direct_exec ... ok
test session::inputs::tests::partial_writes_credit_only_the_owner_and_replay_trims_per_writer ... ok
test session::resize_checks::resize_refusal_session_probe ... ignored, isolated session probe invoked by its parent with a controlled shell profile
running 1 test
test pty::child_locale_tests::spawned_login_shell_receives_selected_locale_without_other_host_variables ... ok
test session::inputs::tests::identity_cap_preserves_all_existing_cursors ... ok
test pty::child_signal_tests::child_reset_restores_ignored_dispositions_and_leaves_parent_mask ... ok
test session::sequenced_checks::coalesced_ack_never_overwrites_a_partial_output_and_cursors_survive_peer_loss ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 93 filtered out; finished in 0.00s
test frame::checks::maximum_deferred_frame_retries_without_growing_storage ... ok
test session::sequenced_checks::new_frames_roundtrip_and_refuse_noncanonical_payloads ... ok
test pty::child_signal_tests::child_reset_restores_ignored_dispositions_and_leaves_parent_mask ... ok
test session::sequenced_checks::trim_duplicates_gaps_overflow_and_capacity_are_transactional ... ok
test frame::checks::golden::exact_maximum_and_coalesced_frames ... ok
test session::sequenced_checks::reusable_encoder_retains_capacity_and_refuses_growth_before_mutation ... ok
test locked_bytes::tests::anonymous_transfer_pages_are_locked_and_excluded_from_core_dumps ... ok
test session::sequenced_checks::writer_selection_has_a_frozen_little_endian_layout ... ok
test session::sequenced_checks::negotiated_queue_deferral_validates_ranges_before_waiting ... ok
test session::measurements::budgets::allowlisted_signal_after_real_pty_exit_keeps_exit_ack_available ... ok
test session::sequenced_checks::a_completed_deferred_frame_gives_its_trailing_input_a_fresh_ticket ... ok
test session::sequenced_checks::coalesced_probe_and_input_preserve_the_written_ack_in_both_orders ... ok
test terminal::checks::tests::margins_tabs_charsets_and_modes_continue ... ok
test terminal::checks::tests::implicit_hyperlinks_retain_groups_across_rows_and_continuation ... ok
test terminal::checks::tests::saved_origin_survives_changed_margins ... ok
test terminal::checks::tests::partial_csi_and_utf8_continue ... ok
test terminal::checks::tests::retained_alternate_saved_cursor_and_keyboard_stack_continue ... ok
test terminal::fidelity::fidelity_diagnostic_fixture ... ignored, diagnostic replay of an explicitly selected fixture file
test terminal::checks::tests::long_unfinished_hyperlink_and_control_strings_continue ... ok
test terminal::fidelity::fidelity_extended_nightly ... ignored, nightly expanded differential corpus: 20,000 deterministic cases
test terminal::fidelity::fidelity_charset_mapped_wide_space_is_explicitly_rejected ... ok
test terminal::checks::tests::fixtures_and_continuations_repaint ... ok
test terminal::fidelity::fidelity_fresh_c_redraw_default_is_explicitly_rejected ... ok
test terminal::checks::tests::pending_wrap_and_saved_wrap_continue_with_wide_cells ... ok
test terminal::checks::approximate_repaint_keeps_complete_pending_syntax_or_omits_it_whole ... ok
test terminal::fidelity::fidelity_inherited_protection_off_mode_is_explicitly_rejected ... ok
test session::resize_checks::native_resize_refusal_preserves_peer_and_pty ... ok
test terminal::checks::tests::alternate_variants_and_nested_switches_repaint ... ok
test terminal::checks::tests::unfinished_sequence_over_frame_limit_fails_without_losing_runtime_state ... ok
test terminal::fidelity::fidelity_iso_protection_erase ... ok
test terminal::fidelity::fidelity_oracle_observes_archived_cells_with_equal_active_screens ... ok
test terminal::fidelity::fidelity_orphaned_spacer_head ... ok
test terminal::fidelity::fidelity_prompt_resize_requires_explicit_rejection ... ok
test terminal::fidelity::fidelity_rejects_unrepresentable_rep_without_mutating_source ... ok
test terminal::checks::tests::byte_budget_prunes_history_and_resize_remains_repaintable ... ok
test terminal::fidelity::fidelity_saved_modes_future_restore ... ok
test terminal::fidelity::fidelity_cursor ... ok
test terminal::fidelity::fidelity_seeded_nightly ... ignored, nightly differential corpus: 20,000 deterministic cases
test terminal::fidelity::fidelity_edge ... ok
test terminal::fidelity::fidelity_iso_protection_does_not_keep_rep_scratch ... ok
test terminal::fidelity::fidelity_oracle_detects_hidden_state ... ok
test terminal::fidelity::fidelity_snapshot_history_tail_contains_no_padding_rows ... ok
test terminal::fidelity::fidelity_snapshot_resets_stale_viewer_color_overrides ... ok
test terminal::fidelity::fidelity_f1_rep ... ok
test terminal::fidelity::fidelity_saved_cursor_over_changed_edge ... ok
test terminal::fidelity::fidelity_semantic_validation_matches_exported_history_extent ... ok
test terminal::fidelity::fidelity_single_shift_survives_rep_seed ... ok
test terminal::fidelity::fresh_captures::fidelity_fresh_real_program_captures ... ignored, manual fresh capture oracle; set VT_CAPTURE_DIR after real program capture
test terminal::measurements::budgets::snapshot_200x60 ... ignored, performance measurement; run release on the perf host
test terminal::measurements::memory::measured_terminal_rss ... ignored, RSS measurement; run this filter alone in a fresh release process
test terminal::measurements::throughput::measured_parser ... ignored, VT observer and history throughput measurement
test terminal::recovery_measurements::measured_full_ring_reconstruction ... ignored, release reconstruction measurement; old healthy handles permit repeated cleanup
test terminal::resize_recovery::absent_ring_keeps_last_good_size_and_later_output_usable ... ok
test terminal::resize_recovery::complete_ring_restores_screens_mouse_and_unfinished_syntax ... ok
test terminal::resize_recovery::earlier_geometry_changes_require_approximation_even_with_origin_coverage ... ok
test terminal::fidelity::fidelity_spacer_head_attributes ... ok
test terminal_native::allocation::resize_allocation_refusal_retires_native_handle ... ok
test terminal::fidelity::fidelity_variation_tail_attributes ... ok
test terminal::resize_recovery::ring_gap_requires_clean_approximate_recovery ... ok
test terminal::fidelity::fidelity_variation_wrap_attributes ... ok
test terminal::fidelity::fidelity_screen_entry_consumes_inherited_shift_before_saving ... ok
test terminal::fidelity::fidelity_recorded_corpus ... ok
test terminal::fidelity::fidelity_mouse_effective_fields_follow_order_independently_of_booleans ... ok
test terminal::checks::approximate_repaint_is_bounded_clips_at_complete_cells_and_preserves_source ... ok
test terminal::fidelity::fidelity_handwritten ... ok
test terminal::fidelity::fidelity_extended_smoke ... ok
test terminal::fidelity::fidelity_seeded_smoke ... ok
test result: ok. 81 passed; 0 failed; 13 ignored; 0 measured; 0 filtered out; finished in 41.33s
running 2 tests
test detached_child_restores_default_signals_without_changing_parent ... ok
test closed_standard_descriptors_become_dev_null ... ok
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.38s
running 1 test
test faithful_snapshot_preserves_public_mouse_encoder_reports ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.58s
running 2 tests
test invalid_pid_never_creates_a_descriptor ... ok
test descriptor_is_cloexec_and_observes_a_real_process_exit ... ok
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 12 tests
test tests::nothing_installed_says_so ... ok
test tests::rootful_agent_is_a_host_with_its_own_state_directory ... ok
test tests::an_unanswering_manager_only_makes_its_own_unit_unknown ... ok
test tests::rootless_agent_is_read_from_the_user_manager ... ok
test tests::production_server_is_a_running_server_with_two_mesh_peers ... ok
test tests::snapshot_scan_counts_peers_through_nesting_strings_and_spacing ... ok
test tests::a_manager_that_does_not_answer_is_unknown_not_down ... ok
test tests::server_and_host_on_one_machine_is_both ... ok
test tests::the_headline_says_how_to_join_when_nothing_is_installed ... ok
test tests::rootful_agent_reads_mesh_peers_from_its_state_directory ... ok
test tests::stopped_server_unit_is_stopped_not_unknown ... ok
test tests::the_headline_names_what_is_down_and_how_to_look ... ok
test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests infraternal_agent
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests infraternal_mesh
running 1 test
test crates/infraternal-mesh/src/model.rs - model::LocalPrivateKey (line 20) - compile fail ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s
Doc-tests infraternal_plugin_api
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests infraternal_plugin_backup
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests infraternal_plugin_host_facts
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests infraternal_plugin_mesh
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests infraternal_plugin_relay
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests infraternal_plugin_release
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests infraternal_plugin_remote
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests infraternal_plugin_ssh
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests infraternal_protocol
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests infraternal_server
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests infraternal_shim
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests infraternal_status
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
(test: 637s)
==> cargo-deny
warning[duplicate]: found 2 duplicate entries for crate 'base64'
┌─ /home/kayg/Developer/infraternal/.worktrees/mesh-test-dir/Cargo.lock:24:1
│
24 │ ╭ base64 0.21.7 registry+https://github.com/rust-lang/crates.io-index
25 │ │ base64 0.22.1 registry+https://github.com/rust-lang/crates.io-index
│ ╰───────────────────────────────────────────────────────────────────┘ lock entries
│
├ base64 v0.21.7
├── base64urlsafedata v0.5.5
│ ├── webauthn-attestation-ca v0.5.5
│ │ └── webauthn-rs-core v0.5.5
│ │ └── webauthn-rs v0.5.5
│ │ └── infraternal-server v0.1.0
│ │ ├── infraternal v0.1.0
│ │ └── infraternal-fuzz v0.1.0
│ ├── webauthn-rs v0.5.5 ()
│ ├── webauthn-rs-core v0.5.5 ()
│ └── webauthn-rs-proto v0.5.5
│ └── webauthn-rs-core v0.5.5 ()
├── webauthn-rs-core v0.5.5 ()
└── webauthn-rs-proto v0.5.5 ()
├ base64 v0.22.1
├── axum v0.8.9
│ ├── infraternal-fuzz v0.1.0
│ └── infraternal-server v0.1.0
│ ├── infraternal v0.1.0
│ └── infraternal-fuzz v0.1.0 ()
├── infraternal v0.1.0 ()
├── infraternal-server v0.1.0 ()
└── sqlx-core v0.8.6
├── sqlx v0.8.6
│ ├── infraternal v0.1.0 ()
│ ├── infraternal-plugin-api v0.1.0
│ │ ├── infraternal v0.1.0 ()
│ │ ├── infraternal-agent v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ ├── infraternal-plugin-ssh v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ ├── infraternal-server v0.1.0 ()
│ │ │ │ └── infraternal-session v0.1.0
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── infraternal-fuzz v0.1.0 ()
│ │ ├── infraternal-mesh v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ └── infraternal-plugin-mesh v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── infraternal-plugin-backup v0.1.0
│ │ │ └── infraternal v0.1.0 ()
│ │ ├── infraternal-plugin-host-facts v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ ├── infraternal-plugin-relay v0.1.0
│ │ │ └── infraternal v0.1.0 ()
│ │ ├── infraternal-plugin-release v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── infraternal-plugin-remote v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ ├── (dev) infraternal-plugin-ssh v0.1.0 ()
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ ├── infraternal-plugin-mesh v0.1.0 ()
│ ├── infraternal-plugin-release v0.1.0 ()
│ └── infraternal-server v0.1.0 ()
├── sqlx-macros v0.8.6
│ └── sqlx v0.8.6 ()
├── sqlx-macros-core v0.8.6
│ └── sqlx-macros v0.8.6 ()
└── sqlx-sqlite v0.8.6
├── sqlx v0.8.6 ()
└── sqlx-macros-core v0.8.6 (*)
warning[duplicate]: found 2 duplicate entries for crate 'cpufeatures'
┌─ /home/kayg/Developer/infraternal/.worktrees/mesh-test-dir/Cargo.lock:50:1
│
50 │ ╭ cpufeatures 0.2.17 registry+https://github.com/rust-lang/crates.io-index
51 │ │ cpufeatures 0.3.1 registry+https://github.com/rust-lang/crates.io-index
│ ╰───────────────────────────────────────────────────────────────────────┘ lock entries
│
├ cpufeatures v0.2.17
├── aes v0.8.4
│ └── aes-gcm v0.10.3
│ └── (dev) infraternal-server v0.1.0
│ ├── infraternal v0.1.0
│ └── infraternal-fuzz v0.1.0
├── argon2 v0.5.3
│ └── infraternal-server v0.1.0 ()
├── polyval v0.6.2
│ └── ghash v0.5.1
│ └── aes-gcm v0.10.3 ()
├── sha1 v0.10.7
│ ├── axum v0.8.9
│ │ ├── infraternal-fuzz v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ └── tungstenite v0.29.0
│ └── tokio-tungstenite v0.29.0
│ ├── axum v0.8.9 ()
│ └── (dev) infraternal-server v0.1.0 ()
└── sha2 v0.10.9
├── infraternal-plugin-ssh v0.1.0
│ ├── infraternal v0.1.0 ()
│ ├── infraternal-fuzz v0.1.0 ()
│ ├── infraternal-server v0.1.0 ()
│ └── infraternal-session v0.1.0
├── infraternal-server v0.1.0 ()
├── sqlx-core v0.8.6
│ ├── sqlx v0.8.6
│ │ ├── infraternal v0.1.0 ()
│ │ ├── infraternal-plugin-api v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-agent v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ ├── infraternal-mesh v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ └── infraternal-plugin-mesh v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ ├── infraternal-plugin-backup v0.1.0
│ │ │ │ └── infraternal v0.1.0 ()
│ │ │ ├── infraternal-plugin-host-facts v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ │ ├── infraternal-plugin-relay v0.1.0
│ │ │ │ └── infraternal v0.1.0 ()
│ │ │ ├── infraternal-plugin-release v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ ├── infraternal-plugin-remote v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ ├── (dev) infraternal-plugin-ssh v0.1.0 ()
│ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ ├── infraternal-plugin-release v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ ├── sqlx-macros v0.8.6
│ │ └── sqlx v0.8.6 ()
│ ├── sqlx-macros-core v0.8.6
│ │ └── sqlx-macros v0.8.6 ()
│ └── sqlx-sqlite v0.8.6
│ ├── sqlx v0.8.6 ()
│ └── sqlx-macros-core v0.8.6 ()
└── sqlx-macros-core v0.8.6 ()
├ cpufeatures v0.3.1
└── chacha20 v0.10.2
└── rand v0.10.3
└── quinn-proto v0.11.19
└── quinn v0.11.12
├── infraternal-agent v0.1.0
│ ├── infraternal v0.1.0
│ ├── infraternal-fuzz v0.1.0
│ ├── infraternal-plugin-ssh v0.1.0
│ │ ├── infraternal v0.1.0 ()
│ │ ├── infraternal-fuzz v0.1.0 ()
│ │ ├── infraternal-server v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ └── infraternal-session v0.1.0
│ └── infraternal-server v0.1.0 ()
├── infraternal-plugin-remote v0.1.0
│ ├── infraternal v0.1.0 ()
│ ├── infraternal-agent v0.1.0 ()
│ ├── infraternal-fuzz v0.1.0 ()
│ ├── (dev) infraternal-plugin-ssh v0.1.0 ()
│ └── infraternal-server v0.1.0 ()
└── infraternal-server v0.1.0 (*)
warning[duplicate]: found 3 duplicate entries for crate 'getrandom'
┌─ /home/kayg/Developer/infraternal/.worktrees/mesh-test-dir/Cargo.lock:92:1
│
92 │ ╭ getrandom 0.2.17 registry+https://github.com/rust-lang/crates.io-index
93 │ │ getrandom 0.3.4 registry+https://github.com/rust-lang/crates.io-index
94 │ │ getrandom 0.4.3 registry+https://github.com/rust-lang/crates.io-index
│ ╰─────────────────────────────────────────────────────────────────────┘ lock entries
│
├ getrandom v0.2.17
├── rand_core v0.6.4
│ ├── bip39 v2.2.2
│ │ └── infraternal-server v0.1.0
│ │ ├── infraternal v0.1.0
│ │ └── infraternal-fuzz v0.1.0
│ ├── crypto-common v0.1.7
│ │ ├── aead v0.5.2
│ │ │ └── aes-gcm v0.10.3
│ │ │ └── (dev) infraternal-server v0.1.0 ()
│ │ ├── cipher v0.4.4
│ │ │ ├── aes v0.8.4
│ │ │ │ └── aes-gcm v0.10.3 ()
│ │ │ ├── aes-gcm v0.10.3 ()
│ │ │ └── ctr v0.9.2
│ │ │ └── aes-gcm v0.10.3 ()
│ │ ├── digest v0.10.7
│ │ │ ├── blake2 v0.10.6
│ │ │ │ └── argon2 v0.5.3
│ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ ├── hmac v0.12.1
│ │ │ │ └── hkdf v0.12.4
│ │ │ │ └── (dev) infraternal-server v0.1.0 ()
│ │ │ ├── sha1 v0.10.7
│ │ │ │ ├── axum v0.8.9
│ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ └── tungstenite v0.29.0
│ │ │ │ └── tokio-tungstenite v0.29.0
│ │ │ │ ├── axum v0.8.9 ()
│ │ │ │ └── (dev) infraternal-server v0.1.0 ()
│ │ │ └── sha2 v0.10.9
│ │ │ ├── infraternal-plugin-ssh v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ ├── infraternal-server v0.1.0 ()
│ │ │ │ └── infraternal-session v0.1.0
│ │ │ ├── infraternal-server v0.1.0 ()
│ │ │ ├── sqlx-core v0.8.6
│ │ │ │ ├── sqlx v0.8.6
│ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-api v0.1.0
│ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-agent v0.1.0
│ │ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ │ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ │ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-mesh v0.1.0
│ │ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ │ └── infraternal-plugin-mesh v0.1.0
│ │ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-plugin-backup v0.1.0
│ │ │ │ │ │ │ └── infraternal v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-plugin-host-facts v0.1.0
│ │ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ │ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-plugin-relay v0.1.0
│ │ │ │ │ │ │ └── infraternal v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-plugin-release v0.1.0
│ │ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-plugin-remote v0.1.0
│ │ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ │ │ ├── (dev) infraternal-plugin-ssh v0.1.0 ()
│ │ │ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-release v0.1.0 ()
│ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ ├── sqlx-macros v0.8.6
│ │ │ │ │ └── sqlx v0.8.6 ()
│ │ │ │ ├── sqlx-macros-core v0.8.6
│ │ │ │ │ └── sqlx-macros v0.8.6 ()
│ │ │ │ └── sqlx-sqlite v0.8.6
│ │ │ │ ├── sqlx v0.8.6 ()
│ │ │ │ └── sqlx-macros-core v0.8.6 ()
│ │ │ └── sqlx-macros-core v0.8.6 ()
│ │ └── universal-hash v0.5.1
│ │ └── polyval v0.6.2
│ │ └── ghash v0.5.1
│ │ └── aes-gcm v0.10.3 ()
│ ├── password-hash v0.5.0
│ │ └── argon2 v0.5.3 ()
│ ├── rand v0.8.8
│ │ └── bip39 v2.2.2 ()
│ └── rand_chacha v0.3.1
│ └── rand v0.8.8 ()
└── ring v0.17.14
├── infraternal-plugin-remote v0.1.0 ()
├── quinn-proto v0.11.19
│ └── quinn v0.11.12
│ ├── infraternal-agent v0.1.0 ()
│ ├── infraternal-plugin-remote v0.1.0 ()
│ └── infraternal-server v0.1.0 ()
├── rustls v0.23.46
│ ├── infraternal-plugin-remote v0.1.0 ()
│ ├── quinn v0.11.12 ()
│ └── quinn-proto v0.11.19 ()
└── rustls-webpki v0.103.15
└── rustls v0.23.46 ()
├ getrandom v0.3.4
└── rand_core v0.9.5
├── rand v0.9.5
│ ├── infraternal-server v0.1.0
│ │ ├── infraternal v0.1.0
│ │ └── infraternal-fuzz v0.1.0
│ ├── tungstenite v0.29.0
│ │ └── tokio-tungstenite v0.29.0
│ │ ├── axum v0.8.9
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ └── infraternal-server v0.1.0 ()
│ │ └── (dev) infraternal-server v0.1.0 ()
│ └── webauthn-rs-core v0.5.5
│ └── webauthn-rs v0.5.5
│ └── infraternal-server v0.1.0 ()
└── rand_chacha v0.9.0
├── rand v0.9.5 ()
└── webauthn-rs-core v0.5.5 ()
├ getrandom v0.4.3
├── jobserver v0.1.35
│ └── cc v1.6.0
│ ├── (build) libfuzzer-sys v0.4.13
│ │ └── infraternal-fuzz v0.1.0
│ ├── (build) libsqlite3-sys v0.30.1
│ │ └── sqlx-sqlite v0.8.6
│ │ ├── sqlx v0.8.6
│ │ │ ├── infraternal v0.1.0
│ │ │ ├── infraternal-plugin-api v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-agent v0.1.0
│ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-ssh v0.1.0
│ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-server v0.1.0
│ │ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ │ └── infraternal-session v0.1.0
│ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ ├── infraternal-mesh v0.1.0
│ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ └── infraternal-plugin-mesh v0.1.0
│ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-backup v0.1.0
│ │ │ │ │ └── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-host-facts v0.1.0
│ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-relay v0.1.0
│ │ │ │ │ └── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-release v0.1.0
│ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-remote v0.1.0
│ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ ├── (dev) infraternal-plugin-ssh v0.1.0 ()
│ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ │ ├── infraternal-plugin-release v0.1.0 ()
│ │ │ └── infraternal-server v0.1.0 ()
│ │ └── sqlx-macros-core v0.8.6
│ │ └── sqlx-macros v0.8.6
│ │ └── sqlx v0.8.6 ()
│ ├── openssl-src v300.6.1+3.6.3
│ │ └── (build) openssl-sys v0.9.117
│ │ ├── axum-server v0.8.0
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── openssl v0.10.81
│ │ │ ├── axum-server v0.8.0 ()
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ │ ├── infraternal-server v0.1.0 ()
│ │ │ ├── infraternal-shim v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ │ │ ├── infraternal-server v0.1.0 ()
│ │ │ │ └── infraternal-session v0.1.0 ()
│ │ │ ├── tokio-openssl v0.6.5
│ │ │ │ ├── axum-server v0.8.0 ()
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ │ │ └── (dev) infraternal-server v0.1.0 ()
│ │ │ ├── webauthn-attestation-ca v0.5.5
│ │ │ │ └── webauthn-rs-core v0.5.5
│ │ │ │ └── webauthn-rs v0.5.5
│ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ └── webauthn-rs-core v0.5.5 ()
│ │ ├── tokio-openssl v0.6.5 ()
│ │ ├── webauthn-attestation-ca v0.5.5 ()
│ │ └── webauthn-rs-core v0.5.5 ()
│ ├── (build) openssl-sys v0.9.117 ()
│ └── (build) ring v0.17.14
│ ├── infraternal-plugin-remote v0.1.0 ()
│ ├── quinn-proto v0.11.19
│ │ └── quinn v0.11.12
│ │ ├── infraternal-agent v0.1.0 ()
│ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ ├── rustls v0.23.46
│ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ ├── quinn v0.11.12 ()
│ │ └── quinn-proto v0.11.19 ()
│ └── rustls-webpki v0.103.15
│ └── rustls v0.23.46 ()
├── quinn-proto v0.11.19 ()
├── rand v0.10.3
│ └── quinn-proto v0.11.19 ()
└── uuid v1.27.0
├── infraternal v0.1.0 ()
├── infraternal-agent v0.1.0 ()
├── infraternal-plugin-mesh v0.1.0 ()
├── infraternal-plugin-release v0.1.0 ()
├── infraternal-plugin-remote v0.1.0 ()
├── infraternal-plugin-ssh v0.1.0 ()
├── infraternal-server v0.1.0 ()
├── (dev) infraternal-status v0.1.0
│ └── infraternal v0.1.0 ()
├── webauthn-attestation-ca v0.5.5 ()
├── webauthn-rs v0.5.5 ()
└── webauthn-rs-core v0.5.5 ()
warning[duplicate]: found 2 duplicate entries for crate 'hashbrown'
┌─ /home/kayg/Developer/infraternal/.worktrees/mesh-test-dir/Cargo.lock:98:1
│
98 │ ╭ hashbrown 0.15.5 registry+https://github.com/rust-lang/crates.io-index
99 │ │ hashbrown 0.17.1 registry+https://github.com/rust-lang/crates.io-index
│ ╰──────────────────────────────────────────────────────────────────────┘ lock entries
│
├ hashbrown v0.15.5
├── hashlink v0.10.0
│ └── sqlx-core v0.8.6
│ ├── sqlx v0.8.6
│ │ ├── infraternal v0.1.0
│ │ ├── infraternal-plugin-api v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-agent v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-fuzz v0.1.0
│ │ │ │ ├── infraternal-plugin-ssh v0.1.0
│ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ ├── infraternal-server v0.1.0
│ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ └── infraternal-session v0.1.0
│ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ ├── infraternal-mesh v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ └── infraternal-plugin-mesh v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ ├── infraternal-plugin-backup v0.1.0
│ │ │ │ └── infraternal v0.1.0 ()
│ │ │ ├── infraternal-plugin-host-facts v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ │ ├── infraternal-plugin-relay v0.1.0
│ │ │ │ └── infraternal v0.1.0 ()
│ │ │ ├── infraternal-plugin-release v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ ├── infraternal-plugin-remote v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ ├── (dev) infraternal-plugin-ssh v0.1.0 ()
│ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ ├── infraternal-plugin-release v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ ├── sqlx-macros v0.8.6
│ │ └── sqlx v0.8.6 ()
│ ├── sqlx-macros-core v0.8.6
│ │ └── sqlx-macros v0.8.6 ()
│ └── sqlx-sqlite v0.8.6
│ ├── sqlx v0.8.6 ()
│ └── sqlx-macros-core v0.8.6 ()
└── sqlx-core v0.8.6 ()
├ hashbrown v0.17.1
└── indexmap v2.14.2
├── h2 v0.4.19
│ ├── hyper v1.11.1
│ │ ├── axum v0.8.9
│ │ │ ├── infraternal-fuzz v0.1.0
│ │ │ └── infraternal-server v0.1.0
│ │ │ ├── infraternal v0.1.0
│ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ ├── axum-server v0.8.0
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── hyper-util v0.1.21
│ │ │ ├── axum v0.8.9 ()
│ │ │ ├── axum-server v0.8.0 ()
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ └── (dev) infraternal-server v0.1.0 ()
│ │ ├── infraternal v0.1.0 ()
│ │ └── (dev) infraternal-server v0.1.0 ()
│ └── (dev) infraternal-server v0.1.0 ()
└── sqlx-core v0.8.6
├── sqlx v0.8.6
│ ├── infraternal v0.1.0 ()
│ ├── infraternal-plugin-api v0.1.0
│ │ ├── infraternal v0.1.0 ()
│ │ ├── infraternal-agent v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ ├── infraternal-plugin-ssh v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ ├── infraternal-server v0.1.0 ()
│ │ │ │ └── infraternal-session v0.1.0
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── infraternal-fuzz v0.1.0 ()
│ │ ├── infraternal-mesh v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ └── infraternal-plugin-mesh v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── infraternal-plugin-backup v0.1.0
│ │ │ └── infraternal v0.1.0 ()
│ │ ├── infraternal-plugin-host-facts v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ ├── infraternal-plugin-relay v0.1.0
│ │ │ └── infraternal v0.1.0 ()
│ │ ├── infraternal-plugin-release v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── infraternal-plugin-remote v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ ├── (dev) infraternal-plugin-ssh v0.1.0 ()
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ ├── infraternal-plugin-mesh v0.1.0 ()
│ ├── infraternal-plugin-release v0.1.0 ()
│ └── infraternal-server v0.1.0 ()
├── sqlx-macros v0.8.6
│ └── sqlx v0.8.6 ()
├── sqlx-macros-core v0.8.6
│ └── sqlx-macros v0.8.6 ()
└── sqlx-sqlite v0.8.6
├── sqlx v0.8.6 ()
└── sqlx-macros-core v0.8.6 (*)
warning[duplicate]: found 2 duplicate entries for crate 'r-efi'
┌─ /home/kayg/Developer/infraternal/.worktrees/mesh-test-dir/Cargo.lock:199:1
│
199 │ ╭ r-efi 5.3.0 registry+https://github.com/rust-lang/crates.io-index
200 │ │ r-efi 6.0.0 registry+https://github.com/rust-lang/crates.io-index
│ ╰─────────────────────────────────────────────────────────────────┘ lock entries
│
├ r-efi v5.3.0
└── getrandom v0.3.4
└── rand_core v0.9.5
├── rand v0.9.5
│ ├── infraternal-server v0.1.0
│ │ ├── infraternal v0.1.0
│ │ └── infraternal-fuzz v0.1.0
│ ├── tungstenite v0.29.0
│ │ └── tokio-tungstenite v0.29.0
│ │ ├── axum v0.8.9
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ └── infraternal-server v0.1.0 ()
│ │ └── (dev) infraternal-server v0.1.0 ()
│ └── webauthn-rs-core v0.5.5
│ └── webauthn-rs v0.5.5
│ └── infraternal-server v0.1.0 ()
└── rand_chacha v0.9.0
├── rand v0.9.5 ()
└── webauthn-rs-core v0.5.5 ()
├ r-efi v6.0.0
└── getrandom v0.4.3
├── jobserver v0.1.35
│ └── cc v1.6.0
│ ├── (build) libfuzzer-sys v0.4.13
│ │ └── infraternal-fuzz v0.1.0
│ ├── (build) libsqlite3-sys v0.30.1
│ │ └── sqlx-sqlite v0.8.6
│ │ ├── sqlx v0.8.6
│ │ │ ├── infraternal v0.1.0
│ │ │ ├── infraternal-plugin-api v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-agent v0.1.0
│ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-ssh v0.1.0
│ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-server v0.1.0
│ │ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ │ └── infraternal-session v0.1.0
│ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ ├── infraternal-mesh v0.1.0
│ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ └── infraternal-plugin-mesh v0.1.0
│ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-backup v0.1.0
│ │ │ │ │ └── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-host-facts v0.1.0
│ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-relay v0.1.0
│ │ │ │ │ └── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-release v0.1.0
│ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-remote v0.1.0
│ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ ├── (dev) infraternal-plugin-ssh v0.1.0 ()
│ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ │ ├── infraternal-plugin-release v0.1.0 ()
│ │ │ └── infraternal-server v0.1.0 ()
│ │ └── sqlx-macros-core v0.8.6
│ │ └── sqlx-macros v0.8.6
│ │ └── sqlx v0.8.6 ()
│ ├── openssl-src v300.6.1+3.6.3
│ │ └── (build) openssl-sys v0.9.117
│ │ ├── axum-server v0.8.0
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── openssl v0.10.81
│ │ │ ├── axum-server v0.8.0 ()
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ │ ├── infraternal-server v0.1.0 ()
│ │ │ ├── infraternal-shim v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ │ │ ├── infraternal-server v0.1.0 ()
│ │ │ │ └── infraternal-session v0.1.0 ()
│ │ │ ├── tokio-openssl v0.6.5
│ │ │ │ ├── axum-server v0.8.0 ()
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ │ │ └── (dev) infraternal-server v0.1.0 ()
│ │ │ ├── webauthn-attestation-ca v0.5.5
│ │ │ │ └── webauthn-rs-core v0.5.5
│ │ │ │ └── webauthn-rs v0.5.5
│ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ └── webauthn-rs-core v0.5.5 ()
│ │ ├── tokio-openssl v0.6.5 ()
│ │ ├── webauthn-attestation-ca v0.5.5 ()
│ │ └── webauthn-rs-core v0.5.5 ()
│ ├── (build) openssl-sys v0.9.117 ()
│ └── (build) ring v0.17.14
│ ├── infraternal-plugin-remote v0.1.0 ()
│ ├── quinn-proto v0.11.19
│ │ └── quinn v0.11.12
│ │ ├── infraternal-agent v0.1.0 ()
│ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ ├── rustls v0.23.46
│ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ ├── quinn v0.11.12 ()
│ │ └── quinn-proto v0.11.19 ()
│ └── rustls-webpki v0.103.15
│ └── rustls v0.23.46 ()
├── quinn-proto v0.11.19 ()
├── rand v0.10.3
│ └── quinn-proto v0.11.19 ()
└── uuid v1.27.0
├── infraternal v0.1.0 ()
├── infraternal-agent v0.1.0 ()
├── infraternal-plugin-mesh v0.1.0 ()
├── infraternal-plugin-release v0.1.0 ()
├── infraternal-plugin-remote v0.1.0 ()
├── infraternal-plugin-ssh v0.1.0 ()
├── infraternal-server v0.1.0 ()
├── (dev) infraternal-status v0.1.0
│ └── infraternal v0.1.0 ()
├── webauthn-attestation-ca v0.5.5 ()
├── webauthn-rs v0.5.5 ()
└── webauthn-rs-core v0.5.5 ()
warning[duplicate]: found 3 duplicate entries for crate 'rand'
┌─ /home/kayg/Developer/infraternal/.worktrees/mesh-test-dir/Cargo.lock:201:1
│
201 │ ╭ rand 0.8.8 registry+https://github.com/rust-lang/crates.io-index
202 │ │ rand 0.9.5 registry+https://github.com/rust-lang/crates.io-index
203 │ │ rand 0.10.3 registry+https://github.com/rust-lang/crates.io-index
│ ╰─────────────────────────────────────────────────────────────────┘ lock entries
│
├ rand v0.8.8
└── bip39 v2.2.2
└── infraternal-server v0.1.0
├── infraternal v0.1.0
└── infraternal-fuzz v0.1.0
├ rand v0.9.5
├── infraternal-server v0.1.0
│ ├── infraternal v0.1.0
│ └── infraternal-fuzz v0.1.0
├── tungstenite v0.29.0
│ └── tokio-tungstenite v0.29.0
│ ├── axum v0.8.9
│ │ ├── infraternal-fuzz v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ └── (dev) infraternal-server v0.1.0 ()
└── webauthn-rs-core v0.5.5
└── webauthn-rs v0.5.5
└── infraternal-server v0.1.0 ()
├ rand v0.10.3
└── quinn-proto v0.11.19
└── quinn v0.11.12
├── infraternal-agent v0.1.0
│ ├── infraternal v0.1.0
│ ├── infraternal-fuzz v0.1.0
│ ├── infraternal-plugin-ssh v0.1.0
│ │ ├── infraternal v0.1.0 ()
│ │ ├── infraternal-fuzz v0.1.0 ()
│ │ ├── infraternal-server v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ └── infraternal-session v0.1.0
│ └── infraternal-server v0.1.0 ()
├── infraternal-plugin-remote v0.1.0
│ ├── infraternal v0.1.0 ()
│ ├── infraternal-agent v0.1.0 ()
│ ├── infraternal-fuzz v0.1.0 ()
│ ├── (dev) infraternal-plugin-ssh v0.1.0 ()
│ └── infraternal-server v0.1.0 ()
└── infraternal-server v0.1.0 (*)
warning[duplicate]: found 2 duplicate entries for crate 'rand_chacha'
┌─ /home/kayg/Developer/infraternal/.worktrees/mesh-test-dir/Cargo.lock:204:1
│
204 │ ╭ rand_chacha 0.3.1 registry+https://github.com/rust-lang/crates.io-index
205 │ │ rand_chacha 0.9.0 registry+https://github.com/rust-lang/crates.io-index
│ ╰───────────────────────────────────────────────────────────────────────┘ lock entries
│
├ rand_chacha v0.3.1
└── rand v0.8.8
└── bip39 v2.2.2
└── infraternal-server v0.1.0
├── infraternal v0.1.0
└── infraternal-fuzz v0.1.0
├ rand_chacha v0.9.0
├── rand v0.9.5
│ ├── infraternal-server v0.1.0
│ │ ├── infraternal v0.1.0
│ │ └── infraternal-fuzz v0.1.0
│ ├── tungstenite v0.29.0
│ │ └── tokio-tungstenite v0.29.0
│ │ ├── axum v0.8.9
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ └── infraternal-server v0.1.0 ()
│ │ └── (dev) infraternal-server v0.1.0 ()
│ └── webauthn-rs-core v0.5.5
│ └── webauthn-rs v0.5.5
│ └── infraternal-server v0.1.0 ()
└── webauthn-rs-core v0.5.5 (*)
warning[duplicate]: found 3 duplicate entries for crate 'rand_core'
┌─ /home/kayg/Developer/infraternal/.worktrees/mesh-test-dir/Cargo.lock:206:1
│
206 │ ╭ rand_core 0.6.4 registry+https://github.com/rust-lang/crates.io-index
207 │ │ rand_core 0.9.5 registry+https://github.com/rust-lang/crates.io-index
208 │ │ rand_core 0.10.1 registry+https://github.com/rust-lang/crates.io-index
│ ╰──────────────────────────────────────────────────────────────────────┘ lock entries
│
├ rand_core v0.6.4
├── bip39 v2.2.2
│ └── infraternal-server v0.1.0
│ ├── infraternal v0.1.0
│ └── infraternal-fuzz v0.1.0
├── crypto-common v0.1.7
│ ├── aead v0.5.2
│ │ └── aes-gcm v0.10.3
│ │ └── (dev) infraternal-server v0.1.0 ()
│ ├── cipher v0.4.4
│ │ ├── aes v0.8.4
│ │ │ └── aes-gcm v0.10.3 ()
│ │ ├── aes-gcm v0.10.3 ()
│ │ └── ctr v0.9.2
│ │ └── aes-gcm v0.10.3 ()
│ ├── digest v0.10.7
│ │ ├── blake2 v0.10.6
│ │ │ └── argon2 v0.5.3
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── hmac v0.12.1
│ │ │ └── hkdf v0.12.4
│ │ │ └── (dev) infraternal-server v0.1.0 ()
│ │ ├── sha1 v0.10.7
│ │ │ ├── axum v0.8.9
│ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ └── tungstenite v0.29.0
│ │ │ └── tokio-tungstenite v0.29.0
│ │ │ ├── axum v0.8.9 ()
│ │ │ └── (dev) infraternal-server v0.1.0 ()
│ │ └── sha2 v0.10.9
│ │ ├── infraternal-plugin-ssh v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ ├── infraternal-server v0.1.0 ()
│ │ │ └── infraternal-session v0.1.0
│ │ ├── infraternal-server v0.1.0 ()
│ │ ├── sqlx-core v0.8.6
│ │ │ ├── sqlx v0.8.6
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-api v0.1.0
│ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ ├── infraternal-agent v0.1.0
│ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ ├── infraternal-mesh v0.1.0
│ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ └── infraternal-plugin-mesh v0.1.0
│ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-backup v0.1.0
│ │ │ │ │ │ └── infraternal v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-host-facts v0.1.0
│ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-relay v0.1.0
│ │ │ │ │ │ └── infraternal v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-release v0.1.0
│ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-remote v0.1.0
│ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ │ ├── (dev) infraternal-plugin-ssh v0.1.0 ()
│ │ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-release v0.1.0 ()
│ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ ├── sqlx-macros v0.8.6
│ │ │ │ └── sqlx v0.8.6 ()
│ │ │ ├── sqlx-macros-core v0.8.6
│ │ │ │ └── sqlx-macros v0.8.6 ()
│ │ │ └── sqlx-sqlite v0.8.6
│ │ │ ├── sqlx v0.8.6 ()
│ │ │ └── sqlx-macros-core v0.8.6 ()
│ │ └── sqlx-macros-core v0.8.6 ()
│ └── universal-hash v0.5.1
│ └── polyval v0.6.2
│ └── ghash v0.5.1
│ └── aes-gcm v0.10.3 ()
├── password-hash v0.5.0
│ └── argon2 v0.5.3 ()
├── rand v0.8.8
│ └── bip39 v2.2.2 ()
└── rand_chacha v0.3.1
└── rand v0.8.8 ()
├ rand_core v0.9.5
├── rand v0.9.5
│ ├── infraternal-server v0.1.0
│ │ ├── infraternal v0.1.0
│ │ └── infraternal-fuzz v0.1.0
│ ├── tungstenite v0.29.0
│ │ └── tokio-tungstenite v0.29.0
│ │ ├── axum v0.8.9
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ └── infraternal-server v0.1.0 ()
│ │ └── (dev) infraternal-server v0.1.0 ()
│ └── webauthn-rs-core v0.5.5
│ └── webauthn-rs v0.5.5
│ └── infraternal-server v0.1.0 ()
└── rand_chacha v0.9.0
├── rand v0.9.5 ()
└── webauthn-rs-core v0.5.5 ()
├ rand_core v0.10.1
├── chacha20 v0.10.2
│ └── rand v0.10.3
│ └── quinn-proto v0.11.19
│ └── quinn v0.11.12
│ ├── infraternal-agent v0.1.0
│ │ ├── infraternal v0.1.0
│ │ ├── infraternal-fuzz v0.1.0
│ │ ├── infraternal-plugin-ssh v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ ├── infraternal-server v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ │ └── infraternal-session v0.1.0
│ │ └── infraternal-server v0.1.0 ()
│ ├── infraternal-plugin-remote v0.1.0
│ │ ├── infraternal v0.1.0 ()
│ │ ├── infraternal-agent v0.1.0 ()
│ │ ├── infraternal-fuzz v0.1.0 ()
│ │ ├── (dev) infraternal-plugin-ssh v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ └── infraternal-server v0.1.0 ()
├── getrandom v0.4.3
│ ├── jobserver v0.1.35
│ │ └── cc v1.6.0
│ │ ├── (build) libfuzzer-sys v0.4.13
│ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ ├── (build) libsqlite3-sys v0.30.1
│ │ │ └── sqlx-sqlite v0.8.6
│ │ │ ├── sqlx v0.8.6
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-api v0.1.0
│ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ ├── infraternal-mesh v0.1.0
│ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ └── infraternal-plugin-mesh v0.1.0
│ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-backup v0.1.0
│ │ │ │ │ │ └── infraternal v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-host-facts v0.1.0
│ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-relay v0.1.0
│ │ │ │ │ │ └── infraternal v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-release v0.1.0
│ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-release v0.1.0 ()
│ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ └── sqlx-macros-core v0.8.6
│ │ │ └── sqlx-macros v0.8.6
│ │ │ └── sqlx v0.8.6 ()
│ │ ├── openssl-src v300.6.1+3.6.3
│ │ │ └── (build) openssl-sys v0.9.117
│ │ │ ├── axum-server v0.8.0
│ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ ├── openssl v0.10.81
│ │ │ │ ├── axum-server v0.8.0 ()
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ │ │ ├── infraternal-server v0.1.0 ()
│ │ │ │ ├── infraternal-shim v0.1.0
│ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ │ │ │ ├── infraternal-server v0.1.0 ()
│ │ │ │ │ └── infraternal-session v0.1.0 ()
│ │ │ │ ├── tokio-openssl v0.6.5
│ │ │ │ │ ├── axum-server v0.8.0 ()
│ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ │ │ │ └── (dev) infraternal-server v0.1.0 ()
│ │ │ │ ├── webauthn-attestation-ca v0.5.5
│ │ │ │ │ └── webauthn-rs-core v0.5.5
│ │ │ │ │ └── webauthn-rs v0.5.5
│ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ └── webauthn-rs-core v0.5.5 ()
│ │ │ ├── tokio-openssl v0.6.5 ()
│ │ │ ├── webauthn-attestation-ca v0.5.5 ()
│ │ │ └── webauthn-rs-core v0.5.5 ()
│ │ ├── (build) openssl-sys v0.9.117 ()
│ │ └── (build) ring v0.17.14
│ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ ├── quinn-proto v0.11.19 ()
│ │ ├── rustls v0.23.46
│ │ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ │ ├── quinn v0.11.12 ()
│ │ │ └── quinn-proto v0.11.19 ()
│ │ └── rustls-webpki v0.103.15
│ │ └── rustls v0.23.46 ()
│ ├── quinn-proto v0.11.19 ()
│ ├── rand v0.10.3 ()
│ └── uuid v1.27.0
│ ├── infraternal v0.1.0 ()
│ ├── infraternal-agent v0.1.0 ()
│ ├── infraternal-plugin-mesh v0.1.0 ()
│ ├── infraternal-plugin-release v0.1.0 ()
│ ├── infraternal-plugin-remote v0.1.0 ()
│ ├── infraternal-plugin-ssh v0.1.0 ()
│ ├── infraternal-server v0.1.0 ()
│ ├── (dev) infraternal-status v0.1.0
│ │ └── infraternal v0.1.0 ()
│ ├── webauthn-attestation-ca v0.5.5 ()
│ ├── webauthn-rs v0.5.5 ()
│ └── webauthn-rs-core v0.5.5 ()
├── rand v0.10.3 ()
└── rand_pcg v0.10.2
└── quinn-proto v0.11.19 (*)
warning[duplicate]: found 2 duplicate entries for crate 'syn'
┌─ /home/kayg/Developer/infraternal/.worktrees/mesh-test-dir/Cargo.lock:250:1
│
250 │ ╭ syn 2.0.119 registry+https://github.com/rust-lang/crates.io-index
251 │ │ syn 3.0.6 registry+https://github.com/rust-lang/crates.io-index
│ ╰───────────────────────────────────────────────────────────────┘ lock entries
│
├ syn v2.0.119
├── asn1-rs-derive v0.5.1
│ └── asn1-rs v0.6.2
│ ├── der-parser v9.0.0
│ │ ├── webauthn-rs-core v0.5.5
│ │ │ └── webauthn-rs v0.5.5
│ │ │ └── infraternal-server v0.1.0
│ │ │ ├── infraternal v0.1.0
│ │ │ └── infraternal-fuzz v0.1.0
│ │ └── x509-parser v0.16.0
│ │ └── webauthn-rs-core v0.5.5 ()
│ ├── oid-registry v0.7.1
│ │ └── x509-parser v0.16.0 ()
│ └── x509-parser v0.16.0 ()
├── asn1-rs-impl v0.2.0
│ └── asn1-rs v0.6.2 ()
├── enum-as-inner v0.6.1
│ └── sysctl v0.7.1
│ └── infraternal-plugin-host-facts v0.1.0
│ ├── infraternal v0.1.0 ()
│ ├── infraternal-agent v0.1.0
│ │ ├── infraternal v0.1.0 ()
│ │ ├── infraternal-fuzz v0.1.0 ()
│ │ ├── infraternal-plugin-ssh v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ ├── infraternal-server v0.1.0 ()
│ │ │ └── infraternal-session v0.1.0
│ │ └── infraternal-server v0.1.0 ()
│ └── infraternal-fuzz v0.1.0 ()
├── openssl-macros v0.1.1
│ └── openssl v0.10.81
│ ├── axum-server v0.8.0
│ │ └── infraternal-server v0.1.0 ()
│ ├── infraternal v0.1.0 ()
│ ├── infraternal-agent v0.1.0 ()
│ ├── infraternal-plugin-mesh v0.1.0
│ │ ├── infraternal v0.1.0 ()
│ │ ├── infraternal-agent v0.1.0 ()
│ │ ├── infraternal-fuzz v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ ├── infraternal-plugin-remote v0.1.0
│ │ ├── infraternal v0.1.0 ()
│ │ ├── infraternal-agent v0.1.0 ()
│ │ ├── infraternal-fuzz v0.1.0 ()
│ │ ├── (dev) infraternal-plugin-ssh v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ ├── infraternal-server v0.1.0 ()
│ ├── infraternal-shim v0.1.0
│ │ ├── infraternal v0.1.0 ()
│ │ ├── infraternal-agent v0.1.0 ()
│ │ ├── infraternal-fuzz v0.1.0 ()
│ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ ├── infraternal-server v0.1.0 ()
│ │ └── infraternal-session v0.1.0 ()
│ ├── tokio-openssl v0.6.5
│ │ ├── axum-server v0.8.0 ()
│ │ ├── infraternal v0.1.0 ()
│ │ ├── infraternal-agent v0.1.0 ()
│ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ └── (dev) infraternal-server v0.1.0 ()
│ ├── webauthn-attestation-ca v0.5.5
│ │ └── webauthn-rs-core v0.5.5 ()
│ └── webauthn-rs-core v0.5.5 ()
├── sqlx-macros v0.8.6
│ └── sqlx v0.8.6
│ ├── infraternal v0.1.0 ()
│ ├── infraternal-plugin-api v0.1.0
│ │ ├── infraternal v0.1.0 ()
│ │ ├── infraternal-agent v0.1.0 ()
│ │ ├── infraternal-fuzz v0.1.0 ()
│ │ ├── infraternal-mesh v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ └── infraternal-plugin-mesh v0.1.0 ()
│ │ ├── infraternal-plugin-backup v0.1.0
│ │ │ └── infraternal v0.1.0 ()
│ │ ├── infraternal-plugin-host-facts v0.1.0 ()
│ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ ├── infraternal-plugin-relay v0.1.0
│ │ │ └── infraternal v0.1.0 ()
│ │ ├── infraternal-plugin-release v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ ├── infraternal-plugin-mesh v0.1.0 ()
│ ├── infraternal-plugin-release v0.1.0 ()
│ └── infraternal-server v0.1.0 ()
├── sqlx-macros-core v0.8.6
│ └── sqlx-macros v0.8.6 ()
├── synstructure v0.13.2
│ └── asn1-rs-derive v0.5.1 ()
├── thiserror-impl v1.0.69
│ └── thiserror v1.0.69
│ ├── asn1-rs v0.6.2 ()
│ ├── webauthn-rs-core v0.5.5 ()
│ └── x509-parser v0.16.0 ()
├── tracing-attributes v0.1.31
│ └── tracing v0.1.44
│ ├── axum v0.8.9
│ │ ├── infraternal-fuzz v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ ├── axum-core v0.5.6
│ │ └── axum v0.8.9 ()
│ ├── h2 v0.4.19
│ │ ├── hyper v1.11.1
│ │ │ ├── axum v0.8.9 ()
│ │ │ ├── axum-server v0.8.0 ()
│ │ │ ├── hyper-util v0.1.21
│ │ │ │ ├── axum v0.8.9 ()
│ │ │ │ ├── axum-server v0.8.0 ()
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ └── (dev) infraternal-server v0.1.0 ()
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ └── (dev) infraternal-server v0.1.0 ()
│ │ └── (dev) infraternal-server v0.1.0 ()
│ ├── infraternal v0.1.0 ()
│ ├── infraternal-plugin-mesh v0.1.0 ()
│ ├── infraternal-server v0.1.0 ()
│ ├── quinn v0.11.12
│ │ ├── infraternal-agent v0.1.0 ()
│ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ ├── quinn-proto v0.11.19
│ │ └── quinn v0.11.12 ()
│ ├── quinn-udp v0.5.16
│ │ └── quinn v0.11.12 ()
│ ├── sqlx-core v0.8.6
│ │ ├── sqlx v0.8.6 ()
│ │ ├── sqlx-macros v0.8.6 ()
│ │ ├── sqlx-macros-core v0.8.6 ()
│ │ └── sqlx-sqlite v0.8.6
│ │ ├── sqlx v0.8.6 ()
│ │ └── sqlx-macros-core v0.8.6 ()
│ ├── sqlx-sqlite v0.8.6 ()
│ ├── tower v0.5.3
│ │ ├── axum v0.8.9 ()
│ │ └── (dev) infraternal-server v0.1.0 ()
│ ├── tracing-subscriber v0.3.23
│ │ └── infraternal-server v0.1.0 ()
│ ├── webauthn-attestation-ca v0.5.5 ()
│ ├── webauthn-rs v0.5.5 ()
│ └── webauthn-rs-core v0.5.5 ()
└── zerocopy-derive v0.8.60
└── zerocopy v0.8.60
├── half v2.7.1
│ ├── ciborium-ll v0.2.2
│ │ └── ciborium v0.2.2
│ │ └── criterion v0.7.0
│ │ └── (dev) infraternal-protocol v0.1.0
│ │ ├── infraternal-agent v0.1.0 ()
│ │ ├── infraternal-fuzz v0.1.0 ()
│ │ ├── (dev) infraternal-plugin-host-facts v0.1.0 ()
│ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ ├── infraternal-plugin-release v0.1.0 ()
│ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ └── serde_cbor_2 v0.13.0
│ ├── infraternal-server v0.1.0 ()
│ └── webauthn-rs-core v0.5.5 ()
└── ppv-lite86 v0.2.21
├── rand_chacha v0.3.1
│ └── rand v0.8.8
│ └── bip39 v2.2.2
│ └── infraternal-server v0.1.0 ()
└── rand_chacha v0.9.0
├── rand v0.9.5
│ ├── infraternal-server v0.1.0 ()
│ ├── tungstenite v0.29.0
│ │ └── tokio-tungstenite v0.29.0
│ │ ├── axum v0.8.9 ()
│ │ └── (dev) infraternal-server v0.1.0 ()
│ └── webauthn-rs-core v0.5.5 ()
└── webauthn-rs-core v0.5.5 ()
├ syn v3.0.6
├── clap_derive v4.6.7
│ └── clap v4.6.7
│ ├── criterion v0.7.0
│ │ └── (dev) infraternal-protocol v0.1.0
│ │ ├── infraternal-agent v0.1.0
│ │ │ ├── infraternal v0.1.0
│ │ │ ├── infraternal-fuzz v0.1.0
│ │ │ ├── infraternal-plugin-ssh v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ ├── infraternal-server v0.1.0
│ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ │ │ └── infraternal-session v0.1.0
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── infraternal-fuzz v0.1.0 ()
│ │ ├── (dev) infraternal-plugin-host-facts v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ ├── infraternal-plugin-mesh v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── infraternal-plugin-release v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── infraternal-plugin-remote v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ ├── (dev) infraternal-plugin-ssh v0.1.0 ()
│ │ │ └── infraternal-server v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ ├── infraternal v0.1.0 ()
│ └── infraternal-shim v0.1.0
│ ├── infraternal v0.1.0 ()
│ ├── infraternal-agent v0.1.0 ()
│ ├── infraternal-fuzz v0.1.0 ()
│ ├── infraternal-plugin-remote v0.1.0 ()
│ ├── infraternal-plugin-ssh v0.1.0 ()
│ ├── infraternal-server v0.1.0 ()
│ └── infraternal-session v0.1.0 ()
├── displaydoc v0.2.7
│ ├── asn1-rs v0.6.2
│ │ ├── der-parser v9.0.0
│ │ │ ├── webauthn-rs-core v0.5.5
│ │ │ │ └── webauthn-rs v0.5.5
│ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ └── x509-parser v0.16.0
│ │ │ └── webauthn-rs-core v0.5.5 ()
│ │ ├── oid-registry v0.7.1
│ │ │ └── x509-parser v0.16.0 ()
│ │ └── x509-parser v0.16.0 ()
│ ├── der-parser v9.0.0 ()
│ ├── icu_collections v2.3.0
│ │ ├── icu_normalizer v2.3.0
│ │ │ └── idna_adapter v1.2.2
│ │ │ └── idna v1.1.0
│ │ │ └── url v2.5.8
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ │ ├── infraternal-server v0.1.0 ()
│ │ │ ├── sqlx-core v0.8.6
│ │ │ │ ├── sqlx v0.8.6
│ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-api v0.1.0
│ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-mesh v0.1.0
│ │ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ │ └── infraternal-plugin-mesh v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-plugin-backup v0.1.0
│ │ │ │ │ │ │ └── infraternal v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-plugin-host-facts v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-plugin-relay v0.1.0
│ │ │ │ │ │ │ └── infraternal v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-plugin-release v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-release v0.1.0 ()
│ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ ├── sqlx-macros v0.8.6
│ │ │ │ │ └── sqlx v0.8.6 ()
│ │ │ │ ├── sqlx-macros-core v0.8.6
│ │ │ │ │ └── sqlx-macros v0.8.6 ()
│ │ │ │ └── sqlx-sqlite v0.8.6
│ │ │ │ ├── sqlx v0.8.6 ()
│ │ │ │ └── sqlx-macros-core v0.8.6 ()
│ │ │ ├── sqlx-macros-core v0.8.6 ()
│ │ │ ├── sqlx-sqlite v0.8.6 ()
│ │ │ ├── webauthn-rs v0.5.5 ()
│ │ │ ├── webauthn-rs-core v0.5.5 ()
│ │ │ └── webauthn-rs-proto v0.5.5
│ │ │ └── webauthn-rs-core v0.5.5 ()
│ │ └── icu_properties v2.3.0
│ │ └── idna_adapter v1.2.2 ()
│ ├── icu_locale_core v2.3.0
│ │ ├── icu_properties v2.3.0 ()
│ │ └── icu_provider v2.3.1
│ │ ├── icu_normalizer v2.3.0 ()
│ │ └── icu_properties v2.3.0 ()
│ ├── icu_properties v2.3.0 ()
│ ├── icu_provider v2.3.1 ()
│ ├── tinystr v0.8.4
│ │ └── icu_locale_core v2.3.0 ()
│ └── zerotrie v0.2.5
│ ├── icu_properties v2.3.0 ()
│ └── icu_provider v2.3.1 ()
├── futures-macro v0.3.34
│ └── futures-util v0.3.34
│ ├── axum v0.8.9
│ │ ├── infraternal-fuzz v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ ├── futures-executor v0.3.34
│ │ └── sqlx-sqlite v0.8.6 ()
│ ├── infraternal-plugin-mesh v0.1.0 ()
│ ├── (dev) infraternal-plugin-ssh v0.1.0 ()
│ ├── infraternal-server v0.1.0 ()
│ ├── js-sys v0.3.106
│ │ ├── getrandom v0.2.17
│ │ │ ├── rand_core v0.6.4
│ │ │ │ ├── bip39 v2.2.2
│ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ ├── crypto-common v0.1.7
│ │ │ │ │ ├── aead v0.5.2
│ │ │ │ │ │ └── aes-gcm v0.10.3
│ │ │ │ │ │ └── (dev) infraternal-server v0.1.0 ()
│ │ │ │ │ ├── cipher v0.4.4
│ │ │ │ │ │ ├── aes v0.8.4
│ │ │ │ │ │ │ └── aes-gcm v0.10.3 ()
│ │ │ │ │ │ ├── aes-gcm v0.10.3 ()
│ │ │ │ │ │ └── ctr v0.9.2
│ │ │ │ │ │ └── aes-gcm v0.10.3 ()
│ │ │ │ │ ├── digest v0.10.7
│ │ │ │ │ │ ├── blake2 v0.10.6
│ │ │ │ │ │ │ └── argon2 v0.5.3
│ │ │ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ │ │ ├── hmac v0.12.1
│ │ │ │ │ │ │ └── hkdf v0.12.4
│ │ │ │ │ │ │ └── (dev) infraternal-server v0.1.0 ()
│ │ │ │ │ │ ├── sha1 v0.10.7
│ │ │ │ │ │ │ ├── axum v0.8.9 ()
│ │ │ │ │ │ │ └── tungstenite v0.29.0
│ │ │ │ │ │ │ └── tokio-tungstenite v0.29.0
│ │ │ │ │ │ │ ├── axum v0.8.9 ()
│ │ │ │ │ │ │ └── (dev) infraternal-server v0.1.0 ()
│ │ │ │ │ │ └── sha2 v0.10.9
│ │ │ │ │ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-server v0.1.0 ()
│ │ │ │ │ │ ├── sqlx-core v0.8.6 ()
│ │ │ │ │ │ └── sqlx-macros-core v0.8.6 ()
│ │ │ │ │ └── universal-hash v0.5.1
│ │ │ │ │ └── polyval v0.6.2
│ │ │ │ │ └── ghash v0.5.1
│ │ │ │ │ └── aes-gcm v0.10.3 ()
│ │ │ │ ├── password-hash v0.5.0
│ │ │ │ │ └── argon2 v0.5.3 ()
│ │ │ │ ├── rand v0.8.8
│ │ │ │ │ └── bip39 v2.2.2 ()
│ │ │ │ └── rand_chacha v0.3.1
│ │ │ │ └── rand v0.8.8 ()
│ │ │ └── ring v0.17.14
│ │ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ │ ├── quinn-proto v0.11.19
│ │ │ │ └── quinn v0.11.12
│ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ ├── rustls v0.23.46
│ │ │ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ │ │ ├── quinn v0.11.12 ()
│ │ │ │ └── quinn-proto v0.11.19 ()
│ │ │ └── rustls-webpki v0.103.15
│ │ │ └── rustls v0.23.46 ()
│ │ ├── getrandom v0.4.3
│ │ │ ├── jobserver v0.1.35
│ │ │ │ └── cc v1.6.0
│ │ │ │ ├── (build) libfuzzer-sys v0.4.13
│ │ │ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ │ │ ├── (build) libsqlite3-sys v0.30.1
│ │ │ │ │ └── sqlx-sqlite v0.8.6 ()
│ │ │ │ ├── openssl-src v300.6.1+3.6.3
│ │ │ │ │ └── (build) openssl-sys v0.9.117
│ │ │ │ │ ├── axum-server v0.8.0
│ │ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ │ ├── openssl v0.10.81
│ │ │ │ │ │ ├── axum-server v0.8.0 ()
│ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-server v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-shim v0.1.0 ()
│ │ │ │ │ │ ├── tokio-openssl v0.6.5
│ │ │ │ │ │ │ ├── axum-server v0.8.0 ()
│ │ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ │ │ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ │ │ │ │ │ └── (dev) infraternal-server v0.1.0 ()
│ │ │ │ │ │ ├── webauthn-attestation-ca v0.5.5
│ │ │ │ │ │ │ └── webauthn-rs-core v0.5.5 ()
│ │ │ │ │ │ └── webauthn-rs-core v0.5.5 ()
│ │ │ │ │ ├── tokio-openssl v0.6.5 ()
│ │ │ │ │ ├── webauthn-attestation-ca v0.5.5 ()
│ │ │ │ │ └── webauthn-rs-core v0.5.5 ()
│ │ │ │ ├── (build) openssl-sys v0.9.117 ()
│ │ │ │ └── (build) ring v0.17.14 ()
│ │ │ ├── quinn-proto v0.11.19 ()
│ │ │ ├── rand v0.10.3
│ │ │ │ └── quinn-proto v0.11.19 ()
│ │ │ └── uuid v1.27.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ │ ├── infraternal-plugin-release v0.1.0 ()
│ │ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ │ ├── infraternal-server v0.1.0 ()
│ │ │ ├── (dev) infraternal-status v0.1.0
│ │ │ │ └── infraternal v0.1.0 ()
│ │ │ ├── webauthn-attestation-ca v0.5.5 ()
│ │ │ ├── webauthn-rs v0.5.5 ()
│ │ │ └── webauthn-rs-core v0.5.5 ()
│ │ ├── web-sys v0.3.106
│ │ │ └── plotters v0.3.7
│ │ │ └── criterion v0.7.0 ()
│ │ └── web-time v1.1.0
│ │ ├── quinn v0.11.12 ()
│ │ ├── quinn-proto v0.11.19 ()
│ │ └── rustls-pki-types v1.15.1
│ │ ├── quinn-proto v0.11.19 ()
│ │ ├── rustls v0.23.46 ()
│ │ └── rustls-webpki v0.103.15 ()
│ ├── sqlx-core v0.8.6 ()
│ ├── sqlx-sqlite v0.8.6 ()
│ ├── tokio-tungstenite v0.29.0 ()
│ ├── tower v0.5.3
│ │ ├── axum v0.8.9 ()
│ │ └── (dev) infraternal-server v0.1.0 ()
│ └── tower-http v0.6.11
│ └── infraternal-server v0.1.0 ()
├── serde_derive v1.0.229
│ ├── serde v1.0.229
│ │ ├── base64urlsafedata v0.5.5
│ │ │ ├── webauthn-attestation-ca v0.5.5 ()
│ │ │ ├── webauthn-rs v0.5.5 ()
│ │ │ ├── webauthn-rs-core v0.5.5 ()
│ │ │ └── webauthn-rs-proto v0.5.5 ()
│ │ ├── bip39 v2.2.2 ()
│ │ ├── ciborium v0.2.2
│ │ │ └── criterion v0.7.0 ()
│ │ ├── criterion v0.7.0 ()
│ │ ├── either v1.18.0
│ │ │ ├── axum-server v0.8.0 ()
│ │ │ ├── itertools v0.13.0
│ │ │ │ ├── criterion v0.7.0 ()
│ │ │ │ └── criterion-plot v0.6.0
│ │ │ │ └── criterion v0.7.0 ()
│ │ │ ├── rayon v1.12.0
│ │ │ │ └── criterion v0.7.0 ()
│ │ │ ├── sqlx-core v0.8.6 ()
│ │ │ └── sqlx-macros-core v0.8.6 ()
│ │ ├── infraternal v0.1.0 ()
│ │ ├── infraternal-agent v0.1.0 ()
│ │ ├── infraternal-mesh v0.1.0 ()
│ │ ├── infraternal-plugin-api v0.1.0 ()
│ │ ├── infraternal-plugin-host-facts v0.1.0 ()
│ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ ├── infraternal-plugin-release v0.1.0 ()
│ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ ├── infraternal-server v0.1.0 ()
│ │ ├── serde_cbor_2 v0.13.0
│ │ │ ├── infraternal-server v0.1.0 ()
│ │ │ └── webauthn-rs-core v0.5.5 ()
│ │ ├── serde_urlencoded v0.7.1
│ │ │ └── sqlx-sqlite v0.8.6 ()
│ │ ├── sqlx-core v0.8.6 ()
│ │ ├── sqlx-macros-core v0.8.6 ()
│ │ ├── sqlx-sqlite v0.8.6 ()
│ │ ├── tinytemplate v1.2.1
│ │ │ └── criterion v0.7.0 ()
│ │ ├── tracing-serde v0.2.0
│ │ │ └── tracing-subscriber v0.3.23
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── tracing-subscriber v0.3.23 ()
│ │ ├── url v2.5.8 ()
│ │ ├── webauthn-attestation-ca v0.5.5 ()
│ │ ├── webauthn-rs v0.5.5 ()
│ │ ├── webauthn-rs-core v0.5.5 ()
│ │ ├── webauthn-rs-proto v0.5.5 ()
│ │ └── zeroize v1.9.0
│ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ ├── infraternal-server v0.1.0 ()
│ │ ├── rustls v0.23.46 ()
│ │ └── rustls-pki-types v1.15.1 ()
│ └── url v2.5.8 ()
├── synstructure v0.14.0
│ ├── yoke-derive v0.8.4
│ │ └── yoke v0.8.3
│ │ ├── icu_collections v2.3.0 ()
│ │ ├── icu_provider v2.3.1 ()
│ │ ├── zerotrie v0.2.5 ()
│ │ └── zerovec v0.11.8
│ │ ├── icu_collections v2.3.0 ()
│ │ ├── icu_locale_core v2.3.0 ()
│ │ ├── icu_normalizer v2.3.0 ()
│ │ ├── icu_properties v2.3.0 ()
│ │ ├── icu_provider v2.3.1 ()
│ │ ├── potential_utf v0.1.6
│ │ │ └── icu_collections v2.3.0 ()
│ │ └── tinystr v0.8.4 ()
│ └── zerofrom-derive v0.1.8
│ └── zerofrom v0.1.8
│ ├── icu_collections v2.3.0 ()
│ ├── icu_provider v2.3.1 ()
│ ├── yoke v0.8.3 ()
│ ├── zerotrie v0.2.5 ()
│ └── zerovec v0.11.8 ()
├── thiserror-impl v2.0.21
│ └── thiserror v2.0.21
│ ├── infraternal v0.1.0 ()
│ ├── infraternal-mesh v0.1.0 ()
│ ├── infraternal-server v0.1.0 ()
│ ├── quinn v0.11.12 ()
│ ├── quinn-proto v0.11.19 ()
│ ├── sqlx-core v0.8.6 ()
│ ├── sqlx-sqlite v0.8.6 ()
│ ├── sysctl v0.7.1
│ │ └── infraternal-plugin-host-facts v0.1.0 ()
│ └── tungstenite v0.29.0 ()
├── tokio-macros v2.7.2
│ └── tokio v1.53.2
│ ├── axum v0.8.9 ()
│ ├── axum-server v0.8.0 ()
│ ├── fs-err v3.3.2
│ │ └── axum-server v0.8.0 ()
│ ├── h2 v0.4.19
│ │ ├── hyper v1.11.1
│ │ │ ├── axum v0.8.9 ()
│ │ │ ├── axum-server v0.8.0 ()
│ │ │ ├── hyper-util v0.1.21
│ │ │ │ ├── axum v0.8.9 ()
│ │ │ │ ├── axum-server v0.8.0 ()
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ └── (dev) infraternal-server v0.1.0 ()
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ └── (dev) infraternal-server v0.1.0 ()
│ │ └── (dev) infraternal-server v0.1.0 ()
│ ├── hyper v1.11.1 ()
│ ├── hyper-util v0.1.21 ()
│ ├── (dev) infraternal v0.1.0 ()
│ ├── (dev) infraternal-agent v0.1.0 ()
│ ├── infraternal-plugin-api v0.1.0 ()
│ ├── infraternal-plugin-mesh v0.1.0 ()
│ ├── infraternal-plugin-release v0.1.0 ()
│ ├── (dev) infraternal-plugin-remote v0.1.0 ()
│ ├── (dev) infraternal-plugin-ssh v0.1.0 ()
│ ├── (dev) infraternal-server v0.1.0 ()
│ ├── quinn v0.11.12 ()
│ ├── sqlx-core v0.8.6 ()
│ ├── sqlx-macros-core v0.8.6 ()
│ ├── tokio-openssl v0.6.5 ()
│ ├── tokio-stream v0.1.19
│ │ └── sqlx-core v0.8.6 ()
│ ├── tokio-tungstenite v0.29.0 ()
│ ├── tokio-util v0.7.19
│ │ ├── h2 v0.4.19 ()
│ │ └── tower-http v0.6.11 ()
│ ├── tower v0.5.3 ()
│ └── tower-http v0.6.11 ()
├── wasm-bindgen-macro-support v0.2.129
│ └── wasm-bindgen-macro v0.2.129
│ └── wasm-bindgen v0.2.129
│ ├── getrandom v0.2.17 ()
│ ├── getrandom v0.4.3 ()
│ ├── js-sys v0.3.106 ()
│ ├── plotters v0.3.7 ()
│ ├── web-sys v0.3.106 ()
│ └── web-time v1.1.0 ()
├── yoke-derive v0.8.4 ()
├── zerofrom-derive v0.1.8 ()
└── zerovec-derive v0.11.6
└── zerovec v0.11.8 (*)
warning[duplicate]: found 2 duplicate entries for crate 'synstructure'
┌─ /home/kayg/Developer/infraternal/.worktrees/mesh-test-dir/Cargo.lock:253:1
│
253 │ ╭ synstructure 0.13.2 registry+https://github.com/rust-lang/crates.io-index
254 │ │ synstructure 0.14.0 registry+https://github.com/rust-lang/crates.io-index
│ ╰─────────────────────────────────────────────────────────────────────────┘ lock entries
│
├ synstructure v0.13.2
└── asn1-rs-derive v0.5.1
└── asn1-rs v0.6.2
├── der-parser v9.0.0
│ ├── webauthn-rs-core v0.5.5
│ │ └── webauthn-rs v0.5.5
│ │ └── infraternal-server v0.1.0
│ │ ├── infraternal v0.1.0
│ │ └── infraternal-fuzz v0.1.0
│ └── x509-parser v0.16.0
│ └── webauthn-rs-core v0.5.5 ()
├── oid-registry v0.7.1
│ └── x509-parser v0.16.0 ()
└── x509-parser v0.16.0 ()
├ synstructure v0.14.0
├── yoke-derive v0.8.4
│ └── yoke v0.8.3
│ ├── icu_collections v2.3.0
│ │ ├── icu_normalizer v2.3.0
│ │ │ └── idna_adapter v1.2.2
│ │ │ └── idna v1.1.0
│ │ │ └── url v2.5.8
│ │ │ ├── infraternal v0.1.0
│ │ │ ├── infraternal-plugin-ssh v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-fuzz v0.1.0
│ │ │ │ ├── infraternal-server v0.1.0
│ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ │ │ └── infraternal-session v0.1.0
│ │ │ ├── infraternal-server v0.1.0 ()
│ │ │ ├── sqlx-core v0.8.6
│ │ │ │ ├── sqlx v0.8.6
│ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-api v0.1.0
│ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-agent v0.1.0
│ │ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ │ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ │ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-mesh v0.1.0
│ │ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ │ └── infraternal-plugin-mesh v0.1.0
│ │ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-plugin-backup v0.1.0
│ │ │ │ │ │ │ └── infraternal v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-plugin-host-facts v0.1.0
│ │ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ │ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-plugin-relay v0.1.0
│ │ │ │ │ │ │ └── infraternal v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-plugin-release v0.1.0
│ │ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-plugin-remote v0.1.0
│ │ │ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ │ │ │ ├── (dev) infraternal-plugin-ssh v0.1.0 ()
│ │ │ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ │ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ │ │ │ ├── infraternal-plugin-release v0.1.0 ()
│ │ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ │ ├── sqlx-macros v0.8.6
│ │ │ │ │ └── sqlx v0.8.6 ()
│ │ │ │ ├── sqlx-macros-core v0.8.6
│ │ │ │ │ └── sqlx-macros v0.8.6 ()
│ │ │ │ └── sqlx-sqlite v0.8.6
│ │ │ │ ├── sqlx v0.8.6 ()
│ │ │ │ └── sqlx-macros-core v0.8.6 ()
│ │ │ ├── sqlx-macros-core v0.8.6 ()
│ │ │ ├── sqlx-sqlite v0.8.6 ()
│ │ │ ├── webauthn-rs v0.5.5
│ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ ├── webauthn-rs-core v0.5.5
│ │ │ │ └── webauthn-rs v0.5.5 ()
│ │ │ └── webauthn-rs-proto v0.5.5
│ │ │ └── webauthn-rs-core v0.5.5 ()
│ │ └── icu_properties v2.3.0
│ │ └── idna_adapter v1.2.2 ()
│ ├── icu_provider v2.3.1
│ │ ├── icu_normalizer v2.3.0 ()
│ │ └── icu_properties v2.3.0 ()
│ ├── zerotrie v0.2.5
│ │ ├── icu_properties v2.3.0 ()
│ │ └── icu_provider v2.3.1 ()
│ └── zerovec v0.11.8
│ ├── icu_collections v2.3.0 ()
│ ├── icu_locale_core v2.3.0
│ │ ├── icu_properties v2.3.0 ()
│ │ └── icu_provider v2.3.1 ()
│ ├── icu_normalizer v2.3.0 ()
│ ├── icu_properties v2.3.0 ()
│ ├── icu_provider v2.3.1 ()
│ ├── potential_utf v0.1.6
│ │ └── icu_collections v2.3.0 ()
│ └── tinystr v0.8.4
│ └── icu_locale_core v2.3.0 ()
└── zerofrom-derive v0.1.8
└── zerofrom v0.1.8
├── icu_collections v2.3.0 ()
├── icu_provider v2.3.1 ()
├── yoke v0.8.3 ()
├── zerotrie v0.2.5 ()
└── zerovec v0.11.8 (*)
warning[duplicate]: found 2 duplicate entries for crate 'thiserror'
┌─ /home/kayg/Developer/infraternal/.worktrees/mesh-test-dir/Cargo.lock:256:1
│
256 │ ╭ thiserror 1.0.69 registry+https://github.com/rust-lang/crates.io-index
257 │ │ thiserror 2.0.21 registry+https://github.com/rust-lang/crates.io-index
│ ╰──────────────────────────────────────────────────────────────────────┘ lock entries
│
├ thiserror v1.0.69
├── asn1-rs v0.6.2
│ ├── der-parser v9.0.0
│ │ ├── webauthn-rs-core v0.5.5
│ │ │ └── webauthn-rs v0.5.5
│ │ │ └── infraternal-server v0.1.0
│ │ │ ├── infraternal v0.1.0
│ │ │ └── infraternal-fuzz v0.1.0
│ │ └── x509-parser v0.16.0
│ │ └── webauthn-rs-core v0.5.5 ()
│ ├── oid-registry v0.7.1
│ │ └── x509-parser v0.16.0 ()
│ └── x509-parser v0.16.0 ()
├── webauthn-rs-core v0.5.5 ()
└── x509-parser v0.16.0 ()
├ thiserror v2.0.21
├── infraternal v0.1.0
├── infraternal-mesh v0.1.0
│ ├── infraternal v0.1.0 ()
│ └── infraternal-plugin-mesh v0.1.0
│ ├── infraternal v0.1.0 ()
│ ├── infraternal-agent v0.1.0
│ │ ├── infraternal v0.1.0 ()
│ │ ├── infraternal-fuzz v0.1.0
│ │ ├── infraternal-plugin-ssh v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ ├── infraternal-server v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ │ └── infraternal-session v0.1.0
│ │ └── infraternal-server v0.1.0 ()
│ ├── infraternal-fuzz v0.1.0 ()
│ └── infraternal-server v0.1.0 ()
├── infraternal-server v0.1.0 ()
├── quinn v0.11.12
│ ├── infraternal-agent v0.1.0 ()
│ ├── infraternal-plugin-remote v0.1.0
│ │ ├── infraternal v0.1.0 ()
│ │ ├── infraternal-agent v0.1.0 ()
│ │ ├── infraternal-fuzz v0.1.0 ()
│ │ ├── (dev) infraternal-plugin-ssh v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ └── infraternal-server v0.1.0 ()
├── quinn-proto v0.11.19
│ └── quinn v0.11.12 ()
├── sqlx-core v0.8.6
│ ├── sqlx v0.8.6
│ │ ├── infraternal v0.1.0 ()
│ │ ├── infraternal-plugin-api v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ ├── infraternal-mesh v0.1.0 ()
│ │ │ ├── infraternal-plugin-backup v0.1.0
│ │ │ │ └── infraternal v0.1.0 ()
│ │ │ ├── infraternal-plugin-host-facts v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ │ ├── infraternal-plugin-relay v0.1.0
│ │ │ │ └── infraternal v0.1.0 ()
│ │ │ ├── infraternal-plugin-release v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ ├── infraternal-plugin-release v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ ├── sqlx-macros v0.8.6
│ │ └── sqlx v0.8.6 ()
│ ├── sqlx-macros-core v0.8.6
│ │ └── sqlx-macros v0.8.6 ()
│ └── sqlx-sqlite v0.8.6
│ ├── sqlx v0.8.6 ()
│ └── sqlx-macros-core v0.8.6 ()
├── sqlx-sqlite v0.8.6 ()
├── sysctl v0.7.1
│ └── infraternal-plugin-host-facts v0.1.0 ()
└── tungstenite v0.29.0
└── tokio-tungstenite v0.29.0
├── axum v0.8.9
│ ├── infraternal-fuzz v0.1.0 ()
│ └── infraternal-server v0.1.0 ()
└── (dev) infraternal-server v0.1.0 (*)
warning[duplicate]: found 2 duplicate entries for crate 'thiserror-impl'
┌─ /home/kayg/Developer/infraternal/.worktrees/mesh-test-dir/Cargo.lock:258:1
│
258 │ ╭ thiserror-impl 1.0.69 registry+https://github.com/rust-lang/crates.io-index
259 │ │ thiserror-impl 2.0.21 registry+https://github.com/rust-lang/crates.io-index
│ ╰───────────────────────────────────────────────────────────────────────────┘ lock entries
│
├ thiserror-impl v1.0.69
└── thiserror v1.0.69
├── asn1-rs v0.6.2
│ ├── der-parser v9.0.0
│ │ ├── webauthn-rs-core v0.5.5
│ │ │ └── webauthn-rs v0.5.5
│ │ │ └── infraternal-server v0.1.0
│ │ │ ├── infraternal v0.1.0
│ │ │ └── infraternal-fuzz v0.1.0
│ │ └── x509-parser v0.16.0
│ │ └── webauthn-rs-core v0.5.5 ()
│ ├── oid-registry v0.7.1
│ │ └── x509-parser v0.16.0 ()
│ └── x509-parser v0.16.0 ()
├── webauthn-rs-core v0.5.5 ()
└── x509-parser v0.16.0 ()
├ thiserror-impl v2.0.21
└── thiserror v2.0.21
├── infraternal v0.1.0
├── infraternal-mesh v0.1.0
│ ├── infraternal v0.1.0 ()
│ └── infraternal-plugin-mesh v0.1.0
│ ├── infraternal v0.1.0 ()
│ ├── infraternal-agent v0.1.0
│ │ ├── infraternal v0.1.0 ()
│ │ ├── infraternal-fuzz v0.1.0
│ │ ├── infraternal-plugin-ssh v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ ├── infraternal-server v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ │ └── infraternal-session v0.1.0
│ │ └── infraternal-server v0.1.0 ()
│ ├── infraternal-fuzz v0.1.0 ()
│ └── infraternal-server v0.1.0 ()
├── infraternal-server v0.1.0 ()
├── quinn v0.11.12
│ ├── infraternal-agent v0.1.0 ()
│ ├── infraternal-plugin-remote v0.1.0
│ │ ├── infraternal v0.1.0 ()
│ │ ├── infraternal-agent v0.1.0 ()
│ │ ├── infraternal-fuzz v0.1.0 ()
│ │ ├── (dev) infraternal-plugin-ssh v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ └── infraternal-server v0.1.0 ()
├── quinn-proto v0.11.19
│ └── quinn v0.11.12 ()
├── sqlx-core v0.8.6
│ ├── sqlx v0.8.6
│ │ ├── infraternal v0.1.0 ()
│ │ ├── infraternal-plugin-api v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ ├── infraternal-mesh v0.1.0 ()
│ │ │ ├── infraternal-plugin-backup v0.1.0
│ │ │ │ └── infraternal v0.1.0 ()
│ │ │ ├── infraternal-plugin-host-facts v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ │ ├── infraternal-plugin-relay v0.1.0
│ │ │ │ └── infraternal v0.1.0 ()
│ │ │ ├── infraternal-plugin-release v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ └── infraternal-server v0.1.0 ()
│ │ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ ├── infraternal-plugin-release v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ ├── sqlx-macros v0.8.6
│ │ └── sqlx v0.8.6 ()
│ ├── sqlx-macros-core v0.8.6
│ │ └── sqlx-macros v0.8.6 ()
│ └── sqlx-sqlite v0.8.6
│ ├── sqlx v0.8.6 ()
│ └── sqlx-macros-core v0.8.6 ()
├── sqlx-sqlite v0.8.6 ()
├── sysctl v0.7.1
│ └── infraternal-plugin-host-facts v0.1.0 ()
└── tungstenite v0.29.0
└── tokio-tungstenite v0.29.0
├── axum v0.8.9
│ ├── infraternal-fuzz v0.1.0 ()
│ └── infraternal-server v0.1.0 ()
└── (dev) infraternal-server v0.1.0 (*)
warning[duplicate]: found 2 duplicate entries for crate 'windows-sys'
┌─ /home/kayg/Developer/infraternal/.worktrees/mesh-test-dir/Cargo.lock:316:1
│
316 │ ╭ windows-sys 0.52.0 registry+https://github.com/rust-lang/crates.io-index
317 │ │ windows-sys 0.61.2 registry+https://github.com/rust-lang/crates.io-index
│ ╰────────────────────────────────────────────────────────────────────────┘ lock entries
│
├ windows-sys v0.52.0
└── ring v0.17.14
├── infraternal-plugin-remote v0.1.0
│ ├── infraternal v0.1.0
│ ├── infraternal-agent v0.1.0
│ │ ├── infraternal v0.1.0 ()
│ │ ├── infraternal-fuzz v0.1.0
│ │ ├── infraternal-plugin-ssh v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ ├── infraternal-server v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ │ └── infraternal-session v0.1.0
│ │ └── infraternal-server v0.1.0 ()
│ ├── infraternal-fuzz v0.1.0 ()
│ ├── (dev) infraternal-plugin-ssh v0.1.0 ()
│ └── infraternal-server v0.1.0 ()
├── quinn-proto v0.11.19
│ └── quinn v0.11.12
│ ├── infraternal-agent v0.1.0 ()
│ ├── infraternal-plugin-remote v0.1.0 ()
│ └── infraternal-server v0.1.0 ()
├── rustls v0.23.46
│ ├── infraternal-plugin-remote v0.1.0 ()
│ ├── quinn v0.11.12 ()
│ └── quinn-proto v0.11.19 ()
└── rustls-webpki v0.103.15
└── rustls v0.23.46 ()
├ windows-sys v0.61.2
├── anstyle-query v1.1.5
│ └── anstream v1.0.0
│ └── clap_builder v4.6.7
│ └── clap v4.6.7
│ ├── criterion v0.7.0
│ │ └── (dev) infraternal-protocol v0.1.0
│ │ ├── infraternal-agent v0.1.0
│ │ │ ├── infraternal v0.1.0
│ │ │ ├── infraternal-fuzz v0.1.0
│ │ │ ├── infraternal-plugin-ssh v0.1.0
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ │ ├── infraternal-server v0.1.0
│ │ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ │ │ └── infraternal-session v0.1.0
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── infraternal-fuzz v0.1.0 ()
│ │ ├── (dev) infraternal-plugin-host-facts v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ └── infraternal-fuzz v0.1.0 ()
│ │ ├── infraternal-plugin-mesh v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── infraternal-plugin-release v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── infraternal-plugin-remote v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-agent v0.1.0 ()
│ │ │ ├── infraternal-fuzz v0.1.0 ()
│ │ │ ├── (dev) infraternal-plugin-ssh v0.1.0 ()
│ │ │ └── infraternal-server v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ ├── infraternal v0.1.0 ()
│ └── infraternal-shim v0.1.0
│ ├── infraternal v0.1.0 ()
│ ├── infraternal-agent v0.1.0 ()
│ ├── infraternal-fuzz v0.1.0 ()
│ ├── infraternal-plugin-remote v0.1.0 ()
│ ├── infraternal-plugin-ssh v0.1.0 ()
│ ├── infraternal-server v0.1.0 ()
│ └── infraternal-session v0.1.0 ()
├── anstyle-wincon v3.0.11
│ └── anstream v1.0.0 ()
├── errno v0.3.14
│ └── signal-hook-registry v1.4.8
│ └── tokio v1.53.2
│ ├── axum v0.8.9
│ │ ├── infraternal-fuzz v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ ├── axum-server v0.8.0
│ │ └── infraternal-server v0.1.0 ()
│ ├── fs-err v3.3.2
│ │ └── axum-server v0.8.0 ()
│ ├── h2 v0.4.19
│ │ ├── hyper v1.11.1
│ │ │ ├── axum v0.8.9 ()
│ │ │ ├── axum-server v0.8.0 ()
│ │ │ ├── hyper-util v0.1.21
│ │ │ │ ├── axum v0.8.9 ()
│ │ │ │ ├── axum-server v0.8.0 ()
│ │ │ │ ├── infraternal v0.1.0 ()
│ │ │ │ └── (dev) infraternal-server v0.1.0 ()
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ └── (dev) infraternal-server v0.1.0 ()
│ │ └── (dev) infraternal-server v0.1.0 ()
│ ├── hyper v1.11.1 ()
│ ├── hyper-util v0.1.21 ()
│ ├── (dev) infraternal v0.1.0 ()
│ ├── (dev) infraternal-agent v0.1.0 ()
│ ├── infraternal-plugin-api v0.1.0
│ │ ├── infraternal v0.1.0 ()
│ │ ├── infraternal-agent v0.1.0 ()
│ │ ├── infraternal-fuzz v0.1.0 ()
│ │ ├── infraternal-mesh v0.1.0
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ └── infraternal-plugin-mesh v0.1.0 ()
│ │ ├── infraternal-plugin-backup v0.1.0
│ │ │ └── infraternal v0.1.0 ()
│ │ ├── infraternal-plugin-host-facts v0.1.0 ()
│ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ ├── infraternal-plugin-relay v0.1.0
│ │ │ └── infraternal v0.1.0 ()
│ │ ├── infraternal-plugin-release v0.1.0 ()
│ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ ├── infraternal-plugin-ssh v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ ├── infraternal-plugin-mesh v0.1.0 ()
│ ├── infraternal-plugin-release v0.1.0 ()
│ ├── (dev) infraternal-plugin-remote v0.1.0 ()
│ ├── (dev) infraternal-plugin-ssh v0.1.0 ()
│ ├── (dev) infraternal-server v0.1.0 ()
│ ├── quinn v0.11.12
│ │ ├── infraternal-agent v0.1.0 ()
│ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ └── infraternal-server v0.1.0 ()
│ ├── sqlx-core v0.8.6
│ │ ├── sqlx v0.8.6
│ │ │ ├── infraternal v0.1.0 ()
│ │ │ ├── infraternal-plugin-api v0.1.0 ()
│ │ │ ├── infraternal-plugin-mesh v0.1.0 ()
│ │ │ ├── infraternal-plugin-release v0.1.0 ()
│ │ │ └── infraternal-server v0.1.0 ()
│ │ ├── sqlx-macros v0.8.6
│ │ │ └── sqlx v0.8.6 ()
│ │ ├── sqlx-macros-core v0.8.6
│ │ │ └── sqlx-macros v0.8.6 ()
│ │ └── sqlx-sqlite v0.8.6
│ │ ├── sqlx v0.8.6 ()
│ │ └── sqlx-macros-core v0.8.6 ()
│ ├── sqlx-macros-core v0.8.6 ()
│ ├── tokio-openssl v0.6.5
│ │ ├── axum-server v0.8.0 ()
│ │ ├── infraternal v0.1.0 ()
│ │ ├── infraternal-agent v0.1.0 ()
│ │ ├── infraternal-plugin-remote v0.1.0 ()
│ │ └── (dev) infraternal-server v0.1.0 ()
│ ├── tokio-stream v0.1.19
│ │ └── sqlx-core v0.8.6 ()
│ ├── tokio-tungstenite v0.29.0
│ │ ├── axum v0.8.9 ()
│ │ └── (dev) infraternal-server v0.1.0 ()
│ ├── tokio-util v0.7.19
│ │ ├── h2 v0.4.19 ()
│ │ └── tower-http v0.6.11
│ │ └── infraternal-server v0.1.0 ()
│ ├── tower v0.5.3
│ │ ├── axum v0.8.9 ()
│ │ └── (dev) infraternal-server v0.1.0 ()
│ └── tower-http v0.6.11 ()
├── mio v1.2.4
│ └── tokio v1.53.2 ()
├── nu-ansi-term v0.50.3
│ └── tracing-subscriber v0.3.23
│ └── infraternal-server v0.1.0 ()
├── quinn-udp v0.5.16
│ └── quinn v0.11.12 ()
├── socket2 v0.6.5
│ ├── quinn v0.11.12 ()
│ ├── quinn-udp v0.5.16 ()
│ └── tokio v1.53.2 ()
├── tokio v1.53.2 ()
└── winapi-util v0.1.11
├── same-file v1.0.6
│ └── walkdir v2.5.0
│ ├── criterion v0.7.0 ()
│ └── sysctl v0.7.1
│ └── infraternal-plugin-host-facts v0.1.0 ()
└── walkdir v2.5.0 ()
advisories ok, bans ok, licenses ok, sources ok
(cargo-deny: 1s)
==> static builds
x86_64-unknown-linux-musl: exact define removed; build directories remapped; explicit paths preserved; target override refused
aarch64-unknown-linux-musl: exact define removed; build directories remapped; explicit paths preserved; target override refused
x86_64 OpenSSL source: AVX-512 GCM dispatch removed idempotently
native compiler metadata: path independent; platform/date retained; unexpected syntax refused
Rust remapping: differently named checkout roots produce identical stripped artifacts
.
Ran 1 test in 0.001s
OK
Finished
releaseprofile [optimized] target(s) in 0.25sAES-128-GCM NIST vector encrypt/decrypt passed
production trust: PASS (staging-trust authority absent)
/home/kayg/.cache/codex-scratch/mesh-test-dir/target/x86_64-unknown-linux-musl/release/infraternal: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), static-pie linked, stripped
PT_INTERP: absent; size: 21225872 bytes; cap: 21225872 bytes; delta: +0 bytes
key memory: x86_64-unknown-linux-musl; memlock=8388608 bytes
Key memory initialization=1; locked pages and dump exclusion enabled
Finished
releaseprofile [optimized] target(s) in 0.23sproduction trust: PASS (staging-trust authority absent)
/home/kayg/.cache/codex-scratch/mesh-test-dir/target/aarch64-unknown-linux-musl/release/infraternal: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, stripped
PT_INTERP: absent; size: 19427688 bytes; cap: 19427688 bytes; delta: +0 bytes
key memory: aarch64-unknown-linux-musl runtime not checked (host x86_64; native execution required)
x86_64-unknown-linux-musl: exact 21225872-byte cap PASS; 21225873 bytes rejected PASS; smaller artifact requires ratchet PASS
aarch64-unknown-linux-musl: exact 19427688-byte cap PASS; 19427689 bytes rejected PASS; smaller artifact requires ratchet PASS
unsupported target: rejected PASS
bun test v1.4.2 (744846f84)
scripts/release/static-metadata-review.test.ts:
(pass) x86_64-unknown-linux-musl compiler metadata is independent of the checkout location [22.36ms]
(pass) aarch64-unknown-linux-musl compiler metadata is independent of the checkout location [23.31ms]
2 pass
0 fail
10 expect() calls
Ran 2 tests across 1 file. [61.00ms]
server subcommand: exit 2, versioned JSON unavailable result
agent group: exit 0, one parsed versioned JSON listing of its commands
(static builds: 3s)
+---------------------------+--------------+
| Rust gate | Result |
+---------------------------+--------------+
| fmt | PASS |
| VT native fmt | PASS |
| CLI plugin compile-out | PASS |
| clippy | PASS |
| test | PASS |
| cargo-deny | PASS |
| static builds | PASS |
+---------------------------+--------------+
==> Compiler metadata generator checks
bun test v1.4.2 (744846f84)
scripts/release/build-metadata.test.ts:
(pass) native metadata canonicalization retains version fields and refuses changed syntax [49.33ms]
(pass) one compiler driver remaps all source roots and preserves argument boundaries [133.60ms]
2 pass
0 fail
12 expect() calls
Ran 2 tests across 1 file. [201.00ms]
==> Vendored Ghostty artifact checksums
dist/ghostty-web.js: OK
dist/ghostty-vt.wasm: OK
dist/index.d.ts: OK
==> TypeScript protocol compiler
==> Tracer compiler, precompression and bundle transfer budget
bun install v1.4.2 (744846f84)
38 packages installed [460.00ms]
$ bun x tsc --project tsconfig.json
bun test v1.4.2 (744846f84)
precompress.test.ts:
(pass) text sidecars round-trip deterministically; compressed formats remain identity [38.13ms]
browser-build.test.ts:
(pass) the browser renderer has no unresolved Vite Node-file shim request [39.35ms]
src/perf-detector.test.ts:
(pass) FrameDetector > estimates the refresh from the median and snaps it [3.45ms]
(pass) FrameDetector > nothing is a drop before the rate is known [0.17ms]
(pass) FrameDetector > a drop is over 1.5 refresh intervals, a freeze over 100 ms [0.34ms]
(pass) FrameDetector > the refresh only goes up: a slow page is not a slower display [0.33ms]
(pass) FrameDetector > the first frame after a pause is not an interval [0.20ms]
(pass) FrameDetector > fps, p95 and window read the ring [0.48ms]
(pass) FrameDetector > a throttled page (one frame a second) is neither a drop nor a freeze, and neither is its return [0.38ms]
(pass) FrameDetector > a lone long stall is still a freeze and is not a throttled run [0.13ms]
src/canvas/recency.test.ts:
(pass) touch moves an item to the front and never duplicates it [1.05ms]
(pass) repeating the front item changes nothing [0.08ms]
(pass) the list is capped, so the oldest items fall off [0.07ms]
(pass) top skips items that are no longer live, without losing them [0.19ms]
(pass) recentRows: five used windows in reverse order of use, from 54 windows [0.26ms]
(pass) recentRows: a view with three windows and no use shows them in order [0.06ms]
(pass) recentRows: used windows lead, the rest fill up to five in window order [0.13ms]
src/canvas/status.test.ts:
(pass) a lost server connection is an error toast, never a success tick [1.39ms]
(pass) routine connection states stay out of the toast [0.08ms]
(pass) repeated connection closes do not reopen the persistent reason toast [0.11ms]
(pass) a repeated close does not retake the shared toast after a newer message replaces it [0.37ms]
(pass) a close reason stays visible through a quick reconnect and clears after a stable attach [672.42ms]
src/canvas/toolbar/palette-actions.test.ts:
(pass) a deferred split:right selection retains its original window [0.53ms]
(pass) a deferred new:below selection retains its original window [0.08ms]
(pass) a deferred close selection retains its original window [0.04ms]
src/canvas/windows/details-facts.test.ts:
(pass) host facts become plain-language details rows [8.31ms]
(pass) unknown optional host facts stay absent instead of appearing as placeholders [0.39ms]
(pass) by default the machine tab shows the D126 facts under System, Resources and Access, with no More section [1.22ms]
(pass) extended info adds only init, virtualization, how it is reached, shell and locale [1.56ms]
(pass) facts the host did not report are omitted by default, not shown as unknown [0.39ms]
(pass) the header follows the machine's own facts, not the platform the host list guessed [0.29ms]
(pass) before facts arrive the host's platform names the header [0.09ms]
(pass) a reported system with no platform mark still names the header and shows no mark [0.13ms]
src/canvas/mesh/api-retry-budget.test.ts:
(pass) a retained watch outage bounds retry requests over two logical minutes [2.96ms]
src/canvas/mesh/protocol.test.ts:
(pass) the server's own list becomes nodes, tags and grants, by name [1.01ms]
(pass) without
access(today's server) the person may view and may not edit [0.37ms](pass) fields the server does not send are absent, never invented [0.29ms]
(pass) a node the server sees passing traffic is online, on its path, under its machine's name [0.13ms]
(pass) anything that is not a list is refused, whole [5.08ms]
(pass) a node's own tag list and the tag table agree even when a server sends only one [0.29ms]
(pass) the subscription's events: a pushed list, a revision that invalidates, and the end of the subscription [0.47ms]
(pass) answers carry the new revision, and a create the new arrow's id [0.12ms]
(pass) endpoints go out as the server writes them: a node by id, a tag by name [0.66ms]
src/canvas/mesh/api-recovery.test.ts:
(pass) failed watch refreshes retain one subscription through retry and release it on disposal [2.68ms]
(pass) a synchronous subscription refusal leaves retry able to install a new watch [1.23ms]
(pass) a pushed recovery cancels the scheduled retry [0.67ms]
(pass) a pushed recovery supersedes an outstanding retry failure [0.77ms]
(pass) a retry snapshot at revision 1 is ordered against a pushed recovery [0.57ms]
(pass) a retry snapshot at revision 3 is ordered against a pushed recovery [0.32ms]
(pass) a pushed liveness expiry supersedes an equal-revision retry snapshot [0.61ms]
(pass) a forbidden withdrawal cancels retry work from the retained watch [0.69ms]
(pass) a withdrawn view ignores an earlier outstanding retry result [0.58ms]
(pass) initial Mesh list handles closed transport [0.45ms]
(pass) initial Mesh list handles liveness deadline [0.13ms]
(pass) initial Mesh list handles unreadable JSON [0.10ms]
(pass) initial Mesh list handles unavailable storage [0.22ms]
(pass) initial Mesh list handles forbidden action [0.22ms]
(pass) initial Mesh list handles invalid stored host [0.15ms]
(pass) Mesh watch withdrawal handles forbidden [0.31ms]
(pass) Mesh watch withdrawal handles mesh unavailable [0.05ms]
(pass) Mesh watch withdrawal handles plugin unavailable [0.03ms]
src/canvas/mesh/layout.test.ts:
(pass) a small mesh keeps the approved arrangement: tags down the left, hosts two to a row [1.25ms]
(pass) the layout is deterministic and does not depend on input order [6.40ms]
(pass) no two cards overlap, and every card lies inside the graph [6.69ms]
(pass) the sheet is wider than tall, roughly 16:10 [1.29ms]
(pass) a pinned node stays where it was put and the others do not move [1.71ms]
(pass) a pin beyond the sheet grows the graph [0.36ms]
(pass) a host's other tags do not move it; a tag nobody carries still has its node [0.25ms]
(pass) 1,000 nodes lay out in a few milliseconds [8.92ms]
src/canvas/layout/stops.test.ts:
(pass) a view that fits the viewport has one stop, centred [0.50ms]
(pass) a wide view has one stop per column and the last stop ends at the right edge [0.26ms]
(pass) a view taller than the viewport is scaled down so it fits [0.04ms]
(pass) nearestStop picks the stop whose centre is closest [0.18ms]
(pass) a big graph opens fitted whole, in one stop, and its canvas is free [0.21ms]
(pass) a small graph keeps one stop per node column [0.11ms]
(pass) on a narrow screen a big graph does not shrink past where its names can be read: it starts at the top left [0.07ms]
(pass) centred stops (a phone's strip) rest every column mid-screen, the first and last included [0.12ms]
src/canvas/layout/grid.test.ts:
(pass) split right in a stacked column makes a group: the window's column halves, its neighbours span both halves [1.07ms]
(pass) closing the new half gives the layout back exactly, in the model [1.26ms]
(pass) closing the window it came from makes the new half take its band, and the layout is one column again [0.45ms]
(pass) split right of a spanning window halves its span inside the existing columns, with the footprint unchanged [0.27ms]
(pass) split down in a group divides only the window's band: the partner window grows to keep its height [0.47ms]
(pass) closing the window split down gives its band back to the window above and to the partner [0.42ms]
(pass) a window split down in a plain column stacks under it and moves the windows below down [0.11ms]
(pass) new window right opens a full-size column after the whole group, never inside it [0.37ms]
(pass) runs: adjacent columns linked by a spanning window form one group, the rest stay plain [0.18ms]
(pass) spans are clamped to the columns that exist and a stale row is re-placed, never overlapped [0.13ms]
(pass) random sequences of split right, split down, new window right and close never break the grid [38.20ms]
(pass) closing every window of a group returns the view to nothing, with no problem on the way [0.55ms]
(pass) a full-width band under a group moves nothing and extends the group by one band [0.39ms]
(pass) a band inserted between two bands of one column grows the windows beside it and moves the rest [0.21ms]
src/canvas/layout/geometry.test.ts:
(pass) a dropped view pushes the one it lands on along the axis of least overlap, never itself [0.56ms]
(pass) a chain of neighbours is pushed in turn [0.09ms]
(pass) snapping rounds to whole cells [0.06ms]
(pass) reach follows grants through tags and keeps the relay [0.33ms]
(pass) phone edge to edge: a lone window is the whole area, in a strip it leaves the gap and PEEK px of each neighbour; full width is the whole area always [0.28ms]
(pass) comfortable phones: a column in a strip leaves PEEK px of each neighbour; a lone one keeps the screen less the margins [0.07ms]
(pass) a desktop column is the same alone and in a strip [0.06ms]
src/canvas/sessions/live-inventory.test.ts:
(pass) a host snapshot replaces cached session rows and keeps only live shims [2.50ms]
(pass) an unavailable agent hides remembered rows without ending them, then restores verified sessions [0.70ms]
(pass) inventory remembers a remote session and refuses a cross-host attach [0.48ms]
(pass) superseded status snapshots release records for sessions this device never opened [1.41ms]
(pass) superseding a sidecar preserves status for a window opened on this device [0.21ms]
(pass) a census predating a new shell does not permanently retire its confirmed live ID [0.22ms]
(pass) a final Close before the first positive census never revives a new ID [0.14ms]
(pass) a later absence retires a new ID after its first positive census [0.17ms]
(pass) another host's census cannot clear a new shell's census fence [0.11ms]
(pass) another host's close cannot clear a new shell's census fence [0.03ms]
src/canvas/sessions/details-live.test.ts:
(pass) a refused host facts action stops its recurring timer [1.62ms]
(pass) a detected operating system supplies the live popover mark [1.41ms]
src/canvas/sessions/live.test.ts:
(pass) the toolbar sessions seam exposes admitted host state and routes by identity [3.72ms]
(pass) an enrolled host opens by UUID and splits keep that authority [0.39ms]
(pass) an authoritative snapshot keeps an unjoined host visible while setup continues [0.36ms]
(pass) unknown and ambiguous labels never open an embedded shell [0.17ms]
(pass) removed hosts disappear from inventory and cannot route a new shell [0.25ms]
(pass) an authoritative host snapshot replaces admission with one notification [0.36ms]
(pass) the embedded inventory identity still opens locally beside an equally named remote [0.26ms]
(pass) the embedded host's mark does not wait for an account name, and no account is invented [0.12ms]
src/canvas/sessions/hosts.test.ts:
(pass) fresh storage lists an offline host added by another browser [1.78ms]
(pass) every welcome reconciles without duplicate subscriptions or hosts [0.31ms]
(pass) a removal in another browser withdraws the host [0.33ms]
(pass) a malformed page cannot partially replace the authoritative inventory [0.46ms]
(pass) a socket-authority refusal withdraws previously admitted hosts [0.59ms]
(pass) an invalidated read cannot enqueue an unsent call while the socket is down [0.73ms]
src/canvas/sessions/gone-review.test.ts:
(pass) selecting a known gone session keeps its final exited state [0.30ms]
(pass) a known retired status survives repeated selection and generic ended answers [0.27ms]
src/canvas/sessions/hosts-scale-review.test.ts:
(pass) a fresh browser discovers 10000 admitted offline hosts from complete bounded pages [16.11ms]
(pass) a fresh browser discovers 10001 admitted offline hosts from complete bounded pages [17.70ms]
src/canvas/sessions/open-refusal.test.ts:
(pass) memory refusal retains the reason and current counters [1.42ms]
(pass) legacy refusals still work and malformed counters never reach the message [0.48ms]
(pass) product copy names the host and counters and never renders untrusted server text [0.77ms]
(pass) oversized refusal JSON is ignored before parsing [0.17ms]
src/canvas/model/document.test.ts:
(pass) a document holds references and layout, never content [0.40ms]
(pass) a document survives JSON and rebuilds the same columns [0.82ms]
(pass) a target that no longer exists is dropped, and an emptied column with it [0.18ms]
(pass) parseDocument rejects anything that is not a document of this format [0.34ms]
(pass) remote affinity survives reload and invalid UUIDs cannot become local references [0.19ms]
(pass) a version 1 document from before D212 loads, with its split pair and a full-size window [0.30ms]
(pass) a grouped view saves its spans and bands and loads back to the same grid (D212) [0.34ms]
(pass) a plain view is saved without spans or bands, exactly as before D212 [0.12ms]
src/canvas/addhost/setup-feed.test.ts:
(pass) createSetupFeed > subscribes with the host and window, then hands over events in order [0.78ms]
(pass) createSetupFeed > a failure after the prompt, and a retry on the same socket [0.36ms]
(pass) createSetupFeed > a dropped socket resumes after the last sequence and repeats nothing [20.74ms]
(pass) createSetupFeed > a retry asked while offline is sent when the socket is back [20.59ms]
(pass) createSetupFeed > a resync resets the view; an error before any event reports the status lost, after one it is ignored [0.53ms]
(pass) createSetupFeed > gives up after the backoff is spent, and a release closes the socket [46.21ms]
(pass) review reconnect budget survives sockets that open then close without events [48.13ms]
(pass) review explicit retry resumes after the setup feed stops [46.78ms]
src/canvas/addhost/wizard.breakit2.test.ts:
(pass) breakit2 an explicit port on a listed host survives chip resolution [0.55ms]
(pass) breakit2 malformed bracketed IPv6 waits for correction [0.71ms]
(pass) listed host plus port retains its saved user in the serialized destination [0.28ms]
(pass) review listed inventory name plus port retains its resolved address [0.35ms]
src/canvas/addhost/setup-stages.test.ts:
(pass) parseSetupEvent > reads a well-formed event [0.14ms]
(pass) parseSetupEvent > drops anything malformed [0.11ms]
(pass) parseSetupEvent > ignores a failed step on a non-failure and an unknown step on a failure [0.05ms]
(pass) foldSetup > stages before the event's are done, later ones pending [0.26ms]
(pass) foldSetup > a stage that reports done alone still finishes [0.06ms]
(pass) foldSetup > ready done completes the run [0.06ms]
(pass) foldSetup > a failure marks the stage its step belongs to, and a retry clears it [0.16ms]
(pass) foldSetup > uploading belongs to install and the readiness check to ready [0.08ms]
(pass) setupGuide > says the terminal keeps working and what to do next, in plain words [0.21ms]
(pass) review malformed setup fields are dropped without coercion errors [0.24ms]
(pass) exhausted setup preserves eligibility and explains a new setup [0.24ms]
src/canvas/addhost/real.test.ts:
(pass) parsing the server's data > a discovery row keeps only known fields and valid ids [0.48ms]
(pass) parsing the server's data > the server key needs its public key and fingerprint [0.12ms]
(pass) parsing the server's data > an install command needs a lifetime [0.06ms]
(pass) a server that lacks an endpoint > serving the web app (200, HTML) for an unknown path is 'not available' [2.41ms]
(pass) a server that lacks an endpoint > 404 discovery is an empty list; 500 discovery is an error to show [0.48ms]
(pass) a server that lacks an endpoint > private sign-in stays local until a target-bound socket start [1.44ms]
(pass) a server that lacks an endpoint > a wrong target consumes the reference without sending private input [0.36ms]
(pass) a server that lacks an endpoint > a local reference cannot change SSH address while keeping the target id [0.27ms]
(pass) a server that lacks an endpoint > closing before open discards queued sign-in even if a late open fires [0.18ms]
(pass) a server that lacks an endpoint > pre-open commands stay bounded and events after close cannot revive a run [0.75ms]
(pass) a server that lacks an endpoint > trust waits for the exact acknowledgement, and ignores another target [0.64ms]
(pass) bootstrap failure parsing > an already-added failure keeps its existing host id [0.47ms]
(pass) bootstrap failure parsing > host ids are ignored on other failures and when malformed [0.28ms]
src/canvas/addhost/authority.on-demand.test.ts:
(pass) CA wrapping matches the contract's HKDF domain and separates generations [6.33ms]
src/canvas/addhost/model.test.ts:
(pass) stagesOf > a host with no event is waiting everywhere [0.32ms]
(pass) stagesOf > check before sign-in is detecting how to sign in [0.23ms]
(pass) stagesOf > the sign-in report finishes detect and starts the system check [0.19ms]
(pass) stagesOf > install, facts and connect map to install, enrol and first session [0.20ms]
(pass) stagesOf > an auth failure before sign-in fails detect and says it in plain words, not the server's [0.33ms]
(pass) stagesOf > an unsupported host fails the system check, after sign-in [0.10ms]
(pass) stagesOf > an install failure fails the install stage and keeps the earlier ones done [0.09ms]
(pass) stagesOf > a new attempt starts over and forgets the old sign-in [0.10ms]
(pass) authLabel > names the method and a trusted network provider only [0.06ms]
(pass) guideFor > installation failures never claim that incomplete cleanup succeeded [0.21ms]
(pass) guideFor > each failure kind names its fix [0.12ms]
(pass) guideFor > mesh-policy words say possible, not certain [0.03ms]
(pass) parseTarget > reads user, host and port [0.64ms]
(pass) parseTarget > refuses what cannot name a host [0.07ms]
(pass) parseSshConfig > reads aliases with HostName, User and Port, skipping wildcards and Match [0.96ms]
(pass) parseSshConfig > recognises config text [0.09ms]
(pass) parseSshConfig > a hostname that is an option is dropped [0.06ms]
(pass) plain words > an unknown or missing failure gets the generic sentence, never the server's text [0.09ms]
(pass) plain words > no headline carries an arrow, an id or an API noun [0.27ms]
(pass) only a completed canonical host identity becomes terminal authority [0.12ms]
(pass) parseTarget > accepts user@host, host, user@host:port, IPv4 and bracketed IPv6 with an optional port [0.09ms]
(pass) parseTarget > rejects partial and malformed tokens, so they wait or show the hint [0.07ms]
(pass) matchListed > a name that is exactly one host's id or address names that host [0.09ms]
(pass) matchListed > a name that is also the start of another host's name is named but still prefixed [0.08ms]
(pass) matchListed > a partial name that starts several hosts names none and waits [0.03ms]
(pass) matchListed > a new name that starts no host is neither named nor waiting [0.03ms]
(pass) install diagnostics name the failed step and public host error [0.09ms]
(pass) missing payload tells the operator the architecture and expected server path [0.07ms]
(pass) an already added host says so and offers opening its existing terminal [0.34ms]
(pass) release payload verification names the architecture step and plain reason [0.07ms]
(pass) leftovers pause (#169) > a check event with leftovers pauses the running attempt; the next event clears it [0.15ms]
(pass) leftovers pause (#169) > a pause without leftovers offers nothing to start fresh [0.07ms]
(pass) early terminal publication selects only its canonical host-bound shim session [0.11ms]
src/canvas/addhost/already-added-breakit.test.ts:
(pass) an already-added failure without a host id (older server) still says how to reach the terminal [0.13ms]
src/canvas/addhost/wizard.test.ts:
(pass) a saved-key prompt completing after close never starts an SSH attempt [0.60ms]
(pass) fresh CA requires setup before any SSH attempt and preserves root consent [0.45ms]
(pass) ready CA begins the requested installation mode without another prompt [0.14ms]
(pass) closing during CA confirmation never starts an SSH attempt [0.39ms]
(pass) a typed root login requires explicit consent before any installation [0.18ms]
src/canvas/views/body.test.ts:
(pass) a clean terminal exit keeps the window while host setup can still fail [0.05ms]
(pass) clean exits still close ordinary windows, and failed exits stay visible [0.02ms]
../../packages/ui/src/spring.test.ts:
(pass) a missed frame does not stretch a settled spring [0.62ms]
(pass) motion follows elapsed time across frame rates and damping regimes [0.91ms]
chunk-classes.test.ts:
(pass) the first screen is critical, the canvas product module and what only it uses are deferred [1.06ms]
(pass) a chunk that both sides use stays critical [0.21ms]
(pass) code only an action loads is on demand, even when the lazy canvas is what loads it [0.28ms]
(pass) post-terminal host inventory entry and its shared canvas imports stay deferred [0.21ms]
test/recovery-ui.test.ts:
(pass) compiled recovery UI mode off obeys its URL boundary [5.32ms]
(pass) compiled recovery UI mode preview obeys its URL boundary [3.15ms]
(pass) compiled recovery UI mode 1 obeys its URL boundary [2.83ms]
test/recovery-crypto.test.ts:
(pass) HKDF siblings match independent implementation and bind unwrap to domain, account, kind and version [15.87ms]
(pass) 100 repeated wrapping operations generate independent salts and nonces [20.77ms]
test/recovery-rotation.test.ts:
(pass) signed-in rotation sends only a local envelope and verifier after acknowledgement [9.55ms]
(pass) abandoned word acknowledgement uploads nothing [4.10ms]
(pass) settled acknowledgement cannot upload later (dismissed) [3.92ms]
(pass) settled acknowledgement cannot upload later (no acknowledgement) [3.58ms]
test/recovery-wait.test.ts:
(pass) server remaining wait 0s is accepted through the capability policy maximum [2.47ms]
(pass) server remaining wait 86400s is accepted through the capability policy maximum [4.47ms]
(pass) server remaining wait 90000s is accepted through the capability policy maximum [1.82ms]
(pass) server remaining wait 172800s is accepted through the capability policy maximum [0.96ms]
(pass) malformed or excessive remaining wait -1 is denied [1.46ms]
(pass) malformed or excessive remaining wait 0.5 is denied [1.13ms]
(pass) malformed or excessive remaining wait 172801 is denied [0.94ms]
(pass) malformed or excessive remaining wait 9007199254740992 is denied [1.36ms]
(pass) malformed or excessive remaining wait 90000 is denied [1.11ms]
test/link-doubt.test.ts:
(pass) a link doubt shows the indicator and keeps live replies and typing flowing [1.76ms]
(pass) recovery clears only its own indicator, and a real reconnect still owns the replay [0.60ms]
(pass) a notice type from a newer server is ignored, not a protocol failure [0.33ms]
(pass) the viewer announces the link-doubt capability in its Hello [2.29ms]
test/close-reasons.test.ts:
(pass) every reason the server and the agent send maps to a plain sentence, and unknown ones fall back [0.27ms]
src/close-reasons.test.ts:
(pass) a missed connection response keeps a plain and stable reason [0.04ms]
(pass) server and host close reasons identify why a terminal reconnects, in plain words [0.28ms]
(pass) routine detach and connection rotation reasons stay neutral [0.05ms]
(pass) a stream close that reattaches never says the terminal ended [0.14ms]
(pass) a recovering server link names its cause as routine status, never as a failure [0.04ms]
(pass) unknown close text is discarded instead of reaching the person or console [0.08ms]
(pass) a storm of closes prints one line per minute and counts the rest [0.38ms]
(pass) counted closes are reported when their window ends, without another close [0.06ms]
src/review-close-log.test.ts:
(pass) a reconnect the server refuses with a named Close frame still prints its console line [1.48ms]
(pass) a close summary does not claim closes from hours ago happened in the previous 60 s [0.09ms]
257 pass
0 fail
11713 expect() calls
Ran 257 tests across 41 files. [1476.00ms]
$ bun run build.ts
built chunk-yyvvrc61.js, chunk-vqzakyxr.js, chunk-vd20z9mm.js, chunk-axge2qab.js, chunk-rshddc30.js, chunk-01kf9xm5.js, chunk-vvfhgzxa.js, chunk-gxvqf3b8.js, chunk-gg7faby0.js, chunk-gt462pxr.js, chunk-abf84mpa.js, chunk-j63wkh82.js, chunk-065hdb1d.js, main.js, chunk-sfgvybwa.js, chunk-e4t9f0jx.js, chunk-66twd4zb.js, chunk-jqqa19f5.js, chunk-1pzcy3y7.js, chunk-q02gbqrk.js, chunk-mtnxk89a.js, chunk-x56tnxfq.js, chunk-kh5ft0g7.js, chunk-mdj6q6m3.js, chunk-4m31840r.js, chunk-4c0e6z66.js, chunk-zrnv0hk2.js, chunk-axbkkqp1.js, chunk-w1sg32f4.js, chunk-2efh3h68.js, chunk-jres0vpm.js, chunk-jy0x7yfq.js, chunk-jewwebfa.js, chunk-5mxrb82h.js, chunk-4azv5qg7.js, chunk-9d4m7jvg.js, chunk-8cmcx4pp.js, chunk-k7ed333c.js, chunk-tte7eqns.js, chunk-001s2tx6.js, chunk-m1n144q6.js, chunk-5e0bewxn.js, chunk-ga7n3p96.js, chunk-v9jfpaf9.js, chunk-ss70t22w.js, chunk-v33nffnh.js, chunk-2scsq25v.js, chunk-693att2p.js, chunk-enq62zwm.js, chunk-afh7n5p6.js, chunk-9xd3g65e.js, chunk-28rbcdd5.js, chunk-61xwpgvs.js, chunk-6hphcpbw.js, chunk-mmvf4v8e.js, chunk-z48tcwe1.js, chunk-vkabh9k4.js, chunk-jk5xheq9.js, backdrop.worker.js, faulty-terminal.worker.js, chunk-vfabyr7v.js, chunk-f2r0hhqc.js, chunk-g548efbg.js, chunk-0h1atq4q.js, chunk-msc9kq9g.js
onDemand chunk-01kf9xm5.js: identity=3891 gzip=1735 brotli=1504 bytes
critical chunk-28rbcdd5.js: identity=39 gzip=39 brotli=39 bytes
onDemand chunk-2scsq25v.js: identity=6772 gzip=3176 brotli=2886 bytes
onDemand chunk-5mxrb82h.js: identity=2007 gzip=1004 brotli=855 bytes
onDemand chunk-4azv5qg7.js: identity=1649 gzip=774 brotli=675 bytes
critical chunk-mtnxk89a.js: identity=590 gzip=329 brotli=304 bytes
onDemand chunk-z48tcwe1.js: identity=601 gzip=344 brotli=326 bytes
onDemand chunk-g548efbg.js: identity=1063 gzip=651 brotli=520 bytes
onDemand chunk-jewwebfa.js: identity=4596 gzip=2014 brotli=1793 bytes
critical chunk-x56tnxfq.js: identity=2519 gzip=1009 brotli=877 bytes
onDemand chunk-j63wkh82.js: identity=6265 gzip=2103 brotli=1864 bytes
onDemand chunk-vkabh9k4.js: identity=1408 gzip=713 brotli=665 bytes
critical chunk-v33nffnh.js: identity=162 gzip=150 brotli=131 bytes
critical chunk-sfgvybwa.js: identity=8377 gzip=3575 brotli=3181 bytes
deferred chunk-4c0e6z66.js: identity=102038 gzip=34663 brotli=30573 bytes
critical faulty-terminal.worker.js: identity=1086 gzip=557 brotli=487 bytes
critical backdrop.worker.js: identity=243 gzip=211 brotli=165 bytes
onDemand chunk-tte7eqns.js: identity=4640 gzip=1931 brotli=1704 bytes
critical chunk-kh5ft0g7.js: identity=386 gzip=239 brotli=196 bytes
onDemand chunk-v9jfpaf9.js: identity=48336 gzip=15099 brotli=13453 bytes
critical chunk-2efh3h68.js: identity=714612 gzip=206636 brotli=167756 bytes
onDemand chunk-w1sg32f4.js: identity=10904 gzip=4425 brotli=4034 bytes
critical chunk-axbkkqp1.js: identity=90 gzip=90 brotli=78 bytes
onDemand chunk-001s2tx6.js: identity=7662 gzip=3397 brotli=2970 bytes
critical chunk-mdj6q6m3.js: identity=1106 gzip=668 brotli=607 bytes
onDemand chunk-8cmcx4pp.js: identity=11529 gzip=4654 brotli=4254 bytes
critical chunk-vfabyr7v.js: identity=9810 gzip=4017 brotli=3451 bytes
onDemand chunk-afh7n5p6.js: identity=1170 gzip=707 brotli=625 bytes
critical chunk-jqqa19f5.js: identity=15639 gzip=6065 brotli=5409 bytes
onDemand chunk-k7ed333c.js: identity=5359 gzip=2578 brotli=2297 bytes
critical chunk-f2r0hhqc.js: identity=128 gzip=109 brotli=111 bytes
onDemand chunk-gg7faby0.js: identity=228 gzip=178 brotli=172 bytes
critical chunk-1pzcy3y7.js: identity=17627 gzip=6250 brotli=5559 bytes
critical chunk-9xd3g65e.js: identity=39 gzip=39 brotli=39 bytes
onDemand chunk-ss70t22w.js: identity=6785 gzip=3030 brotli=2744 bytes
onDemand chunk-abf84mpa.js: identity=191 gzip=168 brotli=126 bytes
critical chunk-vvfhgzxa.js: identity=707 gzip=369 brotli=309 bytes
onDemand chunk-jres0vpm.js: identity=6148 gzip=2779 brotli=2513 bytes
onDemand chunk-vd20z9mm.js: identity=5779 gzip=2370 brotli=2139 bytes
critical chunk-msc9kq9g.js: identity=42576 gzip=14528 brotli=13046 bytes
onDemand chunk-e4t9f0jx.js: identity=2557 gzip=1180 brotli=1003 bytes
onDemand chunk-m1n144q6.js: identity=14570 gzip=5429 brotli=4871 bytes
onDemand chunk-9d4m7jvg.js: identity=540 gzip=351 brotli=311 bytes
onDemand chunk-6hphcpbw.js: identity=869 gzip=346 brotli=323 bytes
onDemand chunk-693att2p.js: identity=31922 gzip=12269 brotli=11044 bytes
onDemand chunk-mmvf4v8e.js: identity=2723 gzip=1328 brotli=1142 bytes
critical chunk-q02gbqrk.js: identity=430 gzip=311 brotli=262 bytes
critical chunk-yyvvrc61.js: identity=30272 gzip=9096 brotli=8162 bytes
onDemand chunk-zrnv0hk2.js: identity=1026 gzip=621 brotli=495 bytes
onDemand chunk-enq62zwm.js: identity=2466 gzip=1106 brotli=934 bytes
deferred chunk-axge2qab.js: identity=37428 gzip=13602 brotli=12167 bytes
onDemand chunk-vqzakyxr.js: identity=6503 gzip=2409 brotli=2146 bytes
critical chunk-gxvqf3b8.js: identity=88 gzip=88 brotli=76 bytes
critical main.js: identity=113109 gzip=41124 brotli=35638 bytes
critical chunk-rshddc30.js: identity=4499 gzip=1858 brotli=1640 bytes
onDemand chunk-gt462pxr.js: identity=2420 gzip=1196 brotli=1078 bytes
critical chunk-61xwpgvs.js: identity=49 gzip=49 brotli=49 bytes
onDemand chunk-5e0bewxn.js: identity=11067 gzip=4243 brotli=3866 bytes
critical chunk-66twd4zb.js: identity=5448 gzip=2611 brotli=2385 bytes
onDemand chunk-065hdb1d.js: identity=2108 gzip=1037 brotli=870 bytes
onDemand chunk-jk5xheq9.js: identity=724 gzip=403 brotli=361 bytes
onDemand chunk-jy0x7yfq.js: identity=2824 gzip=1385 brotli=1192 bytes
deferred chunk-4m31840r.js: identity=1565 gzip=809 brotli=731 bytes
onDemand chunk-ga7n3p96.js: identity=572 gzip=329 brotli=309 bytes
critical chunk-0h1atq4q.js: identity=199 gzip=163 brotli=137 bytes
JavaScript transfer, critical: identity=969830 gzip=300180/307200 brotli=250094/256000 bytes
JavaScript transfer, deferred: identity=141031 gzip=49074/51200 brotli=43471/45056 bytes
JavaScript transfer, onDemand: identity=219874 gzip=87462/20480 brotli=78064/18432 bytes
JavaScript transfer, onDemand largest chunk chunk-v9jfpaf9.js: gzip=15099/20480 brotli=13453/18432 bytes (class total gzip=87462 brotli=78064, not limited)
fonts/monaspace-neon/italic.latin.woff2: identity=44324 gzip=44324 brotli=44324 bytes
fonts/monaspace-neon/roman.latin.woff2: identity=40016 gzip=40016 brotli=40016 bytes
fonts/jetbrains-mono/italic.latin.woff2: identity=36316 gzip=36316 brotli=36316 bytes
fonts/jetbrains-mono/roman.latin.woff2: identity=34068 gzip=34068 brotli=34068 bytes
fonts/source-code-pro/italic.latin.woff2: identity=23612 gzip=23612 brotli=23612 bytes
fonts/source-code-pro/roman.latin.woff2: identity=22872 gzip=22872 brotli=22872 bytes
fonts/geist-mono/italic.latin.woff2: identity=21380 gzip=21380 brotli=21380 bytes
fonts/geist-mono/roman.latin.woff2: identity=19984 gzip=19984 brotli=19981 bytes
fonts/ibm-plex-mono/italic.latin.woff2: identity=22296 gzip=22296 brotli=22296 bytes
fonts/ibm-plex-mono/roman.latin.woff2: identity=19048 gzip=19048 brotli=19047 bytes
fonts/cascadia-code/italic.latin.woff2: identity=44404 gzip=44404 brotli=44404 bytes
fonts/cascadia-code/roman.latin.woff2: identity=40604 gzip=40604 brotli=40604 bytes
fonts/maple-mono-nf/italic.latin.woff2: identity=53444 gzip=53444 brotli=53444 bytes
fonts/maple-mono-nf/roman.latin.woff2: identity=46432 gzip=46432 brotli=46432 bytes
fonts/nerd-symbols.woff2: identity=223748 gzip=223748 brotli=223748 bytes
fonts/fira-code/roman.latin.woff2: identity=36756 gzip=36756 brotli=36756 bytes
fonts/commit-mono/italic-400.latin.woff2: identity=18716 gzip=18716 brotli=18716 bytes
fonts/commit-mono/italic-700.latin.woff2: identity=18352 gzip=18352 brotli=18352 bytes
fonts/commit-mono/roman-400.latin.woff2: identity=17484 gzip=17484 brotli=17484 bytes
fonts/commit-mono/roman-700.latin.woff2: identity=17260 gzip=17260 brotli=17260 bytes
Font transfer: monaspace-neon=84340/88064 jetbrains-mono=70384/75776 source-code-pro=46484/49152 geist-mono=41364/45056 ibm-plex-mono=41344/45056 cascadia-code=85008/88064 maple-mono-nf=99876/106496 (critical 46432/51200) symbols=223748/235520 fira-code=36756/40960 commit-mono=71812/75776 bytes
==> Rust stream oracle (for the differential test)
==> TypeScript protocol tests
bun test v1.4.2 (744846f84)
src/mesh-review-revocation.test.ts:
(pass) review forbidden event cancels pending snapshot publication [2.50ms]
(pass) subscription forbidden ends delivery before a late refresh rejection [1.56ms]
(pass) subscription not found ends delivery before a late refresh rejection [1.14ms]
(pass) subscription invalid input ends delivery before a late refresh rejection [1.17ms]
(pass) subscription mesh unavailable ends delivery before a late refresh rejection [1.11ms]
(pass) synchronous subscription refusal releases the transport exactly once [0.21ms]
src/codec.test.ts:
(pass) wire protocol golden vectors > encodes and decodes each frame exactly as the shared manifest describes [8.54ms]
(pass) wire protocol golden vectors > returns borrowed payload views and writes into reusable buffers [0.28ms]
(pass) wire protocol golden vectors > decodes muxed messages split across WebSocket messages [0.97ms]
(pass) wire protocol golden vectors > rejects oversized, non-canonical, unknown, and malformed frame bytes [0.33ms]
(pass) split mux header preserves trailing Close [0.26ms]
src/mesh-review-paged-error.test.ts:
(pass) review earlier snapshot continuation failure cannot replace a newer complete refresh [2.87ms]
(pass) review earlier snapshot continuation cannot overwrite a delivered revision [2.96ms]
(pass) a newer paged event owns publication before an earlier refresh resumes [2.72ms]
src/mesh-review-refresh.test.ts:
(pass) review superseded refresh failure cannot replace authoritative resync [1.44ms]
(pass) superseded failure preserves a newer pending refresh [2.75ms]
src/stream.test.ts:
stream differential: 134 streams, 11439 schedules, zero divergences
(pass) Rust and TypeScript preserve every frame at all boundaries and random multi-splits [2632.00ms]
(pass) maximum frame size and fragmented oversized prefix obey the allocation boundary [7.11ms]
src/mesh.test.ts:
(pass) Mesh actions map to their typed action IDs and JSON inputs [2.10ms]
(pass) Mesh watch coalesces change bursts and never publishes an older revision [4.03ms]
(pass) Mesh watch forwards server errors and stops delivering after unsubscribe [0.13ms]
(pass) Mesh enrollment carries an explicit authenticated host binding [0.19ms]
src/mesh-review-continuation.test.ts:
(pass) review continuation stops after stop [1.42ms]
(pass) review continuation stops after forbidden [1.21ms]
(pass) review continuation stops after superseded [1.17ms]
src/mesh-pagination.test.ts:
(pass) list assembles bounded pages using the same filter [0.28ms]
(pass) a changed revision discards earlier pages before assembling its restart [0.28ms]
(pass) malformed continuation is refused: {"revision":1,"offset":0} [0.24ms]
(pass) malformed continuation is refused: {"revision":2,"offset":1} [0.07ms]
(pass) malformed continuation is refused: {"revision":1,"offset":2} [0.03ms]
(pass) watch never publishes a partial page; withdrawn=false [1.56ms]
(pass) watch never publishes a partial page; withdrawn=true [1.33ms]
(pass) a superseding equal-revision resync wins over pending page assembly [1.60ms]
src/mesh-review-resync.test.ts:
(pass) review watch applies same-revision authoritative resync [0.22ms]
(pass) authoritative resync keeps priority over an equal-revision pending list [1.64ms]
src/mesh-vectors.test.ts:
(pass) every shared Mesh action vector passes through the typed client unchanged [1.48ms]
(pass) shared Mesh event vectors drive the typed watch adapter [5.66ms]
37 pass
0 fail
34463 expect() calls
Ran 37 tests across 10 files. [2.71s]
Started deflake-inode-reuse on branch deflake-inode-reuse, based on origin/dev at
69a41b04b9. The worktree is clean.Source findings on
69a41b04b9:crates/plugins/ssh/tests/install.rs:3357-3485retries up to 256 socket inode allocations, then hard-fails if reuse is not observed; no explicit known-inode reservation or skip path exists.crates/plugins/ssh/tests/previous_attempt_shell.rs:7-19launches the Python suite withoutINFRATERAL_TEST_RUNTIME_HELPER;previous_attempt_shell.py:25indexes that variable directly.tests/common/mod.rs:51-60has a fallback only for Rust callers.~/.cache/codex-scratch/asf,tmp+ 8 chars,/infraternal/sessions/sessions/<32 hex>.sock) is 115 pathname bytes, above Linuxsun_path's 107-byte pathname limit;/home/kayg/.cache/ssyields 100 bytes for the same shape.The first 50-run baseline attempt was invalid for the inode fixture: 0 passed / 50 failed at
install.rs:3421before reaching inode reuse (uploadexit_status=127). The focused command had not builtrecovery-helper;common::runtime_helper()resolved a missing target example. I will build that existing example and rerun the 50-run baseline. Receipts: summary, test log.Valid inode-fixture baseline on
69a41b04: 50/50 passed (0 failed). Each invocation used Cargo’s default test-thread setting and a short cache state root; a releasecargo build -p infraternaloverlapped the loop. Host load average at start: 5.83/9.31/9.37. The build was stopped after the test loop because LTO was still compiling; test receipts: summary, 50-run log, overlapping build log.The two secondary failures are present on this
devbase.previous_attempt_shellfails 32/34 Python cases withKeyError: INFRATERAL_TEST_RUNTIME_HELPERbecause its Rust wrapper supplies no fallback.recovery_support::review_live_session_socket_in_plain_home_blocks_cleanupfails before its assertions withOSError: AF_UNIX path too longwhenINFRATERAL_TEST_STATE_ROOTis the 62-byte job root. Receipts: counts, helper failure, socket failure.Correction to the preceding secondary finding: the test variable is spelled
INFRATERNAL_TEST_STATE_ROOTin the repo; my reproduction setINFRATERAL_TEST_STATE_ROOTwithout theN, so it exercised the defaultar3root rather than the 62-byte job root stated earlier. The failure is still confirmed: the default-generated socket path was 118 bytes, over Linux's 107-byte pathname limit. The inode baseline also used the defaultssh-bootstraproot; its 106-byte control-socket path fit. The 50/50 result stands. Corrected receipt: environment and path evidence.Secondary test fixes verified on deflake-inode-reuse. A deliberately long INFRATERNAL_TEST_STATE_ROOT now falls back to a per-process cache root sized for the recovery socket path: the reproduced path fell from 118 bytes to 105 bytes, below Linux's 107-byte pathname limit.
previous_attempt_shellpasses 1/1 with INFRATERNAL_TEST_RUNTIME_HELPER unset in the parent environment; the Rust wrapper supplies the helper. The newline-home recovery socket test passes 1/1 with the long root override. Focused receipts: focused-regressions.log, inode-after-single.log.The inode-reuse fixture passed 50/50 before and 50/50 after on the host ext4 filesystem, with zero skips and zero failures in both loops. Both loops used the default test-thread setting and overlapped a release build; the post-change build ran from 15:51:31 to 15:59:13, with the fixture loop from 15:51:33 to 15:52:29. Load average was 18.91/14.69/11.54 before the post loop and 5.74/11.49/12.22 after. Baseline receipts: summary, tests, parallel build. Post-change receipts: 50-run summary, parallel build log.
Completed inode-fixture step. Commit 80b44641a39681e1209dc0202320ab20aad0ae6e adds explicit anchor-inode release, bounded retries, an ignored outcome for unsupported reuse, and the verification row.
cargo fmt --all --checkand SSH package clippy passed. Focused fixture passed after the edit; the parallel-load loop passed 50/50 with zero skips/failures. Receipt: post-fix-smoke.log; 50-run summary.Completed socket-path step. Commit fbbf745a95ec17f42c1729983e4d0d3aadb8928d makes the fixture root fall back when the longest recovery socket path would exceed Linux's 107-byte pathname limit. The reproduced 118-byte path now measures 105 bytes with the per-process fallback.
review_live_session_socket_in_newline_home_blocks_cleanuppasses 1/1 with a deliberately long root; fmt and SSH package clippy passed. Receipt: post-fix-smoke.log.Completed shell-fixture environment step. Commit 9819d31e4e5dbee8c766c6cae4db07137e990395 passes the shared runtime-helper path and bounded scratch root from the Rust test wrapper. With the parent helper variable unset, the Python-backed test passes 1/1; fmt and SSH package clippy passed. Receipt: post-fix-smoke.log.
The workspace iterate run exposed the remaining long-root socket case: with the deliberately long INFRATERNAL_TEST_STATE_ROOT, 13
infraternalrestart tests fail before setup because the fixture path is 124 bytes (Linux limit: 107).crates/infraternal/src/restart_tests.rs::Directory::newaccepts the root override without bounding the socket path. I’m adding the same bounded-root fallback there, then I’ll rerun iterate. Evidence: long-root-socket-failure.txt.Completed the remaining socket-path fix. Commit 78b74ecfd481c1365be9581bb524514c45dd2d11 bounds the restart test socket using its actual generated name and falls back to the short cache root. Under the same long state-root override that produced 124-byte paths, the focused restart test passes 1/1; infraternal package clippy passed. Receipt: restart-root-fix.log. I’m rerunning the full iterate gate with the override retained.
The rerun confirms all 99
infraternalunit tests pass with the long-root override, including the 13 restart tests. It then reachesagent_daemon, wherescripts/agent_fixture.py::fixture_statestill rejects the same override at 139 bytes before its test starts. I’m adding a bounded fallback there; evidence: agent-fixture-long-root-failure.txt.Completed the agent-fixture socket-path fix. Commit c9598e15122332ed1370360f8bba473ac3a0cc87 makes
fixture_stateretry with the short cache root before creating state when either Unix-socket name exceeds 107 bytes. With a long root override,agent_daemonnow passes all 24 restart positions (4 stop positions × 6) and its test passes 1/1. Receipt: agent-fixture-root-fix.log.The long-root iterate run now passes all
infraternalrestart unit tests andagent_daemon(24/24 restart positions). It then exposes twoagent_sessionsintegration tests that build session sockets directly from the override; their paths exceed the limit or failSUN_LEN. I’m bounding that shared fixture root too. Evidence: agent-session-long-root-failure.txt.Completed the remaining
agent_sessionsroot fix. Commit 79c975841edb9d31307ad1e7f0bf0b71be0d87af selects a short cache root using the complete 32-character session socket path before setup. Both previously failing integration tests pass 1/1 with the long state-root override; package clippy and fmt passed. Receipt: agent-sessions-root-fix.log.Workspace iterate passed at head 79c975841edb9d31307ad1e7f0bf0b71be0d87af with the normal short state root. The Rust test row passed, including 99/0/1 ignored in
infraternal, the 24-positionagent_daemontest, bothagent_sessionstests, all SSH integration tests, and the explicit inode fixture. Workspace clippy and TypeScript checks passed. Gate output ended:ITERATE gate passed. This is not the final gate: run scripts/verify fast before reporting done.Receipt: verify-iterate-default.log.Finding: after the six fixture commits, fetched origin/dev is 190 commits beyond the shared base
69a41b04b9(tip8a6949a07a); this branch is 6 commits ahead and 190 behind. I will rebase the six commits onto the fetched dev tip before final verification so the requested push can fast-forward dev. Baseline stripped static x86_64 size at the shared base: 21,225,872 bytes.Rebased the six fixture commits onto current origin/dev tip
8a6949a07a; branch head isa615c03664(6 ahead, 0 behind). The recovery_support conflict was resolved by retaining the dev-specific short-root override and applying the bounded fallback. Checks after resolution: cargo fmt --all --check passed; SSH plugin clippy passed; recovery_support passed 11, failed 0, ignored 1 under both default and long-root settings; previous_attempt_shell passed 1/1.Rebased-head iterate gate passed at
a615c03664. Workspace Rust test row completed successfully (SSH install 93 passed, 0 failed, 2 ignored; recovery_support 11 passed, 0 failed, 1 ignored; previous_attempt_shell 1 passed; explicit inode-reuse fixture 1 passed). Clippy and TypeScript checks passed. The early “Release build failed” and “Build deferred” lines were expected fake-builder output from scripts/release/deploy_test.py; its 15 tests passed.ITERATE gate passed. This is not the final gate: run scripts/verify fast before reporting done.
Gate log: https://git.kayg.org/attachments/2ec22579-e4a0-4607-a481-577e18d78040
Measured the current rebased base
8a6949a07awith the static x86_64 release recipe. Stripped binary: 21,344,304 bytes. The build completed in 4m 11s; the worktree is back on deflake-inode-reuse ata615c03664(6 ahead, 0 behind). Branch binary size and delta will be recorded after scripts/verify fast builds it.Build log: https://git.kayg.org/attachments/ddc571b8-23c6-45a3-83b4-3a936b9ac6d8
The rebased branch x86_64 static release artifact is 21,344,304 bytes, matching the current base’s 21,344,304 bytes (delta 0 bytes). This is test-only work and adds no stripped binary size. scripts/verify fast is still running its remaining static checks.
Finished. Pushed the six commits as a fast-forward from
8a6949a07atoa615c03664. A post-push fetch confirms origin/dev and the worktree head both equala615c03664(0 ahead, 0 behind). No deployment was performed.On ext4 with default test threads and an overlapping release build, the inode fixture was 50/50 pass before and 50/50 pass after; both runs had 0 skips and 0 failures. The post-change loop ran 15:51:33–15:52:29 while its release build ran 15:51:31–15:59:13. Post-loop load average was 5.74/11.49/12.22, versus 18.91/14.69/11.54 before the loop. The explicit fixture gate also passed 1/1 in the final fast run. The SSH install suite passed 93/93 with 2 ignored; recovery_support passed 11/11 with 1 ignored; previous_attempt_shell passed 1/1.
The stripped x86_64 static binary is 21,344,304 bytes, matching the rebased base at 21,344,304 bytes (delta 0 bytes).
scripts/verify fastexited 0. Verbatim Rust gate summary:Verbatim final TypeScript protocol test output:
Full gate transcript: https://git.kayg.org/attachments/78ca0389-267d-4329-abad-586d94d8b4f0
HEAD SHA:
a615c03664Self-review against docs/ssh-bootstrap-evidence.md completed. The change is confined to test fixtures and harnesses. The inode fixture still binds a real Unix socket and compares its inode against the seeded replacement; retries are bounded, and only unsupported filesystems produce an explicit ignored result. Existing transaction/recovery assertions remain intact (installer 93 passed, recovery_support 11 passed, shell fixture 1 passed). No protocol or product behavior changed. Fast gate covered CLI compile-out, cargo-deny, both static targets and size caps; no UI work was involved.
Release 7 started on release-7 at release-6 production base
8f8c84e37. Merging only retry-join-time-r4687863977, review-query-replies-r2b429e5664, and review-mesh-name-placeholder33cf0b533, one merge each. Preserve shipped 0028_canvas_layout; incoming hostname migration becomes 0029. Measure both static targets after each merge; stop above +45 KB x86. Final fast/reproducibility, D307/retry tests and signed perf-VM staging pending. No deploy; monitor01 and owner fixtures untouched. Push only release-7.Release-7 prerequisite finding: scripts/test-static-reproducibility.py is absent from release-6 base
8f8c84e37and all three requested source refs. The script exists on origin/dev (ad9a337ac+aef5efbfa, #246). Its required sccache-visible remaps also depend on build-driver changes absent from this release line: .cargo/rustc.sh currently appends remaps after sccache and has no Rustup remap; .cargo/musl-cc.sh has no Cargo/registry remaps. I will import only the requested test script as a separate test commit, run it on the clean merged head, and record the result; unrelated dev product changes remain excluded.Read #246 body and history. Its completed source
709efb451identifies the required release-gate prerequisites: Rust/Rustup maps, native Cargo/registry maps, and sccache-visible static-cargo flags with registry mappings ordered after CARGO_HOME. These are absent from release-6 and the three requested feature refs. To satisfy the explicitly requested #246 gate without relaxing it, release-7 will carry only those upstream build-tooling changes and their tests as separate atomic steps after the three feature merges. No unrelated dev product changes, dependency additions, #231, or #206 are included. The final size row and head fast gate will cover the resulting recipe.Release-7 status: the corrected iterate rerun has been queued since approximately 19:35 CEST through the supplied host build-slot wrapper; no slot has been acquired and merge1-iterate-rerun.log is still empty. The first focused gate passed (server 61, SSH 44, clippy/fmt), exact static caps are measured, and the one long-TMPDIR fixture failure was corrected externally and passes in isolation. Active slot holders were confirmed alive; no capacity or priority settings changed. Retry merge remains pending; no subsequent merge, push, deployment, or production access.
Release-7 fixture finding: the unchanged SSH install test review_inode_reuse_after_diagnostics_preserves_live_replacement failed its required fixture setup (no matching inode in 256 allocations), before asserting cleanup behavior. This is not a D307 review failure or a permitted load exception. Existing dev commit
8a7a0dd503supplies a test-only bounded inode seed and explicit unsupported-filesystem gate; I will reuse that correction as a separate logical step if the integration gate reproduces it. No product behavior will be changed.Evidence: unchanged fixture failure
Test-only prerequisite completed:
8bb6a0649, carrying dev8a7a0dd50without product changes. Pushed release-7. fmt and strict SSH clippy pass; install tests 93 passed / 0 failed / 2 ignored; dedicated real inode reuse 1 passed / 0 failed / 0 ignored. Focused output. Continuing with reviewed D307 merge.D307 merge finding before tests: release-6 already assigns browser/server Hello bit 2 (4) to VIEWER_VISIBILITY (#244), while incoming review-query-replies-r2 assigns server Hello bit 2 to TERMINAL_QUERY_REPLIES. Keeping both meanings would make the new browser treat a release-6 server as reply-capable. Additive merge resolution: retain the shipped visibility bit, reserve the unused leg-A bit 3 (8) for terminal replies, advertise both on the merged server and test double, and update the reply negotiation check/contract. Shim bit 5 is a separate protocol and remains unchanged. No review assertion is weakened; original review specs remain enabled. This is a wire contract merge proposal and implementation note under D307, preserving shipped layouts.
Paths: apps/tracer/src/connection.ts:75, crates/infraternal-server/src/websocket.rs:65, contracts/wire.md visibility/reply sections.
D307 merge resolution implemented, not yet committed: retain release-6 viewer visibility on bit 2 and use unused leg-A bit 3 for terminal replies; server/test double advertise both. Added negotiation regression: visibility-only Hello reproduced false support before resolution (1 fail), then 4 capability combinations passed. Before, after. No original review test changed. Other conflicts combine resume bridge tracking with reply counting, visibility with reply negotiation, existing terminal input safeguards with query reset/imports, both wire sections and both parser targets. Owner decisions 300–307 are copied unchanged from incoming before preserved 308. Measured caps will be set after the static build. Merged build+iterate gate queued through build-slot.
Release-7 D307 integration is resolved but waiting for build-slot (about 15 minutes, no compiler output yet). Committed/pushed head remains
8bb6a0649. Pending second parentb429e5664; additive capability conflict resolution recorded above. No parallel build started by this job; no slot/priority configuration changed. Continuing to wait. Final release gates, Mesh merge and staging remain pending.D307 merged x86 static image measured 21,342,736 bytes: -9,472 versus Retry-only merge and -1,568 versus release 6. It is stripped/static-pie and below release 6 +45,000 stop line. SHA256 f1bc033cc36d2f314e24df60857ddb5f8631d1240757f229461ad2b75e45c6d9. Size receipt. ARM build and merged native/Bun gates still running; merge not committed yet.
STOPPED per release brief: the merged D307 gate failed eight browser-side review tests. No product or test fix made after the failure. Do not treat Release 7 as ready.
Committed/pushed head:
8bb6a06497on release-7 only. Retry merge51a74a300has second parent687863977; test-only inode correction8bb6a0649carries dev8a7a0dd50and passed its focused gate. D307 merge is resolved/staged but UNCOMMITTED, MERGE_HEADb429e5664f. Mesh33cf0b533is not merged. No deployment or monitor01 access.Observed failures:
Full merged gate output. Native workspace tests passed, including 600 server tests and the original D307 registry/reply-lane cases: selected native output. fmt, strict clippy, CLI compile-out, cargo-deny, compiler metadata, vendored checksums and TypeScript compiler passed before the browser-unit failure. The new capability regression passed after its documented merge resolution; original review tests were unchanged.
8f8c84e3751a74a300Intermediate D307 image SHA256 (NOT final release artifacts):
Exact static caps/linkage/trust checks passed. x86 remains below the +45,000 stop line.
Final scripts/verify fast and scripts/test-static-reproducibility.py: NOT RUN, blocked by required review failures. Production bundle/web artifacts: NOT BUILT. Migration 0029, database-copy staging, D307 Playwright/PTY, SSH Retry acceptance, signed handoff and screenshots: NOT RUN. Only earlier calibration used the locked perf VM; no staging processes were started there.
Verbatim failed review summary:
Worktree remains on release-7 with the pending D307 merge for review/resumption. Full pending patch and status are attached separately. No failing commit pushed. Needs a reviewed resolution of these review-test failures before continuing the brief.
Stopped handoff receipts: pending resolved D307 patch, staged status, verbatim failed review summary.
Cleanup complete: no running job executables, own build target/temporary fixtures/r7 alias removed, VM public calibration source removed. No staging process was started. Two explicitly labelled intermediate static images remain under /home/kayg/.cache/codex-scratch/release-7/intermediate/d307, with the hashes in the preceding comment. They are not a completed release bundle.
Resume state: worktree /home/kayg/Developer/infraternal/.worktrees/release-7, branch release-7, head
8bb6a06497, pending MERGE_HEADb429e5664f, no unresolved index entries. Upstream review must resolve the eight failed review tests before continuation; no post-failure product/test edits were made here. Native test path workaround for a later run: recreate scratch release-7/t (mode 0700) and the job-owned /home/kayg/.cache/codex-scratch/r7 symlink to it, then restore the pinned toolchain via scripts/auth-toolchain with CARGO_TARGET_DIR pointing at release-7/target. External gate drivers remain under the job scratch root. Final fast/repro, Mesh migration and all release staging remain pending. Issues left open.Resumed release-7 at clean head
8bb6a06497. Retry687863977is already merged as51a74a300; preserve that merge. D307 is excluded by the revised brief. Next: merge review-mesh-name-placeholder33cf0b533, renumber incoming hostname migration to 0029 without changing shipped 0028, prove SQLx migration paths, measure static sizes, run final fast/repro and retained-typing/Retry checks, package and signed perf-VM staging. Push only release-7; no deploy or monitor01 access.Started D307 re-integration on d307-on-release6, base
8f8c84e37b(release 6). Read #24 history and release-7 handoff. Mergingb429e5664; preserve #244 refusal/resend/lifetime behavior and all original review assertions. Reuse documented additive Hello resolution: shipped visibility bit 2 remains; query replies use bit 3. Product lifecycle fix and a pending-query refusal/resend regression follow. Final fast, browser/PTY, retained typing and size comparison required. Push this branch only; no deploy.Reproduced all eight unchanged #244 review failures on the resolved merge (0 pass/8 fail). Root cause: those state-machine fixtures use Object.create(TerminalClient.prototype), bypassing D307’s query-state field initializer; restartCursors throws before fresh AttachTerm. Real constructor paths initialize it. Product lifecycle now treats query state as lazy, resets it only when present, and clears it plus the callback epoch on disposal. Original reviews unchanged; focused renderer/lifetime run 24 pass/0 fail. New real-VT regression covers both previously-sent variants: split query pending at refusal, replay its prefix without answering, Send again, finish the query; exactly one marked reply at original output identity and only the saved marker on the fresh typing cursor (2 pass/39 assertions). Independent Hello negotiation matrix 4 pass. Gate queued through build-slot; no commit yet.
Before, after, pending-query regression.
Merged-source review check: the unchanged #244 refusal/retained-lifetime unit tests now pass 8/8, 0 failures, 76 assertions with D307 excluded. No product or review-test edits were needed. Mesh merge is still pending its static build and integration gates. retained-unit-resumed.log
Gate setup finding: seven restart/admission fixture failures were caused by this job’s short state-root symlink q307 → d307-on-release6/t. Canonical paths differed (restart_tests.rs:443), parent-escape depth differed, and protected executable admission refused symlink parents. Replaced the job-owned symlink with an actual private 0700 directory at q307; no product/test assertions changed. The current run continues through clippy/workspace tests, then the compile-out row must be rerun under the corrected root before committing. Initial output.
Mesh integration remains uncommitted while the required build-slot wrapper waits for capacity (queued since 21:34 local, PID 2983457). All three slots are held by other jobs. Pending resolved MERGE_HEAD:
33cf0b533. Shipped migrations unchanged; only 0029_remote_host_hostname added. Focused browser unit checks pass 27/27 (Mesh API 19/19; retained/refusal 8/8). Static builds, SQLx/native gates, final fast/repro, artifacts and staging remain pending. No deploy or monitor01 access.Corrected-root main-binary suite passed 99/0/1 ignored, including all restart/admission cases, and the real daemon passed its 24 stop/restart positions. Workspace run then stopped in unchanged cli_review_r2.rs:72: the CLI pagination fixture derives plugins.sock from TMPDIR and this job’s long scratch TMPDIR exceeded SUN_LEN (10 pass/1 setup failure). TMPDIR now uses the actual private short q307 directory as well. No repository change for either harness setup error. Re-running the entire iterate gate with both corrected paths. First full log.
Status: corrected gate/acceptance driver is waiting for a host build slot; no compiler output yet after the corrected-path requeue. Pending merge remains
b429e5664into d307-on-release6 at8f8c84e37, with all conflicts resolved. No commit/push yet. Correct fixture environment: TMPDIR and INFRATERNAL_TEST_STATE_ROOT both /home/kayg/.cache/codex-scratch/q307 (real private directory, not a symlink); target is d307-on-release6/target. Focused tests 117/0 and TypeScript including the new pending-query browser test pass. Driver: d307-on-release6/run-checks.sh under the job scratch root; after iterate it runs browser, both static targets and real PTY/mobile acceptance sequentially in the same slot. Original review assertions remain unchanged.Validation remains queued for a build slot (about 18 minutes on the combined driver, plus the earlier wait). Current normal-slot receipts: slot 1 addhost-readd-r4 management size run, slot 2 scripts/verify iterate pid 3201698 since 22:03:47 CEST, slot 3 scripts/verify fast pid 3313702 since 21:53:41 CEST. No slot settings changed; continuing to wait. The exact previously failing CLI pagination case passes 1/0 with short TMPDIR, using its existing compiled test binary. Reclaimed this job’s 6.1 GB incremental cache while waiting; built artifacts remain. Full corrected gate, browser/PTY acceptance, static sizes and commits are still pending.
Validation is capacity-blocked: the same build-slot wrapper (PID 2983457, queued 21:34 local) has waited about 45 minutes without starting a compiler. All three slots remain occupied; no cap or test has failed in this wait. Pending Mesh merge still targets
33cf0b533; formatting passes and 27 focused TypeScript checks pass. Native/static/SQLx gates remain pending. Continuing to wait; no slot-limit change or other-job interruption.2026-10-19T22:17:10+02:00 slot 1: ? pid 4176099: bash /home/kayg/.cache/codex-scratch/addhost-readd-r4/gate-management2-size.sh 3
2026-10-19T22:03:47+02:00 slot 2: ? pid 3201698: scripts/verify iterate
2026-10-19T21:53:41+02:00 slot 3: ? pid 3313702: scripts/verify fast
Corrected gate passed fmt, compile-out, clippy, CLI pagination, all earlier real PTY/credit/reconnect suites, then reached daemon_gone_tests.rs:119. That fixture appends g + 24 random characters + sessions/<32>.sock to TMPDIR, making 109 bytes with q307; it failed setup before its assertion (daemon suite 145 pass/1 setup fail/20 ignored). Using a new real 0700 root /home/kayg/.cache/codex-scratch/q3 gives 107 bytes, within Linux’s bound. The exact daemon case passes 1/0 with that root. Both TMPDIR and INFRATERNAL_TEST_STATE_ROOT now use q3, replacing q307. No repository fixture/product/assertion change for this setup error. Full corrected gate+acceptance queued again. Failed run, exact corrected case.
Mesh integration static builds completed. Exact caps: x86_64 21,385,264 B (+33,056 versus Retry, +40,960 versus release 6); aarch64 19,570,256 B (+27,952 versus Retry, +34,656 versus release 6). x86 remains 4,040 B below the release stop line. Growth retains hostnames for IP-added hosts and updates live Mesh names through the existing audited revision path, without new dependencies. All 28 shipped migration files are byte-identical to release 6; only incoming hostname migration 0029 is added. Strict clippy and SQLx/native tests are running before the merge commit. mesh-static-sizes-resumed.txt
shipped-migration-bytes.txt
External driver interruption, no product failure: after native focused checks and the TypeScript compiler, mesh-focused.sh exited 127 at
heck: command not found. I edited the running shell file to correct the migration filter; changing its earlier byte lengths shifted the shell reader. The correctly selected enrollment::migration_tests module was run explicitly and passes 4/4, including preserved 28 checksums and 0029. A fresh immutable resume-mesh-validation.sh is now queued through build-slot (PID 610927): rerun TypeScript/check + 27 focused tests, then full iterate before the merge commit. No assertions or product code changed; no commit made. Static sizes/caps remain 21,385,264 / 19,570,256 bytes. Earlier driver transcript: release-7/evidence/mesh-static-resumed.log; resumed gate transcript: release-7/evidence/mesh-validation-resumed.log.Current wait: the q3-root corrected gate/acceptance driver has been queued for 26 minutes without starting. Several normal slots have turned over to other waiting jobs. It remains alive under the required build-slot helper; no slot/priority overrides or parallel heavy commands were started. Capacity/scheduling is the remaining external dependency, managed by the orchestrator; continuing to wait. Product fix, independent capability matrix, real-VT refusal/resend regression and new browser regression are ready. Branch head remains
8f8c84e37with resolved pending mergeb429e5664; no commits pushed until the required gate passes. Correct final fixture environment is TMPDIR=INFRATERNAL_TEST_STATE_ROOT=/home/kayg/.cache/codex-scratch/q3 (actual 0700 directory).The q3-root gate passed the prior fixture failures and reached the unchanged remote plugin suite: 97 passed, 1 failed, 15 ignored. enrolled_dual_replies_preserve_primary_and_mesh_sources stopped at remote_bindings.rs:1621 (“no peer sent another packet”). This file is byte-identical to release 6 (SHA256 87d13521ec7def53857512a353f1de1b88a93be2763a1783e0f017c8d9ab18cc); the exact case passes unchanged in isolation, 1/0. No cause attributed to load and no allowed-baseline exception claimed. Full remote suite rerun plus full iterate are queued unchanged; independent browser/static/PTY acceptance follows in the same slot. No assertion or remote product code changed. Gate output, exact case.
Latest workspace run passed the prior path cases and the unchanged remote UDP test, then reproduced the release-7 inode fixture setup failure at install.rs:3483: no reused inode in 256 allocations (installer 93 pass/1 setup fail/1 ignored). Reusing already reviewed
8a7a0dd50exactly as release 7 did: test-only bounded inode seeding plus an explicit dedicated gate. The inode assertion is retained; unsupported filesystems are explicit, never counted as a tested reuse.To keep commits atomic, saved the complete resolved D307 merge to job scratch resolved-merge.patch, aborted it, and staged only upstream’s three prerequisite files. Queued focused fmt/strict SSH clippy/installer/dedicated-inode checks, then one prerequisite commit and push, then restoration of the same
b429e5664merge plus the saved TypeScript gate patch. All three new query test files remain intact. No #244 or D307 review file changed. Head still8f8c84e37until that gate succeeds.Workspace failure. The separate narrow remote command selected zero tests, and an all-features standalone attempt lacked a Tokio test-runtime feature; neither is claimed as a successful remote suite. The actual workspace remote case passed. Independent acceptance will use the workspace feature graph and original review specs.
Completed Mesh integration:
93753c36ba, second parent33cf0b533, pushed only release-7. D307 excluded. Incoming hostname migration is 0029; shipped 0001..0028 unchanged. SQLx migration, inventory/name, Mesh, plugin API, TypeScript and strict clippy checks passed; all iterate rows passed. Exact static sizes: x86_64 21,385,264 (+40,960 versus release 6); aarch64 19,570,256 (+34,656). Exact-cap and one-byte boundary checks pass. Final fast/repro, packaging and perf-VM staging remain pending.Verbatim iterate final line:
mesh-static-resumed.log
mesh-validation-resumed.log
Completed release-7 build prerequisite rust-path:
73ae909205, pushed only release-7. Passed bash syntax and the two-root Rust stripped-byte equality control. Source is the reviewed #246 atomic step; no product code or dependencies changed. Final merged fast/repro and artifact gates remain pending. Full step transcript is release-7/evidence/finish-build-lane.log.Completed and pushed prerequisite
45e0fe43d2(exact reviewed8a7a0dd50fixture correction). Focused gate: cargo fmt --all --check PASS; strict SSH all-targets clippy PASS; installer 93 passed/0 failed/2 ignored; dedicated real inode reuse 1 passed/0 failed/0 ignored. Gate.Restored the saved D307 resolved tree on top without new product edits: pending MERGE_HEAD
b429e5664, no unresolved index entries; query capability remains bit 3, visibility remains bit 2, lazy/reset/disposal fix intact, all original review files unchanged. Full corrected iterate and browser/static/real-PTY acceptance now running sequentially in the acquired slot. No deploy.Completed release-7 build prerequisite native-path:
0a9e8f21c4, pushed only release-7. Passed bash syntax, native compiler wrapper controls, and shipping metadata tests. Source is the reviewed #246 atomic step; no product code or dependencies changed. Final merged fast/repro and artifact gates remain pending. Full step transcript is release-7/evidence/finish-build-lane.log.Mesh merge
93753c36band the first two #246 tooling commits (73ae90920Rust maps,0a9e8f21cnative maps) are pushed only to release-7. The static-cache import remains uncommitted because the added standalone strict TypeScript check found scripts/release/build-metadata.test.ts:17, TS2345: string | undefined cannot be pushed into string[]. Its 2 Bun tests and 121 assertions passed, but runtime-only tests miss this type issue. Added a local undefined guard in this test helper; production runtime code is unchanged. New immutable finish-build-lane-r2.sh is queued through build-slot to rerun the typed tests before committing and then continue final builds/fast/repro/packaging. Receipt: release-7/evidence/finish-build-lane.log. Full Mesh iterate gate passed before its merge; final release fast remains pending.Completed #246 release prerequisites as atomic commits, all pushed only to release-7:
73ae90920: Rust source remaps; two different-root control builds produce byte-identical stripped output.0a9e8f21c: native source remaps; wrapper controls pass, metadata tests 2/2 and 18 assertions, tracer and standalone strict TypeScript checks pass.36d1773a0: cache-visible ordered flags; metadata tests 2/2 and 121 assertions, tracer and standalone strict TypeScript checks pass after the test-only undefined guard.702e671a0: reviewed cross-root test module and observer correction; syntax check passes. Its full gate requires a clean committed tree and will run after final fast, as requested.HEAD and origin/release-7 both equal
702e671a01; worktree clean. Rebuilding both shipping targets with the final recipe before recording exact caps. No dependencies, D307, #231 or #206 added. Final fast/repro, artifacts and staging remain pending. Transcripts: release-7/evidence/finish-build-lane.log and finish-build-lane-r2.log.The restored merge’s native run passed all earlier failures and the dedicated inode gate, then found three SSH recovery-support fixture setup failures: their nested home/.local/share/infraternal/sessions/<32>.sock path exceeds SUN_LEN even with q3 (recovery_support.rs:494/560). This fixture already provides INFRATERNAL_SSH_TEST_STATE_ROOT and defaults to XDG_RUNTIME_DIR when a general root is not forced (lines 33–49). Use that existing per-fixture override with the user runtime directory, leaving build targets and all other state in the job cache. No repository fixture/assertion change is needed. Final native gate will rerun with that environment; these failures are not ignored.
The production-browser pending-query/refusal/Send again regression has passed, including original reply identity and one marked response, with only saved typing on the fresh cursor. The unchanged retained-typing browser cases are now running. Static builds and real PTY/mobile follow in the same slot.
Production-browser functional acceptance: 30 passed/0 failed on infraternal-dev, unique TRACER_TEST_PORT=4507. Includes all unchanged retained-typing review cases, query replay/snapshot cases, all seven D307 multi-viewer cases, and the new pending-query refusal/resend case. The new case observed one reply-marked frame with its original output identity and only saved typing at the fresh writer cursor. Browser output.
Strengthened real-VT unit regression: both previously-sent variants pass (2/0, 43 assertions), with a logical protocol clock and existing QueryReplies model verifying one admission and duplicate refusal, while the fresh typing queue contains only the saved marker. Unit output. Static builds and real PTY/mobile acceptance are running next. Full native gate still must rerun with the existing dedicated SSH fixture runtime-root override; no failing row is waived. Head remains pushed prerequisite
45e0fe43d, D307 merge pending.Intermediate D307 integration x86 static image: 21,334,800 bytes, delta -9,504 against release 6’s 21,344,304-byte reference. Same scripts/static-cargo --locked --release recipe; file reports stripped/static-pie and PT_INTERP is absent. SHA256 3b32e9db85d9fe00daf9082d1597af086a1a2500588a5aebc748d08db1fe124f. Receipt. ARM build running; exact caps will be ratcheted after both measurements. This is an intermediate uncommitted-merge artifact, not a deployment. Browser acceptance is 30/0; real PTY/mobile and the corrected native/head fast gates remain pending.
Final release head:
1d8e23a05a, pushed only release-7; worktree clean. Both #246 recipe rebuilds exactly match the Mesh merge sizes (0 / 0 B tooling delta). Exact-cap, +1 byte rejection and shrink-ratchet controls pass on both targets.8f8c84e3751a74a30093753c36b1d8e23a05x86 is 4,040 B below the brief stop line. scripts/verify fast is now running on this committed head; reproducibility, final focused checks, artifacts and staging follow in the same slot. No production deployment or monitor01 access.
Real PTY/mobile acceptance: 5 passed/1 failed. Mobile suspension/refusal/explicit resend passed, as did all 30 renderer-supported query forms with three viewers and one PTY copy, two adjacent requests/expired viewer, legacy compatibility, and sixteen outstanding requests. The unchanged ordering review failed: expected REVIEW_ORDER:411b5b313b3152 (A then reply), observed REVIEW_ORDER:1b5b313b315241 (reply then A). Full receipt.
Cause: release-6 websocket_input::InputQueue forwards ordinary Input asynchronously, while the incoming D307 websocket reply branch calls AttachmentHandle::reply directly on the shared host command channel. That can overtake typing from the same receive batch. A second asynchronous input-forwarder hop needs a publication fence as well.
Product resolution: browser replies share the existing cancellable Input/Resize FIFO with separate bounded reply reservations, and wait for a per-attachment forwarding fence before using the existing best-effort reply command. Keep output Credit bypass, keyboard byte/slot budgets, reply expiry/drop behavior, and the native direct reply API unchanged (its frozen review explicitly tests bypass). No wire-contract or review assertion changes. Add isolated ordering/reservation regressions and rerun all original specs.
Milestone: scripts/verify fast exited 0 on final release head
1d8e23a05a, through the build-slot wrapper. All native tests, exact static caps/linkage/trust/key-memory checks, compiler checks and TypeScript rows pass. No host-load exception or baseline qualification was needed.Verbatim Rust table and final protocol summary:
final-fast-resumed.log
The standalone cross-root reproducibility gate has started on the same clean head. Final focused checks, packaging and perf-VM staging remain pending.
Ordering fix source checks: infraternal-server 596 passed / 0 failed / 52 ignored. Both new forwarding-order/keyboard-capacity regressions pass, as does the unchanged native direct-reply bypass review. The 64 reply reservations preserve all eight keyboard slots.
The wider iteration had two failures: a similar-name lint in the new fixture (corrected), and the unchanged login-shell locale assertion at pty.rs:653. pty.rs and locale.rs have no diff against release 6; the exact locale case passed immediately on rerun. No baseline or host-load waiver is claimed. Rechecking strict workspace Clippy and the locale case with workspace features, then requiring the final full gate to pass on the committed head.
iterate-fixed-order.log
locale-rerun.log
The rebuilt PTY review now passes typing-before-reply, mobile refusal/resend, paired queries and legacy input. Two unchanged cases failed: the corpus reached its long-query case with both protocol viewers closed, and the 16-query burst delivered 13 replies.
A concrete capacity problem exists in infraternal-agent/src/session_commands.rs: replies share the eight Input/Resize slots and Full(Reply) is silently skipped. Proposed additive correction: preserve one FIFO and credit fences, reserve 64 separate reply slots, and retain the existing eight ordinary-command slots. Add a failing deterministic regression before changing admission. No review assertions will change. Investigate the corpus viewer closes separately; no load waiver is claimed.
real-pty-final.log
Shared-host reply capacity correction validated: both new regressions fail before the change (0 passed / 2 failed), then the command/credit suite passes (9 passed / 0 failed / 1 ignored). Sixteen reply commands followed by eight typing commands retain FIFO order; 64 reserved replies leave all eight keyboard slots available. The original credit barriers, probe overflow and reply-at-full-typing-capacity reviews pass unchanged. Strict workspace Clippy and fmt pass.
Rebuilding both static targets, then rerunning all six unchanged real-PTY/retained-typing specs with content-free close diagnostics to establish the separate viewer-close failure.
agent-reply-before.log
agent-reply-after.log
clippy-capacity.log
Standalone python3 scripts/test-static-reproducibility.py exited 0 on head
1d8e23a05athrough the same build slot. Both complete binaries match across independent checkout/Cargo/Rustup/target roots; all three compiler-boundary remap checks and registry mapping order pass. The temporary comparison checkout and build roots were removed by the gate.Verbatim output:
Final focused connection review: 94 passed / 0 failed / 336 assertions across 9 files. Packaging is running; perf-VM acceptance and signed handoff remain pending.
final-repro-resumed.log
report.txt
final-focused-resumed.log
Merged the reviewed D307 history with release 6. Query state is safe before its first scan and on disposal; Hello bits 2/3 remain independent. Browser reply ordering now crosses both forwarding queues. Source checks: server 596 passed and shared command/credit suite 9 passed; iteration had one unchanged locale fixture failure, which passed a workspace rerun. Fixture naming lint corrected; strict workspace clippy, fmt and TypeScript checks passed; unchanged browser reviews plus pending-query regression: 30 passed; real PTY/retained-typing reviews: 6 passed.
Head:
5a097787f04ce4ea71796886d23fc08478a5cc5b(pushed tod307-on-release6).Added pending-query refusal/resend coverage with the real VT, a capability matrix, and four native ordering/capacity regressions; wired D307 renderer/property checks into the regular gate. The pending query produces one marked reply, duplicate admission is refused, and fresh writer input contains only the 11 saved typing bytes. The 64 reply reservations leave all eight keyboard slots available. Source checks passed before this test-only commit.
Head:
2a969b1fc2f008b14bdc32d5d4462db814cb7019(pushed tod307-on-release6).Ratchet both static ceilings to the measured shipping artifacts (D243). x86_64-unknown-linux-musl: release6=21344304 branch=21341552 delta=-2752
aarch64-unknown-linux-musl: release6=19535600 branch=19523944 delta=-11656 Static linkage, production trust and exact-size checks passed. Running the final full gate on this head.
Head:
bd99d45ac033951248ba2582b4b875479f8bfa75(pushed tod307-on-release6).Acceptance on source now committed/pushed through
bd99d45ac033951248ba2582b4b875479f8bfa75: all six unchanged real-PTY/mobile retained-typing reviews pass. Corpus: 30 supported request forms × 3 live viewers, one PTY copy per query. The unchanged ordering, expired-answer, legacy-input and 16-outstanding-query reviews all pass. The earlier corpus viewer-close failure did not recur; no assertions or deadlines changed, and no host-load waiver is claimed.Production browser suite: 30 passed, including the new pending-query refusal/resend case. Connection unit suite: 100 passed; D307 scanner/renderer suite: 17 passed. Added four native regressions covering both forwarding hops, shared-host admission and independent keyboard capacity. Self-review checklist attached; original #244 and D307 reviews are unchanged and Cargo.lock is unchanged. Screenshots are from the real production build for independent review.
Both artifacts are stripped/static with no PT_INTERP; hashes and machine/load context are attached. These are functional checks and byte counts, not build-host performance measurements. Final scripts/verify fast is running on the committed head. No deployment.
real-pty-final.log



static-final-receipt.txt
self-review.txt
Final fast gate on
bd99d45ac: fmt, VT fmt, CLI compile-out, Clippy, SSH helper, inode fixture, cargo-deny and both static builds pass. Workspace tests stopped at unchanged remote runtime_lock_tests.rs:258: immediately after dropping a UnixListener, kernel inspection returned Some(true), expected Some(false). No baseline/load waiver applies.This fixture already has a bounded 100 ms close-retirement wait for session endpoints (sessions_after_close, line 214), but its legacy endpoint tests assert immediately. Proposed test-only correction: use the same bounded kernel-retirement observation for closed legacy endpoints. Preserve true/live checks and final false/unbound assertions; no product or D307/#244 review change. Record a separate atomic fixture commit, then rerun the full gate on the new head.
verify-fast-runtime-close-failure.log
P1 migration finding on release head
1d8e23a05: migration 0029 assigns unnamed- without reserving existing hand-set names, while mesh_nodes.name is UNIQUE COLLATE NOCASE (0012_mesh_api.sql:10). A production-shaped database initialized by the actual release-6 binary at 0028 contains placeholder node 42 and a separate hand-set name unnamed-42. Starting the candidate on a copy exits 1 and rolls back to schema 28 (hostname column absent). A paired copy differing only in that hand-set name starts healthy at schema 29. Both runs use the real server SQLx startup, not a raw SQL replay. The CLI hides the SQLite detail; a Rust regression will assert the exact cause.Stopped only this job's build tree by pinned PID descriptors before source changes. No staging or deployment occurred. I will preserve the hand name and allocate a collision-free unnamed label in the unshipped 0029 migration; shipped 0001..0028 remain untouched. Then remeasure sizes and rerun the head gates before packaging. Earlier green gates did not cover this valid naming collision. migration-name-collision-paired-before.log
Fixture correction pushed at
3e95f8262c993cd1cc38a81ff585e535dafc1e0a. Strict workspace Clippy, fmt and runtime-lock tests passed. The same 100 ms kernel-retirement budget now applies to closed legacy and session endpoints; live true and final false assertions remain. Final full gate running on this head.The new Rust regression reproduces the exact P1 cause through SQLx before the correction: enrollment::migration_tests::hostname_migration_allocates_around_retained_names ran 1 test and failed with ExecuteMigration(Database(SqliteError { code: 2067, message: "UNIQUE constraint failed: mesh_nodes.name" }), 29). It reserves case-folded hand, reported and record labels, then upgrades two legacy placeholders.
The unshipped 0029 correction now reserves free labels using the existing NOCASE name index, shares the allocation with the audit, and drops its temporary table in the same migration. It never changes an existing hand/record/reported label. The regression rerun is compiling. Shipped 0001..0028 remain unchanged. Existing
1d8e23a05artifacts are baseline-only under release-7/intermediate/before-name-allocation-fix; they are not a release handoff. name-allocation-regression-before.logFinished; issue remains open. Branch
d307-on-release6is pushed at3e95f8262c993cd1cc38a81ff585e535dafc1e0a; local and remote heads match and the worktree is clean. No deployment.Merged reviewed D307
b429e5664with release 6. Query state now tolerates resets before first output and is retired on disposal; reply capability bit 3 remains independent of shipped visibility bit 2. Browser wire order crosses both forwarding hops, and separate 64-reply reservations preserve all eight keyboard slots in browser and shared-host dispatch. The native direct-reply API retains its reviewed behavior.The original #244 and D307 review tests are unchanged. Added pending-query refusal/resend coverage using the production VT and browser: one marked reply, duplicate admission refused, and fresh ordinary input contains only saved typing. Added four native order/capacity regressions and the independent capability matrix. Separate fixture commits seed inode reuse and reuse the existing 100 ms kernel-retirement wait; neither changes product code.
Validation:
scripts/verify fastexited 0 on this exact head. All Rust rows pass, server 596 passed / 0 failed, connection 100 passed, D307 scanner/renderer 17 passed. Production browser suite 30 passed; unchanged real PTY/mobile suite 6 passed. Real PTY corpus: 30 supported forms × 3 viewers, one PTY copy each; the 16-outstanding-query review passes. These are functional checks, not build-host performance measurements.Both artifacts pass production trust/static linkage checks and have no PT_INTERP; their final hashes match the attached size receipt. Exact ceilings are ratcheted. Build targets and temporary fixture directories are removed; evidence is retained outside the checkout and attached. Production screenshots for independent review are in the preceding acceptance comment.
Final gate summary copied verbatim; the complete verbatim transcript is attached:
verify-fast.log
runtime-close-after.log
self-review.txt
cleanup.txt
verify-fast-summary.txt
real-pty-final.log
static-final-receipt.txt
Started break-it review on branch
review-d307-on-release6at base3e95f8262c993cd1cc38a81ff585e535dafc1e0a(current head). Reviewing only merge-resolution changes in5a097787fbeyond the two reviewed sides, then exercising the requested refusal, resend/discard, disposal, multi-viewer, capacity and replaced-session cases. Read #24 and the D307 parent history before starting.Pushed schema correction
03db2d286576dfb9c12fcadc8441cfb590d3e518and separate regression commit173a9ba14f458a8451d31c6e72e86cd73b8911f3to release-7 only. Each passed fmt, workspace clippy and all 5 migration tests. Real release-6 database copy now starts healthy at 0029 with the existingunnamed-42retained and legacy node 42 allocatedunnamed-42-1; the normal-name control also starts at 0029. Both processes stopped. Shipped 0001..0028 untouched.Stripped static sizes remain x86 21,385,264 (+40,960 over release 6), ARM 19,570,256 (+34,656): correction adds 0 bytes after layout. Exact caps remain; x86 has 4,040 bytes before the stop line. Production-trust checks pass for both. Final fast/repro/focused checks and replacement artifacts are running on
173a9ba14.migration-name-collision-after.log
Step complete at
3e95f8262c: focused browser and renderer regressions passed. Bun: 23 tests, 1,789 assertions, 0 failures. Production browser: 30 tests passed in 5.0m on port 4381. Evidence: focused-unit.log, focused-browser.log. The dedicated two-viewer/one-refused interaction and Rust reply-capacity tests are still pending.Final
scripts/verify fastexited 0 on173a9ba14f458a8451d31c6e72e86cd73b8911f3, through the host build-slot. Full output verbatim is attached; completion blocks verbatim:Static x86/ARM are 21,385,264 / 19,570,256 bytes, stripped and without PT_INTERP; exact caps pass, staging trust absent. No host-load waiver. All 28 shipped migrations are byte-identical to resumed base
8bb6a0649; only new 0029 changed. Standalone reproducibility is running next, followed by focused checks, packaging and VM staging; handoff is not yet complete.final-fast-name-fix.log
shipped-migration-preservation-final.json
The custom two-viewer/one-refused browser regression is queued behind the shared build slots; it has not started and no assertion has failed. The final
scripts/verify fastgate is still pending. Needed: one slot to free; no repository or user input is needed. Current branch head:3e95f8262c.Standalone
python3 scripts/test-static-reproducibility.pyexited 0 on173a9ba14, through the same build-slot lane. Both full files match across checkout/Cargo/Rustup/target roots; all three cache remap captures and ordering checks pass. Output verbatim:final-repro-name-fix.log
sccache-rust-args.json
sccache-native-x86-args.json
sccache-native-aarch64-args.json
environment.txt
The temporary comparison worktree was removed automatically. Focused Retry/refusal checks are running next, then artifacts and VM staging.
Head
173a9ba14: final focused checks pass after fast and standalone reproducibility. Native bootstrap/Retry: 61 passed, 0 failed, 3 ignored; Python review suite: 24 total, 6 active pass, 18 skipped; connection/retained/refusal: 94 pass, 0 fail, 336 assertions. Live disposable SSH Retry is still pending on the VM.Production artifacts are sealed under
/home/kayg/.cache/codex-scratch/release-7/artifacts: full x86/ARM images match the reproducibility hashes, package SHA256SUMS and all 223 web file hashes verified, web-dist.tar and MANIFEST.txt present, all shipping images free of staging trust. VM transfer/acceptance is running; per-run signed fixture preparation continues separately on the build host. No deployment.final-focused-name-fix.log
MANIFEST.txt
Combined-viewer step passed at
3e95f8262c. With two viewers attached to one session, the peer’s reattach was refused while a cursor position report remained pending; the still-attached viewer produced the single admitted reply, and the refused viewer accepted zero input bytes. Production browser run: 1 passed on port 4387. Evidence: two-viewer-refusal-final.log. The full fast gate remains pending.Head
173a9ba14: signed VM proof passed both real-engine cases, 128 PTYs retained through 12 signed handoffs, 128 resumed input/output checks, 50 users and 10,000 nodes, 6 final browser-protocol sockets responsive; refusal and automatic rollback pass, run directory removed. Measured listener-gap bracket p50/p99 = 4018.697/4066.569 ms; release-6 recorded 3927.363/4037.721 ms inrelease-6/evidence/staging-proof-release6-attempt4.log. Both are in the existing ~4-second range; no seamless-handoff or timing-improvement claim. Current idle server RSS 21,987,328 bytes at 128 PTYs; one-core CPU 2.800% over 5 seconds. Full raw proof: signed-handoff-final.log.Copied release-6 DB applies 0029 and preserves names/canvas/integrity. Weighted, locked VM migration comparison (3 pairs each): 1,000 nodes SQLx median 12.856→16.123 ms; 10,000 nodes 56.023→81.532 ms, total startup 67.025→94.201 ms. Added 25.509 ms is a one-time 10,000-node upgrade cost to avoid SQLite 2067 and preserve existing names. No steady-state code or binary size growth from this repair. Both collision matrices preserve reserved names; all server PIDs stopped. Raw scale/copy output.
The first browser harness used shipping assets with a preview-only
proto=productswitch and timed out (not a product regression); corrected separate preview-enabled test build passes all 19 retained-typing review tests. Shipping assets remain sealed. Mesh fixture corrections: send required Origin and seed existing public Mesh inventory (the shipping host image compiles Mesh out, so it does not allocate that inventory itself). A fixture-copy cleanup hook was removed; daemon diagnostics now disclose only exit/status classes. Live SSH harness now includes/usr/sbinin PATH; its first failed attempt created no account and its empty directory was removed. Production Mesh/current+legacy join and live SSH Retry are still running; completion pending.Fast gate run 1: fmt, VT native fmt, CLI plugin compile-out, clippy, SSH runtime helper, workspace tests, SSH inode fixture and cargo-deny passed; x86_64 static output matched its cap exactly (21,341,552 bytes). Static builds then failed only because sccache could not create temporary directories under the absent
/home/kayg/.cache/codex-scratch/release-7/t(see attached fast.log). No code or test failed. Rerunning with TMPDIR in this job’s scratch directory.Fast gate run 2 did not identify a code issue: overriding TMPDIR to the long job path made three
cli_review_r2Unix socket fixtures exceed SUN_LEN, and sccache’s already-running server still used its stalerelease-7/ttemp path. The server reply/order, capacity, registry, and retired-stream tests passed. Rerunning with the default short test temp path and a job-local pass-through rustc wrapper to avoid the stale cache server.Release 7 complete on pushed
release-7, head173a9ba14f458a8451d31c6e72e86cd73b8911f3. Worktree clean. No production deployment; monitor01 untouched. Issues remain open.Merge commits: Retry
51a74a300cc438747be590442b664473eface726(accepted687863977, already carried by the resumed base), Mesh93753c36ba280589e0f3e501c8281603d09b1634(review33cf0b533). The Mesh merge preserves the canvas and legacy-name tests, renumbers the incoming hostname migration to 0029, and rejects the incoming stale size ceilings. D307, #231 and #206 remain outside this integration. Four logical #246 build-normalization/reproducibility commits precede final qualification. Follow-up03db2d286repairs the unshipped migration;173a9ba14separately adds the regression.All 28 shipped migration files are byte-identical to resumed base
8bb6a0649. SQLx proves fresh 0001..0029, a copied production-shaped 0028→0029 database, retained canvas revision 7 and checksums, NULL legacy hostname, integrity and replay. The added regression first failed with SQLite 2067: an existing case-insensitiveunnamed-<id>could block startup. The fix reserves free labels through the existing index, retains hand/reported/record names, shares audit/update allocation, increments the revision once and drops its temporary table. 5 passing migration tests, real-binary collision upgrade, shipped SQL preservation, VM copied-database proof.Exact measured caps are set. x86 remains 4,040 bytes below the +45,000-byte stop line. Growth pays for accepted Retry commit-budget terms (+7,904/+6,704) and hostname validation/retention/audited reconciliation (+33,056/+27,952). No new dependency; normalization and the collision repair add zero shipping bytes.
scripts/verify fast, host build-slotThe browser review spec uses the repository's preview-enabled
proto=productharness; those test assets are separate from shipping assets. Production Mesh screenshots use the shipping build. Existing public Mesh inventory is seeded through the owner API because both shipping host images compile Mesh out; actual admitted host facts rename the IP record torelease7-ip-host, while the older image reports no hostname and keepslegacy-product-host. The hostname column is validated for both, and the view contains nomesh-<uuid>label. Managed runtime admission uses the required public 33-byte owner marker. The final three captures below wait for camera rest and supersede the earlier in-flight captures.Performance evidence is from locked, CPUWeight=10000
infraternal-perf-test(4 vCPU), with kernel/load in the raw receipts. Three paired SQLx upgrades per scale: 1,000-node migration median 12.856→16.123 ms; 10,000-node 56.023→81.532 ms, startup 67.025→94.201 ms. The one-time 25.509 ms cost at 10,000 nodes prevents a valid production database from failing its upgrade. Whole-process HWM ranges at 10,000 nodes: 16,676–18,708→17,428–19,448 KiB; no per-node extrapolation. Both collision matrices preserve reserved names. migration-scale-1000.log, migration-scale-10000.log.Signed staging: 50 users, 10,000 nodes, 128 real PTYs, 12 signed handoffs, 128 resumed input/output checks, six final browser-protocol sockets responsive; candidate refusal and automatic rollback preserve CA state and database integrity. Listener-gap bracket p50/p99 4018.697/4066.569 ms, max probe interval 101.699 ms; release-6 receipt
release-6/evidence/staging-proof-release6-attempt4.logrecorded 3927.363/4037.721 ms. Historical baseline receipt (not a paired rerun). This remains the existing ~4-second range, with no seamless-handoff or improvement claim. Current idle server RSS 21,987,328 bytes, sampled one-core CPU 2.800% over 5 seconds at 128 PTYs. Live SSH Retry retained the same session/writer, confirmed input/output, and left zero unconsumed live tokens.Artifacts retained at
/home/kayg/.cache/codex-scratch/release-7/artifacts, matching the requested layout: manifest, both full server images, package bundle with verified SHA256SUMS, 223-file web directory withindex.html, andweb-dist.tar. MANIFEST.txt.MANIFEST.txt9e21f78fe0703c88a2e56a53c906b27ea057b8c4d2736945b781a5f442932723infraternal-x86_64-musl6a8bba8918b8e9ccf192fb0661725a335af3014396417a8cbd8c5a2c7a9e034cinfraternal-aarch64-musl08aaea858efb8a227fb4fac359862c03e3d9165299de6a488a4ea76a0e219832bundle/infraternal6a8bba8918b8e9ccf192fb0661725a335af3014396417a8cbd8c5a2c7a9e034cbundle/infraternal-x86_64-musl2fde5decab5a35714ba03e059bc151378337fbef0eadf9a1ba6d5dad25f41397bundle/infraternal-aarch64-muslf60304004c1bb13f2cf226ed89340ab2e3eccb84ba5e56c98fc18c380c0ba499bundle/infraternal-x86_64-session-musl3df40232d527c0d96c69e0926233f3db2f4fc4bf535f6b1aab9a1f2667bdbde4bundle/infraternal-aarch64-session-musl7879c3293913fa6b69d9c8b88c881285165eafc70aa3d7bcaa4b168bba4ee875bundle/SHA256SUMS3648bd0e9584ae2c9d1041180fdfdd794acbf1f96535cff49129e1e871bfcba4web-dist.tarcbc405d319607b50af6caf8b2219f54cad6080f73d05d9217b232e2e1a3146daweb-SHA256SUMS7c00f4f6614390e1f3b50884db37ffe6472092b33227e5aa440faf531478d695scripts/verify fastcompletion output verbatim (the complete transcript is attached above):python3 scripts/test-static-reproducibility.pyoutput verbatim:Cache capture receipts: sccache-rust-args.json, sccache-native-x86-args.json, sccache-native-aarch64-args.json, environment.txt.
Cleanup passed: final Mesh PIDs 2155931, 2155933, 2155943, 2155945 and sshd 2153961 are gone; both signed units are unloaded/MainPID 0; no owned fixture or retired-UID processes, disposable account, fixture firewall table or own lock-owner marker remain. VM job/cache directories are removed. Host targets, comparison/public-signing fixtures, archives and short runtime alias are removed; temporary Git worktrees are zero. Shipping artifacts and local evidence remain. perf-cleanup-final.json, host-cleanup-final.json. Author checklist completed.
Repeatable qualification details: release-qualification-environment.txt, Gate driver source, Native runner source, VM calibration source, Mesh fixture source, Scale fixture source, Signed preparation source, Signed runner source, Memory signing source. Source attachments are exact plain-text copies; no private signing material is attached.
Review complete. Verdict: MERGE. No P0/P1/P2 findings.
Resolution-only hunks reviewed:
connection.tskeeps visibility and reply capabilities independent;terminal.tslazily creates the scanner, resets it on a fresh shell, and retires it on disposal; the server routes replies through the attachment FIFO and a separate bounded 64-reply lane, preserving the eight typing slots and keyboard byte budget. The forwarding fence is checked before publishing a reply. Full or expired reply reservations are best-effort drops.POSITIONSis exposed so the input queue shares the query capacity bound.inputs.rs,session.rs,frame.rs, andcodec.tshave no resolution-only changes beyond the reviewed-side union.Case results: pending query across refusal/fresh shell PASS; Send again after a query PASS; Discard PASS; disposal with a pending reply PASS; two viewers with one refused PASS (the still-attached viewer delivered one reply; the refused viewer admitted zero input); reply capacity at its bound PASS; reply after session replacement PASS. Focused property checks: 23 passed, 1,789 assertions. Browser suite: 30 passed; dedicated two-viewer refusal regression: 1 passed. A temporary Rust replacement-lifetime check passed and was removed before the clean-head gate.
Clean-head SHA:
3e95f8262c993cd1cc38a81ff585e535dafc1e0a.scripts/verify fastexited 0. Full stdout: fast-final-head.log.Gate output (verbatim):
Release 8 started on release-8, production base
173a9ba14f. Worktree clean. Applying the reviewed D307 production-line merge, then only each requested dev branch’s own non-merge commits with -x. No deploy; monitor01 untouched. Final gates, size table, artifact hashes and perf-VM copied-database staging evidence will follow.D307 merge scope: only docs/PROCESS.md and scripts/verify.d/rust.sh conflict (release-6 vs release-7 size ceilings). Retained release-7 entries pending measured caps. No migration file changes (git diff
173a9ba14-- crates/infraternal-server/migrations is empty); latest SQLx version remains 0029. The 41 non-merge source commits beyond production are retained by the requested merge. Existing sync/stale test specs use playwright.config.ts test-double endpoints; real PTY query and phone/stale review specs use playwright.real.config.ts. Both harnesses will be qualified, with timing/staging only on the locked perf VM.First D307 iterate run: fmt, VT fmt, CLI compile-out, clippy, SSH helper, SSH inode fixture and cargo-deny PASS. Workspace tests stop in infraternal-plugin-remote runtime_lock::tests::foreign_inode_twin_inner at runtime_lock_tests.rs:443: UnixListener::bind returns InvalidInput, "path must be shorter than SUN_LEN"; its parent assertion consequently fails. Full job-root fixture path is too long. No runtime admission assertion was reached. Retrying the existing test with a directory-descriptor alias into release-8/t; no product patch. Full receipt: release-8/evidence/step1.log.
Fixture path correction: the same compiled remote-runtime test passes with the private r8 alias into release-8/t (parent and nested namespace case both PASS). The descriptor alias cannot preserve the fixture mount views; no product code changed. Full iterate rerun is active through build-slot. Baseline artifacts confirmed at 21,385,264 / 19,570,256 bytes.
First iterate · passing short-root fixture.
D307 integration iterate passed after the fixture-only path correction. All Rust rows PASS; protocol 39 passed / 0 failed / 36,135 assertions. Renderer reply/scoped-write tests: 17 passed / 0 failed / 1,794 assertions. Static builds for both targets are active for the first size-table row; merge commit waits for measured caps. No migrations changed from production
173a9ba14.Final iterate line, verbatim:
First measured D307-on-release-7 static x86_64 image: 21,387,824 bytes, +2,560 versus release 7 (21,385,264). This differs from the brief’s expected reduction, but is 17,440 bytes below its +20,000-byte stop line. Artifact is stripped/static-pie with no PT_INTERP. Build uses the unchanged production .cargo scripts, scripts/static-cargo, Cargo.lock and pinned compiler; the source change includes the reviewed infraternal-agent s→z profile. The release-6 D307 delta is not additive on this production combination; no alternate profile or dependency is being introduced. aarch64 measurement is running.
D307 step committed and pushed as
ed725f9db4(second parent3e95f8262). Exact stripped/static sizes: x86_64 21,387,824 B (+2,560 versus release 7); aarch64 19,559,624 B (-10,632). Both exact-cap and one-byte boundary checks pass; production trust passes; PT_INTERP absent. 17,440 x86 bytes remain below the brief’s stop line. All 29 shipped migration files unchanged.Iterate: all Rust rows PASS; protocol 39 pass / 0 fail / 36,135 assertions; scoped renderer/reply unit tests 17 pass / 0 fail / 1,794 assertions. This is not the final fast gate. Complete iterate and static build receipt. Starting the selected #206 commits oldest first. No deploy.
Release-8 integration finding for
5efb7fe49: constructor-less #244/D307 TerminalClient fixtures lacked the new required synchronizedOutput control. First run: 90 pass / 10 fail; restartCursors threw before refusal/attach assertions. Resolved by supplying the lifecycle control in the three fixtures, not weakening the production field. Rerun: 100 pass / 0 fail / 387 assertions; renderer/reply scope tests 17 pass / 0 fail / 1,794 assertions. Committed/pushede345c5fcf. Both ordinary and atomic writes keep D307 reply marking and replay offsets.Failing fixture run · Passing rerun. No extra dev dependency.
Native #206 measurement committed/pushed as
9a8efc6bd(sourceb9c7dc68a, production-specific cap adaptation). x86_64 21,387,184 B; aarch64 19,559,112 B. Deltas from D307: -640 / -512; from release 7: +1,920 / -11,144. x86 is 18,080 bytes below the stop line. Both images stripped/static with no PT_INTERP; production-trust and exact/+1-byte/downward-ratchet checks PASS. The source commit’s dev-line measurements are not the production measurements.Both static builds and SHA256s · cap/trust boundary checks. Final-head fast/repro/browser gates remain pending. No deploy.
Stale-note source
5108da2db,4210d2202,94933af83and real review check9fd1bc40eare committed/pushed on release-8; step head3f8373bd9d. The output/snapshot integration retains synchronized holds and D307 reply marking; newer output also clears the note. All focused type/unit gates passed.Both native artifacts remain byte-identical to #206: 21,387,184 / 19,559,112 B; SHA256 bc3e7b2fa2bde97d06b548981954a96d68f4a8524fed2b41a7c80d99348de58b / 46812c6bfeffb01e536112d422d1db8809bb136f2504efde1bac8df7ca8ce26f. Step gate and unchanged-binary receipt. Final fast/repro and real-browser staging still pending; no deploy.
Release-8 staging milestone at
85b0285b73: a release-7-created v29 database with 10,000 mesh nodes, 50 users, an existing canvas revision and a legacy null host name was copied, then opened by this head through SQLx startup. All 29 migration checksums and inventory rows were preserved; integrity_check=ok; HTTP shell=200; source and copy server PIDs stopped. No new migration was introduced.Perf VM: infraternal-perf-test, 4 vCPU, kernel 6.12.111+deb13-amd64; load before/after 0.00 0.00 0.06; lock held only during this phase; CPUWeight=10000.
Verbatim database receipt. Remaining browser and final gates are running.
Staging harness finding at unchanged head
85b0285b7: the enrolled browser fixture already has one mesh node. The additional copied-database acceptance initially asserted exactly 10,000 total nodes after inserting 10,000, and failed with nodes=10001. Corrected only the external harness to preserve the baseline node count and assert 10,000 seeded nodes separately. Re-running the complete five-test acceptance; no product change.The reviewed real-server suite passed 11/11; the initial acceptance passed real resume refusal + Discard, real resume refusal + Send again, full-screen synchronized echo (one release frame), and desktop/phone queries (one reply each).
Exact fixture diagnostic.
Perf-VM staging passed at
85b0285b73: 11/11 reviewed real-server specs and 5/5 additional real-PTY acceptance checks. Production web and full-server image bc3e7b2fa2bde97d06b548981954a96d68f4a8524fed2b41a7c80d99348de58b.Machine: infraternal-perf-test, 4 vCPU, kernel 6.12.111+deb13-amd64; final acceptance load 1.35/0.84/0.40 before, 2.42/1.20/0.54 after; separate lock holds; CPUWeight=10000. No deployment. Bundle and final gates remain in progress.
staging-final-driver.log



real-reviewed.log
staging-capture-driver.log
release8-phone-widths.json
release8-real-sync-echo.json
Final-head browser regression gate passed: 35/35 requested browser regressions, plus synchronized-output-input.spec.ts 20/20 repeated runs, on the perf VM under the shared lock and CPUWeight=10000. Every repeated run sent and accepted typing while held, then painted the echo one frame after release. Input send 0.5–0.9 ms (p95 0.8 ms); release-to-echo 4.6–16.3 ms (p95 13.8 ms). Native full-screen acceptance independently passed at one frame.
Head
85b0285b73. The earlier real-server suite passed 11/11 and acceptance 5/5. Perf scopes are inactive, test ports closed, staged server bytes equal the completed bundle server, and the private VM job directory was removed after copying receipts. Final host gate and reproducibility are still running.Verbatim browser/perf output
20-run measurements
Artifact manifest and hashes
Production trust/static linkage: seven images
Final-head scripts/verify fast passed at
85b0285b73, through build-slot. No failure waiver or baseline exception. Reproducibility is now rebuilding both architectures in the required isolated roots.Verbatim Rust gate summary:
Verbatim final protocol output:
Full unmodified gate output:
final-verify-fast.log
Release 8 qualification finished. Head
85b0285b733bac4c94d7540c58d4521d1a3410c4is pushed only torelease-8; production base173a9ba14f458a8451d31c6e72e86cd73b8911f3. No deployment; monitor01 untouched. Issues remain open.Applied history: D307 merge
ed725f9db40aa69031c524950a02c276c340a43dhas source parent3e95f8262c993cd1cc38a81ff585e535dafc1e0a(41 D307 commits). Then 23 own source/review commits were cherry-picked oldest first with-x, followed by the release size documentation. No other dev lineage or dependency was imported. Full D307 history and commit bodies: ledger.Final delta against release 7: +1,920 x86_64 / −11,144 aarch64 bytes. The measured x86 increase differs from the expected approximate reduction; it is 18,080 bytes below the +20,000 stopline. Both ceilings equal the measured sizes. Stale-note and phone stages retain byte-identical native images. Same pinned static recipe and compiler as release 7; no Cargo.lock or migration changes.
Artifacts:
/home/kayg/.cache/codex-scratch/release-8/artifactsin the release-7 layout, including both full images, bundle (both host and session architectures), production web, web-dist.tar, MANIFEST.txt and checksums. The bundle already carries the ARM host image; a later authorized deploy uses--bin,--bundle,--web. Seven executable images passed production trust and static-link checks. Staged server compared byte-identical to the completed bundle server.Host gates used private fixture state and the short socket-path alias required by the Unix-socket tests; the GNU runner forwards every test and skips no checks. Exact commands and environment are attached.
The existing query/refusal/retained-typing/synchronized-output/stale-screen browser specs depend on
/__mockcontrols. They ran against a separate sealed preview-enabled test build; shipping web stayed preview-disabled. Real-server counterparts additionally covered real 1008 refusal + Discard/Send again, full-screen mode 2026 input/paint, stale replay, cursor queries and persisted phone geometry. Native binary and shipping assets came from this head.Perf-VM staging (infraternal-perf-test, 4 vCPU, kernel 6.12.111+deb13-amd64, CPUWeight=10000, separate short lock holds):
[349,349,349,349]; the copied-database capture also met the >=349 minimum, with revision 8 unchanged by phone use. Direct persisted-layout review covered rotation, pinch, reload, pointer changes and desktop edits.Author checklist: review receipt. All owned VM scopes are inactive, ports are closed, private VM job removed, and temporary host Cargo/upload/comparison roots removed. Artifacts and evidence are retained outside the checkout.
Verbatim final Rust gate table (full unmodified gate transcript attached below):
Verbatim final protocol gate output:
Verbatim reproducibility output:
final-verify-fast.log
final-static-reproducibility.log
vm-cleanup-check.log
host-cleanup-check.txt
qualification-commands.txt
perf-driver.log
held-input-20-summary.json
vm-cleanup-check.log
MANIFEST.txt
artifact-SHA256SUMS.txt
artifact-seal.json
applied-first-parent.txt
staging-final-driver.log



real-reviewed.log
staging-capture-driver.log
release8-phone-widths.json
release8-real-sync-echo.json
Deployed to production: release 8,
85b0285b7at 09:32 IST (2026-10-20).deploy-prod.sh 85b0285b7 --bin infraternal-x86_64-musl --bundle bundle --web web(no--arm).DEPLOYED 85b0285b733bac4c94d7540c58d4521d1a3410c4 (backup /var/backups/infraternal/20261020-060227-85b0285b733bac4c94d7540c58d4521d1a3410c4)/healthz200, new MainPID 140788, active since 04:02:31 UTC.bc3e7b2f…, aarch642e94b4ce…, aarch64-session75801bc7…, x86-muslf87c2b23…, x86-session7094e3f5…).release-prod-live→85b0285b7. Merging back into dev runs as jobmerge-release8-dev(inputs.rs needs a semantic merge of D307 reply isolation with the per-user pool).The server restart re-locked the CA: the owner must unlock it.
Starting merge-release8-dev from dev base
1e59bdccd6. Merging production release 8 origin/release-prod-live85b0285b73. Resolving D307 reply isolation together with the existing process-per-user cursor and queue budgets; only merge-release8-dev will be pushed, no deployment.Merge finding: user_host.rs advertised SEQUENCED_INPUT/MULTI_WRITER/SHARED_WRITER but omitted D307 QUERY_REPLIES, despite sharing session.rs reply handler. Added real-PTY regression shared_host_advertises_and_routes_isolated_terminal_replies: before fix 0 passed / 1 failed at ppu_reliability.rs:161 (Hello capability check). Resolution adds QUERY_REPLIES to the shared-host Hello. Widened the existing Cursors to u64 rather than maintaining a separate reply slot: one segment ownership and memory-accounting path, preserved inline writer zero, reply identity exempt from the 512-peer cap, and diagnostics omit internal reply credits. Added namespace/partial-write, 1024-segment and allocation-accounting checks. No migration or dependency changes. Default shim units: 84 passed / 13 ignored; first mouse fixture stopped because Zig was missing from PATH, so subsequent commands export the pinned target/auth-tools/zig path.
Required shim suites passed: default 84 unit tests + integration checks; process-per-user 191 unit tests + 5 real shared-host regressions + other integration checks. Diagnostic input suite: 9/9, including no typing credits for reserved reply segments. At 1024 alternating typing/reply segments: measured bookkeeping allocation 16,564 bytes; accounted 16,580 bytes (16 bytes conservative); key 8 bytes, segment 16 bytes. For 1,000 sessions at this queue occupancy: 16,564,000 measured / 16,580,000 accounted bytes. Idle inline writer-zero table allocation remains 0 bytes per session. Extra host-diagnostics clippy reports pre-existing dead_code, needless_pass_by_value, doc_markdown and cast_possible_truncation diagnostics in unchanged code; checking on detached dev baseline, without widening merge scope. Repository iterate gate is running.
shared-host-before.log
shim-diagnostics.log
Merge committed as 8742144e21251b293e1f977ce40f8b33a6a52537 with parents dev
1e59bdccdand release 885b0285b7. All requested conflict resolutions and semantic shared-host capability fix are in this single merge commit. Required default and process-per-user shim suites passed. scripts/verify iterate exited 0; Rust table below, protocol 39 pass / 0 fail / 36,135 assertions. Final full fast gate and static comparison remain pending; branch is not pushed yet.Detached unchanged dev base
1e59bdccdreproduces the optional host-diagnostics Clippy failure exactly: six diagnostic messages match (unused with_host_budget, needless Arc pass-by-value, MemAvailable documentation, three sample-index conversions). These are outside the merge resolution. The required workspace Clippy gate passes; no gate row is waived. scripts/verify iterate exited 0 on merge 8742144e21251b293e1f977ce40f8b33a6a52537. Fresh common-ancestor static size measurement is running; final fast gate remains pending.baseline-feature-clippy.log
baseline-diagnostic-comparison.txt
iterate.log
Fresh stripped static x86_64 comparison baseline built from common production ancestor
173a9ba14fusing scripts/static-cargo build --locked --release --package infraternal --target x86_64-unknown-linux-musl, same pinned toolchain and job target as the merge qualification. Size 21,385,264 bytes; static-pie, stripped; SHA256 6a8bba8918b8e9ccf192fb0661725a335af3014396417a8cbd8c5a2c7a9e034c. Final scripts/verify fast is running on merge 8742144e21251b293e1f977ce40f8b33a6a52537.baseline-size.txt
baseline-static.log
Final-head x86_64 static check passed on merge 8742144e21251b293e1f977ce40f8b33a6a52537: 21,387,184 bytes, exact release-8 cap; +1,920 bytes versus the freshly built common ancestor (21,385,264). PT_INTERP absent; native static key-memory check passed. Final gate is now building aarch64; no source changes or required-test failure waivers.
Final fast gate at 8742144e2: every Rust row passed except static builds. x86_64 matches the 21,387,184-byte cap; aarch64 measures 19,559,240 bytes, 128 bytes above its required 19,559,112-byte cap. Linkage, production-trust and compiler-metadata checks pass. No cap changes or source behavior changes are authorized; isolating the default-build code-generation difference between release and the shared-host abstraction before rerunning final qualification. Full failed receipt is retained as fast-arm-size-failure.log.
Size investigation: frame.rs retained a generic encode_mode append wrapper, but its only caller supplies false; append output already uses the separate feature-gated output_slices_into helper. Measuring replacement-buffer encoding directly in encode_into, matching release code shape while preserving feature-gated vectored output. No wire, queue, dependency, profile or cap change. Existing exact frame vectors and buffer mutation tests cover both configurations; candidate static aarch64 build is running.
fast-arm-size-failure.log
128-byte aarch64 investigation: the direct encoder candidate still measured 19,559,240 bytes and was reverted (arm-encoder-check.log). Restricting the generic session-terminal boundary to process-per-user also measured 19,559,240 and was reverted (arm-terminal-boundary-check.log). No rejected candidate remains in the working tree. Now measuring release-identical default reply cursor binding in inputs.rs; shared-host behavior unchanged. Caps remain 21,387,184 / 19,559,112.
Aarch64 excess isolated to ring head-publication order. Dev held the checked head across buffer growth for its shared-host budget path. Retaining release order for the ordinary ring and deferring publication only for process-per-user measures exactly 19,559,112 bytes (−128), matching the unchanged cap. Shared-host accounting code and output semantics are retained. The encoder, generic terminal-boundary and reply-expression candidates each measured 19,559,240 bytes; all three were reverted. Only ring.rs remains changed beyond unpublished merge 8742144e2. Both full shim configurations and default Clippy are being rerun before amending that single merge; final fast gate will then run on the amended head.
arm-ring-check.log
arm-encoder-check.log
arm-terminal-boundary-check.log
arm-reply-default-check.log
Single unpublished merge amended to
0a12424b3b(supersedes 8742144e2; parents remain1e59bdccd+85b0285b7). Retains all earlier resolutions plus release-order ordinary ring publication, with shared-host budget publication unchanged. Aarch64 size 19,559,112 bytes exactly. Both cargo test -p infraternal-shim and cargo test -p infraternal-shim --features process-per-user passed in full again; touched-crate default Clippy and fmt pass. Final scripts/verify fast is starting on this amended head. No branch push or deployment yet.Finished: pushed only merge-release8-dev at
0a12424b3b. Remote branch SHA verified. Exactly one new first-parent merge commit; parents dev1e59bdccd6and production release 885b0285b73. Worktree clean; no deployment; issue remains open.Resolution retains u64-keyed reply isolation with inline writer zero, the segment cap, actual-key memory accounting and writer-limit exemption. Shared host advertises QUERY_REPLIES. Dev decisions, recovery_scratch/short names, reproducibility paragraph and shared-host gate row remain; release-8 stage table and exact caps remain. Default ring keeps release publication order, while process-per-user retains its budget-aware ordering. This removes the measured 128-byte arm excess without raising either cap. All rejected size candidates were reverted. No migrations or dependencies added.
Required gates all exited 0, with no failure waiver. Verbatim Rust table, static size lines, shim test summaries and final protocol output:
Fresh x86_64 ancestor comparison: 21,387,184 − 21,385,264 = +1,920 bytes. Both shipping targets equal their exact caps. Final image hashes:
Extra host-diagnostics Clippy diagnostics exactly reproduce unchanged dev; details and baseline receipt are in the earlier comment. The required workspace Clippy row passes. Author review checked frozen capability/frame bounds, partial-write/replay ownership, geometry, writer/segment limits, memory accounting and compile-out. Both sides' test intent is retained; the missing shared-host capability regression failed before its fix.
Cleanup proof: job build target and detached comparison checkout removed; evidence remains outside the worktree and is attached below.
fast.log
shim-default.log
shim-ppu.log
gate-summary.txt
final-artifacts.txt
resolution-check.txt
push.log
cleanup.txt
Starting independent break-it review of release-8 merge on review-merge-release8, base/head
0a12424b3b. Reading all #24 history (190 comments; status-board issue has no parent), both merge-parent diffs and input/reply callers. No deployment. Findings and raw receipts: ~/.cache/codex-scratch/review-merge-release8/.Source audit covers both parents' shim diffs: reply ownership stays outside the u32 namespace; peer-visible ack paths query only u32 cursors; advance() excludes reserved identity from diagnostic credits. Shared-host reply segments retain the same 1024-segment cap and 1-MiB byte cap; one drained segment reopens typing admission even with a reply tail. Ring append uses exclusive &mut access and exposes no callback between head assignment and byte storage, so the ordinary-path order change introduces no concurrent publication window. Existing parent assertions remain (the shared-host connection helper strengthens Hello capability checking). No confirmed P0/P1 yet. Added independent model/bound/table-growth tests, real-PTY observable reply consumption + caps-zero compatibility, and ring append/overflow checks; full shim suites are building through build-slot. No product changes.
Completed and pushed only review-merge-release8:
103db4038: independent input model (20,000 steps), reply registration bound, 1024-segment/1-MiB saturation and all 513 writer-table insertion checks. Focused default 2/2; process-per-user 4/4.3c39840f9: ring append/overflow tests across capacities 0, 1, 3, 8, 31, 4097. Focused default 2/2; process-per-user 2/2.d4e69bb0f: real PTY observes reply command output with echo off, then subsequent typing and caps-zero session. Focused 1/1; full process-per-user integration suite 6/6.Each step passed fmt and touched-crate default Clippy. Full default shim: 88 passed / 13 ignored; process-per-user: 197 passed / 19 ignored (existing ignored diagnostics unchanged), integrations pass. An initial new-test compile error combined Error(u16) and Exited(i32) bindings; corrected the test match before rerunning successfully. No product finding or behavior change. Full scripts/verify fast is running on
d4e69bb0fthrough build-slot, with private short socket-fixture alias rm8 and TRACER_TEST_PORT=4288. Final verdict pending this gate.Final-gate harness correction: the private short socket root rm8 was initially a symlink to the job fixture directory. CLI compile-out ran 91 passing / 8 failing restart tests: trusted-path admission correctly returns PermissionDenied through the symlink, and the lexical parent-escape fixture no longer resolves /usr/bin/true. This was my fixture setup, not a product change. Replaced only my rm8 symlink with an actual private directory while the gate was in compilation (no test executing there). The failed receipt will be retained. Will rerun the failed row and final gate with the real short root; no assertions or checks are waived.
P1 / HOLD: fresh terminal replies can starve the oldest deferred typing request. Committed as
5eaf35fecon review-merge-release8 (test only; no production fix).session.rs:1009 QueryReply ignores reserved, although both reactors pass an older deferred ticket through consume_peer (user_host.rs:833, ordinary session.rs:797). contracts/shim.md:311 reserves capacity against fresh input from any peer. The typing branch honors this; replies do not.
Failing test: crates/infraternal-shim/tests/unit/sequenced_input.rs::merge_review_replies_cannot_consume_space_reserved_for_deferred_typing. Start at 1024 alternating segments with a reply tail and a full 1-MiB queue. An older eight-byte typing frame waits. Model sixteen six-byte partial PTY writes, each followed by a fresh valid cursor-position reply. Every reply takes the freed space, so typing still has zero capacity. This drain/refill invariant can continue indefinitely. Memory remains bounded.
Default and process-per-user both exit 101, verbatim assertion:
The test permits best-effort reply refusal/drop/deferral; it only requires honoring the old reservation. This common handler is inherited from release 8; advertising replies on the merged shared host exposes it there too. The widening and complete-drain tests pass but do not cover continued refill. fmt and touched-crate default Clippy pass. Final full suites and gate receipts are being collected; no deploy.
reserved-reply-default.log
reserved-reply-ppu.log
Static qualification complete: stripped x86_64 21,387,184 B, SHA256 efd03b7589543fdefa2f61c7b849bf9338bc3d9d6f9b715e1470122c24a0b73d; aarch64 19,559,112 B, SHA256 b8a4d321d2f5aa4fc95b7eedb6db1d5864e35cffe9e9969651a9772bd1e59374. Both byte-identical to #24's recorded
0a12424b3artifacts, same scripts/static-cargo recipe; review delta 0 B. PT_INTERP absent, both caps exact. First gate also completed TypeScript/protocol checks (39 protocol tests, 36,135 assertions).Receipt qualification: the initial compile-out function reported PASS/exit 0 despite its earlier nested cargo test failures from my symlink fixture root (scripts/verify.d/rust.sh:176-181 lacks early failure propagation). I am not using that summary as completion evidence. The raw failed receipt is retained as fast-initial-fixture-failure.log. Final required suites and full fast gate now run on
5eaf35fecwith the actual private fixture directory; they must retain the new starvation failure. Other raw failures will be checked directly, not inferred from the summary. HOLD remains the P1 admission/fairness finding already attached.Finished break-it review: HOLD — P1 terminal replies can starve deferred typing.
Head
5eaf35fece, pushed only to review-merge-release8; remote SHA verified; worktree clean. Four atomic test commits:103db4038(input model/bounds/accounting),3c39840f9(ring),d4e69bb0f(real PTY reply + caps-zero),5eaf35fec(failing fairness regression). No production fix or deployment; issue remains open.Failing test: crates/infraternal-shim/tests/unit/sequenced_input.rs::merge_review_replies_cannot_consume_space_reserved_for_deferred_typing. session.rs:1009 admits QueryReply without honoring reserved. Starting at 1024 segments and a full byte queue, sixteen modeled six-byte partial writes followed by valid cursor replies leave the older eight-byte typing frame parked. The drain/refill schedule can continue while replies keep arriving. This violates contracts/shim.md:311 / D215; best-effort D307 replies may be dropped/refused/deferred instead. The handler is inherited from release 8 and is now advertised by the merged shared host too. Memory remains bounded.
Verbatim assertion in both configurations:
Final required gates, verbatim main summaries:
Raw final output contains only the same named regression failure in workspace and process-per-user tests; final compile-out output has no failed nested tests. All other eight Rust rows pass. No check waived. The ignored tests are unchanged existing cases. The initial symlink-fixture errors and masked compile-out summary are retained separately, not used as completion evidence.
Seven additional passing tests cover the 20,000-step byte/credit model, writer bound, cap recovery, all 513 writer-table insertion points, ring append/overflow, and real-PTY reply consumption plus caps-zero compatibility. Diagnostic inputs: 13 passed / 0 failed, including reply credit isolation. Both parents' test intent retained; the locale/environment rename strengthens the original assertions. Final fast stops at the expected Rust failure before TypeScript; the initial unchanged TypeScript/protocol checks completed (39 protocol tests, 36,135 assertions).
Stripped static sizes: x86_64 21,387,184 B / aarch64 19,559,112 B; both hashes equal the recorded
0a12424b3artifacts using the same static recipe, delta 0 B. PT_INTERP absent and exact caps pass. Full hashes and raw receipts attached.Cleanup complete: own CARGO_TARGET_DIR and private short fixture root removed after every command exited; no manually launched persistent server/VM process. Findings remain at ~/.cache/codex-scratch/review-merge-release8/findings.md and are attached below.
findings.md
gate-summary.txt
shim-default.log
shim-ppu.log
fast.log
diagnostic-inputs.log
commit-gates.log
artifacts.txt
parent-test-inventory.txt
cleanup.txt
fast-initial-fixture-failure.log
pre-finding-shim-default.log
pre-finding-shim-ppu.log
reserved-reply-default.log
reserved-reply-ppu.log
Started reply-reserve on branch reply-reserve, base
85b0285b73(origin/release-prod-live, release 8). Read #24 history and review findings; #24 has no parent. First applying5eaf35fecunchanged with its author, then confirming the expected failure. Will port applicable review tests, preserve D215 typing reservation by dropping best-effort D307 replies during reservation, audit browser sending, qualify static caps and real-PTY before/after on the locked perf VM. Push only reply-reserve; no deploy.Confirmed supplied production regression: exit 101, 0 passed / 1 failed. After sixteen six-byte partial writes: queued=1048576 available=0; the oldest eight-byte typing frame still waits. First commit
061fd1b4epreserves source author; pushed. Review imports:d76e43884(103db4038input model and identity bound) anda86e0c024(3c39840f9ring checks). Production has no process-per-user feature: removing conditional-only cases from imported tests; skippingd4e69bb0fbecause its entire ppu_reliability.rs fixture is dev-only.Browser audit: terminal.ts writeQueryResponses sends marked replies directly; handleInput retains only typing in inputQueue; connection.ts send excludes replyTo frames from the unacknowledged typing watermark. No browser reservation can be consumed by replies; no browser fix required. Shared network bandwidth remains common to all socket traffic.
D307 replies will be dropped while reserved=true; no deferred reply storage, no wire or typing cursor change. Reject deferring replies because they become stale behind old typing and need additional storage/scheduling. Existing 1024-byte reply limit and 1-MiB queue bound remain.
regression-before.log
Perf-VM baseline on the shipping release-8 x86_64 artifact (21,387,184 B; source
85b0285b7, sha256 bc3e7b2fa2bde97d06b548981954a96d68f4a8524fed2b41a7c80d99348de58b). Machine infraternal-perf-test, 4 vCPU; load 0.00/0.00/0.00; shared flock and CPUWeight=10000. Child uses a real raw PTY, emits 128 cursor-position queries per slow read, reads at most 256 bytes then pauses 2 ms. All 64 ordered 512-byte typing records arrived in both phases. Batch echo p50/p99 143.52/283.01 ms without backlog; with 1-MiB backlog and three seconds of reply traffic, 12,330.64/12,475.57 ms; 725,760 queries and 477 reply-peer reconnects after bounded-queue refusal. These are backlog/batch echo values, not the interactive keystroke budget. The same harness will run against the fix.Test harness setup correction: direct cargo test needs the pinned Zig directory on PATH (scripts/verify adds it automatically). The initial mouse helper failed before its assertion because zig was not on PATH. Re-running with target/auth-tools/zig, no code change.
Production review-test step committed as
def98aa84; source importsd76e43884anda86e0c024, supplied regression061fd1b4eretains author. fmt and touched-crate Clippy PASS. All shim tests except the explicitly expected failing reservation regression pass (one filtered regression):test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 99 filtered out; finished in 0.00s
test result: ok. 86 passed; 0 failed; 13 ignored; 0 measured; 1 filtered out; finished in 40.32s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.87s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
The initial Zig PATH setup issue is resolved; no test assertion waived. Implementing the reserved reply drop next.
Fix committed and pushed as
e9864ccc9: QueryReply drops while reserved=true; no new state or allocation. Required cargo test -p infraternal-shim PASS, including the previously failing supplied regression; fmt and strict touched-crate Clippy PASS. Exact test summaries:test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 99 filtered out; finished in 0.00s
test result: ok. 87 passed; 0 failed; 13 ignored; 0 measured; 0 filtered out; finished in 43.81s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.95s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Full scripts/verify fast is running on this head through build-slot (TRACER_TEST_PORT=4294). It uses a private short fixture root rr24 because existing SSH/remote socket fixtures exceed Linux sun_path under the full job path; temporary target remains under reply-reserve/target. Static caps unchanged pending measurements.
Reference correction from author self-review: the supplied review commit calls the typing reservation D215, and I repeated that label in my notes/commit bodies. DECISIONS.md D215 actually concerns mesh routing. The normative oldest-typing reservation is contracts/shim.md, SHARED_WRITER extension (especially lines 295-315 on this branch); best-effort reply semantics are D307 and contracts/shim.md Reply input extension. No decision or contract change is proposed. Supplied author history remains intact.
The refined PTY harness adds one-record-at-a-time echo (64 × 8 B) alongside the unchanged 64 × 512 B backlog batch. This replaces the earlier batch-only echo baseline for the final before/after comparison. Same real raw PTY and slow application, 128 cursor queries per loop, at most 256 B read then 2 ms pause; reply traffic stops after three seconds so an unchanged bounded-queue refusal can recover and completeness can be checked. Baseline: one-at-a-time p50 2.2789 ms / p99 4791.9543 ms; 1-MiB backlog batch p50 12299.8008 ms / p99 12438.1431 ms, 471 reply reconnects. Both delivered all 64 records in order. These are deliberately backpressured application echo measurements, not shim-only processing overhead or a claim against an interactive latency budget. Perf VM idle load at start 0.0034/0.0063/0.0. Harness and receipts:
Receipts for the preceding baseline and passing shim gate. The attachment endpoint rejected the .py source with HTTP 422; the same exact source is attached as plain text.
pty-check-source.txt
pty-before.log
shim-after.log
Final-head fast gate milestone at
e9864ccc9: fmt, VT fmt, CLI compile-out, workspace Clippy, SSH runtime helper, entire workspace tests, SSH inode fixture and cargo-deny completed without failed nested tests or timeout waivers. Both stripped static builds are now running; caps remain unchanged. The full gate is not complete until static and TypeScript rows finish. Own GNU incremental cache removed after its compilation/test phase to release disk; no other job files touched.Final-head static x86_64 image passed the unchanged exact cap: 21,387,184 B, delta +0 B against production merge base
85b0285b7(same pinned scripts/static-cargo recipe, archived shipping baseline verified by hash). PT_INTERP absent; production trust and native key-memory checks pass. Aarch64 build continues. Matched real-PTY before/after and continuous-reply acceptance are now running on the locked perf VM.before: size=21387184 sha256=bc3e7b2fa2bde97d06b548981954a96d68f4a8524fed2b41a7c80d99348de58b
after: size=21387184 sha256=6dd594e3a16c62766e5579d450b5a0afa8685bc2640e7228e77d5a818c8de064
x86_64 delta against release-8 merge base
85b0285b7: +0 bytesRecipe for both images: scripts/static-cargo build --locked --release --package infraternal --target x86_64-unknown-linux-musl. Before is the archived shipping release-8 artifact whose SHA256 is recorded on #24; after is the fresh final-head fast-gate artifact.
Real-PTY regression reproduced on shipping production binary: under continuous replies, 0/64 typing records arrive by 25,003.43 ms; the test program then reaches its fixed 25-second lifetime and closes (expected control failure, exit 1). 1,448,960 queries / 4,025 reply reconnects. Corrected final-head image delivers all 64 full-byte-validated records (32,768 B), in order, while replies continue: p50 12,695.15 ms / p99 12,969.11 ms, 541,696 queries / 1,429 reconnects. Both controls prove owned shim/child PIDs absent after cleanup. Source/checker attached, no detached processes. Same pinned x86_64 static recipe and exact 21,387,184-B size for both images.
Matched finite three-second reply window: one-at-a-time echo p50/p99 before 2.2159/5991.6131 ms, after 2.4287/4474.2793 ms. With 1-MiB backlog, p50/p99 before 12281.5747/12420.3657 ms, after 13123.3216/13348.1424 ms. The slower finite-window batch result is recorded, not hidden: +927.78 ms p99 (+7.47%) in this application/backpressure profile. Continuous typing progress is the required correctness improvement; these application delays do not measure shim-only overhead. Running one back-to-back repeat to assess that timing variation. No profile, dependency, wire or cap change.
Perf VM infraternal-perf-test (4 vCPU), shared flock and CPUWeight=10000. Matched phase load 0/0/0; continuous-after load 0.3501/0.1152/0.0391. Final fast still building aarch64, all earlier Rust rows pass.
pty-check-source.txt
pty-continuous-before.log
pty-continuous-after.log
pty-before.log
pty-after.log
x86-size-comparison.txt
First full fast gate at
e9864ccc9exits 1 only in static builds: x86_64 21,387,184 B (exact cap), aarch64 19,559,240 B (+128 above 19,559,112). All eight earlier Rust rows PASS; no nested test failure or exception. TypeScript waits because Rust gate stops before it. No cap increase. Measuring an equivalent early-return shape for reserved QueryReply admission; behavior and bounds unchanged.The back-to-back perf repeat passes full bytes/order: one-at-a-time echo p50/p99 before 2.22699/4873.60076 ms, after 2.15531/4745.89749 ms; backlog batch before 12401.65522/12551.25245 ms, after 9160.32021/9301.05099 ms. Both the first slower after batch and this faster repeat remain recorded; no broad speed claim from the variable slow-reader profile. Continuous baseline still has 0/64 records by 25 s; corrected image has all 64.
Perf VM cleanup checks all 23 recorded shim/child PIDs absent, no owned executable remains, and removes only /root/infraternal-bench/reply-reserve. New measurements will use the final size-qualified image if code generation changes.
fast-arm-size-failure.log
pty-paired-repeat.log
perf-cleanup.log
Early-return reserved-reply candidate still measures 19,559,240 B aarch64 (+128); rejected and fully reverted. Now measuring only Inputs::reply capacity validation: after the existing 1..1024-byte reply check, compare queue.len() > MAX_FRAME - bytes.len() instead of queue.len().saturating_add(bytes.len()) > MAX_FRAME. These reject the same inputs even for an oversized queue; validated reply length makes subtraction safe. Existing empty/oversize reply refusals remain. No cap/profile/dependency change. Candidate receipt: reply-reserve/evidence/arm-reply-bound.log; baseline unsuccessful shape: arm-early-return.log. No uncommitted early-return change remains in session.rs.
The capacity-subtraction candidate also measured 19,559,240 B and was reverted. Current candidate changes only Inputs: pass the already selected mutable cursor into the existing shared byte/ownership update helper. Typing keeps its existing lookup; replies reuse their entry cursor instead of performing a second get_mut search. No new state or allocation; all validation, cursor and segment updates remain shared. fmt, strict touched-crate Clippy and complete cargo test -p infraternal-shim pass (including the 20,000-step model and reservation regression). Aarch64 size measurement is building; caps unchanged. Only this candidate remains uncommitted; both rejected candidates are fully reverted.
Resuming reply-reserve at
e9864ccc9, base85b0285b7. Read current #24 comments (no parent), worktree history and pending Inputs cursor-lookup candidate. Previous process stopped during its static build; rerunning that build through build-slot. Existing fix, passing shim tests and perf evidence retained. Remaining: exact static caps, final-head fast, final-image PTY check, push and cleanup. No deploy.Cursor-lookup candidate measured aarch64 19,559,496 B (+384 above cap); reverted. Checking best-effort full-queue reply dropping instead of connection refusal: ignore bounded reply admission failure after capability/frame validation. No additional storage or cursor mutation on refusal. D307 and brief permit dropping replies that cannot fit; rejecting disconnect/reconnect churn also matches the perf evidence. Required typing reservation remains unchanged. No cap/dependency/profile change.
Resuming reply-reserve at
515e3b1ce, base85b0285b7. Read issue #24 history (no parent), current commits and previous receipts. Reservation fix and supplied regression retained. Completing the red full-queue reply test with best-effort drop; remaining final static caps, fast gate, final-image real-PTY comparison, push and cleanup. No deploy.Completed full-queue reply expiry as
2f29aedf0, pushed. Preceding red test515e3b1cefailed with "a full queue must drop a reply without closing its peer"; now passes. fmt and strict touched-crate Clippy PASS; cargo test -p infraternal-shim summaries verbatim:test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 99 filtered out; finished in 0.00s
test result: ok. 87 passed; 0 failed; 13 ignored; 0 measured; 0 filtered out; finished in 44.00s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.91s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.42s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
No deferred reply allocation, typing cursor mutation, wire or dependency change. Static aarch64 measurement running; final full gate remains required.
Full-queue reply dropping at
2f29aedf0still measures aarch64 19,559,240 B (+128 over exact cap). No cap increase. Measuring a code-layout candidate: keep Inputs::reply out of line to avoid duplicating reply validation/ownership admission in the large frame handler. Semantics and state unchanged. Previous rejected candidates remain reverted.Receipts for completed full-queue reply expiry at
2f29aedf0: initial failing test, passing complete shim test/fmt/Clippy gate and aarch64 +128-B size result. Exact caps remain unchanged. Next code-layout measurement is queued for host-wide build slot.full-reply-before.log
drop-gates.log
arm-drop-final.log
Out-of-line candidate also measured aarch64 19,559,240 B (+128), reverted. Measuring a single reply-admission guard: move reserved check into Inputs::reply alongside its existing size/capacity checks, before any mutation. Handler still drops admission refusal. Tests pass false where constructing queue state; the production handler passes its existing oldest-typing reservation. No new state/allocation or cap change.
Moving reservation into Inputs::reply also measures 19,559,240 B (+128); rejected as measured. It would allocate invalid_input errors for reserved drops, unlike the outer branch. Next candidate returns boolean admission instead of allocated io::Error for expected expiry. Validated handler drops false; tests assert admission/refusal and unchanged state. All guard predicates remain before cursor/queue mutation; underlying accept_owned errors map to refusal. No additional storage, wire/dependency/profile/cap change.
Boolean reply admission still measures aarch64 19,559,240 B (+128), but removes allocated io::Error construction on expected reserved/full reply expiry. Retaining that useful change and running full touched-crate gates before its atomic commit. Next measured reduction: replace fixed-string writer refusal allocation in session::invalid_input with io::ErrorKind::InvalidData.into(); same error kind and opaque peer refusal, no wire change. Fixed diagnostic is not asserted by tests. No cap increase.
Allocation-free expected reply expiry committed and pushed as
c60660cb6. fmt and strict touched-crate Clippy PASS. cargo test -p infraternal-shim verbatim summaries:test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 99 filtered out; finished in 0.00s
test result: ok. 87 passed; 0 failed; 13 ignored; 0 measured; 0 filtered out; finished in 38.14s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.90s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Now measuring the proposed opaque InvalidData error-kind reduction, retaining the same refusal kind/wire behavior. Running touched-crate gates and both static builds sequentially through one build slot. Caps unchanged.
Opaque writer refusal reduction committed and pushed as
551ecc549. fmt and strict touched-crate Clippy PASS. cargo test -p infraternal-shim summaries verbatim:test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 99 filtered out; finished in 0.00s
test result: ok. 87 passed; 0 failed; 13 ignored; 0 measured; 0 filtered out; finished in 40.89s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.30s
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Both static builds running sequentially through the same host build slot; exact caps unchanged pending results. This replaces only a private fixed-string allocation with the same InvalidData error kind; peer refusal/wire unchanged.
551ecc549aarch64 static image now measures 19,558,856 B, delta -256 B against release-8 exact 19,559,112-B cap. The allocation-free opaque InvalidData reduction resolves the earlier +128-B overrun. No cap increase. x86_64 is building sequentially in the same slot; will ratchet measured reductions and run final-head fast plus final-image real-PTY comparison.Static qualification completed at source
551ecc549: x86_64 21,387,120 B (-64 B versus production merge base85b0285b7); aarch64 19,558,856 B (-256 B versus release 8). Same pinned static recipe; no cap/profile/dependency increase. Boundary tests PASS. Exact caps ratcheted in4ad6c5e65; historical and current size documentation recorded separately incd0c422a5. All commits pushed.Final-head scripts/verify fast is running on
cd0c422a5through build-slot with private short rr24 fixtures and TRACER_TEST_PORT=4294. Final-image before/after real-PTY comparison plus continuous-reply acceptance is running on the locked perf VM. No deploy.Final-image real-PTY qualification PASS at
cd0c422a5(code551ecc549), infraternal-perf-test, 4 vCPU, shared flock and CPUWeight=10000. Same child: 128 cursor queries per slow 256-byte read, 2-ms pause. All matched phases deliver 64 ordered full-byte-validated records. Final continuous-reply phase delivers all 32,768 B with 0 reconnects; earlier shipping-production continuous control delivered 0/64 before the fixed 25-second child lifetime (receipt already attached).Matched final run:
before: machine=infraternal-perf-test load=[0.734375, 0.4091796875, 0.21044921875]
echo: records=64 bytes=512 ordering=PASS p50_ms=2.13645 p99_ms=5674.90412 queries=527360 reply_reconnects=0
pressure: records=64 bytes=32768 ordering=PASS p50_ms=12281.71680 p99_ms=12423.95877 queries=729216 reply_reconnects=483
after: machine=infraternal-perf-test load=[0.525390625, 0.3818359375, 0.20458984375]
echo: records=64 bytes=512 ordering=PASS p50_ms=2.39171 p99_ms=5039.15294 queries=527232 reply_reconnects=0
pressure: records=64 bytes=32768 ordering=PASS p50_ms=9822.00899 p99_ms=9970.07694 queries=541184 reply_reconnects=0
after_continuous: machine=infraternal-perf-test load=[0.5234375, 0.39013671875, 0.21044921875]
continuous_pressure: records=64 bytes=32768 ordering=PASS p50_ms=9340.78304 p99_ms=9483.05866 queries=541184 reply_reconnects=0
Single-record echo p50 increases 0.25526 ms while p99 falls 635.75118 ms; finite backlog p99 falls 2453.88183 ms. These are backpressured application echoes, not shim-only overhead or an interactive budget claim. Earlier noisier/slower after runs remain recorded; no broad speed claim. Queue-progress correctness is independently proved by continuous replies.
All 10 recorded final-run shim/child PIDs absent; no owned executable remains. Removed only /root/infraternal-bench/reply-reserve; no detached process. Static delta -64 B x86_64 / -256 B aarch64; exact ratchet boundary tests PASS. Final full fast still running.
pty-final.log
pty-final-summary.txt
perf-final-cleanup.log
final-size-comparison.txt
perf-final-runner.txt
size-ratchet-tests.log
error-kind-gates.log
Final-head fast at
cd0c422a5exits 1 only because unchanged daemon::gone_tests::a_vanished_session_gets_a_final_close_and_the_channel_stays_up binds a 109-byte rendezvous under the chosen rr24 TMPDIR (daemon_gone_tests.rs:119), exceeding Linux 107-byte sun_path. Error verbatim: path must be shorter than SUN_LEN. All other eight Rust rows PASS, including both exact static caps. No code change/waiver. Created an isolated two-character HOME-cache fixture root with exclusive mkdir (maximum rendezvous 107 B); rerunning the named test and full fast on the same head. Old/new outputs retained. New root path recorded in reply-reserve/fixture-root.txt for cleanup.Finished reply-reserve, head
cd0c422a5c, pushed and remote SHA verified. Base85b0285b7(release 8). No deploy; issue remains open.Older deferred typing now reserves queue space against replies. Reserved/full replies expire without deferred storage, disconnect churn or allocated admission errors. Typing cursors/order and wire layouts are unchanged; accepted queue remains bounded at 1 MiB. Private writer refusals retain InvalidData while avoiding fixed-string allocation. No dependency/profile/foundational choice changed. Author checklist attached.
Review ports:
5eaf35fecfirst as061fd1b4ewith source author preserved and failure confirmed;103db4038asd76e43884;3c39840f9asa86e0c024; production adaptationsdef98aa84.d4e69bb0fis entirely the absent dev-only process-per-user fixture and was skipped. No final gate row waived. Supplied fairness and subsequent full-queue peer-retention regressions both failed before their fixes and now pass.Browser audit: apps/tracer/src/terminal.ts:1747 sends marked replies directly; handleInput retains only typing, and apps/tracer/src/connection.ts:252 excludes replies from the typing acknowledgement watermark. Later socket sends cannot overtake accepted older typing. No equivalent queue-reservation starvation found; shared socket bandwidth remains common. No browser change.
Static images: x86_64 21,387,120 B (-64 B versus production merge base, archived shipping baseline and same pinned recipe); aarch64 19,558,856 B (-256 B versus release 8). Both exact caps ratcheted down; no growth allowance. Final static image hash matches the tested perf-VM image. PT_INTERP absent, production trust/native key-memory checks PASS.
Required cargo test -p infraternal-shim output, verbatim:
Final-head scripts/verify fast output summaries, verbatim (complete unmodified transcript attached):
The prior full-gate attempt failed solely at unchanged daemon_gone_tests.rs:119 because rr24 TMPDIR produced a 109-byte Unix-socket path; the named test and full gate pass with the isolated 107-byte-max root. No code change or assertion waiver; both attempts attached.
Final real-PTY run, infraternal-perf-test (4 vCPU), shared flock and CPUWeight=10000. 128 cursor-position queries per slow 256-byte read, 2-ms pause, 64 fully validated ordered records per phase:
The final continuous-reply run delivers all 32,768 B, in order, with 0 reconnects. The shipping-production continuous control previously delivered 0/64 by the 25-second child lifetime (earlier receipt). Single-record median increases 0.25526 ms while p99 falls 635.75118 ms; finite-backlog p99 falls 2453.88183 ms. These deliberately backpressured application measurements do not claim shim-only overhead or an interactive latency budget; earlier variable/slower after results remain on this issue. Continuous typing progress is the correctness result.
Cleanup PASS: all 10 final-run shim/child PIDs absent, no owned VM image remains, VM job directory removed; own build target, copied binaries, target symlink and both private fixture roots removed. Worktree clean. Raw receipts remain outside checkout and are attached below.
fast-final-short-root.log
final-gate-summary.txt
author-review-final.txt
final-cleanup.txt
bool-gates.log
fast-final.log
short-root-regression.log
pty-final.log
pty-final-summary.txt
perf-final-cleanup.log
final-size-comparison.txt
perf-final-runner.txt
size-ratchet-tests.log
error-kind-gates.log
Release-9 qualification starting on branch release-9, base
85b0285b73(origin/release-prod-live, release 8). Scope: merge reply-reservecd0c422a5, merge layout-recover-fix90c7d4c2b, cherry-pick -xcc1b7ec69andfe047e2d3; measure each stage, qualify schema-29 repair and real desktop/phone behavior, produce artifacts. No deploy or monitor01 access; push release-9 only. Review-layout-recover-fix is excluded as requested. Evidence: ~/.cache/codex-scratch/release-9/evidence; artifacts: sibling artifacts/.Release-9 step 1 environment finding: fmt and shim all-target clippy passed. Initial shim tests stopped in tests/mouse.rs because scripts/verify-vt-native.py invokes
zigfrom PATH; FileNotFoundError. The pinned Zig 0.15.2 already exists at this job's target/auth-tools/zig. Added that directory to PATH, redirected legacy checkout-relative target receipts to the own scratch target, and rerunning without source changes or exclusions. Initial output: step1.log; legacy receipt: initial-target/review-vt3-fixes/t2-gate-public/stderr.log.Step 1 rerun is queued at the required host-wide build-slot wrapper. No source or test suppression; the environment fix adds the job's pinned Zig directory to PATH. While waiting, prepared the release-8-compatible artifact recipe and foreground perf-VM acceptance templates with unique ports 4498/4499, copied schema-29 assertions, menu/settled-canvas captures and real-PTY retained-typing/synchronized-output checks. Remaining order is unchanged: qualify/measure reply merge, qualify/measure layout merge, apply only the two #249 picks, final head gates, artifacts and locked-VM staging.
Completed/pushed reply-reserve merge
d859622361, retaining all 11 source commits throughcd0c422a5. Fmt, shim all-target clippy and shim tests pass (87 unit tests + integration/public C checks; 0 failures, existing ignored cases unchanged). x86_64 stripped static image 21,387,120 B, -64 B versus release 8; SHA256 01d5caae9bb6431810f72c6209cdded973b26435f5ab14daef56e594a3cb9ac2. Same pinned static recipe. Aarch64 measurement is running before the layout merge. Worktree clean; only release-9 pushed.Initial public C probe setup failure (missing Zig on PATH) was corrected with this job's pinned Zig 0.15.2; no source change or test exclusion. Initial receipts:
step1.log
stderr.log
Reply-reserve merge
d85962236is qualified on both shipping architectures: x86_64 21,387,120 B (-64 B versus release 8), aarch64 19,558,856 B (-256 B). SHA256s: 01d5caae9bb6431810f72c6209cdded973b26435f5ab14daef56e594a3cb9ac2 / 1f5d21fa7e54a3721a0d90d20195575666362de568ca18126c102e750ed61f17. Full shim command exits 0 after the documented Zig PATH correction.Started layout-recover-fix merge through
90c7d4c2b. Only conflicts are docs/PROCESS.md's ceiling table and scripts/verify.d/rust.sh's two exact caps. Both behavioral histories merge cleanly; retaining historical notes and measuring the combined binaries before final cap resolution/merge commit. No dev or review branch merged.step1-rerun.log
Release-9 layout merge qualification is waiting at the required host build-slot wrapper (queued since 19:20 Europe/Berlin). The only conflicts remain static ceiling metadata; both source histories are staged, with combined-image measurement pending before commit. Reply merge
d85962236is pushed and qualified at 21,387,120 / 19,558,856 bytes. Read-only #249 patch application check succeeds. No additional source, dependency or review branch is included.Completed/pushed layout-recover-fix merge
4e9f67863f, source90c7d4c2b(46 commits). Both production-based behavioral histories retained; review-layout-recover-fix excluded. Fmt, all-target server/canvas clippy, canvas reducer/SQLite/socket/recovery/receipt tests and the tracer check/canvas suite passed. Only merge conflicts were exact static ceilings; resolved to measured combined images: x86_64 21,386,224 B, aarch64 19,557,992 B. Boundary tests pass; no native growth allowance. Cargo.lock and shipped migrations 0001–0029 unchanged; only 0030 added. Raw receipts: release-9/evidence/step2.log, step2-size.json and layout-cap-boundaries.log. Final full-head gate and copied-schema-29 VM acceptance remain pending.Completed/pushed #249 source
cc1b7ec69with -x provenance aseba39d4304. Tracer strict check and full canvas suite pass. The standalone matchMedia test fix follows in the next pick. No dev-only dependency or native source change. Raw receipt: release-9/evidence/pick-cc1b7ec69-check.log.Completed/pushed #249 source
fe047e2d3with -x provenance as06e668336a. Tracer strict check and full canvas suite pass. Standalone session-hooks.test.ts also passes (3 tests). No dev-only dependency or native source change. Raw receipt: release-9/evidence/pick-fe047e2d3-check.log.Release-9 integration head
bec4eb7dd2is pushed. Reply and layout merges plus both requested -x picks are complete; exact native sizes documented, no dev/review merge. Building release-8-layout artifacts, then running full final-head fast and reproducibility gates.Release-9 integration and VM staging milestone: pushed head
bec4eb7dd2. Exact requested parentscd0c422a5/90c7d4c2b(11 / 46 source commits), plus -x pickscc1b7ec69->eba39d430andfe047e2d3->06e668336. No dev or delta-review merge. Cargo.lock and all 29 shipped migration files are byte-preserved; only 0030 is added.Final reductions: 960 / 1,120 B; both exact caps and their boundary tests pass. The two #249 picks leave native files byte-identical; standalone session-hooks unit test 3/3, full canvas suite 263/263. Native layout reducer, 33 targeted SQLite integration tests and 15 migration checks pass.
Locked perf VM (4 vCPU, kernel 6.12.111+deb13-amd64, CPUWeight=10000, ports 4498/4499): 11/11 requested real-server specs, then 6/6 copied-database/real-PTY staging cases, retries=0. Both scopes inactive. The static server hash is 3297617c2dd02e64fe6023eb7bd24c6d5541bee672392d05bbe1c0364115c054; it will be compared to the completed bundle server.
Schema-29 COPY before startup: Console44; Recovered: Console3 with 2 duplicate targets / 1 unique; Mesh and empty Recovered: Mesh; revision2, operations0, integrity/checksums preserved. SQLx startup reaches schema30 and repairs to Console45 / Mesh / Settings, no recovered rows, no Settings count. Both settled canvases have 8 foreign entries and 0 intersections with Console. Desktop split/close/open/move revisions:4/5/7/8; phone:10/11/13/14. Final revision15, operations12, receipts15 = counter15.
Retained typing: real resume refusal followed by Discard and Send again both pass; fresh typing remains accepted, old text discarded or sent once. Real mode-2026 input sent in1.20 ms while held, painted1 frame after release (VM measurement; not a general performance claim). Two viewers: 64 records / 512 B arrive exactly once and in order while12104 queries cause24144 renderer reply attempts. Separate desktop and phone query checks each produce one PTY reply. VM load: real-suite0.26/0.09/0.08 ->2.00/1.23/0.55; staging1.69/1.18/0.54 ->5.72/2.65/1.12.
Artifact node/session builds and final-head scripts/verify fast + static reproducibility remain in progress. No deploy or monitor01 access. Screenshots are functional receipts for owner review; no author visual-quality verdict.
source-qualification.json




final-sizes.json
real-reviewed-driver.log
staging-driver.log
schema29-copy.json
after-operations.json
release9-desktop-geometry.json
release9-phone-geometry.json
release9-query-burst-typing.json
Release-9 staging fixture sources, attached as text because the attachment endpoint rejected .ts with HTTP422; contents unchanged. Both suites passed on head
bec4eb7dd.staging-recovery-source.txt
staging-terminal-source.txt
Release-9 cleanup finding and resolution on head
bec4eb7dd: inactive test scopes were not sufficient proof. A process audit found178 surviving job-image processes and178 verified children after fixture teardown. Recorded executable/cwd ownership, parent ancestry and start ticks, then sent signals only to those individual PIDs; no pattern kills. All356 original PID identities are now absent, no job-owned process remains, ports4498/4499 are closed, and private run/data directories are empty. No product source change; fixture teardown needs a final ownership audit.All requested real-server/staging browser cases17/17 and supplemental browser regressions35/35 passed, retries0. The supplemental prebuilt test-double suite used INFRATERNAL_TEST_RTT=0; all timing assertions ran only on the locked4-vCPU perf VM. Full local fast/reproducibility gates remain in progress.
browser-regression-driver.log
vm-runtime-cleanup.json
vm-pid-cleanup.json
vm-cleanup-proof.json
Release-9 final-head scripts/verify fast passed on
bec4eb7dd2, exit0, no waiver. All Rust rows PASS, tracer/compiler/unit/transfer gates PASS and protocol differential suite39/39. Gated native images match packaged/VM-tested hashes. Cross-root static reproducibility is now running on the same head; final cleanup and finish comments follow that result. Raw full output and verbatim summary:final-verify-fast.log
final-fast-summary.txt
Finished Release 9, pushed
release-9headbec4eb7dd29b0391567662289b144a8accd42da6, based on release 885b0285b733bac4c94d7540c58d4521d1a3410c4. Worktree clean; no deployment or monitor01 access. Issues remain open.Applied exactly the requested production-only histories (62 commits including preserved source histories and integration commits):
cd0c422a5, 11 commitsd8596223690c7d4c2b, 46 commits4e9f67863cc1b7ec69, cherry-picked -xeba39d430fe047e2d3, cherry-picked -x06e668336bec4eb7ddNo dev merge or delta-review branch; no dev-only dependency. Original authors and provenance retained. Cargo.lock and all 29 shipped migration SQL files are byte-preserved; only 0030 is added.
Final deltas: -960 / -1,120 bytes versus release 8. Link-time reductions are not fully additive. Both exact caps match the measured files with no allowance; boundary checks reject +1 byte and require a downward ratchet. The TypeScript picks leave both native files byte-identical. Final gate/reproducibility images match the packaged and VM-tested server bytes.
Artifacts:
/home/kayg/.cache/codex-scratch/release-9/artifacts, in release-8 layout: both full static images, bundle with both host/session architectures, production web, web-dist.tar, MANIFEST.txt and full SHA256SUMS. Seven executable images pass production trust and static-link checks. The bundle already carries the ARM host image; a later authorized deploy uses --bin, --bundle and --web only. No deployment performed.Artifact SHA256s:
Staging used the locked 4-vCPU perf VM, kernel 6.12.111+deb13-amd64, CPUWeight=10000, unique ports 4498/4499, short foreground scopes with lock released between suites. Builds were copied from the build host. Supplemental test-double checks used zero configured relay delay; real-server variants exercise retained typing and synchronized output against actual PTYs.
The copied schema-29 fixture starts with 44 Console windows; Recovered: Console has 3 windows (2 duplicate targets, 1 new); Recovered: Mesh is empty; revision 2, operations 0. Backup integrity and all historical checksums are preserved. SQLx startup reaches schema 30 and repairs to Console 45 / Mesh / Settings, with no recovered rows or Settings count. Both settled canvases have 8 foreign entries and 0 intersections with Console. Desktop split/close/open/move revisions are 4/5/7/8; phone revisions 10/11/13/14. Final revision 15, operations 12, receipts 15 = receipt_count 15. Devices converge with no refused operation or page error.
Retained typing survives real resume refusal with Discard and Send again; fresh typing stays accepted, old text is discarded or sent once. Real mode-2026 input sends in 1.20 ms while held and paints 1 frame after release (this VM observation is not a general latency claim). Both desktop and phone query checks forward one PTY reply. During a burst of 12,104 queries and 24,144 renderer reply attempts, 64 typing records / 512 bytes arrive exactly once and in order. The separate 3-viewer corpus forwards one PTY reply for all 30 supported forms. VM load: real suite 0.26/0.09/0.08 -> 2.00/1.23/0.55; staging 1.69/1.18/0.54 -> 5.72/2.65/1.12; supplemental suite 0.21/0.32/0.54 -> 1.95/0.85/0.70.
Cleanup audit caught a fixture issue: inactive scopes alone left 178 job-image processes and 178 verified children. Executable/cwd ownership, parent lineage and start ticks were recorded; only those individual PIDs were signalled. All 356 original identities are absent, no job process remains, both ports are closed, private fixture directories are empty, and the VM job directory and local temporary targets are removed. Initial and final cleanup receipts are retained; no product change or test waiver. No broad process kills or owner-fixture changes.
Author checklist completed: requested lineage, bounded recovery/fallback, preserved membership IDs, receipt transactions/retries, unchanged migrations/dependencies, input ownership/order, UI reuse/display-only geometry, trust/size/reproducibility and cleanup. The excluded Settings-anchor P2 remains separate exactly as briefed. Screenshots are attached for owner review without an author visual-quality verdict. Evidence stays outside the repository; no result file or raw receipt was committed.
final-verify-fast.log
final-static-reproducibility.log
final-fast-summary.txt
artifact-MANIFEST.txt
artifact-SHA256SUMS.txt
artifact-sha256s.txt
source-qualification.json
applied-commits.txt
qualification-commands.txt
qualification-env.txt
author-review.txt
final-image-match.json
vm-cleanup-proof.json
vm-final-cleanup.json
final-cleanup.json
source-qualification.json




final-sizes.json
real-reviewed-driver.log
staging-driver.log
schema29-copy.json
after-operations.json
release9-desktop-geometry.json
release9-phone-geometry.json
release9-query-burst-typing.json
staging-recovery-source.txt
staging-terminal-source.txt
scripts/verify fast output, verbatim:
python3 scripts/test-static-reproducibility.py output, verbatim:
Release 9 deployed to production:
bec4eb7dd2(nowrelease-prod-live)./healthz200.The restart locks the CA; the owner must unlock it. Not included: #231 (review round open), #250 (reconnect fix in progress), the #243 P2 settle-while-on-Settings fix (in progress).
Starting merge-release9-dev at dev base
fe047e2d3b. Read #24 release-8 merge/review and reply-reserve history; #24 has no parent. Merging origin/release-prod-livebec4eb7dd2(release 9), retaining dev features and oldest-typing reservation. Only merge-release9-dev will be pushed; no deploy. Gates include both shim configurations, supplied review regression, SQLx migration compatibility, exact static sizes and real-server layout/query/retained-input browser coverage.Conflict resolutions (#24):
0a12424b3u64 Cursors/segments, inline writer zero, actual-type allocation accounting, writer exemption and pre-acceptance segment cap. Adapt release-9 boolean reply admission to that Cursors API, keeping reservation/size/capacity checks before mutation and internal reply credit isolation. Both sides tests retained.Related semantic merge: user_host.rs advertises QUERY_REPLIES on its shared-host Hello as
0a12424b3did; common session.rs passes reserved into release-9 expiry.Migration inventory: dev ends at 0029; production adds only 0030_canvas_receipt_count.sql. 0001–0029 byte-identical across parents, no collision or renumbering. Extending real SQLx compatibility test to seed both schema 29 and production schema 30, verify preserved checksums/ownership and receipt_count=2. Supplied
5eaf35fecpatch is already present through production cherry-pick061fd1b4e(reverse apply check passes).Regression lineage clarification:
5eaf35fecis present through production cherry-pick061fd1b4e, then extended with full-queue expiry coverage (515e3b1ce) and adapted to boolean reply admission (c60660cb6). The merge retains that production test file unchanged. My earlier reverse-apply statement was incorrect: the original patch cannot reverse-apply after those intentional test extensions. The original 16-partial-write starvation schedule and assertion are retained. Source audit confirms all 29 shared migration files are byte-identical across parents.Starting RUSTSEC-2026-0382 / CVE-2026-111943 patch. Production branch
webpki-patch-prodis based onorigin/release-prod-liveatbec4eb7dd29b0391567662289b144a8accd42da6. Dev branch will be based on the fetchedorigin/devatfe047e2d3b55dfb752131bc188a902aa6b776387. Read the full #24 history; it has no parent. Release 9 is qualified and deployed; the separate merge-release9-dev work was last recorded as in progress. No deploy is in scope.Finding on production base
bec4eb7dd:Cargo.lockresolves rustls-webpki 0.103.15 through rustls 0.23.46. The inverted tree reaches it throughinfraternal-plugin-remoteand Quinn/quinn-proto; the server, infraternal agent and main binary include that path.crates/plugins/remote/src/remote_quic.rs:50-60builds an emptyRootCertStoreand adds only caller-supplied certificates; the production server supplies its retained internal CA issuers (crates/infraternal-server/src/remote_runtime.rs:677-681), and the enrolled infraternal agent usesidentity.roots(crates/infraternal-agent/src/remote_server_path.rs:129-137). No public trust roots are configured in the Rustls path. The other server HTTPS path uses OpenSSL. The affected public-trust-anchor case is therefore not present in current Rustls use, but the lockfile update is still required because cargo-deny rejects this version.Initial iterate: fmt, native VT fmt, CLI compile-out, workspace Clippy and SSH runtime-helper rows pass. Workspace test execution stopped at crates/plugins/ssh/tests/config_isolation.rs:68, configured_identity_paths_are_not_inherited_by_the_command_child: Failure { kind: Install, message: "The SSH helper could not start." }; 1 passed / 1 failed in that fixture. No waiver or cause claimed. The fixture is unchanged from dev; merged common/mod.rs only adds the separate recovery_scratch socket-root fallback. Raw receipt: ~/.cache/codex-scratch/merge-release9-dev/evidence/iterate.log. Running the remaining shared-host row, then focused SSH rerun with private short fixture state; final fast must pass every row.
Iterate completed: shared-host lib PASS (including merge_review_replies_cannot_consume_space_reserved_for_deferred_typing). A second failure is cargo-deny: RUSTSEC-2026-0382 flags rustls-webpki 0.103.15, inherited unchanged in both parents (Cargo.lock has no parent diff). The gate reports fixed version >=0.103.16. Integration choice: update only the existing transitive rustls-webpki package to 0.103.16, retaining the decided TLS engine and features; reject ignoring the advisory or changing engines. This is needed for the mandatory green final gate. Requalify tests and both static sizes after the patch; no advisory waiver. The unrelated SSH helper-start fixture will also be rerun. Full initial receipt remains iterate.log.
Focused migration validation PASS: 4 tests / 0 failures, including dev_v29_and_production_v30_upgrade_without_retagging_or_losing_ownership. Real SQLite databases seeded at versions 29 and 30 retain owner/username and receipt_count=2 after the SQLx migrator; original checksums unchanged. Shared migration inventory: all 29 shared SQL files byte-identical across dev and production. SSH config fixture rerun PASS: 2 tests / 0 failures with short private TMPDIR and state root. Only Cargo.lock rustls-webpki version/checksum changed for RUSTSEC-2026-0382; existing features retained. No commit yet: final qualification remains in progress.
migrations.log
source-compatibility.txt
config-isolation-rerun.log
Production size finding at candidate lock
rustls-webpki 0.103.16, compared with release-9 basebec4eb7dd29b0391567662289b144a8accd42da6using the same pinned static recipe: x86_64 21,387,248 B (+1,024; SHA256fdcf7af6437e6c25cd75fb1e92951585fd3721ba6011ce2b63b3fe94d58fd7fb); AArch64 19,559,400 B (+1,408; SHA256c89878988dfa1a53f96174cbf3e947a8e7bfb5b4dbffdde05e98800ca7aaefe4). Both are stripped static images. I will ratchet the production caps and current size table to these exact bytes under D243. Receipt: static-size-comparison.txt.Merge-focused behavior PASS: complete default shim suite 89 passed / 13 pre-existing ignored; supplied starvation regression passes. Initial iterate process-per-user lib also PASS, including the same regression. Real shared-host PTY integration 6/6 PASS (reply capability, actual PTY reply consumption, subsequent typing, caps-zero compatibility and lifecycle cases). Focused input diagnostics 11/11 PASS, including 20,000-step ownership model, reply namespace/segment bounds and credit isolation.
An additional optional process-per-user all-target Clippy run exits 101; the exact dev base
fe047e2d3reproduces the identical diagnostic messages (unused with_host_budget, by-value parameter, doc markup, three narrowing casts in existing user_host code). No new diagnostic in merged inputs or tests. This extra run is separate from the required workspace Clippy row, which passes. Both raw failures retained below; no suppression added. Fresh same-recipe static base/merge comparison is running.ppu-real-pty.log
input-diagnostics.log
shim-default.log
ppu-clippy.log
ppu-clippy-baseline.log
ppu-clippy-comparison.txt
Fresh dev-base x86_64 static build completed for
fe047e2d3b: 21,385,264 bytes (matches its exact cap), SHA256 18994725d11024e64488a0b9b040e3f0a7bb221192df1010ddd9749b802b3c14. Recipe: scripts/static-cargo build --locked --release --package infraternal --target x86_64-unknown-linux-musl, same job target/toolchain as the upcoming merge images; machine infraternal-dev. Receipt: ~/.cache/codex-scratch/merge-release9-dev/evidence/baseline-x86_64-unknown-linux-musl.log. Fresh aarch64 base build is running, then both merged targets and real-server browser cases. No commit or push yet.Fresh dev-base aarch64 static build completed for
fe047e2d3b: 19,570,256 bytes (matches its exact cap), SHA256 7f9553e4e3522146123c81640e45024acff50ca8dbe2ab85b69700d7a1a6c9c6. Same scripts/static-cargo --locked --release recipe, target aarch64-unknown-linux-musl. Both dev baseline sizes now freshly confirmed; patched merge builds are running, then browser qualification and final-head fast.Patched merged-source x86_64 static image completed: 21,387,248 bytes, SHA256 7bc48e29507197b40a4d8bdaf34925dccb6d1507746c327e914e105930e01db6. Same pinned scripts/static-cargo recipe as fresh dev
fe047e2d3(21,385,264 bytes): delta +1,984 bytes, below the 16-KB justification threshold. Includes the minimal rustls-webpki 0.103.16 security update required by the current advisory gate. No engine, feature or profile change. Exact ceiling will be 21,387,248 with no allowance; merged aarch64 build is running before updating both caps/table together. Receipt: ~/.cache/codex-scratch/merge-release9-dev/evidence/merged-x86_64-unknown-linux-musl.log. No commit/push/deploy yet.Starting read-only stability triage on branch
stability-triage, based at release 9bec4eb7dd29b0391567662289b144a8accd42da6. I found no earlier stability-triage run on #24; #24 has no parent. I’m checking issues #245, #244, #240, #236, #235, #234, #229, #227, #225, #199, #195, #194, #185, #241, #248, and #249 against release code and commit/test history.Production branch
webpki-patch-prodis at411485164.scripts/verify fastcompleted; full transcript: verify-fast.log.Rust gate output:
Static images: x86_64 21,387,248 B (cap 21,387,248; +1,024 B vs
bec4eb7dd), AArch64 19,559,400 B (cap 19,559,400; +1,408 B). The final TypeScript protocol batch reports39 pass,0 fail,36,135 expect() calls. Production static reproducibility is running next; release artifacts follow.Both fresh same-recipe static comparisons complete on infraternal-dev; exact caps and docs table updated in the pending merge.
fe047e2d3beforeNo growth allowance. X86 delta is below 16 KB; no D243 exception needed. Same pinned scripts/static-cargo --locked --release --package infraternal recipe, one job target. Artifact SHA256s are in the comparison receipt. Cargo.lock changes only existing rustls-webpki 0.103.15 -> 0.103.16, with unchanged dependency/features graph, to satisfy RUSTSEC-2026-0382. No engine or profile choice.
Real-server browser suite has passed its first 3 layering/reconciliation cases; remaining recovery, D307 and retained typing cases running. Final-head fast is still required. No commit/push/deploy yet.
static-comparison.txt
baseline-x86_64-unknown-linux-musl.log
baseline-aarch64-unknown-linux-musl.log
merged-x86_64-unknown-linux-musl.log
merged-aarch64-unknown-linux-musl.log
webpki-features.txt
iterate.log
Single merge commit created:
7d5bc09152on merge-release9-dev. Parents: devfe047e2d3band deployed release 9bec4eb7dd2. Exactly 1 new first-parent commit; worktree clean. Not pushed yet; no deployment.Real production-build browser suite PASS: 14/14. Includes #243 recovery/layering, D307 query replies and retained typing across actual server restarts/stalled daemon or shim. Recovery fixture: schema 30, persisted revision 15, 12 operations, 15 receipts and receipt_count=15; desktop and phone each perform split, close, open and move. Production-build screenshots and operation receipt attached for review; no visual-quality verdict claimed.
Final scripts/verify fast is running on this exact head through build-slot with private actual short TMPDIR/state/socket root ~/.cache/mr9 and TRACER_TEST_PORT=4299. Exact caps are 21,387,248 / 19,559,400 B.
browser.log





after-operations.json
Production reproducibility check passed on
41148516403cd3a1f2317613ba051ef8d96c4066. The script verified compiler path remaps and byte-for-byte equality in a detached checkout:Receipts: full run, comparison report. Building release artifacts in release-9 layout next.
Production artifact packaging is waiting for the shared build slot;
scripts/package-releasehas not started and the output directory is still absent. I will continue when a slot frees.State update: final-head scripts/verify fast has remained queued in the required build-slot wrapper since about 22:56 CEST (now about 23:27 CEST), with all 3 normal slots occupied by other jobs. It has not started; no check is waived. Implementation, fresh static comparison and 14/14 real-server browser qualification are complete at clean head
7d5bc09152. Remaining dependency is shared build capacity; the queued command will proceed automatically when a slot frees. Only after final fast will merge-release9-dev be pushed and the temporary build/baseline folders removed. No deploy.Production artifacts are assembled under
/home/kayg/.cache/codex-scratch/webpki-patch-prod/artifactsfrom tested head41148516403cd3a1f2317613ba051ef8d96c4066; no deploy was run.scripts/package-releasecompleted:Checksum verification on infraternal-dev:
Artifact SHA256s:
infraternal-x86_64-musl(21,387,248 B):fdcf7af6437e6c25cd75fb1e92951585fd3721ba6011ce2b63b3fe94d58fd7fbinfraternal-aarch64-musl(19,559,400 B):c89878988dfa1a53f96174cbf3e947a8e7bfb5b4dbffdde05e98800ca7aaefe4web-dist.tar:8c00ede8a32a6a48cc21380439dc5a28e8475899358ce73a6b454b124180d0d3bundle/SHA256SUMS:b7b7a50e385ffa443ed28ddc46e18dfe91fed038cca1289bf82652c07f8774e6bundle/infraternal:fdcf7af6437e6c25cd75fb1e92951585fd3721ba6011ce2b63b3fe94d58fd7fbbundle/infraternal-x86_64-musl:f4a3860945606d2e6a117dfab00268adfa521bd57efa635a88dfa7f1d5c2d3bcbundle/infraternal-aarch64-musl:5e55c59b80997723f00432d39ab860593a32673f92a853eb70bf3b0a9790912ebundle/infraternal-x86_64-session-musl:d82f84a05f1f954c024be0ddf075f9a8de384a99722db52c8443a56d0fbf36f0bundle/infraternal-aarch64-session-musl:d506f6a7c333c5be3c89cfecc18b91d42e325779c739ffd101e3b39a1dff58dcReceipts: artifact manifest, checksum verification, package build log. Switching to
origin/devfor the second patch now.Started dev patch on branch
webpki-patch-dev, based onorigin/devatfe047e2d3b55dfb752131bc188a902aa6b776387. Production branchwebpki-patch-prodis pushed and its artifacts are complete. I am applying the same lockfile update and will measure against the dev size caps.Dev audit before update found
rustls-webpki 0.103.15only throughrustls 0.23.46; the reverse tree reachesinfraternal-plugin-remote,infraternal-agent,infraternal-server, andinfraternal, with Quinn used by the agent, remote plugin, and server.crates/plugins/remote/src/remote_quic.rs:50-61creates an emptyRootCertStoreand adds only supplied certificates; the server passes retained CA issuers, andcrates/infraternal-agent/src/remote_server_path.rs:129uses enrolledidentity.roots. No public-anchor root APIs or crates were found in the workspace search. The base exact size ceilings indocs/PROCESS.mdare x86_64 21,385,264 B and AArch64 19,570,256 B.Final-head fast acquired a normal build slot at about 23:37 CEST after the recorded capacity wait. Running on unchanged clean merge head
7d5bc09152. fmt, VT native fmt and the complete CLI plugin compile-out checks PASS; workspace Clippy is running against rustls-webpki 0.103.16. Raw output is accumulating at ~/.cache/codex-scratch/merge-release9-dev/evidence/fast.log; final verbatim receipt still pending. No push/deploy yet.Dev static size measurement is still waiting in the shared build-slot queue;
scripts/auth-toolchainand both static builds have not started. The checked base caps and lockfile update are recorded, and I will continue when a slot frees.Triage complete for release 9 (
bec4eb7dd29b0391567662289b144a8accd42da6). Branch head:3d53b61e6358fa362aa3d120424d999086596f78, pushed tostability-triage. The three remaining production effects are ranked by expected user encounter frequency; impact describes the unresolved effect. Fixed rows have no remaining fix or impact.87676178afixes retirement. Release 9 still maps a missing account after channel open toInstall(openssh.rs:449–482); the newmissing_account_after_channel_open_is_a_sign_in_failuretest fails (Install, expectedAuth): test. Later re-add/account-default changesb84f2205fand93d71ae5dare absent from release 9.492e1505afixes retry ownership;remote_supervisor_review_tests.rs::six_hour_server_outage_keeps_one_retry_owner_with_bounded_attemptsproves the updated binary recovers. The latest field report still has a 20,333,104-byte old binary stuck after an outage with no TCP packets for 15 minutes.6c3c5f02ffixes retrying reads under DB stalls;transient_authority_stall.rspasses. The later0faea9c3dreview testreview_authority_cap.rsshows timed-out SQLite work may outlive the permit and retain pooled connections; release 9 still holds the permit inside the timeout future (websocket.rs:2360–2407).857823ce4;connection-idle.test.ts::a stale confirmation from before reconnect cannot close the replacement route; 65-session soak recorded in the issue.fc31822cc;real/mobile-lease.spec.ts::hidden mobile page keeps its terminal and a refused resume attaches afresh once.93753c36b;remote_migration_tests.rs::hostname_migration_allocates_around_retained_namesand Mesh rename/presence recovery tests.48a8a7f10/5317c3b20;remote_control_queue_tests.rs::scheduled_probe_preserves_primary_at_full_native_control_capacity.cb25dae3b;real/mesh-unreachable.spec.tscovers storage-read recovery and reconnect paths; deployed in3b2183eaa.c47a438be;real/machine-pill-flicker.spec.ts::machine pill state stays tied to the session connection during PTY redraws.fa904fdaa/036bc2bb0;real/restart.spec.tscovers overnight typing recovery after systemd restart with CA locked and unlocked.c8c2fb5b1;mesh_ssh.rs::network_identity_connect_check_and_changed_key_refusaland auth-order tests.85368c7fd;hosts-from-server.spec.ts::admitted hosts from another browser remain discoverable without saved windows.4d1b1950b;ended-strip.spec.ts::a restored ended window starts a new shell on click, and its strip stays under the pointer.cef7224ee;renderer-fresh-terminal.spec.tscovers opened-after-close and reset paths.c8aa36727;real/stale-screen-d309-review.spec.tsverifies replay note/clear behavior.eba39d430/06e668336;windows/session-hooks.test.ts::a failed idle warm-up shows no toast and retries when the browser is back online.#235regression is intentionally red on release 9.scripts/verify fastexited 1; its full log is attached. The gate's existing latency-fixture timeout passed on an isolated rerun (1 passed);cargo-denyreportsRUSTSEC-2026-0382for the unchangedrustls-webpki 0.103.15lock entry. The warmed second full-gate attempt remained queued at the shared build-slot wrapper for over seven minutes and was canceled; the completed full run below is the final gate output:Static x86_64 binary size: 21,386,224 bytes, delta +0; x86_64 and aarch64 exact-cap checks passed. Full gate log: verify-fast.log. Isolated latency-fixture rerun: agent-session-rerun.log.
The first dev x86_64 static size build stopped in
openssl-sys: sccache could not create a temp directory under/home/kayg/.cache/mr9(No such file or directory), and Cargo returned 101. No size was produced. The build log is attached: static-size-build.log. I am checking the sccache temp path and will retry through the build slot.Finished: pushed only merge-release9-dev at
7d5bc09152; remote SHA verified. Exactly one new first-parent merge, with parents devfe047e2d3band deployed release 9bec4eb7dd2. Worktree clean. No deploy; issue remains open.Required final
scripts/verify fastexited 0 on this exact head. Every Rust row passes; frontend/TypeScript/protocol checks complete. Raw output has no failed nested checks. No waiver used. Full verbatim stdout/stderr is attached as fast.log; verbatim summary and static lines:Same-recipe fresh static comparison:
Both final-head images match the hashes of the browser-qualified source images. Both exact ceilings equal measured bytes, with no allowance. The only dependency change is rustls-webpki 0.103.15 -> 0.103.16 to clear the inherited RUSTSEC-2026-0382 advisory; same TLS engine/features, no profile choice.
Other required evidence: supplied
5eaf35fecstarvation regression passes in both shim configurations (retained through production's adapted cherry-pick); SQLx compatibility 4/4, including seeded dev schema 29 and production schema 30 with unchanged checksums/ownership and receipt_count=2; shared-host real-PTY integration 6/6; focused input diagnostics 11/11. Real production-build browser specs 14/14: #243 recovery/layering, D307 replies, retained typing across server restarts and stalled daemon/shim. Recovery fixture persists schema 30, revision 15, 12 operations, 15 receipts and counter 15; desktop and phone both edit successfully. Screenshots and operation receipts are attached in the preceding comments.Author checklist completed for input bounds/ownership/geometry, capabilities and frozen framing, host accounting, immutable migration history, dependency features, static caps and artifact hygiene. Extra optional process-per-user all-target Clippy still reproduces the same pre-existing diagnostics on exact dev; both receipts and comparison are attached earlier. Required workspace Clippy passes; no suppression introduced.
Cleanup: own target, artifact copies, detached baseline checkout and private short fixture root removed. All harnesses exited; no job executable remains running. Evidence stays outside the checkout and on this issue.
fast.log
gate-summary.txt
final-facts.txt
push.log
cleanup.txt
process-cleanup.txt
author-review.txt
Retrying the static build reproduced the same sccache temp-directory failure in 0.6 s, this time at
/home/kayg/.cache/mr9/sccache9H8UEx; that parent directory is absent. Receipt: static-size-retry.log. I will retainscripts/static-cargoand its static/link/remap flags, but unset only Cargo's Rust sccache wrapper for the dev measurement and gate. The shared sccache runtime remains untouched.Started independent break-it review on review-merge-release9-dev; base/head
7d5bc09152, parentsfe047e2d3andbec4eb7dd. Reviewing conflict resolutions plus Inputs/Ring/Frame callers, default and process-per-user regressions, schema compatibility, dependency patch and exact static caps. No implementation edits or deploy. Issue #24 is the top-level status board (no parent listed).Source review at
7d5bc09152: no correctness finding so far. Cargo.lock against each parent removes only rustls-webpki 0.103.15 and adds 0.103.16; all other parsed package records are identical. All 29 shared migration files are byte-identical across both parents and the merge; 0030 is byte-identical to release 9. Inputs/Frame/Ring caller inventories saved for both parents. Additional tests cover first-reply promotion preserving legacy partial credit/staged geometry, first-reply refusal at byte capacity/reservation, and shared-pool refusal preserving exact output offsets through frame encoding and releasing charges on drop. Full default/PPU suites and touched-crate Clippy are queued through build-slot. Shared sccache reports a removed temporary root in prior #24 receipts; this review disables only its per-command wrapper, without changing the shared server. No production code edits or deploy.Review validation remains queued in the mandatory host build-slot wrapper; no compiler/test command has started. All three normal slots are occupied (static comparison, server unit test, full fast gate). No test failure or waiver is claimed. Source/caller and parent-test inventory review is complete with no product finding so far; three additional tests await execution. Needed: shared build capacity, no owner action. Branch/base remains
7d5bc09152; no implementation edit, commit or deploy.Dev static size step complete before the gate. Detached from no code: this is the post-update measurement using
scripts/static-cargowith the existing static/link/remap flags.RUSTC_WRAPPERwas unset because the shared sccache daemon repeatedly targeted a missing/home/kayg/.cache/mr9directory; compiler, linker, and emitted static recipe were unchanged. Receipt: static-size-no-sccache.log.Updated
scripts/verify.d/rust.shcaps anddocs/PROCESS.mdwith exact measured bytes. SHA-256: x86_649e96d32250a6dc04093e9952b4aa6530ebcc14910a22220281ac5ba13cc1c549; AArch6444cd4aed57bfbfbb933dafada34db1a2e4a32caa6fb6efed6a76188d2dc3d983.Initial validation: added input checks pass in both builds; added pool/framing check passes with process-per-user. Feature lib suite: 199 passed, 0 failed, 19 unchanged ignored. Default lib: 90 passed, 1 failed, 13 unchanged ignored; failure is pty.rs:741 locale assertion with inherited owner ZDOTDIR. That exact test passes 1/1 with an empty job-owned profile. Feature integration then stopped in mouse.rs:24; its saved stderr is FileNotFoundError: zig, because direct cargo test did not export the pinned toolchain directory that scripts/verify normally exports. Touched-crate all-target Clippy passes. Re-running both full suites through build-slot with isolated ZDOTDIR and target/auth-tools/zig on PATH. No assertion or source change; no waiver or product finding claimed.
Completed/pushed input review step
097cc0a8fon review-merge-release9-dev: two tests cover first-reply promotion preserving legacy partial credit/staged geometry/replay trimming, and first-reply refusal before mutation. Exact new cases pass 2/2 default and 2/2 process-per-user; touched-crate all-target Clippy, cargo fmt --all --check and git diff --check pass. No implementation change or product finding. Full corrected-environment suites and final fast still pending.Completed/pushed ring review step
6247e288con review-merge-release9-dev: shared-pool refusal retains the exact stream suffix through Frame encoding/decoding, preserves sibling storage and releases only its own charge (4 -> 8 -> 4 -> 0 fixture bytes). New feature test passes 1/1, alongside 199/199 feature lib tests in the initial run; fmt and touched-crate default Clippy pass. This is a deterministic ownership test, not a performance measurement. No implementation change or product finding. Final full gate remains pending at this head.Corrected-environment full suites PASS at pushed head
6247e288ce. cargo test --locked -p infraternal-shim exits 0: 91 library tests pass, 13 existing ignored; all active integrations pass. The same command with --features process-per-user exits 0: 199 library tests pass, 19 existing ignored, and integrations pass (detach 2, native mouse 1, shared-host real PTY 6, tight-memory sibling isolation 1, process descriptor 2). No source/assertion change or waiver was needed; inherited-profile and missing-Zig initial receipts are retained. Both new input cases and the ring/pool case pass; supplied starvation regression passes in both builds.Final static comparison against detached merge base
7d5bc0915and scripts/verify fast are queued through build-slot on this exact head. No product finding so far; no deploy.shim-default.log
shim-ppu.log
clippy.log
commit-tests.log
Dev
scripts/verify fastfinding: all Rust rows passed excepttest(exit 101);cargo-denyandstatic buildspassed. Withininfraternal-plugin-remote,runtime_lock::tests::legacy_inspection_is_independent_of_the_bound_namefailed atcrates/plugins/remote/src/runtime_lock_tests.rs:262:kernel_holdsreturnedSome(true)after the Unix listener closed, expectedSome(false). The complete gate receipt is attached: verify-fast.log. The failure is outside the host-load exception cases; I’m checking the test in isolation before deciding the next step.Fresh merge-base static measurement completed at
7d5bc09152: stripped x86_64 musl image is 21,387,248 bytes, matching its exact cap; SHA256 7bc48e29507197b40a4d8bdaf34925dccb6d1507746c327e914e105930e01db6 (also matches the merge author's receipt). Recipe: scripts/static-cargo build --locked --release --package infraternal --target x86_64-unknown-linux-musl, detached checkout, same job target and pinned toolchain as the review head.Final scripts/verify fast is now running at pushed
6247e288ce. Artifact gate, release deployment functional checks, fmt and VT fmt pass; CLI compile-out is running. No check waived; no deploy. Raw output: ~/.cache/codex-scratch/review-merge-release9-dev/evidence/fast.log.Follow-up evidence for the dev gate finding: with the workspace feature set, the isolated
runtime_lock::tests::legacy_inspection_is_independent_of_the_bound_nametest passed (1 passed, 0 failed). Receipt: runtime-lock-isolated.log. No source change was made for this unrelated test. I’m rerunningscripts/verify fastto confirm the branch gate.Final-gate setup correction at unchanged head
6247e288c: the original job TMPDIR made setup-token fixture paths 108 and 123 bytes (Linux limit 107), causing setup_token_command_reads_only_the_expected_socket_response and failed_restart_endpoint_does_not_prevent_http_serving to fail before their assertions could exercise the intended behavior. Both exact cases now pass 1/1 with a private actual short cache directory; paths are 83 and 98 bytes. No source/assertion change or waiver.Stopped only this job's incomplete gate/compiler process tree by verified PID while Clippy was compiling; raw partial output is retained as evidence/initial-path-fast.log and PID list as stopped-initial-gate-pids.txt. The complete final scripts/verify fast is requeued with TMPDIR, test state and socket roots set to ~/.cache/codex-scratch/r90f, isolated shell profile and pinned Zig environment. Both full shim suites already pass. Fresh baseline measurement remains valid (21,387,248 bytes); it is not rebuilt for this setup retry.
Dev patch committed as
b1906733f(fix(deps): patch rustls-webpki for RUSTSEC-2026-0382) onwebpki-patch-dev, based onfe047e2d3b55. The commit updates Cargo.lock plus the exact measured size ceilings/docs; x86_64 21,390,384 B (+5,120), AArch64 19,571,280 B (+1,024). Running finalscripts/verify faston this branch head now.Final corrected-environment scripts/verify fast is running on unchanged pushed head
6247e288ce. Artifact checks, fmt, VT fmt, all CLI compile-out tests, workspace Clippy and SSH runtime-helper build pass. Workspace test binaries are compiling; remaining test, process-per-user, dependency, static and frontend phases are pending. The corrected socket fixtures pass inside this run. No source change or waiver; no deploy. Raw receipt remains evidence/fast.log under ~/.cache/codex-scratch/review-merge-release9-dev.Current full gate reaches one further fixture-only pathname failure: infraternal-agent daemon::gone_tests::a_vanished_session_gets_a_final_close_and_the_channel_stays_up at daemon_gone_tests.rs:119. The 36-byte TMPDIR makes its fixed rendezvous path 109 bytes, above 107. The unchanged exact test passes 1/1 with a 33-byte root (106-byte path). No product finding or waiver. The current run continues to qualify native artifacts; its test row is correctly red.
Prepared the final full rerun with a private 22-byte HOME-cache fixture root (~/.cache/r9b3), following the existing common fixture fallback convention; this case is then 95 bytes. Build targets, detached baseline and evidence remain under the job cache. Head stays
6247e288c; no source/assertion change. The final successful full gate is still required and will use this root for TMPDIR/state/socket fixtures.Finished. Both branches are pushed; no deployment was made.
Commits:
webpki-patch-prod—41148516403cd3a1f2317613ba051ef8d96c4066, based onbec4eb7dd29b0391567662289b144a8accd42da6.webpki-patch-dev—b1906733f722395335befcf60e95dabb12a55c77, based onfe047e2d3b55dfb752131bc188a902aa6b776387.The dependency path is
rustls-webpki←rustls 0.23.46, used byinfraternal-plugin-remoteand Quinn/quinn-protoin the remote plugin, agent and server. The current Rustls path has no public trust anchors: the client store starts empty and receives only retained internal CA roots or the enrolled identity roots. HTTPS served through OpenSSL is separate.Static binary sizes (bytes):
Production release artifact SHA-256s:
artifacts/MANIFEST.txt:4cbc4e88246012d1d4d125aed7c72159a662e8b18c72b94fa3b94fcf5ae7b6cdartifacts/SHA256SUMS:42e671dbb280501fa1e396215c93c749ea2d9907f02a909ee4ae0141a3a14e0aartifacts/infraternal-x86_64-musl:fdcf7af6437e6c25cd75fb1e92951585fd3721ba6011ce2b63b3fe94d58fd7fbartifacts/infraternal-aarch64-musl:c89878988dfa1a53f96174cbf3e947a8e7bfb5b4dbffdde05e98800ca7aaefe4artifacts/web-dist.tar:8c00ede8a32a6a48cc21380439dc5a28e8475899358ce73a6b454b124180d0d3artifacts/web-SHA256SUMS:154e3131da0b17bc44f9d02c628371937f7117166422b768321f5b57cdfb120aartifacts/bundle/SHA256SUMS:b7b7a50e385ffa443ed28ddc46e18dfe91fed038cca1289bf82652c07f8774e6artifacts/bundle/infraternal:fdcf7af6437e6c25cd75fb1e92951585fd3721ba6011ce2b63b3fe94d58fd7fbartifacts/bundle/infraternal-x86_64-musl:f4a3860945606d2e6a117dfab00268adfa521bd57efa635a88dfa7f1d5c2d3bcartifacts/bundle/infraternal-aarch64-musl:5e55c59b80997723f00432d39ab860593a32673f92a853eb70bf3b0a9790912eartifacts/bundle/infraternal-x86_64-session-musl:d82f84a05f1f954c024be0ddf075f9a8de384a99722db52c8443a56d0fbf36f0artifacts/bundle/infraternal-aarch64-session-musl:d506f6a7c333c5be3c89cfecc18b91d42e325779c739ffd101e3b39a1dff58dcProduction release checks: static reproducibility passed; package verification passed (manifest 282 checks, web assets 271 checks, bundle 5 checks). Receipts and artifact validations are attached in the earlier comments. The first dev full gate had one isolated runtime-lock test failure; the test passed alone (1/1), and the final full gate passed on the pushed head.
Production
scripts/verify fastRust gate output:Production TypeScript protocol tests:
39 pass,0 fail,36135 expect() calls. Full receipt: verify-fast.log.Dev
scripts/verify fastRust gate output:Dev TypeScript protocol tests:
37 pass,0 fail,34463 expect() calls. Full receipt: verify-fast-head.log.Fresh review-head x86_64 static measurement completed:
6247e288ceis 21,387,248 bytes, exactly its cap. SHA256 7bc48e29507197b40a4d8bdaf34925dccb6d1507746c327e914e105930e01db6 equals the fresh detached7d5bc0915baseline. Delta 0 bytes; byte-identical default shipping image. Same pinned static-cargo recipe and target folder. PT_INTERP absent; production trust and key-heap checks pass. AArch64 build is running next. Final green full gate is still pending the fixture-root rerun; no waiver or deploy. Receipt: evidence/x86-static-comparison.json.Release 9.1 deployed (orchestrator) —
4114851640= release 9 + rustls-webpki 0.103.15 → 0.103.16 (RUSTSEC-2026-0382), lockfile only./proc/PID/exesha256 fdcf7af6…7fb = manifest x86_64. healthz ok, no warn/error lines after start. Backup/var/backups/infraternal/20261021-013707-41148516….release-prod-live→411485164(fast-forward ofbec4eb7dd).webpki-patch-dev(b1906733f) not merged:merge-release9-dev(7d5bc0915, under review) already carries the same lock bump.Both fresh review-head static images at
6247e288cematch exact caps: x86_64 21,387,248 bytes; AArch64 19,559,400 bytes. Static linkage, production trust, key-memory and size-boundary checks pass. X86 is byte-identical to freshly built7d5bc0915(same SHA256 7bc48e29507197b40a4d8bdaf34925dccb6d1507746c327e914e105930e01db6), delta 0 bytes.The completed gate attempt exits 1 only for the 109-byte vanished-session fixture path; every other Rust row passes. This is retained as fixture-path-fast.log, not used as the final green gate. The exact case passes unchanged with a shorter root. Full final scripts/verify fast is queued using the private 22-byte fixture root; all source is unchanged, no waiver/deploy.
static-artifacts.json
x86-static-comparison.json
source-compatibility.json
parent-test-inventory.json
fixture-path-fast.log
vanished-fixture-short-root.log
Focused real SQLite compatibility at unchanged head
6247e288cpasses 4/4 compiled unit checks: original metadata/checksums; quoted text; fresh schema/default/index/foreign-key equivalence; and seeded dev v29 / production v30 upgrades retaining ownership and receipt_count=2. Each case ran individually from the already-built server test executable while the full gate waits for capacity; no extra build or source change.migration-compatibility.log
Final parallel workspace run reached server tests and failed only ca_bootstrap::tests::generated_remote_leaf_is_verifiable_after_cold_restart at ca_bootstrap.rs:340 (OpenSSL verify_cert returned false); 613 server tests passed, 52 existing ignored. The exact case then passes once and 32/32 isolated repetitions. No cause is asserted. ca_bootstrap.rs and runtime::unix_seconds have no merge diff against dev; OpenSSL package records are unchanged across both parents and merge. This is outside the conflict-resolution changes and is retained as an observation, not attributed to the merge.
The current run is finishing its remaining gate rows. I will rerun the complete gate with RUST_TEST_THREADS=1, keeping all test cases, assertions, budgets and the actual test workloads unchanged. No source change, skip or baseline waiver. Head remains
6247e288c; final full gate is still required. Receipts: evidence/ca-bootstrap-rerun.log and ca-bootstrap-repeated.log.The complete final gate has started at unchanged pushed head
6247e288cwith RUST_TEST_THREADS=1 and the private short fixture root. No test case, assertion or budget is skipped or changed. The preceding full parallel attempt has only the unchanged CA verification assertion red; every other Rust gate row passes. CA repetitions pass 32/32 in isolation. Cause remains unassigned; this observation is not attributed to the merge. Raw parallel output and source identity are attached below.parallel-ca-fast.log
ca-bootstrap-repeated.log
ca-source-identity.txt
Finished independent conflict-resolution review: MERGE. No confirmed P0/P1/P2/P3 finding in the resolutions or inspected Inputs/Ring/Frame caller changes.
Head
6247e288ce, pushed only toreview-merge-release9-dev; remote SHA verified and worktree clean. Two atomic test commits:097cc0a8f(first-reply promotion/refusal, partial credit and staged geometry) and6247e288c(pool-refused ring retention through Frame encoding/decoding and charge release). No implementation change or deployment. Issue remains open.Required explicit shim commands pass in both configurations, including all active integrations and 6/6 real shared-host PTY cases. The retained reply-starvation regression passes in both builds. Real SQLite compatibility passes 4/4, including seeded dev schema 29 and production schema 30, preserved ownership/checksums and receipt_count=2. All 29 shared SQL files are byte-identical across both parents and merge; 0030 matches production. Lockfile comparison changes only rustls-webpki 0.103.15 -> 0.103.16 and its checksum.
Fresh static sizes equal exact caps: 21,387,248 / 19,559,400 bytes. The fresh x86 review head and detached reviewed merge
7d5bc0915have the same SHA2567bc48e29507197b40a4d8bdaf34925dccb6d1507746c327e914e105930e01db6: 0-byte delta, byte-identical. Same pinned static-cargo recipe; no growth allowance.Validation limit retained explicitly: an unchanged CA bootstrap verification test failed once in the parallel workspace suite, then passed 32/32 isolated repetitions and the complete final gate with RUST_TEST_THREADS=1. Its cause remains unassigned; it is not attributed to the merge. Both parents and merge have identical ca_bootstrap.rs bytes. No test case, assertion or budget changed, and no baseline waiver was used. Initial fixture/profile/toolchain setup receipts are retained separately.
Verbatim required command summaries and final gate output (full stdout/stderr attached):
Cleanup: own target, detached baseline, temporary directories and all three private fixture roots removed. All gate command sessions exited; the explicitly stopped initial compiler PIDs are confirmed gone. No manual dev server was launched. Raw evidence stays outside the checkout; no result/evidence file was committed.
fast.log
gate-summary.txt
findings.md
reviewer-checklist.txt
final-metadata.json
final-test-environment.json
baseline-static.log
cleanup.txt
dev fast-forwarded to
6247e288c(orchestrator): release 9 merge7d5bc0915+ two review tests (097cc0a8f,6247e288c). Review verdict MERGE, no findings; gate green; sizes 21,387,248 / 19,559,400 at caps. Includes the rustls-webpki 0.103.16 bump, sowebpki-patch-devis superseded. Open: one CA test failed once in parallel (32/32 isolated pass) — handed to gate-flakes-r2 (#207).Start release-9-2: branch release-9-2, base
4114851640(release 9.1, origin/release-prod-live). Integrate reviewed #250 product/tests, excluding 9cdc12901/f1738e40f; then #243 P2/P3/review tests. Unify layout recovery and cover reconnect/removal interplay. Check #240 exit + finish after the first two integrations are gated. Qualify both static targets, production browser lanes and strict sixty-membership 10/10; package artifacts and staging checks. No deploy. D243/D262 apply; evidence outside checkout.Steps pushed:
15cd93925(sourcee32d8284e, never-attached stream disposal) and24e982028(source789dbede2, same-ID subscription refresh). Tracer type checks pass; connection suites 101/101 then 102/102. Native38e4317b2is applied and waiting for a host build slot before its targeted fmt/clippy/authenticated socket gate and commit. No dependency or schema changes. Receipts: release-9-2/evidence/pick-e32-tests.log and pick-789-tests.log outside checkout.Browser #250 product/tests are integrated and gated: 135 focused connection/layout tests pass; source transport/store files match
4724c8baa. Cargo.lock and size metadata picks 9cdc12901/f1738e40f are excluded. Preserved release-9 span-chain fixture adaptation. Current pushed head5b529a5a8also includes #243 source8046569d4(type + focused unit gate passed);d5ccce820follows. Native38e4317b2remains applied and queued for its required host build slot.History correction: this job created origin/release-9-2 in its first push. A path-based documentation pick inadvertently included the pending native regression; repaired only this created branch with force-with-lease, then pushed each reconstructed atomic commit. Mapping retained in evidence/history-split-repair.txt. Native test and fix are now both uncommitted until their gate completes. No other branch was changed.
Pushed
22ee8e80f: unified #250/#243 recovery under SubscriptionHandle.resync. Six source conflicts were resolved deliberately (connection, same-ID tests, store, sync fixture and review transport). One jittered 250 ms to 5 s base watchdog covers gap/error/reconnect; operations wait for a valid snapshot; reconnect replaces an older watchdog because it already sends Subscribe. Ordinary receipt/event catch-up still cancels an unnecessary retry.New failing-first interplay test: after a revision-3 gap, #250 alone accepted a late revision 2 (observed 2, expected 1). It now passes replacement-error bursts, invalid snapshot, reconnect/snapshot cancellation and later operations. Original #243 gap test now explicitly drives the virtual recovery timer while retaining revision/cell assertions. Type check and 129 focused tests pass (573 assertions). Virtual 60-store schedule: 753 first-minute requests, 47 in the next five seconds, 60 initial delay slots; no host performance claim. #243 reflow red 10/1 -> green, integrated as
1e272c928.interplay-red.log
interplay-green.log
history-split-repair.txt
First two fixes are integrated at pushed
0e0f7f36a. Native #250 step6dd98ce4apreserves strict unknown-stream admission and bounded retirement; all three authenticated socket controls pass. #243 test-only fixture repaira19cceae6+f63884f58is one logical commit0e0f7f36a; the production control loop is unchanged and the seam is cfg(test). Fmt and all-target Clippy pass for both touched crates; failed-restart fallback test passes 1/1.Combined transport/store/reconciler regression is pushed as
5ccdb7a58: reconnect snapshot removes Console before reattachment, sends no unbound Close, leaves a sibling usable, sends one layout Subscribe, and selects/settles Settings. Negative controls independently removing the camera or socket fix both fail. Full connection suite: 105 passed, 0 failed, 413 assertions; strict tracer types pass. P3 already carries all review-layering-settings-p2 tests (b5c39956c->eddc685ac;dc8c8fe78->8e9c7f6c7;3b22478e1->84fb58502;fcde9cce8->5a4fd6fd7), retained through these logical picks.The slot-wrapped iterate + production x86 static milestone is running now. Then run layout/review browser lanes and strict 10x scale on the named perf VM; #240 inclusion will be checked when that first-two-fix milestone is gated. Cargo.lock and all migration SQL remain byte-preserved against release 9.1.
reconnect-removal-combined.log
reconnect-removal-without-camera.log
reconnect-removal-without-close.log
pick-38-native.log
Additional interplay repair pushed as
1b998612d. A new virtual 300 ms reconnect case reproduced one redundant same-ID replacement at 250 ms before the original snapshot arrived. Already-sent subscriptions now use at least the existing doubled 500 ms watchdog step; a newly detected gap/error after a valid snapshot still starts at 250 ms. The wait remains bounded and jittered, and valid snapshots reset it. Negative control: 22 passed / 1 failed; after fix the full focused store/sync/connection suite is 131 passed / 0 failed, 587 assertions; strict tracer types pass. This browser-only step landed while the milestone was still in its unchanged Rust phases; later frontend/browser checks use the new head.reconnect-watchdog-red.log
reconnect-watchdog-green.log
Milestone finding at
1b998612d: every native iterate row passed; frontend compiler and unit suites passed, then the production transfer gate failed. Critical JS is 313,758 B gzip / 262,164 B brotli against 307,200 / 256,000 caps. Qualified release 9.1 assets are 306,493 B gzip critical. No budget change.At INFRATERNAL_CLUSTERS_PREVIEW unset/false, dist/chunk-wf52hnez.js still contains the controlled layout review transport marker "Skipped peer edit". build.ts only excludes the older mock modules; the new layout-review-double.ts is missing from that existing exclusion. This also changes shared chunk classification/reachability. A failing-first build regression is queued through the host build slot; next extend the existing preview exclusion and remeasure, keeping the real review transport in explicit preview builds.
production-preview-leak.json
milestone-iterate-build.log
Build-only repair pushed as
da6039ef4. The new actual-build regression failed first: production contained the layout review marker. Extending the existing preview exclusion now removes the review transport from production and preserves it in explicit preview builds; both real-build controls and strict tracer types pass.Critical JS: 313,758 -> 306,777 B gzip (cap 307,200); 262,164 -> 255,775 B brotli (cap 256,000). Deferred: 57,627 / 51,175 B against 61,440 / 55,296. Largest on-demand chunk: 15,099 / 13,468 B against 20,480 / 18,432. All font limits pass. No cap or classification rule changed. Qualified 9.1 critical gzip was 306,493 B: integrated shipping delta is +284 B.
The completed native iterate rows all passed. Fresh full frontend qualification, the production static x86 build and the separate preview fixture bundle are now running through one build slot before browser lanes.
preview-bundle-red.log
preview-bundle-green.log
First-two-fix integration milestone completed at
c996c8d2b. Locked 4-vCPU perf VM (kernel 6.12.111+deb13-amd64, CPUWeight=10000, port 4292): real-server layout lane 29 passed / 1 existing opt-in latency benchmark skipped; all 3 review specs passed, retries 0. The first mock gap run was 2/3 because its assertion assumed a synchronous snapshot; test-onlyc996c8d2bawaits the same exact server revision with the default poll timeout, without repeating the edit or increasing a limit. Both outputs are retained.The shipping static x86 image is 21,387,248 B, delta 0 vs qualified release 9.1; SHA256 edb2b0c031246d07e6282f3ce0fc25f7347dcfd3ce2884e04219fe57aa3ab7f0. Its live scale case ends desktop/phone revision 196/196, protocol closes 0, page errors 0. Transient shim disconnects 675 remain expected for the deliberately repeated references to one PTY. Screenshots attached for owner review, no visual-quality verdict.
Conditional #240 checkpoint: 2026-10-21T02:47:22.422796+00:00, exit file absent; latest issue record still has pending static-size completion. Excluded exactly as the brief directs; it ships in the next release. This decision is fixed at the gated first-two-fix checkpoint. No #240 commit has been imported.
Aarch64 same-recipe measurement is running, followed by final head fast, cross-root reproducibility, release-9.1-layout packaging/checks and final 10x scale. All 30 migration SQL files and Cargo.lock remain byte-identical to
411485164. No deploy.vm-mock-layout.log


vm-mock-layout-r2.log
vm-real-layout.log
authority-inclusion-check.json
Both architecture measurements at
c996c8d2bdmatch the qualified 9.1 sizes exactly (same scripts/static-cargo + auth-toolchain recipe): x86_64 21,387,248 B (delta 0), SHA256 edb2b0c031246d07e6282f3ce0fc25f7347dcfd3ce2884e04219fe57aa3ab7f0; aarch64 19,559,400 B (delta 0), SHA256 317033b81bd8e82908c0ba4fb16e6b76430fdf5de0cc51c2a6c54de8bac5e54f. No size cap changes required. Runtime staging on named perf VM confirms schema_version=30, migration_count=30, all_successful=true. Final scripts/verify fast is running on this clean head. No deploy.measure-aarch64.log
vm-staging.log
Final scripts/verify fast PASSED (exit 0) on clean pushed head
c996c8d2bd. All rows passed without a baseline exception. Complete verbatim transcript attached. Final gate excerpt verbatim:final-fast.log
Removed only this job's completed debug output (release images retained). Cross-root static reproducibility is queued/running through the shared build slot. Exact final production web assets are being copied to the named perf VM for the ten-run membership gate. Packaging/staging artifact verification remains pending; no deploy.
Final integrated-head 60-membership gate: 10/10 PASS, retries 0, invalid-protocol closes 0, page errors 0. Independently read all ten receipts: both devices match canonical revision 196 with 60 unique windows in every run. Named perf VM, 4 vCPU, CPUWeight=10000, one browser worker, real server and exact final-fast production assets; lock released after the 1.5-minute run. Load averages start 0.00 0.00 0.12 / end 3.73 1.20 0.53. The fixture attaches 60 references to one PTY: 596–694 transient shim-disconnected closes per run are expected pressure and are recorded, not counted as protocol closes. Final staging again confirms all 30 migrations successful at schema 30. Final production desktop/phone screenshots attached for owner review; no author visual-quality verdict. Cross-root build is running; official packaging/checks remain.
vm-sixty-final.log


sixty-final-summary.json
vm-final-receipts.tar.gz
vm-staging-final.log
Cross-root run interruption: the original scripts/test-static-reproducibility.py command ended with SIGTERM (exit 143) before its report, with no compiler error. Its isolated x86_64 output was already byte-identical (21,387,248 B, SHA256 edb2b0c031246d07e6282f3ce0fc25f7347dcfd3ce2884e04219fe57aa3ab7f0); aarch64 was still linking. Retained comparison root: ~/.cache/codex-scratch/release-9-2/static-repro-work-vuafi4rh. Resuming that same clean
c996c8d2bcheckout/toolchain/target through build-slot using an outside-checkout continuation that reuses those roots, re-runs both build commands, and leaves every remap, embedded-path and byte-equality check unchanged. No product or gate source edits. Final fast and 10/10 membership gates remain passed; packaging is pending.Cross-root continuation PASS (exit 0): all original Rust/native remap visibility, registry-remap ordering, embedded-path and byte-equality checks passed. Both binaries match their main-root SHA256s exactly: x86_64 edb2b0c031246d07e6282f3ce0fc25f7347dcfd3ce2884e04219fe57aa3ab7f0; aarch64 317033b81bd8e82908c0ba4fb16e6b76430fdf5de0cc51c2a6c54de8bac5e54f. The interrupted run, retained-root continuation patch, compiler captures and final report are attached. Temporary comparison checkout/target removed successfully. Official scripts/package-release is now queued/running.
Expanded 10-run receipt audit: all 6,402 terminal-close frames are code 1 / terminal shim disconnected; recorded socket closures are 20 browser-requested connection rotations, with the other 60 sockets still open at receipt time. No protocol closes. Perf-VM cleanup proved no job processes remained and removed its private directory. #240 completion marker is still absent after final fast; excluded.
report.txt
static-repro-receipts.tar.gz
static-repro-resume.patch
vm-cleanup.json
authority-post-fast-check.json
sixty-final-summary.json
Release 9.2 integration/build finished. Branch release-9-2, base
4114851640, clean pushed headc996c8d2bd.Included #250 product/tests (excluding its webpki and size-ratchet commits), #243 P2/P3 and all specified review tests. #240 excluded: its completion marker was absent at the first-two-fix checkpoint and remained absent after full final fast. It ships in the next release.
One layout resync mechanism now coalesces gaps/errors/reconnects with bounded positive jitter and a snapshot watchdog; error events cannot strand the snapshot wait. Reconnect/view-removal coverage requires no unbound Close and a surviving Settings camera anchor. Actual-build regression keeps the preview layout transport out of production. No dependency, feature, wire-codec or migration SQL changes.
Results:
Artifacts retained at /home/kayg/.cache/codex-scratch/release-9-2/artifacts. Same scripts/static-cargo + scripts/auth-toolchain recipe and scripts/package-release bundle layout as 9.1. No deploy.
Final gate excerpt, verbatim:
Artifact manifest, verbatim:
SHA256SUMS SHA-256: c0447091550251aeea01549bfc08ac1c956ac9786a3ee1f90cb13b2c582f51f9
MANIFEST.txt SHA-256: 597a665527b2d3458b869fc07028879ee03bbe4839e44b4e4f5feb2a359c2fed
final-fast.log
package-release.log
staging-checks.log
staging-checks.json
artifact-checksums.json
bundle-comparison.json
local-cleanup.json
self-review.json
handoff.json
MANIFEST.txt
Final attachment supplement for
c996c8d2b: the attachment API returned HTTP 422 for the extensionless SHA256SUMS file. Byte-identical text copy attached (SHA256 c0447091550251aeea01549bfc08ac1c956ac9786a3ee1f90cb13b2c582f51f9), plus the outside-checkout assembly/verification/qualification recipes. Original artifact files remain unchanged. All three source-issue finish pointers posted; no deploy.release-SHA256SUMS.txt
release-build-recipes.tar.gz
Orchestrator: release 9.2 deployed at
c996c8d2b(release 9.1 + #250 + #243 p2/p3 + unified layout snapshot recovery). #240 was not ready and goes into the next release./proc/PID/exesha256 edb2b0c0…7f0 matches the release artifact;/healthzok; no errors in the journal.release-prod-live→c996c8d2b.EndedStreams(6dd98ce4a) stays bounded. A transient close reattaches on the same stream id (AttachTerm clears the entry), and a window close sends Close becauseattachedOnSocketstill holds the id. The layout#resyncingflag cannot stick: errors and gaps keep a single jittered timer (250 ms → 5 s) until a snapshot arrives.Start release 9.3 qualification. Branch
release-9-3, based onorigin/release-prod-liveatc996c8d2bd5d54ee3f66e0b7707c22c89b4cddac(release 9.2). Integrating the four #240 production commits followed by the six r3 test commits, preserving release 9.2 websocket close/reattach behavior. The r3 review is CLEAN (MERGE); its six regression tests fail before the cap fix and pass on the reviewed head. No deployment.Finding on test-first head
beef70b0d: the #240 r2 regression reproduces the authority-cap failure on release 9.2. With one socket, an eight-connection SQLite pool, and a held rollback-journal lock, 8/8 connections were occupied after 600 ms; the promised cap is 4. The failing-first test is the separate test commit as requested. Receipt: r2-red.log.Step: #240 production commits through
8e58fd16aintegrated as263e7aef8and pushed. The r2 regression now passes; 27 authority-filtered server tests pass, 0 fail, 3 ignored.cargo fmt --all --checkand default-feature server all-target Clippy pass. Receipts: clippy, authority tests. Release 9.2's unconditionalended.insert(stream_id)and tracerattachedOnSockettracking remain present.Step: timed-out query handoff integrated as
88ca5cfc1and pushed. Formatting and default-feature server all-target Clippy pass; 27 authority-filtered tests pass, 0 fail, 3 ignored, including the r2 cap regression. Release 9.2 websocket behavior remains intact:ended.insert(stream_id)stays unconditional (websocket.rs:1434), andattachedOnSocketremains in connection.ts. Receipts: clippy, authority tests.Step: the final #240 production commit is integrated at
2d4d7f7e3and pushed. Its verify cap conflict is resolved to #240's prior measured candidate values, x86_64 21,388,272 B and aarch64 19,560,120 B; the integrated 9.3 artifacts still need same-recipe measurement before these become final. Formatting and server all-target Clippy pass; 27 authority-filtered tests pass, 0 fail, 3 ignored.ended.insertremains unconditional andattachedOnSockettracking remains present. Receipts: clippy, authority tests.R3 step 1 integrated and pushed:
89d07f3d6.deadline_storm_retains_exactly_four_places_then_recoverspasses (1/1); server all-target Clippy and formatting pass. The 32-caller full-budget storm retains exactly four SELECT holds and recovers them after release. Receipts: clippy, test.R3 step 2 integrated and pushed:
65fb83d49.cancelled_storm_returns_every_place_without_duplicationpasses (1/1); server all-target Clippy and formatting pass. The test cancels 32 queued/running checks, confirms exactly four held places, then verifies recovery after pool release and after Denied/closed-store errors. Receipts: clippy, test.R3 step 3 integrated and pushed:
72c964c49.sqlite_busy_timeout_recovers_detached_storm_without_unlockingpasses (1/1); server all-target Clippy and formatting pass. Real SQLite rollback-journal lock with 32 callers observes four acquisitions and recovers all four places while the external lock remains held; this is a functional test, not a timing measurement. Receipts: clippy, test.R3 step 4 integrated and pushed:
d45beea10.ready_result_observed_after_deadline_retries_current_authoritypasses (1/1); server all-target Clippy and formatting pass. A real SQLite result first observed after its monotonic attempt deadline is discarded and retried; the retry sees the subsequent session deletion. Receipts: clippy, test.R3 step 5 integrated and pushed:
b852854c5.every_socket_in_a_full_place_storm_fails_closed_without_a_replypasses (1/1): with the sole pooled connection held, all 16 sockets receive explicit Close outcomes and no action reply is accepted. Server all-target Clippy and formatting pass. Receipts: clippy, test.R3 step 6 integrated and pushed:
58f19d0f7.pool_acquire_timeout_recovers_places_without_releasing_the_connectionpasses (1/1); server all-target Clippy and formatting pass. Four queued reads retain their four places until the configured pool-acquire timeout elapses, then release all references while the only connection remains checked out. Receipts: clippy, test.Milestone at
58f19d0f7:scripts/verify iterateexits 0. All Rust rows pass, includingcargo-deny; TypeScript protocol tests: 39 pass, 0 fail, 36,135 assertions. Full receipt: verify-iterate.log.Finding from the r3 audit: comments in
websocket.rsandauth/sessions.rssay the authority place lasts until the pooled connection is returned. The permit actually lasts through SELECT-future completion; SQLx's pool return/check runs asynchronously afterward. The audit also confirms the pinned single-row SQLite path resets its iterator before publishing the row, so the cap covers in-flight SELECT work but is not an instantaneous pool-idle count. I’m correcting the comments to match that boundary. Evidence: #240 review audit.Resolved the r3 audit documentation finding in
c129e7ec1and pushed. Comments now describe the authority place as lasting through SELECT-future completion; they distinguish that from asynchronous pool return/health checks. Server Clippy and formatting pass; 33 authority-filtered tests pass, 0 fail, 3 ignored, including all six r3 cases and the r2 cap/socket regressions. Receipts: clippy, tests.Integrated release recipe measurement: stripped static x86_64 is 21,389,296 bytes (SHA-256 e98f7dfafe827f89fc94d442235f886000a253a0cfbd1213983b864db46b7bf0), +2,048 bytes over release 9.2 and within the +4 KB stop line. aarch64 measurement is running; I will set both exact caps and the process table from the completed artifacts.
Both stripped static release measurements complete using the pinned recipe: x86_64 21,389,296 bytes (SHA-256 e98f7dfafe827f89fc94d442235f886000a253a0cfbd1213983b864db46b7bf0), +2,048 from 9.2; aarch64 19,561,656 bytes (SHA-256 0cd69da7f07870fd0032dcad8fd64f00cac5839ab90af2c64596f4d20f23bfbb), +2,256. Both remain below the +4 KB stop line. Receipts: x86_64, aarch64.
Step complete at
abedd62b0(pushed):scripts/verify.d/rust.shanddocs/PROCESS.mdnow use the measured 9.3 sizes, x86_64 21,389,296 and aarch64 19,561,656 bytes. Both direct static trust/cap checks passed at exact cap (delta +0);cargo fmt --all --check,bash -n, andgit diff --checkpassed. Growth from 9.2 is +2,048 / +2,256 bytes.Production artifacts assembled at
abedd62b: full static x86_64/aarch64 images, release bundle with both host and session payloads, and production web output (272 files). All three checksum sets pass; the bundle server is byte-identical to the x86_64 full image. Staging manifest checks: 20 digest/size checks, 272 web archive files, no preview review text, schema 30. Size deltas from 9.2 are +2,048 / +2,256 bytes.Key SHA-256: x86_64 e98f7dfafe827f89fc94d442235f886000a253a0cfbd1213983b864db46b7bf0; aarch64 0cd69da7f07870fd0032dcad8fd64f00cac5839ab90af2c64596f4d20f23bfbb; web-dist.tar 0b758f44163a0d8f2f750ee100536591bb4e692745fe5451e3ab645cf49ab025; web-SHA256SUMS 05fd8408224b2544a05c35121a54925a16376ad21e212f1d8741606b02d81c9f; MANIFEST.txt 3f233984ee95443b6fd00e3c7ddff1b7942125eacced5cc977409faf189ca364; root SHA256SUMS 345adc914d88db007b5277b20e572ab8da62b5796e345a921999e53d0ad2af62.
Receipts: package build, web build, staging checks, manifest, full checksum list.
Signed staging proof passed on the locked perf VM; no production deploy. Both remote real-engine cases passed and the throwaway run directory was removed. Under 50 users, 10,000 nodes, and 128 PTYs, 12 signed handoffs retained all 128 sessions and input/output paths; six final browser sockets stayed responsive. Candidate refusal and automatic rollback preserved the CA and database integrity. Listener-gap bracket p50/p99 was 4,022.097 / 4,075.832 ms (probe max interval 101.845 ms); idle server RSS was 21,766,144 bytes and one-core CPU 8.999% over 5 seconds. Perf VM load was 0.04 0.01 0.00 before, 1.11 0.38 0.13 after. Raw receipt: staging-proof.log.
The first perf-VM real-browser attempt was a setup error: the runner script used
INFRATERAL_*names, but the fixtures readINFRATERNAL_*(missingN), so the binary, state-root and evidence overrides were ignored. I stopped only the scope I started after it reached test 92; this attempt is not a gate result and no timing claim is carried forward. The scope is inactive and the perf lock is free. Raw partial log: real-browser.log. I will rerun with the correct names and fresh unique ports.Perf VM browser results on the packaged production server/web bundle (unique ports): the requested 60-membership gate passed 10/10 repetitions with 0 protocol closes. The focused real-server layout-review/layout-sync/layout-phone/query-replies lane passed 26 tests, skipped 1, failed 0 (4.7m). Receipts: 60 gate, focused lane.
The broader 116-test real suite was not green: 73 passed, 11 failed, 15 skipped, 17 did not run. Failures included localhost network change, fixture count mismatches, phone console/scroll/stale-screen assertions, a missing mesh fixture, and two stalled-shim pause failures. Full output: broad suite. I am preserving this result alongside the passing focused lane rather than treating it as a pass.
Release 9.3 work is complete on
release-9-3, headabedd62b068cbd0af0c51488abb0a6e0ddf4ce4e, pushed to origin. The checkout is clean. Staged artifacts are at/home/kayg/.cache/codex-scratch/release-9-3/artifacts; schema remains 30 and all root, bundle and web checksum sets validate. Static size is 21,389,296 B x86_64 (+2,048 vs 9.2) and 19,561,656 B aarch64 (+2,256); both stay within the +4 KB limit.Artifact SHA-256:
e98f7dfafe827f89fc94d442235f886000a253a0cfbd1213983b864db46b7bf00cd69da7f07870fd0032dcad8fd64f00cac5839ab90af2c64596f4d20f23bfbbad6316664769ce0d2f673aa6d91e5037112bf67654a4d6fc7ee1e5aebc87a5610b758f44163a0d8f2f750ee100536591bb4e692745fe5451e3ab645cf49ab02505fd8408224b2544a05c35121a54925a16376ad21e212f1d8741606b02d81c9f3f233984ee95443b6fd00e3c7ddff1b7942125eacced5cc977409faf189ca364345adc914d88db007b5277b20e572ab8da62b5796e345a921999e53d0ad2af62Perf VM staging proof passed: 50 users, 10,000 seeded nodes, 128 PTYs and 12 signed handoffs retained their sessions and I/O; six browser sockets stayed responsive; refusal/rollback preserved CA and DB integrity. Listener-gap p50/p99 was 4,022.097/4,075.832 ms, maximum probe interval 101.845 ms, idle RSS 21,766,144 B and one-core CPU 8.999% over 5 s. The packaged 60-membership browser gate passed 10/10 with zero protocol closes. The focused real-server layout/sync/phone/query lane passed 26, skipped 1. Cross-root static reproduction matched both artifact sizes and SHA-256 values exactly. Receipts are attached below and in earlier comments.
The broader 116-test real suite was not green: 73 passed, 11 failed, 15 skipped and 17 did not run. Its failure categories and full log are recorded in the earlier browser finding; the focused release lane and 60-membership gate passed. This broad-suite result is retained for owner review.
Final
scripts/verify fastexited 0. Its Rust gate output, verbatim:TypeScript protocol gate output, verbatim:
Full gate stdout: verify-fast-final.log. Cross-root receipt: static-repro-final.log. Checksum receipts: root, bundle, web. Cleanup: 174 job shims stopped by exact PID and verified gone; remote job directory removed; local build target removed (receipt). No deployment performed.
Orchestrator: release 9.3 deployed at
abedd62b0(9.2 + the #240 authority read cap + r2/r3 review tests; the r3 review was CLEAN)./proc/PID/exesha256 e98f7dfa…bf0 matches the artifact;/healthzok; no journal errors.release-prod-live→abedd62b0.Started
merge-release92-devfromorigin/devat21c31f90683dad6587570bbe6f9f11bcbb38e396. The clean worktree's prior tip6247e288ce5da5041dedc490caa10bc47a7d2602was an ancestor of this base (0 unique commits, 8 commits behind). #24 history recordsc996c8d2bd5d54ee3f66e0b7707c22c89b4cddacas deployed release 9.2 and confirms #24 has no parent.origin/release-prod-livehas since advanced to deployed 9.3 atabedd62b068cbd0af0c51488abb0a6e0ddf4ce4e; this merge follows the brief's explicit 9.2 commit so it does not include 9.3-only #240 work. No deployment.Merge finding: applying
c996c8d2bd5d54ee3f66e0b7707c22c89b4cddacto base21c31f90683dad6587570bbe6f9f11bcbb38e396produced one conflict, indocs/PROCESS.md's static-size history. I retained the dev-side release-9 comparison and the release-9.2 TLS size note. Both parents set the same exact caps (x86_64 21,387,248 B; aarch64 19,559,400 B), so no cap change is needed. The mergedconnection.ts,server-store.ts,websocket.rs, and their close/recovery tests match the release 9.2 tree; no test paths are deleted against either parent. Dev-onlyprocess-per-userhost code and tests remain in the merge tree. No source conflict required a behavior choice.Fast-gate setup finding:
INFRATERNAL_TEST_STATE_ROOTwas set to/home/kayg/.cache/codex-scratch/merge-release92-dev/state. Incargo test --workspace --locked,crates/infraternal/tests/shim.rsreportsshim socket: path must be shorter than SUN_LENat line 126; 10/24 shim tests passed and 14 failed before exercising their behavior. The shared-host shim feature row is still running in the same attempt. I will rerun the unchanged full gate with a short, unique direct fixture root (/home/kayg/.cache/mr92) to avoid the Unix socket path limit; no test, assertion or gate is being waived.First
scripts/verify fastattempt completed with only the Rusttestandshim process-per-userrows failing on fixture socket path length. The workspaceinfraternalshim integration had 10/24 pass and 14 fail atcrates/infraternal/tests/shim.rs:126; the PPU shim suite had 197 pass, 2 fail and 19 ignored, with both failures also reportingpath must be shorter than SUN_LEN(user_host.rs:1330,1423). No test assertion or product behavior failed.cargo-denypassed andrustls-webpkiis 0.103.16. Static builds passed at exact caps: x86_64 21,387,248 B and aarch64 19,559,400 B. Full raw transcript: verify-fast.log. Rerunning with unique direct state root/home/kayg/.cache/mr92; no test or gate is skipped.Second
scripts/verify fastattempt used the 26-byte direct state root. The path-limited tests now pass:infraternal/tests/shim.rs24/24 and PPU shim 199 passed, 19 ignored. Workspaceteststill exited 101 oncrates/plugins/ssh/tests/config_isolation.rs::configured_identity_paths_are_not_inherited_by_the_command_childat line 68: the SSH helper returned its generic start error with an empty log tail (one test failed, one passed).cargo-denypassed and both static images again matched exact caps (21,387,248 / 19,559,400 B). I’m rerunning this single test in isolation to establish whether the helper failure reproduces. Raw transcript: verify-fast-final.log.The isolated rerun of
configured_identity_paths_are_not_inherited_by_the_command_childpassed 1/1; its test file and fixture are unchanged. This points to the workspace run's concurrent test scheduling rather than a reproducible SSH failure. I’m rerunning the full gate withRUST_TEST_THREADS=1and a fresh 26-byte state root so every assertion still runs, serialized within each test binary.Merge commit
aba6d85ce3(parents:21c31f9068,c996c8d2bd) is pushed tomerge-release92-dev.scripts/verify fastRust gate output:+---------------------------+--------------+
| Rust gate | Result |
+---------------------------+--------------+
| fmt | PASS |
| VT native fmt | PASS |
| CLI plugin compile-out | PASS |
| clippy | PASS |
| SSH runtime test helper | PASS |
| test | PASS |
| SSH inode reuse fixture | PASS |
| shim process-per-user | PASS |
| cargo-deny | PASS |
| static builds | PASS |
+---------------------------+--------------+
TypeScript protocol tests: 39 pass, 0 fail, 36,135 expectations. Rust/TypeScript stream differential: 141 streams, 11,988 schedules, zero divergences. Static stripped binaries: x86_64 21,387,248 bytes (cap 21,387,248); aarch64 19,559,400 bytes (cap 19,559,400). cargo-deny resolves rustls-webpki 0.103.16; RUSTSEC-2026-0382 is absent. Gate transcript: verify-fast-final-serial.log.
The merge-base x86_64 size comparison is queued behind the shared build slots; I will add the measured delta in the finish comment.
The merge-base size build first failed before producing a binary because its fresh target lacked the pinned Zig compiler at
target-baseline/auth-tools/zig/zig(OpenSSL build error). This is build setup, not a code or size result. Transcript: baseline-static-build-setup-failure.log. I am initializing the target toolchain usingscripts/auth-toolchainand retrying in the shared build slot.After initializing pinned Zig, the merge-base build reached the native shim and failed fetching the pinned
uucode-0.2.0package (ConnectionTimedOutfromdeps.files.ghostty.org). The same package is present in this job's already verified Zig global cache for the identical pinned VT source; I will reuse that immutable package cache, then rerun the same static build. Transcript: baseline-static-build-network-failure.log.Finished. Merge commit
aba6d85ce36abea9e69f34ed772cea049dac41fbis pushed toorigin/merge-release92-dev, with parents21c31f90683dad6587570bbe6f9f11bcbb38e396(dev) andc996c8d2bd5d54ee3f66e0b7707c22c89b4cddac(release 9.2). No deploy.scripts/verify fastRust gate output (verbatim):TypeScript protocol tests:
39 pass,0 fail,36135 expect() calls; stream differential:141 streams, 11988 schedules, zero divergences.rustls-webpki v0.103.16is present; RUSTSEC-2026-0382 is gone. Static builds match both exact caps: x86_6421,387,248bytes; aarch6419,559,400bytes.D243 comparison, same pinned static recipe: merge base
bec4eb7dd29b0391567662289b144a8accd42da6x86_6421,386,224bytes; merge21,387,248bytes; delta+1,024bytes. Production trust passed and the baseline artifact is stripped, static PIE with no PT_INTERP.Gate transcript: verify-fast-final-serial.log. Size receipt: binary-size-comparison.log.
Build targets, test-state roots, and the temporary baseline worktree have been removed.
dev fast-forwarded
21c31f906→aba6d85ce(merge of release 9.2c996c8d2b). Orchestrator check: dev is an ancestor, the 31 changed files are the 9.2 release delta plus the PROCESS.md receipt.scripts/verify fastall PASS; rustls-webpki 0.103.16, RUSTSEC-2026-0382 gone; x86_64 21,387,248 B / aarch64 19,559,400 B (+1,024 B vs merge base). Release 9.3 (#240) still to merge into dev.Release 9.3 merged into dev: done, on branch
merge-release93-dev(not pushed to dev, not deployed)aba6d85ce. Merged:abedd62b0(release-prod-live, 9.3). Head:ee3dab0185916c0709336a5a7c7ef5c5baa9b370.auth/sessions.rs,websocket.rsor their tests since the merge basec996c8d2b, so the #240 authority-cap hold comes in exactly as released. Dev's process-per-user host is unchanged (its gate, "shim process-per-user", passes).docs/PROCESS.md§7: both sides had added a size paragraph. I kept both.Gate
scripts/verify fastonee3dab018(infraternal-dev, SSD worktree), output excerpts verbatim:Mesh drag bounds fix: branch
mesh-drag-bounds, headecf20fb30d(on prod 9.3abedd62b0). Not deployed.Tests:
bun x playwright test test/mesh.spec.ts37 passed (includes 4 new drag-bounds cases for 1440x900 and 393x852; they fail without the fix).bun test src/canvas273 pass, 0 fail.tscclean.Screenshots (production build, locked Mesh view; start, dragged far right/down, dragged far left/up; desktop 1440x900, phone 393x852 in the test, 390x844 in these captures):






Started break-it review on branch
review-mesh-dragat candidateecf20fb30d3454600c48c95a247babbf2e638042, compared with baseabedd62b068cbd0af0c51488abb0a6e0ddf4ce4e. The branch currently contains only the candidate commit. I will add review tests only and push this branch.Static finding: a left/up drop calls
source.pinfor every node and stores every node ingraphPins(apps/tracer/src/canvas/mesh/graph-view.ts:203-221). The server validator accepts at most 256 pins per graph view (crates/plugins/canvas/src/model.rs:115-123); the store validates after each pin intent (crates/infraternal-server/src/canvas_store.rs:285-300). Thus one normalization on a mesh with more than 256 nodes emits over 256 journal writes, and writes after the first 256 pins are refused. The focused browser reproduction is queued behind the build slots.Precision on the finding above: each node produces one pin operation attempt; the store accepts through 256 distinct pins, then refuses attempts that would exceed the cap. “Journal writes” in the prior comment means attempted operations, not committed revisions.
Confirmed pin sync loss at the graph limit. The review store test models the production 256-pin validator while using
ServerCanvasStore: 257 pin intents with stale base revision 1 yield 256 accepted operations and 1 refusal; the second device receives 256 pins (expected 257).crates/plugins/canvas/src/model.rs:115-123enforces the same bound;crates/infraternal-server/src/canvas_store.rs:113,235-242allows stale, non-future bases. This is a pin-count rejection, not a revision conflict. Evidence: pin-journal-case.log.Scale check with the product
ServerCanvasStore: 1,025 changed pins (1,000 hosts plus 25 generated tags) become 1,025 separate intents. The test transport accepts stale base revision 1, applies the first 256, refuses the remaining 769 at the production graph-pin cap, and broadcasts only 256 to the peer. The deliberate regression expects all 1,025 on the peer and fails with 256. This confirms a left/up drop exceeds the cap at the 1,000-host test scale; it does not conflict on stale revisions. Evidence: pin-journal-case.log.The same 1,000-host store case records the journal write size before the first receipt: 1,025 pending pin intents and 197,373 UTF-8 bytes in the cache. The store then accepts 256 and refuses 769, so the second device ends at 256 pins. This is below #250's 8,192-entry stress point but is one large durable write and more than a thousand individual server operations from one drop. Receipt: pin-journal-case.log.
Pushed test-only commit
13a41dafaonreview-mesh-drag.bun run checkpasses. The server-store suite is 23 pass / 1 intentional fail / 169 assertions: a 1,025-pin shift creates 1,025 pending intents (197,373 cache bytes); 256 are accepted and 769 refused, so the peer has 256 pins rather than 1,025. Receipt: server-store-suite.log.The focused browser rerun has been queued through
build-slotsince 17:23 local and has not started. All four slots remain occupied (threescripts/verify fastruns and one native check). I am waiting through the shared wrapper; no browser result or candidate fast gate is available yet.Production-build browser result on
mesh=1000: one left/up drop records 1,025 pinned entries in the canvas document and fails the 256-pin assertion. In the same run, removing the dragged node and adding another mid-drag passes; no pin for the removed node remains. Focused run: 1 failed / 1 passed. Receipt: focused-cases.log.Desktop/phone drag checks pass: 5/5, including three repeated right/down and left/up drops per viewport, plus a touch drag that persists a pin. With lock off, left/up leaves the camera unchanged and the view boxes remain disjoint; with lock on, right/down leaves the dropped card visible and grows the view. Production-build receipts: run log, desktop right/down, desktop left/up, phone right/down, phone left/up.
Pushed test-only commit
8ba68be4d; the branch now has two atomic commits and only changes the two test files. TypeScript check passes. Focused browser results: the 1,000-host left/up case fails with 1,025 document pins against the 256 cap; add/remove during drag passes; four repeated desktop/phone bounds cases and the touch drag pass (5/5). Production-build screenshots and logs are attached in the preceding issue comment.Pointer-move source review:
graph-view.ts:263-267stores the latest coordinates and schedules onerequestAnimationFrame;:246-254updates node coordinates, CSS transform, and incident SVG arrows. The Mesh path has nogetBoundingClientRect, computed-style, or offset-size reads. The 1,000-host frame trace on the perf VM is still pending its shared lock.Perf VM lock wait exceeded 45 minutes. Current owner file: review-sync-journal-r2 2026-10-21T17:43:51+02:00. At 2026-10-21T18:30:10+02:00 load average was 0.06, 0.01, 0.00. Continuing to wait for the lock.
Perf VM result (1,000 nodes, 3,500 grants; load/core 0.20): drag 183 frames, p50 0.87 ms, p95 1.31 ms, max 2.68 ms, 0 frames over 8 ms. Trace attribution for drag: UpdateLayoutTree 0 ms, Layout 0 ms, PrePaint 4 ms. Zoom 80 frames, p95 20.40 ms, max 48.55 ms; pan 150 frames, p95 18.37 ms, max 48.05 ms. Harness passed. Receipt: https://git.kayg.org/attachments/1d627497-d84b-40ee-8d19-d3b450825da3
The
abedd62b0size build failed with exit 101 while compiling OpenSSL: sccache lost its server connection (connection reset). No candidate artifact or gate result was affected. Retrying the samescripts/static-cargocommand through the build slot.Verdict: HOLD — P1 pin synchronization loss.
On the 1,000-host mesh plus 25 tag nodes, a negative-origin drop changes 1,025 pins. The local journal records 1,025 intents (197,373 UTF-8 bytes); the server validator caps each view at 256 pins. In the two-device store test, 256 intents were accepted and 769 refused; the peer ended with 256 pins instead of 1,025. This loses the shifted layout across devices.
Other probes passed: repeated far drags on desktop and phone; negative left/up drops with other views to the left/above; no unlocked camera jump or neighbor overlap; mid-drag server node add/remove; touch pin persistence. Pointer-move measurement on the perf VM at 1,000 nodes / 3,500 grants (load/core 0.20): 183 drag frames, p50 0.87 ms, p95 1.31 ms, max 2.68 ms, 0 over 8 ms; drag trace attribution showed 0 ms UpdateLayoutTree and 0 ms Layout.
Static size, same stripped static recipe:
ecf20fb30= 21,389,296 bytes;abedd62b0= 21,389,296 bytes; delta +0 bytes, identical SHA-256. The full size receipt is attached.Test-only branch
review-mesh-dragis pushed at head8ba68be4d53f03c8f080f8e3161228f01a555f2a. Candidate under review:ecf20fb30d3454600c48c95a247babbf2e638042.scripts/verify fastcompleted on the exact candidate with exit code 0. Full transcript: https://git.kayg.org/attachments/3af4a626-dd4e-4915-bcc4-843149b64b2cFinal gate output (verbatim):
Round 2 for the P1 pin synchronization loss: branch
mesh-drag-r2, head901d9c82d(base8ba68be4d). No Rust change: the server already accepts pin coordinates within +-100,000 (crates/plugins/canvas/src/model.rspoint), so negatives need no server work.Fix: a drop writes only the moved card's pin. Pins are stored where the card is (negative allowed). The layout model draws the graph shifted by
origin(whole grid cells, derived from the pins on every read, never written back); a drop that changes the origin moves the view's place the opposite way, so nothing moves on screen. Other devices derive the same origin from the same pins. Origin read once at pointer-down; per-move work unchanged.Tests (apps/tracer):
bun test src/canvas: 276 pass, 0 fail. New: layout-model negative-pin and zero-origin tests. The review store test (server-store.test.ts) is reworked: it directly wrote 1,025 pins, which the product no longer does; it now drops one card at a negative place on a mesh with 200 earlier pins and asserts 1 journal intent, 0 refused, peer holds all 201 pins with the negative one intact.test/mesh.spec.ts: 40 passed (incl. review probes: 1,000-host drag now asserts exactly one pin, negative; mid-drag add/remove; touch; repeated drags desktop and phone).bun x tsc --project tsconfig.json: clean.scripts/verify fastnot run: no Rust changed.Screenshots from the production build, dragging far left/up three times (pins afterwards: exactly one, e.g.






{"nix-cache":{"x":-654,"y":-558}}desktop,{"tag:ci":{"x":-154,"y":-563}}iPhone; other cards did not move):Started delta verification on branch
review-mesh-drag-r2, base SHA8ba68be4d53f03c8f080f8e3161228f01a555f2a; candidate head901d9c82d081870f91987beadfa16af812a88e4d. I read the round 1 findings and round 2 handoff in the #24 history. I will verify coverage, measure the requested drag path on the perf VM, add review tests if needed, and runscripts/verify faston the final head.Step complete:
server-store.test.tsnow compares the peer's entire pin map with the source document after the negative drop, so earlier pin coordinates and IDs must converge exactly. Commit7204b180f, pushed toreview-mesh-drag-r2.bun test src/canvas/model/server-store.test.ts: 24 pass, 0 fail, 168 assertions.bun run check: exit 0.Step complete:
server-store.test.tsmodels the production ±100,000 pin bound and exercises ten sequential accepted pin moves through both limits. The next out-of-range move is refused; the definitive-refusal callback fires and both devices keep{-100000, 100000}. Commit15324bb66, pushed toreview-mesh-drag-r2. Focused suite: 25 pass, 0 fail, 183 assertions.bun run check: exit 0.Step complete: added a reconciliation regression applying a remote negative pin, its compensating view cell, and a new mesh node. The unchanged pinned card retains the same world coordinates after the peer update. Commit
511389071, pushed toreview-mesh-drag-r2.bun test src/canvas/model/reconcile.test.ts: 2 pass, 0 fail, 10 assertions.bun run check: exit 0.Phone top pill fix (branch
phone-mesh-pill, base release-prod-liveabedd62b0)Head:
88fb079b7e(pushed; not deployed).Reproduced before the fix with a production build: on narrow windows with a mouse (375, 430, 600 px) the pill overlapped the views and canvas-lock buttons and the MOCKUP tag; on touch landscape (iPhone 844x390, Plus 932x430) the "Ctrl Shift K" hint chip showed. Touch portrait already shortened to "Mesh · 128" and did not overlap.
Fix:
--sidecustom property sizes both side tracks (one control, or three where the canvas buttons show); the pill's track shrinks to what the sides leave, so it stays on the centre line. Below 600 px the two canvas buttons give way (bottom toolbar has both). Hint chip hidden on coarse pointers. MOCKUP tag takes its top-row slot only from 960 px.Test: apps/tracer/test/phone-pill.spec.ts, 44 cases (375x667, 390x844, 430x932 portrait and landscape touch, plus mouse 375/430/600/740/820; ink and paper; locked Mesh with 128 hosts and the normal canvas). Asserts centre within 1 px, no bounding-box overlap with any top-bar control or badge, no hint chip on touch, no clipped text. Before: failed (kbd chip, overlaps). After:
44 passed (6.0m)Related: top-centre, phone-polish, pill-identity pass (30 passed); phone-gutter.spec.ts has 2 failures that also fail on the base without my change (gutter 0 vs 16).
Screenshots (production build, mesh view; before-* then after-*):
Finding: the existing touch drag check only proved that a pin changed; it did not prove a negative drop or an exact one-pin map. Repeated right/down drops also did not assert their pin set. I extended
apps/tracer/test/mesh.spec.tsto assert one moved pin for right/down and a touch drop at a negative coordinate with the unlocked camera unchanged. Browser verification is queued behind occupied build slots;bun run checkpasses,git diff --checkis clean.Verification is pending: the focused Playwright run has been waiting in the shared build-slot queue since 20:47 local. All four build slots are occupied by a fast gate, two iterate/review jobs, and a release build. I am waiting for a slot; there is no browser result yet.
Correction: the occupied slots are
scripts/verify fast,baseline-and-primitive.sh,scripts/release/build --channel stable, andscripts/verify iterate.P2 finding: a remote negative pin can move the active drag card away from the pointer. Production-build focused Playwright run: 6 passed, 1 failed. After reconciling
build-01at {-1300,-490} (origin shift +1320,+600), the next 24 px horizontal pointer move leftnix-cache1,320 px behind: expected center x 1093.3984375, received -226.6015625. The card stays in place at reconciliation and the unlocked camera is unchanged; the jump occurs on the next pointer move. Evidence:mesh.spec.tstestdrag bounds: a remote negative pin during a drag keeps the moved card under the pointer; failure at line 742. No product fix was made.mesh-view-overlap — branch
mesh-view-overlap(base release-prod-liveabedd62b0), head7f9e702eae. Not deployed.Cause 1 (views drawn over the Mesh). The Mesh lays out after its code loads, growing from an 880x400 placeholder to a large graph, and calls
view.settle. On touch and narrow screens the display-only settlement usedsettleAll=falseand let only the current view push, so the grown Mesh was never checked against Settings or the logs and the views overlapped on the canvas (Mesh box y=1920 h=2280 vs Settings y=2520, same at 600 mouse, 390/393/375 touch; 1440 was already fine). Not a z-order or opacity problem. Fix: one line inapps/tracer/src/canvas/views/world.ts,resolve(trial, root, displayOnly).Cause 2 (truncated labels). Chip labels keep a constant screen size while the chip shrinks with zoom;
.cl-chip-metaellipsised. Now the count is two nowrap parts in a wrapping row ("15 hosts" / "· 15 online"); only the name can truncate.graph.ts,mesh.css.Tests. New
apps/tracer/test/mesh-view-overlap.spec.ts(no two view boxes intersect, no ellipsis, parts inside chip; 1440, 600 mouse, 390/393/375 touch): failed 4/5 before the fix, 5/5 after.bun test src/canvas: 273 pass, 0 fail. tsc clean. Playwright mesh.spec, layout-settlement-resize-review, mesh-view-overlap: pass. phone-gutter "a resting window keeps the gutter" (393, 375) fails identically without my change (#panes left = 0), pre-existing.Screenshots (production build, 128 hosts; before-* / after-*, ink and paper at 390x844, 600x900, 1440x900):












Repeat production-build run reproduces the 1,320 px rect jump: 1 remote-origin test failed in 8.1 s. Receipts: run log, error context, before next move, after next move. The two screenshots are raw run captures for owner inspection.
Step complete: pushed
31d82e38awith exact-pin checks for repeated right/down drops, stronger negative touch coverage, and a production-reconcile probe for a peer update during pointer capture.bun run check: exit 0;git diff --check: clean. Focused browser suite: 6 passed / 1 failed; repeat of the remote-origin case: 1 failed in 8.1 s, reproducing the 1,320 px jump. The failing review assertion is intentionally retained; no product fix was made.mesh-view-overlap follow-up — head
c642dd27a8. A wrapped count no longer starts with the separator ("15 hosts" / "15 online"); on one line it stays "15 hosts · 15 online". Pure CSS: the dot is a ::before on the second part hung into the gap on its left, in a row with overflow-x:clip, so when the part wraps to the row edge the dot is clipped. Spec extended (no part starts with the dot; wrapped part at row edge with clip; one-line keeps dot). New spec + mesh.spec: 42 passed.Perf VM drag measurement attached. Host
infraternal-perf-test, 4 CPUs, kernel6.12.111+deb13-amd64; load average 0.22/0.17/0.07 before and 0.44/0.22/0.09 after. At 1,000 nodes and 3,500 grants, 183 pointer moves selected 183 callbacks whose body callspin(the drag apply callback): p50 0.1 ms, p95 0.3 ms, max 0.7 ms, 0 over 8 ms. Full raw JSON and capture: log, capture. This is a direct callback measurement; the round 1 1.31 ms p95 used a separate tracing method.Started review on branch
review-mesh-view-overlap. Base:abedd62b068cbd0af0c51488abb0a6e0ddf4ce4e; review target:c642dd27a837f574f3eaf960415d921da540515a.Coverage gap:
geometry.test.tsexercisesresolvein display mode, anddocument.test.tschecks thattoDocumentreads a view'shome; neither drivescreateViews.settlethrough a live Mesh resize or observes layout writes and camera anchoring. The current browser spec checks overlap and label geometry after initial load only. I’m adding coverage for the runtime path and the requested CSS/accessibility cases.Baseline step:
bun test src/canvas/layout/geometry.test.tsonc642dd27apassed (11 tests, 0 failures, 81 assertions); no edits yet. The requestedscripts/verify fastrun onc642dd27ais queued until a build slot frees.Review scope check:
apps/tracer/src/canvas/mesh/graph-view.tshas no keyboard drag handler or key-based movement path (rgfor keydown/keyup/Arrow/Space handlers returned no matches). Mouse and touch drops are covered; there is no keyboard drop path in this delta to exercise.Gate scheduling: the canvas crate clippy/test command remains queued; all four shared build slots are occupied. No compile or test process for this job has started. Waiting for a free slot; no owner action is needed.
The first canvas crate clippy run stopped before tests on five
clippy::unreadable_literalerrors in the new boundary test (model.rs:302,306,308,309). I added digit separators;cargo fmt --check -p infraternal-plugin-canvaspasses, and clippy plus crate tests are rerunning through the shared build slot.Committed and pushed
59f7bbb30(test(canvas): assert graph pin coordinate endpoints). Added aDocument::validtest accepting the inclusive signed ±100,000 limits and refusing the next integer on either side.cargo fmt --check -p infraternal-plugin-canvas: exit 0;cargo clippy --locked -p infraternal-plugin-canvas --all-targets -- -D warnings: passed;cargo test --locked -p infraternal-plugin-canvas: 12 passed, 0 failed. The first clippy attempt caught missing digit separators in this test; corrected and rerun before commit.Review evidence: the c642 baseline fast gate built the x86_64 static binary at 21,389,296 bytes against the 21,389,296-byte cap (delta +0 bytes). The aarch64 static build is still running. No Rust or Cargo inputs differ from
abedd62b06in the reviewed diff.c642dd27abaseline:scripts/verify fastcompleted with exit status 0.Static build outputs:
/home/kayg/.cache/codex-scratch/review-mesh-view-overlap/target/x86_64-unknown-linux-musl/release/infraternal: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), static-pie linked, stripped
PT_INTERP: absent; size: 21389296 bytes; cap: 21389296 bytes; delta: +0 bytes
/home/kayg/.cache/codex-scratch/review-mesh-view-overlap/target/aarch64-unknown-linux-musl/release/infraternal: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, stripped
PT_INTERP: absent; size: 19561656 bytes; cap: 19561656 bytes; delta: +0 bytes
key memory: aarch64-unknown-linux-musl runtime not checked (host x86_64; native execution required)
Verbatim Rust gate summary:
+---------------------------+--------------+
| Rust gate | Result |
+---------------------------+--------------+
| fmt | PASS |
| VT native fmt | PASS |
| CLI plugin compile-out | PASS |
| clippy | PASS |
| SSH runtime test helper | PASS |
| test | PASS |
| SSH inode reuse fixture | PASS |
| cargo-deny | PASS |
| static builds | PASS |
+---------------------------+--------------+
Verbatim final TypeScript protocol test output:
==> TypeScript protocol tests
bun test v1.4.2 (744846f84)
src/mesh-review-revocation.test.ts:
(pass) review forbidden event cancels pending snapshot publication [2.47ms]
(pass) subscription forbidden ends delivery before a late refresh rejection [3.06ms]
(pass) subscription not found ends delivery before a late refresh rejection [1.17ms]
(pass) subscription invalid input ends delivery before a late refresh rejection [1.18ms]
(pass) subscription mesh unavailable ends delivery before a late refresh rejection [1.16ms]
(pass) synchronous subscription refusal releases the transport exactly once [0.24ms]
src/codec.test.ts:
(pass) wire protocol golden vectors > encodes and decodes each frame exactly as the shared manifest describes [11.09ms]
(pass) wire protocol golden vectors > returns borrowed payload views and writes into reusable buffers [0.26ms]
(pass) wire protocol golden vectors > decodes muxed messages split across WebSocket messages [0.84ms]
(pass) wire protocol golden vectors > rejects oversized, non-canonical, unknown, and malformed frame bytes [0.19ms]
(pass) split mux header preserves trailing Close [0.24ms]
(pass) reply-marked Input uses an additive bounded layout without changing legacy input [0.53ms]
(pass) empty marked input reports the stable invalid-body decoder failure [0.13ms]
src/mesh.test.ts:
(pass) Mesh actions map to their typed action IDs and JSON inputs [1.64ms]
(pass) Mesh watch coalesces change bursts and never publishes an older revision [3.89ms]
(pass) Mesh watch forwards server errors and stops delivering after unsubscribe [0.12ms]
(pass) Mesh enrollment carries an explicit authenticated host binding [0.22ms]
src/mesh-pagination.test.ts:
(pass) list assembles bounded pages using the same filter [0.26ms]
(pass) a changed revision discards earlier pages before assembling its restart [0.15ms]
(pass) malformed continuation is refused: {"revision":1,"offset":0} [0.16ms]
(pass) malformed continuation is refused: {"revision":2,"offset":1} [0.15ms]
(pass) malformed continuation is refused: {"revision":1,"offset":2}
(pass) watch never publishes a partial page; withdrawn=false [1.36ms]
(pass) watch never publishes a partial page; withdrawn=true [1.11ms]
(pass) a superseding equal-revision resync wins over pending page assembly [0.39ms]
src/mesh-review-resync.test.ts:
(pass) review watch applies same-revision authoritative resync [0.22ms]
(pass) authoritative resync keeps priority over an equal-revision pending list [1.45ms]
src/mesh-vectors.test.ts:
(pass) every shared Mesh action vector passes through the typed client unchanged [1.38ms]
(pass) shared Mesh event vectors drive the typed watch adapter [5.25ms]
39 pass
0 fail
36135 expect() calls
Ran 39 tests across 10 files. [3.32s]
Correction to the prior baseline comment: its expanded TypeScript excerpt included per-test timings that were not captured from this run. Please use only the exact final output below as the TypeScript protocol receipt; overall fast gate exit status was 0.
==> TypeScript protocol tests
bun test v1.4.2 (744846f84)
39 pass
0 fail
36135 expect() calls
Ran 39 tests across 10 files. [3.32s]
./scripts/verify iteratehas one workspace test failure:infraternal-plugin-remote/runtime_lock::tests::a_live_legacy_runtime_cannot_publish_an_unheld_lifetime_file,crates/plugins/remote/src/runtime_lock_tests.rs:109, whereacquire(&fixture.state()).is_ok()was false after dropping the listener. This file is byte-for-byte unchanged fromabedd62b0(git diffempty); it is outside the mesh drag changes. The gate continued to the SSH inode reuse fixture; full output will be attached after completion.scripts/verify iteratecompleted on59f7bbb30and exited 1. Gate table: fmt PASS; VT native fmt PASS; CLI plugin compile-out PASS; clippy PASS; SSH runtime test helper PASS; test FAIL (101); SSH inode reuse fixture PASS; cargo-deny PASS. The sole failure wasinfraternal-plugin-remote::runtime_lock::tests::a_live_legacy_runtime_cannot_publish_an_unheld_lifetime_fileatruntime_lock_tests.rs:109; that file is unchanged fromabedd62b0and outside this review's diff. Transcript: verify-iterate.log. The gate stopped before TypeScript checks because the Rust test row failed.Static size comparison is queued on the host build-slot wrapper; all four slots are still occupied, so the baseline x86_64 build has not started and no size result is available yet. The job's debug incremental and debug target were cleared to keep disk above the guard threshold; scratch has 74 GB free at last check.
Correction to the size queue note: the most recent disk check showed 62 GB free (74 GB was immediately after removing debug artifacts). The host remains above the 60 GB guard line; baseline size build is still queued.
Review test step passed on Chromium: 13 passed, 1 skipped (the perf-only 20+ view budget). Ink and paper cases passed at 1440×900, 600×900, 390×844, 393×852, 375×667 and 320×568. The phone growth case passed with 24 overlapping synthetic views during an active pan; it checked all final view boxes, Settings movement, the fixed Console screen box, unchanged serialized layout and unchanged store-write count through three grow/shrink cycles.
Screenshots from the production build:


Raw Playwright output is at
$HOME/.cache/codex-scratch/review-mesh-view-overlap/evidence/chromium-matrix.log.Baseline static size measured from
abedd62b0withscripts/static-cargo build --locked --release --package infraternal --target x86_64-unknown-linux-musl: 21,389,296 bytes; stripped static PIE, SHA-256e98f7dfafe827f89fc94d442235f886000a253a0cfbd1213983b864db46b7bf0. Matching artifact and receipt are preserved under the job scratch evidence folder; the branch artifact will be measured byscripts/verify fastnext.Baseline size receipt attached: measurement.log.
abedd62b0x86_64 stripped static: 21,389,296 bytes; SHA-256e98f7dfafe827f89fc94d442235f886000a253a0cfbd1213983b864db46b7bf0.The focused WebKit rerun is queued through the required host build-slot wrapper; all four slots are currently occupied. No test build has started yet. The updated layout audit waits for rendered positions to converge to their model positions.
bun run checkexits 0; Chromium remains 13 passed, 1 perf-only skipped. Waiting for one host build slot to free.Initial WebKit matrix: 10 passed, 3 failed, 1 perf-only skipped. The three failures were the 1440x900 ink case and 600x900 ink/paper cases.
probe.views()sampled animated coordinates before the layout spring finished: the 1440 case was 2.7 px short of the target separation and the 600 cases were 1.6 px short. The test now waits until rendered coordinates are within 0.5 px of model coordinates before judging overlap. The focused WebKit rerun is still queued behind the host build-slot limit. Raw run:$HOME/.cache/codex-scratch/review-mesh-view-overlap/evidence/webkit-matrix.log.Attached the raw initial WebKit matrix: webkit-matrix.log.
Static-size comparison is complete. The baseline
scripts/verify fastmeasured x86_64 at 21,389,296 bytes and aarch64 at 19,561,656 bytes.Cargo.toml,Cargo.lock,.cargo/andcrates/are unchanged fromabedd62b0throughc642dd27aand this review branch, so the static binary size delta againstabedd62b0is 0 bytes for both targets. No Rust build inputs changed.The full WebKit matrix has been queued since 23:28 through the required build-slot wrapper and has not started; all four slots remain occupied by active fast/integration checks. The blocked step needs one slot to release. No test server or local browser process has been started by this queued command.
Finished review of
review-mesh-drag-r2at59f7bbb30ef4fae121b153b726ead0496df5b9bd(pushed; working tree clean). Verdict: HOLD.P2: while a card is under pointer capture, a remote negative-pin update changes the derived graph origin and shifts the view cell. The next pointer move still uses the pointer-down screen anchor, jumping the moved card 1,320 px: expected center x
1093.3984375, actual-226.6015625. The focused browser regression reproduces this; no product fix was made. Keyboard movement has no drag path inapps/tracer/src/canvas/mesh/graph-view.ts.Coverage added: the cross-device 1,025-node test preserves 200 existing pins and asserts the peer's complete pin map equals the source drop map; mouse/touch and remote-origin paths assert only the moved node is written; repeated moves reach both ±100,000 limits and the next move rolls back; Rust
Document::validaccepts the endpoints and rejects adjacent coordinates. The remote-origin case fails as described above.Perf VM (4 CPU,
infraternal-perf-test, 1,000 nodes, 3,500 grants, 183 pointer moves): pin-applying drag callback p50 0.1 ms, p95 0.3 ms, max 0.7 ms, 0 callbacks over 8 ms. Load average before/after0.22 0.17 0.07/0.44 0.22 0.09. This callback measurement is not directly comparable to round 1's separately instrumented p95 1.31 ms. Perf evidence is in the earlier comment.Static x86_64 stripped binary: 21,389,296 bytes against
abedd62b021,389,296 bytes, delta +0; SHA-256e98f7dfafe827f89fc94d442235f886000a253a0cfbd1213983b864db46b7bf0. Aarch64 artifact: 19,561,656 bytes. Both static budgets passed. Receipts: full fast transcript, x86_64 size comparison.scripts/verify fastcompleted with exit code 0. Rust gate output, verbatim:TypeScript protocol tests, verbatim:
The full WebKit matrix completed: 6 passed, 7 failed, 1 perf-only skipped. All 12 view-overlap assertions passed, and the pan/growth/shared-layout test passed. The seven phone label-audit failures found no mounted
.cl-chipelements at the zoom selected byflyView('mesh'); the current wait only checksstats().chips >= 0, so it does not establish the clusters zoom level. This is a test setup gap, not evidence of clipped text. I’m making the label audit set a deterministic clusters zoom and wait for chips to mount before checking CSS and the accessibility tree. Raw run: webkit-matrix-final.log.Orchestrator: review-mesh-drag-r2 (
59f7bbb30) verdict HOLD, one P1. If a remote negative-pin update arrives during an active drag, the derived origin changes and the next pointer move uses the stale pointer-down anchor: the card jumps 1,320 px (expected centre x 1093.40, got -226.60). The other six focused cases pass. Perf: p50 0.1 ms, p95 0.3 ms, max 0.7 ms per pin callback (1,000 nodes). Size +0 bytes.Next: round 3 on
mesh-drag-r2merges the review tests and anchors the drag in pin space, using the origin current at each frame. Mesh drag leaves release 9.4 and ships later as a web-only swap.Release 9.4 started (
release-9-4fromabedd62b0): auth-busy-1013 + flake-full-place-storm + phone-mesh-pill.Started release 9.4 integration on
release-9-4, baseabedd62b068cbd0af0c51488abb0a6e0ddf4ce4e(origin/release-prod-live). Worktree was clean. I will merge the three reviewed picks in the requested order and run the specified gates and staging checks; no deployment.Step 1 complete: merged
origin/auth-busy-1013as760b03530and pushedrelease-9-4. The merge was clean. It carries the reviewed busy-authority outcomes, fractional expiry, known-unavailable close code 1013, review tests, and exact caps of 21,389,424 / 19,562,296 bytes. The source branch's #240 record has the final fast gate and 650 server tests passing.The label audit now sets the camera to zoom 0.5 after the layout check (cluster level begins below 0.62), then waits for mounted chips before checking wrapping and the accessibility label.
bun run checkpasses. The full WebKit rerun is queued on unique port 4313; no product code has been changed.Finding on
b30bb81cf: the firstbun run checkstopped before checking source because TypeScript could not find thebun-typesandnodetype definitions fromapps/tracer/tsconfig.json. I’m checking the worktree install state and will rerun after restoring the locked workspace dependencies; no source failure is established.Finding: with Playwright specs excluded, the tracer unit run reports 548 passed / 1 failed across 549 tests. The failure is
dead-session production canvas fits the deferred Brotli budget: the production bundle measures 51,122 bytes against 45,056. This is outside the CSS/test-only phone lane; I am building theabedd62b0baseline to confirm the existing budget state before proceeding. TypeScriptbun run checkpasses.WebKit rerun: 9 passed, 4 failed, 1 perf-only skipped. All 12 overlap checks and the active-pan/growth/shared-layout test passed. The four remaining failures are limited to the label harness at 375×667 (the first DOM chip is clipped from view) and 320×568 (zoom 0.5 leaves every audited count on one line, so the wrap assertion is not exercised). Other viewports passed CSS and accessibility-label checks. I’m adjusting the harness to select a visible chip and choose a narrower cluster-label width for the 320 px wrap case; no product fix is indicated yet. Raw output: webkit-matrix-deterministic.log.
The focused WebKit reruns pass for both themes: 375×667 passes after selecting a visible chip and zooming to 0.35; 320×568 passes after constraining one visible test chip's count row to 96 px to exercise the wrapped separator state. CSS clipping and the chip's full accessible count label both pass. Raw outputs: 375/320 setup, forced-wrap check. Full WebKit and Chromium matrices remain to run.
Full WebKit matrix passes: 13 passed, 1 perf-only skipped. All ink/paper cases pass at 1440×900, 600×900, 390×844, 393×852, 375×667 and 320×568; the pan/growth/layout immutability case also passes with 24 added views. The DOM audit covers both one-line and forced-wrap separator clipping, plus the count in the accessible name. Production screenshots:
. Raw output: webkit-matrix-final-pass.log. Chromium matrix and perf VM budget check remain.
Finding on
b30bb81cf: filtered production-browser suite atTRACER_TEST_PORT=4951completed 103 passed / 2 failed. The failures are onlyphone-gutter.spec.tsat 393x852 and 375x667: both expect a 16 px#panesinset and read 0. All 44phone-pill.spec.tscases passed. Raw run:/home/kayg/.cache/codex-scratch/release-9-4/evidence/tracer-playwright-functional-final.log. I am running the full gutter spec on detachedabedd62b0as required.Confirmed pre-existing on detached
abedd62b0: fullphone-gutter.spec.tsatTRACER_TEST_PORT=4955completed 4 passed / 2 failed. It fails on the same 393x852 and 375x667 cases as the release head; both read#panesleft=0 against the test's 16 px expectation. The release browser suite was 103 passed / 2 failed; all 44 phone pill cases passed. Raw run: release suite, abedd62b0 baseline. Production-build Mesh screenshots: iPhone landscape, ink, iPhone portrait, paper, 375 px pointer, ink, 600 px pointer, paper.Tracer checks on the release head:
bun run checkexits 0. The unit-only run (bun test --path-ignore-patterns '**/*.spec.ts') reports 548 passed / 1 failed across 549 tests. Its sole failure, the deferred Brotli budget, also fails on detachedabedd62b0: 51,118 bytes against 45,056, versus 51,122 bytes on the release build. The 44-byte? No: the observed release/base delta is 4 bytes. The barebun testcommand also loads Playwright.spec.tsfiles in Bun's runner and reports 152 registration errors; those specs are run separately with Playwright. Receipts: release unit run, base budget check.Correction to the preceding unit-check note: the measured deferred Brotli delta is +4 bytes (51,122 release, 51,118
abedd62b0baseline). Both exceed the existing 45,056-byte budget.Started round 3 delta review on
review-mesh-drag-r3, candidate/base57d63ade9a91ca0f7256ff4d4a21761d75c0632efromorigin/mesh-drag-r2. The worktree is clean. Scope is review tests only; product code stays unchanged.Full Chromium matrix passes: 13 passed, 1 perf-only skipped. All ink/paper sizes from 1440×900 through 320×568 passed the overlap and cluster-count audit; the active-pan/growth case with 24 extra views passed the fixed-view and shared-layout checks. Production screenshots: ink, paper. Fresh WebKit screenshots and both browser logs are also attached. Raw Chromium output: chromium-matrix-final-pass.log. The ≤16 ms 20+ view measurement on the performance VM and repository gates remain.
Perf VM check passes: 28 views on x86_64 Linux, 4 CPUs, 8,069,112 kB RAM;
settleDisplayOnlytook 4.700 ms against the 16 ms budget. Store writes=0 and shared-layout updates=0. Load average was0.02 0.03 0.00before and0.09 0.04 0.00after; the Playwright test took 7.4 s. The mock server stopped cleanly (PID 2290239). Receipts: VM run and load, Playwright test. Repository iterate and final fast gates remain.Server test configuration finding resolved: the default-feature invocation had 387 passed, 2 failed, 25 ignored; both failures were the known
review_subscription_refusalexpectation mismatch whenremoteis disabled. The package suite with--features remotepassed: 633 library tests and 82 integration tests, 0 failures; 53 ignored across the package; doc tests passed. The required full-place storm case passed 5/5 consecutive runs. Receipts: default-feature run, remote-feature package suite, storm repeats.Finding:
bun testfromapps/traceris not a clean unit gate in this checkout. It ran 705 files/tests: 553 passed, 152 failed, with 151 unhandled Playwright runner errors because Bun discoveredreal/*.spec.ts; the remaining failure wasdead-session production canvas fits the deferred Brotli budget, which could not readapps/tracer/dist/chunks.jsonbecause no production build had been made. The raw output is attached: bun-test.log. This does not yet indicate a drag regression; the Mesh browser spec will run through Playwright separately.Finding on candidate
57d63ade9: the functional Mesh Playwright run onTRACER_TEST_PORT=4937completed with 39 passed and 4 failed. The added cases show:nix-cache(360,265) and replacementreview-added-mid-drag(368,250).701.398, received677.398).1093.398, received1127.600).data-liftedon the card.The remote negative-pin/origin test, pin limit, no-motion click, pointercancel and non-Mesh graph tests passed. The two frame-time cases, arrow-glide timing check and high-rate long-task check were excluded because this task forbids using the perf VM and shared-host timings are not valid evidence.
Logs and Playwright error contexts: functional run, remove/replacement, same-ID rebind, zoom change, second pointer.
Production-build captures for the passing remote-negative-pin drag case: before the next move, after the next move.
Step complete: added an opt-in prebuilt production-bundle mode for the browser review runner; commit
dc8ab2443is pushed to review-mesh-view-overlap. The same worktree passedscripts/verify iterate(exit 0): Rust gate fmt, VT native fmt, CLI plugin compile-out, clippy, SSH runtime test helper, tests, SSH inode reuse fixture and cargo-deny all PASS; tracer TypeScript suite 39 pass, 0 fail, 36,135 expect() calls. Full receipt: verify-iterate.log.Regression coverage is committed and pushed at
08749efba(runner support:dc8ab2443). Chromium and WebKit each passed 13 checks with only the perf-VM-only case skipped: ink/paper across six sizes, wrapped-count accessibility/CSS checks, and growth during a pan with 24 overlapping neighbours. Three grow/shrink cycles held positions and generated zero store or shared-layout writes. On the perf VM, 28 views settled in 4.700 ms (load 0.02/0.03/0.00 before, 0.09/0.04/0.00 after), under the 16 ms budget.Evidence: Chromium log, WebKit log, perf run and load, perf test. Production screenshots: ink WebKit, paper WebKit, ink Chromium, paper Chromium.
Static stripped binary size remains at the
abedd62b0caps: x86_64 21,389,296 bytes, aarch64 19,561,656 bytes, delta +0 for both. The final fast gate is still pending.Verdict: MERGE.
Findings: no defect found in the reviewed
c642dd27achanges.world.tssettles the full overlap set with the current view as anchor while retaining display-only geometry; the regression coverage observed the current view stay fixed on screen, unchanged serialized shared layout, and zero store/share writes. Mesh count wrapping, separator clipping, and the accessible full count passed in Chromium and WebKit across both themes and six sizes. Growth while panning and three grow/shrink cycles with 24 extra overlapping views stayed settled. Perf VM result: 28 views in 4.700 ms (≤16 ms).Branch
review-mesh-view-overlaphead:08749efba8. Commits pushed:dc8ab2443and08749efba. Finalscripts/verify fastexited 0. Stripped static sizes vsabedd62b0: x86_64 21,389,296 bytes (+0); aarch64 19,561,656 bytes (+0). Baseline fast onc642dd27aalso passed; its complete output is attached in the earlier review comment.Verbatim final gate summary:
+---------------------------+--------------+
| Rust gate | Result |
+---------------------------+--------------+
| fmt | PASS |
| VT native fmt | PASS |
| CLI plugin compile-out | PASS |
| clippy | PASS |
| SSH runtime test helper | PASS |
| test | PASS |
| SSH inode reuse fixture | PASS |
| cargo-deny | PASS |
| static builds | PASS |
+---------------------------+--------------+
39 pass
0 fail
36135 expect() calls
Ran 39 tests across 10 files. [4.82s]
Full output: verify-fast.log.
Merge steps 2 and 3 are complete and pushed with no conflicts: storm-test merge
2c49a3342; phone Mesh pill mergeb30bb81cf(headb30bb81cfc764772f667eb58a19b7d975c660905).Release artifacts are assembled under
/home/kayg/.cache/codex-scratch/release-9-4/artifacts. Stripped static sizes match the ratcheted caps: x86_64 21,389,424 B (+128 B vs 9.3), aarch64 19,562,296 B (+640 B). Full-image SHA-256:71ced02f01ef832af382e0df838bc9d62e5de1226ec302f3c5ea5c7836605ef3and347e9038784c927eb8ab22d0dbd0c8eb2e87554cb2215f26776b77c94fddedac. Other key hashes:web-dist.tar2bcca4cacd57cb6b98d85028547afcfa77105fc88a47e75834de5511bcb7b7cb;web-SHA256SUMS33785b57d1715e86ffd9939e41739cffc85f3e4481ca5512394bec1cf6036f42;MANIFEST.txt8112255927aba9937dc664e02ace0f515c4f49e3fc253d4f4895bc6785df3a75; rootSHA256SUMS2c0bd4575c07cbb649144fa853270b808b25d309b7afe8ea6204623afef914ec.Staging checks pass: 20 manifest digest/size checks, 272 web archive files, production preview review transport absent, all 30 migrations unchanged, schema 30; root, bundle and web checksum sets validate. Signed staging acceptance passed both checks; 12 handoffs retained 128 sessions and six browser sockets remained responsive. Its unique remote run directory was removed. Raw receipts are attached above; checksum list is a byte-identical
.txtcopy because the attachment service rejects extensionlessSHA256SUMS.Committed and pushed test-only review step
4702083d2onreview-mesh-drag-r3. The commit adds Mesh drag and pointer lifecycle regressions plus one mock probe;graph-view.tsis unchanged.bun run checkpassed after the final test edits. The functional Mesh run completed with 39 passed / 4 failed; the focused post-drop rerun is running on port 4937.Focused rerun on pushed commit
4702083d2(TRACER_TEST_PORT=4937) reproduces all four failures:nix-cacheand adding a different node while dragging persists both removednix-cacheat{x:360,y:265}andreview-added-mid-dragat{x:368,y:250}in the document and Mesh source.nix-cacheleaves the card 24 px left and 16 px above the drop pointer and writes no pin.0.8before moving leaves the card 34.2 px right and 22.4 px below the target. The expected pin is saved and the view position is unchanged.Focused output and contexts: run, remove/replacement, same-ID rebind, zoom, second pointer.
Finished #24 on
release-9-4. Headb30bb81cfc764772f667eb58a19b7d975c660905matchesorigin/release-9-4. No deployment was performed.Release artifacts are retained at
/home/kayg/.cache/codex-scratch/release-9-4/artifacts.SHA-256:
artifacts/infraternal-x86_64-musl—71ced02f01ef832af382e0df838bc9d62e5de1226ec302f3c5ea5c7836605ef3artifacts/infraternal-aarch64-musl—347e9038784c927eb8ab22d0dbd0c8eb2e87554cb2215f26776b77c94fddedacartifacts/web-dist.tar—2bcca4cacd57cb6b98d85028547afcfa77105fc88a47e75834de5511bcb7b7cbartifacts/web-SHA256SUMS—33785b57d1715e86ffd9939e41739cffc85f3e4481ca5512394bec1cf6036f42artifacts/MANIFEST.txt—8112255927aba9937dc664e02ace0f515c4f49e3fc253d4f4895bc6785df3a75artifacts/SHA256SUMS—2c0bd4575c07cbb649144fa853270b808b25d309b7afe8ea6204623afef914ecartifacts/bundle/SHA256SUMS—4c41e8831b8d1153e5271d224a73dfe078bf5fbc3d6731b265f1871dce5d5c69Static sizes against the 9.3 release: x86_64 21,389,424 B (+128 B), aarch64 19,562,296 B (+640 B). Both are exactly at their caps. Local artifact checks passed (20 manifest digest/size checks, 272 web files, schema 30 and migrations 1–30 unchanged). Remote signed staging acceptance passed both exact tests; 12 handoffs retained 128 PTY sessions, six browser connections stayed responsive, automatic rollback passed, and teardown reported
directory_absent=truewith the lock released.scripts/verify fastexited successfully. Full verbatim transcript: final-fast.log.Final output excerpts (verbatim):
The required
review_authority_capstorm test passed five consecutive runs. The tracer Playwright run had twophone-gutter.spec.tsfailures; the same two failures reproduced on detachedabedd62b0, while the full phone-pill spec passed 44/44. A separate tracer unit run had one deferred Brotli-budget failure on this branch and onabedd62b0(51,122/45,056 B vs 51,118/45,056 B);scripts/verify fast's production transfer budget passed (deferred 51,084/55,296 B). These baseline findings and receipts are recorded above in this issue.Orchestrator: release 9.4 deployed to production at 03:01 CEST (06:31 IST). Commit
b30bb81cf(release-9-4: auth-busy-1013 + flake-full-place-storm + phone-mesh-pill on top of 9.3abedd62b0).infraternal-serverMainPID 211431, active;/proc/211431/exeSHA-25671ced02f01ef832af382e0df838bc9d62e5de1226ec302f3c5ea5c7836605ef3= artifactinfraternal-x86_64-musl; healthz 200./var/backups/infraternal/20261022-030133-b30bb81cf….release-prod-live→b30bb81cf.Next: web-only swap with mesh-view-overlap (review MERGE) + mesh drag round 3 (review running).
Orchestrator: web-only update deployed (9.4 + web),
db4add238on top of 9.4b30bb81cf. No restart: MainPID still 211431, healthz 200.release-prod-live→db4add238.c642dd27a; review MERGE08749efba): Mesh growth settles every overlapped view; the count wraps without a dot.da5a2675a; review rounds r2 HOLD → r3 HOLD → r4 delta MERGEb56bdcb11): a drop writes only the moved pin (negative pins allowed); the card stays under the pointer when the origin changes mid-drag; a drag belongs to its node (pooled cards end their drag); a second pointer is ignored.bun run checkcompiles.Gates on this build: tracer check + canvas/connection unit tests + build + transfer budget PASS (critical brotli 255,839/256,000); Playwright mesh + mesh-view-overlap + phone-pill: 104 passed (15.3m).
Known: residual P3 from review: a pin for a host already gone at page load is never pruned (counts toward 256). WebKit touch/pen not measurable in headless.
kayg referenced this issue2026-10-28 17:53:56 +00:00
Orchestrator handover for the machine move: #254 (current state, decisions, work queue, tooling bundle location, cleanup). Branches cleaned 2026-10-28: unique tips kept as tags
archive/2026-10-28/*; 90 finished issues closed with evidence. dev still needs the release 9.4 + web merge (#254 §3b.1).Release 9.4 → dev merge (#254 §3b.1), started 2026-10-29 by the new orchestrator.
merge-release94-dev, baseorigin/dev81962ab09, mergingrelease-prod-livedb4add238. Headf069bb2a9(pushed).scripts/verify.d/rust.shanddocs/PROCESS.md, as expected.scripts/static-cargo, auth-toolchain Zig):x86_64 is byte-identical in size to the 9.4 artifact. Both caps are set to the measured bytes (D243, within the 16 KiB band). The release side's PROCESS.md table was stale (
5280c44d4raised the caps +384 B each without updating it); the merge records that.scripts/verify fastis running on the head now; the output follows here verbatim before dev moves.Started vm-test-paths for #24, base
05a9d872d(05a9d872db). Investigating real-binary fixture startup and short state paths; two separate test-only fixes, then full fast gate. No deployment.Finding on base
05a9d872d, build host 6by32-compute02:cargo test --locked -p infraternal --test agent_daemonfails at verify-agent.py:46 waiting forshim-test(22.21s). The supplied CARGO_BIN_EXE path is honoured:/home/agent/.cache/codex-scratch/vm-test-paths/target/debug/infraternal; a direct fixture probe confirms the daemon remains running and PTY output is the agent account's Bash prompt. There is no repository-relative binary override in this call chain.ZDOTDIRonly configures zsh, whereas this account uses /bin/bash. Fixing test shell initialization explicitly, without changing production shell selection or symlinking target/. Added invalid-binary regressions: both failed before the guard and pass after it, before any socket allocation.Step 1 committed and pushed:
3bcf4f8b3,test(fixtures): validate binary paths and initialize the real shell (#24). The real 24-stop restart oracle passes (1 passed, 0 failed); the invalid-binary path tests pass (2/2) and now run as their own fast-gate row.cargo fmt --all --checkandgit diff --checkpass. Shell initialization uses legacy writer zero; daemon test writers retain zero starting cursors. No target/ symlink or production source change.Second finding reproduced before the state-path fix:
session::user_host::tests::session_constructor_retains_only_the_bound_socket_pathpanics at user_host.rs:1744 withpath must be shorter than SUN_LEN(0 passed, 1 failed). The same repeated builders also omit parent creation. Replacing them in the shared-host unit fixtures with a cfg(test)-only INFRATERNAL_TEST_STATE_ROOT helper, checked short fallback, unique PID/counter state paths, and parent creation; assertions remain unchanged.Step 2 committed and pushed:
3c377fb1e,test(shim): share checked short state roots on build VMs (#24). The process-per-user shim lib suite passes: 199 passed, 0 failed, 19 ignored. The constructor regression also passes with an explicit configured root and with an overlong configured root exercising the checked fallback (each 1 passed, 0 failed). Standard touched-crate clippy, cargo fmt --all --check, and git diff --check pass. All existing assertions are unchanged; 23 repeated state builders now use the test-only helper, which creates only the parent before constructor startup.Supplemental
cargo clippy --features process-per-user --all-targetsfound existing warnings outside this patch: unused with_host_budget, needless_pass_by_value at user_host.rs:874, doc_markdown at :1008, and three cast_possible_truncation diagnostics in pool_usage_never_exceeds_cap_under_open_write_close_sequences. Confirming on detached base05a9d872d; this feature clippy invocation is additional to the repository fast gate. No production cleanup is bundled into these test-only fixes.Next: same-recipe static builds of the detached base, then scripts/verify fast on the pushed branch head and byte-for-byte comparison of both targets. One shared CARGO_TARGET_DIR, sequential static links, build-slot wrapper throughout.
Confirmed the supplemental process-per-user clippy result on detached base
05a9d872d: exit 101 with the same diagnostics (unused with_host_budget, needless_pass_by_value, doc_markdown, and the three truncating casts). Standard touched-crate clippy passes on the branch. This is not a fast-gate row failure and no lint allowances or production edits were added. Baseline static builds are now running sequentially through build-slot, sharing the job's one target directory.Detached base
05a9d872dstatic builds completed with the pinned scripts/static-cargo recipe on 6by32-compute02, sequentially through build-slot and the job's single target directory:Both match the existing exact ceilings. Full scripts/verify fast is now running on pushed head
3c377fb1e5; final artifacts will be compared with cmp as well as sizes/hashes. No caps changed.Full fast on
3c377fb1efound another test-only Bash portability assumption, previously hidden behind agent_daemon's early failure:infraternal/tests/shim.rs::ring_wrap_snapshot_repaints_real_vim(23 passed, 1 failed in that binary). A focused rerun with RUST_BACKTRACE=1 reproduces exit 101 and locates the wait at shim.rs:420, after Vim has already quit; it waits forshim-test, which only the zsh profile configures. The screen comparison assertions complete before this failure.The restart and queue oracles pass in the full run; the process-per-user row passes 199/0/19. Completing the current gate transcript, then adding a separate atomic test-only fix to set PS1 in the Vim fixture's existing shell command. No assertion, production shell selection, dependency, or size cap changes.
The first full fast run completed: every row passed except
test(the already-recorded post-Vim prompt wait). Both static artifacts passed their exact caps and compare byte-for-byte equal to detached base05a9d872dwith cmp:The Vim-only follow-up passed touched-crate clippy and all 24 shim integration tests (24 passed, 0 failed). It is committed and pushed separately; SHA follows with the final record.
Also finishing the brief's explicit binary-source requirement: verify-agent.py still had a legacy
target/fallback when neither --binary nor CARGO_TARGET_DIR was supplied. Removing only that fallback; explicit --binary still wins and an explicit CARGO_TARGET_DIR remains supported. Added a regression proving argument parsing rejects absent binary/build-root configuration before allocating state: failed before, 3/3 fixture tests pass after. The 24-stop oracle is rerunning with this parser change before its separate commit, then the complete fast gate will run on final pushed head.Follow-up commits pushed:
834826e8b: initialize the Vim fixture's shell prompt. Touched-crate clippy passes; all 24 shim integration tests pass (0 failed).64b435af1: remove verify-agent.py's implicit repository target fallback, preserving explicit --binary/CARGO_TARGET_DIR behavior. New missing-configuration regression failed before the change; fixture tests now pass 3/3, and the real 24-stop oracle passes again (1 passed, 0 failed).Final full scripts/verify fast is now running on pushed head
64b435af1. All production sources and size caps remain unchanged. Both shipping artifacts from the previous full run already compare byte-for-byte equal to base; the final gate will recheck both exact caps on this head. The earlier failing transcript is retained separately, not overwritten.The final run on
64b435af1exposed a further test-only SUN_LEN failure after the Vim fixture passed:infraternal-plugin-remote::runtime_lock::tests::foreign_inode_twin_inner, runtime_lock_tests.rs:463, binding the 32-digit stale session socket in its private namespace. The parentstale_session_endpoint_is_not_held_live_by_a_foreign_inode_twinthen fails; remote lib total is 98 passed, 1 failed, 15 ignored.Its shared Fixture currently appends decimal PID plus nanoseconds to a HOME-based rl230 root. That longest socket exceeds sun_path on this VM. Reusing the checked short fixture_state helper already introduced for the shim, including INFRATERNAL_TEST_STATE_ROOT and parent creation; no socket identity, namespace, inode-twin assertion, production code or dependency changes. This additional test-only fix is necessary for the requested all-green workspace gate.
The remote inode-twin fixture now reuses the checked short fixture_state helper. Workspace clippy passes. Focused runtime_lock tests pass: 17 passed, 0 failed, 2 ignored in the parent test binary; both namespace-only inner tests also actually ran and passed (1/0 each). No assertions, endpoint names, namespace layout, production source sections or dependencies changed. The fix is a separate pushed commit; the final head SHA will be in the finish receipt.
A standalone remote-package clippy attempt with only agent/server features could not build existing tests because it omitted workspace-unified rt-multi-thread/test-support features. Repeated using the repository's exact workspace clippy command, which passed; no manifest or feature selections were changed.
The second full fast transcript has every row PASS except
testfor the recorded remote SUN_LEN failure. A third complete fast run is now running on the new clean pushed head, preserving both earlier transcripts. Both static caps and byte comparisons passed in the preceding run; no caps changed.Finished implementation on
vm-test-paths, head4a6202a5299329411fcf94deef6b0181b054957c(all five atomic commits pushed).Final
scripts/verify fast: exit 0. Gate table verbatim:The remaining compiler, frontend production build/transfer budget, and protocol checks completed successfully. Final protocol output verbatim:
Final static images are byte-identical to base
05a9d872dusing the same pinned build recipe:Evidence: complete final gate, artifact comparison, base static builds, 24-stop oracle, shim suite, remote namespace tests and workspace clippy.
Cleanup verified: job CARGO_TARGET_DIR deleted; clean job and detached baseline worktrees removed; baseline image copies removed after comparison. Branch and remote head retained. Cleanup receipt.
Landed on dev:
81962ab09→4a6202a52(fast-forward).dev now contains production (
release-prod-livedb4add238) again. In order:f069bb2a9: release 9.4 merged back into dev; caps set to the measured merge 21,389,424 / 19,562,168.--binary/CARGO_TARGET_DIR(failing fast with a clear error) instead of<repo>/target. Shim and remote tests use the shared, checked short state root instead of$HOME/...(which exceededsun_pathunder/home/agent). New gate row:real-binary fixture paths. Both shipping binaries are byte-identical to #255's.scripts/verify faston4a6202a52: PASS, exit 0 (the table is in the comment above). Diff read by the orchestrator.Every branch that predates this needs
git merge origin/devbefore its final gate:cargo-denyfails on the old tokio.Start release 9.5 integration. Branch integrate-9-5, base origin/dev
07c5da77b. Merge reviewed #240 head820890478(final round-3 review57165ba12). Preserve both sides, sequential pinned static rebuilds and exact D243 caps, five #240 union repetitions, #252 setup-token tests, then final committed-head scripts/verify fast. Will push only integrate-9-5, never dev; no deployment.Merge findings: exactly three conflicted files. auth/tests.rs appended independent tests on both sides; retained public_status_result_fields_are_listed_in_the_auth_contract, account_logout_does_not_notify_another_account, and logout_commit module. docs/PROCESS.md retains #252 and #240 histories; current table will use merged measurements. scripts/verify.d/rust.sh changes only the exact size caps after measurement. No conflict in production code. Cargo.lock and the #255 shim ownership sources are identical to reviewed #240; static builds are running sequentially through build-slot on 6by32-compute02.
Merged x86_64 pinned stripped static image: 21,420,592 bytes; no PT_INTERP. Delta +20,192 versus dev
07c5da77b(21,400,400), +18,816 versus reviewed #240 alone (21,401,776). Sequential ARM build is running through the same build slot on 6by32-compute02.D243 growth justification: this integration retains both reviewed behaviors: #240 account-isolated revocation, retained commit/publication under caller cancellation and typed unavailable teardown, together with #252 installed-service setup command and data resolution. Neither branch's caps predict the combined link. There is no manual production-code resolution, dependency/feature/profile change, duplicated helper or added runtime work in this merge. Per the integration brief, the cap will equal the actual merged bytes with no allowance. Both original size histories are retained; final merged table and ARM measurement follow.
Both sequential pinned stripped static builds passed on 6by32-compute02, with no PT_INTERP:
07c5da77b820890478Both caps now equal the measured merge bytes, with no allowance. docs/PROCESS.md retains both parent histories and adds this comparison. D243 growth retains reviewed account isolation, cancellation-safe commit/publication, unavailable-authority teardown and installed-service setup resolution; no manual production-code resolution, dependency, feature or profile changes. Parent deltas are non-additive at link time.
Fresh fmt, shell syntax and diff checks passed. Size boundary tests passed exact caps, one byte over rejection, downward ratchet and unsupported target. Five #240 unions are compiling/running through one build slot; #252 tests follow.
static-build.log
Five consecutive #240 union runs passed on the merged source. Each: 51 passed, 0 failed, 1 perf-only ignored. All ten 256-socket/61-account cases report 16 affected, 240 unaffected, unrelated_reads=0 and recovered=240. Recovery/revocation source-loss checks report codes=[1013], reread=false. No baseline exception used. #252 CLI, status and production-browser functional checks are now compiling/running; committed-head fast gate follows.
Integration merge committed/pushed only to integrate-9-5:
8f88bf086f(parents dev07c5da77band #240820890478). Every conflict resolution is documented in the commit message. Dev was not pushed; no deployment.Targeted merged-tree checks passed: five consecutive #240 unions, each 51/0 (one perf-only ignored); six setup_output CLI tests; four token/data-resolution unit tests; 22 server setup/public-status tests; service-discovery suite; both unchanged system-service production-browser tests at unique port 51295 with zero synthetic RTT for functional validation. Display/copy at 393px and bounds at 375px pass. Final scripts/verify fast is running on this committed head; this is not yet the final qualification report.
Finished release 9.5 integration on
integrate-9-5, head8f88bf086f5c3d3c3a57d4bc8529befbcb0ca176. Pushed only this branch; local and origin heads match, worktree clean. Dev was not pushed; no deployment. The merge message records every conflict resolution: retain both auth test additions and logout_commit module; retain both PROCESS histories with a new comparison; use freshly measured exact merged caps.Pinned stripped static sizes, built sequentially on 6by32-compute02 and reproduced by the final gate: 21,420,592 / 19,592,504 bytes (x86_64 / aarch64), no PT_INTERP. Delta versus dev
07c5da77b: +20,192 / +17,440 bytes. Both exact caps have no allowance; reviewed behavior and combined-link growth justification are recorded above and in PROCESS.md.Five consecutive #240 unions each passed 51/0, one perf-only ignored. All ten 256-socket cases: unrelated_reads=0, recovered=240. Source-loss cases: codes=[1013], reread=false. #252 checks passed: setup_output 6/0, token/data resolution 4/0, server setup/public status 22/0, service discovery 14/0, production-browser display/copy and phone bounds 2/0. No baseline exception used.
Final
scripts/verify faston this committed head, verbatim summary and observed exit:Full server result, verbatim:
Final protocol output, verbatim:
Gate limitation, verbatim:
Verified no executable was running from the job target, then deleted CARGO_TARGET_DIR. Evidence is outside the repository. Issues remain open.
verify-fast.log
static-build.log
union-1.log

union-2.log
union-3.log
union-4.log
union-5.log
focused-tests.log
self-review.txt
cleanup.json
dev fast-forwarded to
8f88bf086(release 9.5 candidate: 9.4 back-merge, #255 tokio, VM test fixes, D311, #252 setup-token, #240 account sign-out wakes). Gate PASS on this exact head (comment above). Next: release build, perf on perf-test-01 vs production 9.4, then deploy.Release 9.5 packaging/perf-kit implementation started. Detached worktrees: release-9-5 at
8f88bf086(origin/dev candidate), release-9-4-base atdb4add238(production baseline). No source changes planned. Read #24 history (no parent), shared rules and release procedures. Will build/qualify locally through build-slot, package both architectures and web, and prepare an interleaved loopback-only comparison kit. No deployment or contact with perf/production hosts.Release 9.5 migration check complete at
8f88bf086against productiondb4add238: no added migration files. All 30 SQL files (0001–0030) are unchanged byte for byte. Individual SHA-256 receipts are retained in ~/release-out/9.5-8f88bf086/migrations.json. Release 9.x history confirms the cross-root static reproducibility gate is required; the full fast gate is running through build-slot. Perf kit is being adapted from scripts/bench-idle-routes.py's production WebSocket driver without its root/systemd-only launcher. No remote hosts contacted.Release 9.5 final fast gate PASS (exit 0), unchanged source
8f88bf086f. Both static images are exactly at their D243 caps: x86_64 21,420,592 bytes, SHA-256 5c084e34bbdc82d8a0d57e58ca7397b08039d841e0f724f4fe1bf42408bf7032; aarch64 19,592,504 bytes, SHA-256 b78053a4a314275afc676271a5b51b8a980972c9017bf17708295563eff05d23. Static linkage/trust/key-memory and frontend transfer-budget checks passed.Verbatim Rust gate output:
Verbatim final output:
Full verbatim gate log and byte-for-byte migration receipts:
verify-fast.log
migrations.json
Cross-root reproduction is now running; package-release, local release qualification and the same-recipe 9.4 baseline follow serially. No deploy or remote-host contact.
Release 9.5 cross-root static reproducibility PASS at unchanged
8f88bf086. Both targets match the fast-gate binaries byte for byte. The detached comparison checkout, Cargo registry, Rustup toolchain and target root differed; forced shared-cache compilation exposed the Rust/native remaps correctly, and no build paths leaked. Temporary comparison roots were removed.The non-root one-shell kit preflight also passed fresh schema 30, real server/PTY echo, rotated Hello+Resume with the same connection identity, replay fencing, post-resume input and complete owned-process cleanup. A missing-process teardown edge case is covered by a failing negative control and passing corrected-runner check. This is functional evidence only, not performance evidence. The full both-builds N=1/10/50 smoke remains pending the baseline build. Official package-release is running serially through build-slot. No deploy or remote host contacted.
reproducibility.log
report.txt
kit-preflight.log
cleanup-regression.txt
Release 9.5 official packaging completed at source
8f88bf086: ~/release-out/9.5-8f88bf086/bundle. Independent checks pass for all seven static executables (correct ELF architecture, no PT_INTERP, no staging trust), 284 production web files, exact web commit8f88bf086, archive byte equality and bundle/web checksums. Full server images match the final-fast/repro hashes.Local release test.py 8/8, production trust 1/1, signed staging-artifact verifier 1/1 and Bun release review/metadata tests 9/9 PASS. One additional check FAILED: scripts/release/channel_cli_test.py:33 expects standalone Overview/Release/Next step headings. Current actual output is:
Its preceding JSON assertion passes. No candidate source or test expectation was changed. The 9.4 baseline is now building with the same pinned release profile/toolchains so the identical test can determine whether this is inherited. Final scripts/verify fast remains PASS; classification of the additional CLI check is pending. No deploy or remote-host contact.
package-release.log
release-local-tests.log
release-bun-tests.log
artifact-checks.log
Same-recipe 9.4 build complete at
db4add238e: static x86_64, 21,389,424 bytes, SHA-256 71ced02f01ef832af382e0df838bc9d62e5de1226ec302f3c5ea5c7836605ef3, exactly matching the historical 9.4 receipt. Candidate is +31,168 bytes and matches its existing D243 cap.The identical candidate scripts/release/channel_cli_test.py fails against 9.4 at the same line 33, missing Overview heading, with identical human stdout. The extra CLI test mismatch is inherited; it remains FAILED for both builds, not waived or patched. Final fast gate remains PASS. Full six-fixture functional-only kit smoke is running locally; no performance claims and no remote-host contact.
baseline-channel-cli.log
baseline-build.log
Functional kit smoke found a driver process-census race at N=10 after both N=1 fixtures passed: a short-lived child disappeared during /proc/PID/stat read, which returns ESRCH/ProcessLookupError as well as ENOENT/FileNotFoundError. Cleanup receipt confirms no surviving owned processes and runtime removed. Added missing ESRCH handling to kit census paths; deterministic regression fails before and passes after. Release source/binaries unchanged. Rerunning full six-fixture smoke. Local timings are not performance evidence.
kit-smoke-first.log
process-exit-before.log
process-exit-after.log
Release 9.5 implementation handoff complete at unchanged head
8f88bf086f(detached candidate; no commits). Release root: ~/release-out/9.5-8f88bf086/; official package-release bundle under bundle/, both full static server images and production web alongside it. No deploy, perf-host or production contact. Both clean detached worktrees and the job CARGO_TARGET_DIR were removed; ~/release-out is preserved.Migrations added since 9.4: none. Production 0001–0030 are byte-identical (per-file SHA-256 receipt already attached). Cross-root static reproducibility PASS for both architectures. Same-recipe baseline exactly matches historical 9.4 receipt. Candidate x86_64 delta +31,168 bytes, matching the existing candidate D243 cap.
Known qualification limitation: additional channel_cli_test.py remains FAILED at line 33 on BOTH 9.4 and 9.5 with identical human output; inherited expected-heading mismatch. No source/test changes or waiver. Main scripts/verify fast PASS, exit 0. Local release scripts 8/8, trust 1/1, staging verifier 1/1 and Bun release metadata/review 9/9 PASS. Remote staging/deployment qualification belongs to the orchestrator.
Perf kit: ~/release-out/perf-9.5-vs-9.4.tgz
SHA-256: 527a02ee2fb60ece16195828af10b39c7e4ea1295a9c046f2e4f92186a0e0d65
Functional-only local one-iteration smoke PASS: six fixtures (both builds × 1/10/50 shells), 24 idle role records, six typing, six resumed/replay/fresh-echo checks, six exact 50 MiB credited floods, six successful cleanup receipts. Frozen tgz bytes verified against the checksum-qualified kit. All 311 PIDs recorded across initial/final smoke cleanup receipts are absent from /proc; private runtime removed. Smoke timings are NOT performance evidence. Full run is interleaved A/B/A/B per scale, expected 27–29 minutes, capped at 29 minutes. Transport echo includes the shipping server/embedded/shim/PTY path; browser rendering is outside this kit.
Verbatim Rust gate output:
Verbatim final output:
Artifacts and functional receipts:
MANIFEST.txt
release-SHA256SUMS.txt
RUN.md
SOURCES.json
smoke-summary.json
kit-smoke.log
MANIFEST.txt, verbatim:
RUN.md, verbatim:
Release 9.5 versus 9.4
Copy
perf-9.5-vs-9.4.tgzto~/infraternal-perf/on perf-test-01, andextract it there with
tar -xzf perf-9.5-vs-9.4.tgz. No checkout, Rust,package installation, root, service manager, remote credentials or external
network is needed. Dependencies are Python 3 (standard library), the login
shell, and Linux
/proc; both static x86_64 builds are included. Bun is notneeded. Run as the ordinary
agentaccount.From
~/infraternal-perf/, run this single command:Expected duration: about 27–29 minutes on the 4-vCPU / 8-GB perf VM. The
runner has a 29-minute wall-clock deadline (including setup and cleanup),
so the one machine-wide lock stays below 30 minutes. A deadline or failed
assertion is a failed/incomplete run: do not treat partial receipts as a
passing comparison. Use a fresh output name if rerunning. No synthetic CPU
load is generated. Do not use
--cold: this comparison measures normalsteady state after an identical 10-second settling interval per fixture.
The maximum per-fixture diagnostic timeout is seven minutes, inside the
29-minute whole-run deadline.
For each shell count 1, 10 and 50, the order is 9.4, 9.5, 9.4, 9.5.
Each row creates a fresh private database and runtime, then removes it.
The same runtime pathname and dimensions (80×24) are used for both builds.
There are exactly N real idle shell sessions during each idle observation,
a server and its embedded infraternal agent. No browser is attached during
idle measurement. This is detached-idle scale, not attached-browser idle.
Measurements:
one-core CPU percent separately for server, embedded infraternal agent,
N shims and N shells. RSS includes shared pages and is not PSS or unique
memory. CPU uses process utime+stime ticks, including all threads.
production WebSocket → server → embedded infraternal agent → shim → PTY
path. A small raw-mode Python echo command in the real shell avoids line
editing and command parsing. Reports nearest-rank p99. This is terminal
transport echo, not browser input-to-glyph/render time, and includes
the wire driver and PTY echo process overhead. There is no artificial RTT.
the shipping adjacent Hello + Resume handshake (same connection identity and
a rotated in-memory resume credential), same-session AttachTerm, ordered replay-complete fence,
acknowledged prior input, and a successful fresh echo. Offline delay is
zero. Both input/output byte cursors are checked.
y\nstream is routed through the same shipping server path. Every output byte
and sequence cursor is checked; snapshots or lost/duplicate bytes fail.
The producer is the included raw-echo Python command. This is wire/PTY
throughput, not browser-render throughput.
results-9.5-vs-9.4/RESULTS.mdis the readable comparison table.results.jsonlretains every typing observation, each reconnect, each idlesample's load, binary hashes, machine identity, kernel/CPU count, and cleanup
receipts. Every metric has contemporaneous
/proc/loadavgand monotonicclock readings. The table includes 1-minute load; use JSONL for the full
1/5/15-minute loads and runnable-task count. The results directory must not
already exist. The supplied
SHA256SUMSis verified before launching a server.The only listeners/connections created by the runner are loopback WebSockets
and private Unix sockets. Servers have fresh databases, no remote hosts,
no remote listener and no mesh configuration. The fixture auth capability
exists only in memory; the private SQLite database stores its hash. Server
output is discarded, and exception bodies are suppressed. Cleanup signals
only fixture-owned PIDs after verifying birth ticks, removes private runtime
and database state, and records any remaining live processes as a failure.
The default short runtime is
~/infraternal-perf/.r95and must be absentbefore starting. No user data or existing service is touched.
Reuse:
scripts/bench-idle-routes.pysupplies the production WebSocket muxdriver, route proof replies, and private shim peer census;
agent_fixture.pysupplies the protocol varint;latency_proxy.pyandidle_canary.pyare included unchanged as dependencies/reference.Resource accounting follows
measure-session-memory.pyand the creditedflood assertions follow
verify-agent-flood.py. Neither original root-onlylauncher nor a remote staging script is invoked.
For a functional-only one-iteration smoke (A/B at all three scales):
Smoke uses one-second idle windows, five echo bytes and one reconnect.
It still creates all 1/10/50 real shell counts and verifies 50 MiB per
fixture. It proves execution and cleanup only. Smoke timings are not
performance evidence. The shared build host runs only this mode; the
orchestrator runs the full comparison on perf-test-01 under its lock.
Release 9.5 (
8f88bf086) versus production 9.4 (db4add238, binary SHA-256 71ced02f… = the production exe) on perf-test-01 (x86_64, 4 vCPU / 8 GB, underperf-run.sh, interleaved 9.4/9.5/9.4/9.5, 2026-10-30 ~06:35–07:05 IST; load ≈ 0.0).Incomplete run: the harness stopped with an AssertionError in
bench-idle-routes.py:186during the 9.4 baseline reconnect at N=10 (third pass), so the N=50 rows were not measured. Medians from the completed rows:Reading: typing and idle are equal or better; reconnect is +0.1 ms (noise level). Flood throughput is about 5 % lower on 9.5 with only 1–2 samples; it needs a repeat with more iterations before it counts. Follow-ups: fix the harness assertion on the 9.4 baseline, then rerun N=50 and flood ×5 interleaved.
The deploy is blocked: the new orchestrator host
codecan't reach monitor01 over SSH (NetBird ACL). Bundle verified and staged.Starting #24 perf-kit repair on branch perf24-reconnect, base
8f88bf086f. Read latest incomplete perf table. Investigating browser EOF at bench-idle-routes.py:186 with local N=10 reconnect loops on both frozen builds, then five interleaved flood repeats and split kits capped below 28 minutes. No perf-host or production contact; smoke timings are not evidence.Reproduced the reported stack exactly locally in functional smoke on the unchanged frozen 9.5 binary: N=10, pass 3, after seven reconnect receipts, browser_close code=null, bench-idle-routes.py:186 via run.py:82/247/337/388/417. 9.4 completed 30 reconnects before this run stopped; 9.5 completed 27. Cleanup ran for every started fixture. Therefore this is not specific to production 9.4.
Cause in both builds: resume_connection admits only active=0; run_socket drops the transport before asynchronously committing active=0. The harness aborts the client transport, awaits only local close, and immediately resumes. That can beat server teardown and be refused. Existing real-socket repository tests explicitly wait_connection_inactive before Resume (auth/tests.rs:1390,1880). Fix in progress: bounded read-only readiness observation of the private fixture DB after abort, inside the original drop-to-resumed/replay/fresh-echo timer. No sleep excluded from the result, no failed resume silently retried, all identity/token/cursor checks retained. Smoke timings are not performance evidence.
Reconnect harness fix committed as
c8d045e76(branch perf24-reconnect). Functional fixed-path N=10 stress PASS: 20 independent passes/build × 10 reconnects = 200/build, 400 total; 40 successful cleanup receipts. Teardown observation needed more than one poll in 28 baseline and 15 candidate reconnects, confirming local close can precede committed readiness. Timer includes the observation. Original-path independent repetitions are also reproducing failures on BOTH builds; complete counts and attached receipts follow. No shipping code/binary changes, no perf or production contact, no timing claims from this host.Sampling design: split A=N=1/10, B=N=50; unchanged two full metric passes per build/N, then five fresh interleaved flood-only pairs per N, identical settling and no preceding workload. Tables will retain every sample and report median, min–max and inclusive IQR. Deadline 1660 seconds plus cleanup; planned A fixed windows 1240 seconds + approximately 50 seconds flood using prior perf evidence, leaving 370 seconds for setup/other work. B fixed windows 620 seconds + approximately 25 seconds flood, leaving 1015 seconds. These are budgets pending perf-host execution.
Offline kit repair and sampling changes built at local branch head
aae89d446(perf24-reconnect; fixc8d045e76). No push, deploy, perf-host or production contact. Final scripts/verify fast is RUNNING; this is a smoke-qualified artifact handoff pending that repository gate.Root cause: a harness teardown/readiness race, not a 9.4-only product regression. Resume deliberately requires active=0, but server transport drop precedes the async SQLite inactive commit. The original driver waited only for local TCP close and could race that commit. Original N=10 smoke, 20 passes/build × up to ten reconnects: 9.4 failed 3/20 passes; 9.5 failed 2/20. Local failure reproduced the supplied stack through bench-idle-routes.py:186 and browser_close code=null. The perf raw log was not supplied or fetched. A deterministic live check on each frozen build confirms active-identity refusal followed by inactive-identity success/rotation. Existing repository auth tests already use this readiness barrier.
The repaired driver observes only its private DB read-only, bounded at 3 seconds, INSIDE the original abort-to-resumed/replay/fresh-echo clock. No failed handshake is retried. Token rotation, same identity/session, byte cursors, acknowledged input, replay fence and fresh echo are unchanged. Readiness wait/polls are separate fields; old unsynchronized reconnect numbers are not directly interchangeable. Fixed N=10 smoke PASS: 20 passes/build × ten reconnects = 200/build, 400 total. 28 baseline and 15 candidate reconnects needed multiple readiness polls. This does not measure production performance.
Two kits: A=N=1/10; B=N=50. Each preserves two complete metric passes/build/N (120-second detached idle, 500 typing echoes, ten reconnects). Five separate fresh flood fixtures/build/N run as five 9.4/9.5 pairs, with identical 10-second settling and no prior typing/reconnect workload. RESULTS.md reports all samples plus median, min–max and inclusive IQR. Full schedules smoked locally: 30 exact 50 MiB floods, 12 full metric fixtures, 42 cleanup receipts. Both kits retain the qualified binary bytes (9.4 71ced02f…; 9.5 5c084e34…). No shipping source, dependency, schema or profile change.
Each command has a 27m40s cancellation deadline plus cleanup, seven-minute fixture timeout. A fixed windows=1240 seconds, plus ~50 seconds flood using the prior perf-host table, leaving 370 seconds for setup/other work. B fixed windows=620 seconds, plus ~25 seconds flood, leaving 1015 seconds. These are budgets, not local timing evidence. Run separately and release the machine-wide lock between kits. Extract each archive under ~/infraternal-perf first. From that directory:
Kit A: ~/release-out/perf-9.5-vs-9.4-A.tgz
SHA-256 ff89eb91638a4a138f921e8bc4b3a107247cea615283b2b496569a48c33d88fa
Kit B: ~/release-out/perf-9.5-vs-9.4-B.tgz
SHA-256 5bb3f1c6269d5a37ef88a70a839e7fcb2d7e191c7439f349e5ebb613aff56757
All diagnostic/smoke runs together: 137 cleanups; all 4263 recorded PIDs absent; private runtimes removed. Smoke timings are NOT performance evidence. No new flood performance conclusion until the orchestrator runs both kits on the perf VM.
Evidence (source attachments use .txt because the attachment endpoint rejected .py with HTTP 422):
original-loops.log
original-20.log
original-reconnect-repro.txt
fixed-reconnect-receipts.txt
active-proof.log
active-state-proof.txt
functional-summary.json
regression-final.log
RUN.md
Completed #24 offline perf-kit repair at local branch head
aae89d4463(perf24-reconnect; atomic commitsc8d045e76andaae89d446). Worktree clean. No push, deployment, perf-host or production contact.Root cause is the harness resuming before server teardown commits active=0. The original N=10 path failed 3/20 baseline passes and 2/20 candidate passes. Fixed path passed 20 passes/build × ten reconnects = 400 reconnects, retaining same identity, token rotation, replay fencing, byte cursors and fresh echo. Read-only readiness observation is bounded and included in drop-to-echo latency; refused handshakes are not retried. Both builds intentionally refuse active identities; deterministic live checks confirmed success after inactive commit. Detailed cause, source references and original/fixed receipts are in the preceding handoff comment.
Final full-schedule smoke PASS for both kits: 30 exact 50 MiB floods (five interleaved samples/build/N at 1/10/50), 12 full metric fixtures and 42 cleanups. Across all diagnostics and smokes: 137 cleanups, 4263 recorded PIDs absent, private runtimes removed. Smoke timings are not performance evidence. New perf medians/min–max/IQR will be generated by RESULTS.md on the perf VM; no new throughput conclusion is claimed here.
A covers N=1/10; B covers N=50. Each retains the full 120-second idle windows, 500 typing echoes and ten reconnects, twice/build/N, plus five independent identically prepared flood fixtures/build/N. Each command has a 27m40s cancellation deadline plus cleanup. The fixed-window budgets and headroom are documented in RUN.md and the preceding comment. Run separately so the machine-wide lock is released between kits.
D243: fresh static head images are byte-identical to the qualified merge-base 9.5 images on BOTH architectures. x86_64 21,420,592 bytes (SHA-256 5c084e34…); ARM 19,592,504 bytes (b78053a4…). Shipping delta from this job is 0 bytes; the existing 9.5 versus 9.4 +31,168-byte x86_64 delta is unchanged. No shipping source, dependencies, features, schema or release-profile changes. Author check covered measurement boundaries, strict refusal/cursor assertions, identical flood setup/order, license headers, artifact checksums and owned-process cleanup.
Final scripts/verify fast: PASS, exit 0. Verbatim Rust gate output:
Verbatim final output:
verify-fast.log
rust-gate-summary.txt
binary-size.json
cleanup-complete.json
Own build target and temporary diagnostic kit deleted; source worktree remains for review and release-out/evidence are preserved. Original 527a02ee… archive is unchanged.
Kit A: ~/release-out/perf-9.5-vs-9.4-A.tgz
SHA-256 ff89eb91638a4a138f921e8bc4b3a107247cea615283b2b496569a48c33d88fa
Kit B: ~/release-out/perf-9.5-vs-9.4-B.tgz
SHA-256 5bb3f1c6269d5a37ef88a70a839e7fcb2d7e191c7439f349e5ebb613aff56757
Extract under ~/infraternal-perf, then run each single command from that directory (fresh output names):
Starting release 9.5b packaging/perf-kit rebuild on 8by64-compute02. Branch release-9-5b, base/head
0c8639496b; baselinedb4add238e. Will preserve the 9.x package recipe, run final fast and cross-root static reproducibility, check all migration bytes, and rebuild the repaired split perf harness against the new candidate. Heavy commands serialized through build-slot. No deploy, perf-host or production contact; local smoke is functional evidence only.Release 9.5b migration check at
0c8639496versus production sourcedb4add238: no added migrations; all 30 SQL files (0001–0030) byte-identical. Per-file SHA-256 and equality receipt: ~/release-out/9.5-0c8639496/migrations.json. Final fast gate is running through build-slot. Prior repaired perf kit harness is absent locally (its commits were not pushed); requested relay of the exact A/B archives while continuing qualification. No remote-host contact.Exact harness reuse input: repaired A/B tgz archives are absent on 8by64-compute02, and commits c8d045e76/aae89d446 are absent from this clone (prior job recorded no push). One bounded read-only NetBird SSH copy attempt to the named 6by32-compute02 timed out after 20 seconds with zero bytes; no key accepted or changed. Please relay ~/release-out/perf-9.5-vs-9.4-A.tgz and -B.tgz to ~/release-out on this VM (published hashes ff89eb91… and 5bb3f1c6…). Continuing local release qualification; no perf-host/production contact.
First release 9.5b fast run found a fixture-path setup failure before exercising the replay assertions: adopted_raw_and_snapshot_replays_keep_pre_resize_geometry calls fixture_state('rr257'); scripts/agent_fixture.py rejects its fallback at 108 bytes (AF_UNIX limit is 107 pathname bytes). Full traceback is retained in verify-fast.log. The PID here has seven digits, making the default fallback too long. No product failure or waiver is claimed. Will rerun the unchanged test and complete fast gate with a real private short INFRATERNAL_AGENT_TEST_STATE_ROOT under ~/.cache/codex-scratch/r95b. No source, assertion, timeout or profile change.
Release 9.5b candidate x86_64 static image built at unchanged
0c8639496with the pinned scripts/static-cargo recipe: 21,431,472 bytes, exact existing cap; SHA-256 159ed851c60e93a2e2960cab0ab101c16e22f6c532b96039bb2b0206d381f194. ARM build is now running serially in the same build slot. Qualification is not yet complete: first fast has the documented 108-byte fixture setup failure; the default-path refusal was independently reproduced, and the configured private root yields 101 bytes. Full rerun, reproducibility, packaging and baseline hash check remain pending. No source changes or deploy.Both pinned static builds completed sequentially at unchanged
0c8639496; exact caps, linkage, production trust and compiler metadata passed. x86_64: 21,431,472 bytes, SHA-256 159ed851c60e93a2e2960cab0ab101c16e22f6c532b96039bb2b0206d381f194. Aarch64: 19,605,896 bytes, SHA-256 6b6f43a4c13d47d9cc7ad79c16f250cee25312a3b5819caa36deee110a06e403. Native key-memory check passed on x86_64; ARM runtime is not executed on this x86 host. First full-fast Rust summary passed every row except test, whose sole reported failure is the previously documented 108-byte rr257 fixture path. Short-root focused test and complete final fast are now running in one build slot. No source/threshold/profile changes or waiver.Release 9.5b final scripts/verify fast PASS, exit 0, unchanged head
0c8639496b(release-9-5b). The short-root focused replay test passed unchanged; the complete rerun passed every Rust and frontend row. No source/assertion/threshold/profile change or waiver. Static images retain exact existing caps. Cross-root reproducibility and official packaging now run serially through the build slot. Own completed debug output removed to release disk. No deploy, perf-host or production contact.Verbatim final gate output:
verify-fast-final.log
gate-summary.txt
fixture-path-proof.log
replay-size-short-root.log
Release 9.5b milestone, unchanged head
0c8639496b(release-9-5b): scripts/test-static-reproducibility.py PASS, exit 0. Independent checkout, Cargo, Rustup and target roots, forced recache; cache-visible remaps verified and no embedded build paths.x86_64: 21,431,472 bytes; both builds SHA-256 159ed851c60e93a2e2960cab0ab101c16e22f6c532b96039bb2b0206d381f194.
aarch64: 19,605,896 bytes; both builds SHA-256 6b6f43a4c13d47d9cc7ad79c16f250cee25312a3b5819caa36deee110a06e403.
Packaging/remaining local qualification continues sequentially through one build slot. No perf-host or production contact, deployment or shipping-source changes.
reproducibility.log
Release 9.5b qualification milestone at unchanged head
0c8639496b. scripts/package-release and test-package-release.py PASS (including partial-bundle refusal). Local release/test.py, production_trust_test.py, staging_artifacts_test.py and Bun metadata/review PASS. Independent audit: seven static ELF images, correct architectures, no PT_INTERP/staging trust; 284 production web files with correct source commit, no preview transport, matching archive bytes and checksums.Migrations: none added since 9.4
db4add238e; production-source 0001–0030 are byte-identical, per-file SHA-256 evidence attached. Fresh fixtures apply through schema 30. No production contact.Rebuilt baseline x86_64: 21,389,424 bytes, SHA-256 71ced02f01ef832af382e0df838bc9d62e5de1226ec302f3c5ea5c7836605ef3, exactly the supplied production digest. Candidate is +42,048 bytes versus 9.4, +10,880 versus the first 9.5 bundle. Packaging changes shipping source/profile/dependencies by zero bytes.
Additional unchanged channel_cli_test.py exits 1 identically on candidate and baseline at line 33: expects standalone Overview heading; both print Release channel: stable / Channel stable / Next. This inherited formatting-test failure is retained explicitly, not marked passing and not patched. The required final scripts/verify fast passed (prior attached full transcript).
Both regenerated kits now use these verified binary bytes. All four upstream fixture helpers match the original SOURCES.json hashes. Their schedule/measurement boundaries follow the original attached RUN.md; the original archive/driver was unavailable, so byte-identical harness reuse is NOT claimed. Local full-fixture-matrix smoke is running; timings are not performance evidence. No perf-host contact or deployment.
artifact-checks.json
migrations.json
candidate-channel-cli.log
baseline-channel-cli.log
Completed the offline release 9.5b bundle and perf kits on 8by64-compute02. Branch release-9-5b, head/base unchanged at
0c8639496b; no shipping source changes, commits, push, deployment, perf-host contact or production contact. Issue remains open.Bundle: ~/release-out/9.5-0c8639496/. Standard 9.x scripts/package-release payloads, full static x86_64 and aarch64 binaries, production web dist/archive, build recipe, migration inventory and recursive SHA256SUMS. All 297 sealed file checksums verified. MANIFEST.txt SHA-256 abbf013e1b383c7a7b4a83857acc0bc04e788143c4d6ed4ed1489d883c9f6594.
Migrations: no additions since production 9.4 source
db4add238e; 0001–0030 byte-identical. Rebuilt 9.4 x86_64 baseline matches the supplied production digest 71ced02f01ef832af382e0df838bc9d62e5de1226ec302f3c5ea5c7836605ef3. Reproducibility PASS on both architectures across distinct checkout/Cargo/Rustup/target roots. Packaging, partial-bundle refusal, local release/trust/staging and Bun metadata/review checks PASS. Additional channel_cli_test.py retains its inherited standalone-Overview formatting failure, exit 1 identically on candidate and baseline; the preceding milestone contains both exact transcripts. It was not waived into a PASS or patched.Perf harness provenance: regenerated from the original documented split-kit design and unchanged repository primitives; all four primitive hashes match the original SOURCES.json. Original driver archives were unavailable, so this is not a byte-identical driver-copy claim. The initial N=50 smoke exposed an ambiguous census assumption (all non-shim server children treated as the embedded infraternal agent). The driver now selects the exact documented Linux /proc/self/exe agent --fd 3 invocation plus process-birth identity. Direct executable inspection is deliberately unavailable for these non-dumpable processes; no security settings were changed. The one-process assertion remains strict. Final complete fixture-matrix smoke repeated on BOTH exact archived trees: 12 metric fixtures, 30 exact 50 MiB floods, 42 cleanups, 1,869 final-smoke births absent. Across all retained smoke/diagnostic cleanup receipts: 84 receipts, 3,534 recorded births absent; private runtime removed. Timings on this build VM are NOT performance evidence.
Kits contain the verified baseline and candidate, RUN.md, one perf command, source/binary provenance, helper scripts and checked file hashes. A=N=1/10, B=N=50; two interleaved full metric passes/build/N plus five fresh interleaved flood pairs/build/N. Normal windows remain 120-second idle, 500 typing echoes and ten reconnects with bounded inactive readiness inside the drop-to-fresh-echo timer. No failed handshake retries. Work cancels at 1640 seconds, reserving 20 seconds for bounded cleanup within 27m40s. Archive bytes checked against every smoked file.
From ~/infraternal-perf after extracting each archive, run separately and release the perf lock between commands:
A: ~/release-out/perf-9.5b-vs-9.4-A.tgz (19,961,866 bytes)
SHA-256: 2afbcf034672f444e1155c1fcfc236bafa97f3497fd7b1badee10815108143e6
B: ~/release-out/perf-9.5b-vs-9.4-B.tgz (19,961,960 bytes)
SHA-256: de068db744dd0b5944ca4c0520ab504f1eaa2eaf757e1ce67e84743fdd70be43
Deleted this job's CARGO_TARGET_DIR (/home/agent/.cache/codex-scratch/release-9-5b/target) and temporary baseline worktree. ~/release-out and external evidence retained; release checkout clean at the requested SHA.
Final scripts/verify fast: PASS, exit 0. Verbatim gate summary:
Full verbatim final gate transcript
MANIFEST.txt, verbatim:
Evidence and artifact documents:
MANIFEST.txt
SHA256SUMS.txt
smoke-summary.json
cleanup-summary.json
all-recorded-cleanup.json
perf-runner.txt
RUN-A.md
RUN-B.md
runner-safety.log
smoke-B-before-census-fix.log
smoke-A.log
smoke-B.log
smoke-A-receipts.txt
smoke-B-receipts.txt
Release 9.5 candidate (
0c8639496, includes #257) versus production 9.4 (db4add238, the production exe's hash) on perf-test-01, 2026-10-30 09:27–10:25 IST, underperf-run.sh, interleaved 9.4/9.5/9.4/9.5. Both kits completed withPASS complete comparison and cleanup(kit A: N=1/10; kit B: N=50; flood ×5 per build per N). Harness race fixed (the server's inactive commit is now awaited).Reading:
Verdict: no regression that blocks the release. Deploy waits only on access: NetBird
code→ monitor01 TCP 22.Starting #24 shim PSS/USS kit. Branch perf-shim-mem-24, base
0c8639496b. Read all #24 comments including latest perf result; no parent issue is named. Reusing archived 9.5b B harness and binaries. No perf-host/production contact. Checking private same-UID user-namespace observer because unchanged release binaries disable dumpability; measured children will receive no capabilities. Local smoke is functional only. Output archive is the requested explicit exception to worktree-only writes.#24 shim-memory kit built, branch perf-shim-mem-24, unchanged source head
0c8639496b. No perf/production contact, deployment or push.Verified archived baseline
db4add238executable SHA-256 71ced02f01ef832af382e0df838bc9d62e5de1226ec302f3c5ea5c7836605ef3 (supplied production digest). Candidate 159ed851c60e93a2e2960cab0ab101c16e22f6c532b96039bb2b0206d381f194 is byte-identical to 9.5-0c8639496/infraternal-x86_64-musl. Original B fixture driver and four helpers are reused byte-for-byte.Both binaries disable dumpability. Functional smoke proved same-UID private user namespace observation of smaps_rollup, retaining only namespace CAP_SYS_PTRACE in observer; measured server/embedded infraternal agent/shims have all capability sets zero, asserted each sample. No root UID or host security-setting changes. Requires host support for unprivileged user namespaces; otherwise fails immediately, no RSS substitution.
Kit: ~/release-out/perf-shim-mem-9.5-vs-9.4.tgz (19,865,537 bytes)
SHA-256 a1c06c64c9d5ac8d4ababe1c0b56d71cbd3cbc2f7917476a60edf61b69e97f84
Extract under ~/infraternal-perf and run from there:
Four interleaved 9.4/9.5 pairs; 50 shells 80x24; settle 10s, sample every 10s for 120s. Per-PID Pss/Private_Clean/Private_Dirty/USS/Rss, per-role median/p95/sum. Each fixture then floods one identified session with exactly 50 MiB, reconnects it once, detaches, settles 10s and samples all 50; other 49 remain idle. Work deadline 1480s + cleanup reserve within 25min. Raw per-process data and active-shim flag retained.
One complete LOCAL smoke PASS (functional only, NOT performance evidence): 8 fixtures, 1,200 shim readings, 8 byte-checked floods/reconnects, 8 cleanup receipts, 832 recorded births, zero live survivors; private runtime removed. Archive contents checked byte-for-byte against smoked code/binaries. First fast gate refused large binaries temporarily staged in worktree; moved packaging outside worktree and reran unchanged head. Final scripts/verify fast remains running; final output will follow.
smoke-summary.json
smoke.log
RUN.md
Final kit replaces the prior a1c06c64… checksum. Review found that repeated identity census opened each shim socket before sampling; removed that observer-induced activity. Idle samples now touch ONLY /proc, retaining checked initial births/census. Active-session SO_PEERCRED lookup occurs before flood, not after settling. No measured binary/security-setting changes.
Repeated final functional smoke PASS: all 8 interleaved fixtures at N=50, 1,200 shim readings, 8 exact 50 MiB floods and reconnects, 832 recorded births absent/live-free, private runtime removed. This is NOT performance evidence. Archive bytes match the final smoked scripts/binaries; baseline and candidate digests unchanged.
~/release-out/perf-shim-mem-9.5-vs-9.4.tgz (19,865,656 bytes)
SHA-256 5073dabb0eb1f8d498590559dab3a64e2157a43f76c735fd056b821295febcb7
From ~/infraternal-perf after extraction:
Final repository gate is continuing (CLI feature configurations passed; clippy in progress). No perf/production contact.
smoke-final-summary.json
smoke-final.log
RUN.md
Finished #24 shim-memory kit, branch perf-shim-mem-24, head/base unchanged
0c8639496b. No shipping-source changes, commits, push, deploy, perf-host or production contact. Temporary checkout and this job's complete build target removed; kit and external evidence retained.FINAL kit: ~/release-out/perf-shim-mem-9.5-vs-9.4.tgz
SHA-256: 5073dabb0eb1f8d498590559dab3a64e2157a43f76c735fd056b821295febcb7
This supersedes the earlier a1c06c64… checksum. From ~/infraternal-perf after extraction:
Final sealed files all pass sha256sum --strict --check; archive contents match the final smoked code/binaries. Final local smoke: eight N=50 fixtures, 1,200 per-shim observations, eight exact 50 MiB floods and reconnects; 832 recorded births now all absent, runtime removed. Functional-only, NOT performance evidence. Idle observations touch only /proc. Non-root same-UID user-namespace observer is required; measured children retain zero capabilities and unchanged dumpability. One identified session is active after each idle window, other 49 stay idle. RUN.md documents the exact schedule, output semantics and 1480s work deadline / 1500s total budget.
Rebuilt x86_64 image is byte-identical to merge-base release
0c8639496: 21,431,472 bytes, SHA-256 159ed851c60e93a2e2960cab0ab101c16e22f6c532b96039bb2b0206d381f194, job binary-size delta 0 bytes. Baseline in kit remains verified production digest 71ced02f01ef832af382e0df838bc9d62e5de1226ec302f3c5ea5c7836605ef3.Final /usr/local/bin/build-slot.sh scripts/verify fast: PASS, exit 0. No waiver. First invocation's artifact-size refusal was corrected by moving packaging out of the checkout; both transcripts attached. Verbatim final gate summary:
verify-fast-final.log
verify-fast.log
cleanup-final-proof.json
branch-size.json
smoke-final-summary.json
smoke-final.log
RUN.md
Shim memory, release 9.5 against 9.4, 50 sessions (perf-test-02, perf-run.sh lock, kit sha256
5073dabb…95febcb7, 4 alternating fixture pairs, run finished withPASS complete memory comparison and cleanup).Medians over 4 fixtures, total for all 50 shims, MiB:
Reading: each shim's own memory is unchanged (USS 1,148 KiB per shim in both builds). The RSS growth comes from shared binary pages counted once per process (the 9.5 binary is larger). That explains the earlier "+4–20% RSS" watch item: RSS was the wrong measure, and PSS/USS show no growth.
One open finding: in 1 of the 4 9.5 fixtures (pair 2), about 17 of the 50 shims grew from ~1.1 MiB to ~3.1 MiB USS while idle (snapshots 3–5) and stayed there (idle total 92 MiB instead of 59; after a reconnect cycle 119 instead of 84). That happened in 0 of the 4 9.4 fixtures. The 2 MiB step per shim looks like one large buffer or stack region being touched. It isn't a release blocker by itself, but a follow-up job will reproduce it with more fixtures and find the cause.
Full table: kept outside the repo at
~/.cache/codex-scratch/shim-mem-9.5/evidence/RESULTS.mdon the orchestrator host.Release 9.5 deployed to production (
0c8639496), 2026-10-30 11:32 UTC / 17:02 IST, by the orchestrator fromcodethrough deploy-prod.sh (--bin --bundle --web)./var/backups/infraternal/20261030-113220-0c8639496on monitor01.infraternal-serveractive, MainPID 1531501, exe sha256159ed851c60e93a2…= the bundle's x86_64 binary (previous 9.4:71ced02f01ef832a…)./healthz→{"status":"ok"}, web 200; the 62 session scopes survived the restart.release-prod-live→0c8639496(fast-forward; it contained the previous live line).J24 idle shim growth investigation started. Branch
perf-shim-idle-24, base0c8639496b376362b27689122583c53ade4a4668. Reconstructing the #24 kit; will build unchanged 9.5/9.4 static x86 binaries on compute01 through build-slot and measure at least ten 50-session fixtures per release on backup01 through perf-run. Per-process mapping/time/thread evidence will accompany results. Product changes are out of scope; any fix will be a plan only.J24 reconstruction finding: the previous memory kit archive is on retired hosts and was not committed; recovered the real server/PTY fixture driver from
origin/perf24-reconnect:scripts/release/perf-kit/run.pyand the exact old memory schedule from comments 70294/70301/70351. New mapping parser tests pass on compute01. Private same-UID namespace observation works (host uid 1500); measured execs drop effective/permitted/inheritable/ambient capabilities. Backup01 currently has THP[always] madvise never, khugepaged scan interval 10,000 ms. Delayed kernel page collapse is an investigation hypothesis, not a result. Capturing AnonHugePages and mapping deltas alongside fault/CPU/thread/IO/descriptor evidence to test it. Both unchanged-release builds are queued through build-slot; no performance result yet.J24 capacity update: the mandatory compute01 build-slot command remains queued (PID 1053824); no release build or performance fixture has started. The recovered driver and observer are prepared, with two mapping-attribution tests passing and a successful same-UID non-dumpable-child observation check. No product-code changes.
Protocol refinement before measurement: ten fresh pairs, 50 detached 80×24 sessions each, alternating which release runs first, releasing perf-run between pairs. This balances first/second position against a possible kernel background-scan phase. Default observations include startup, 10 seconds settling, then 120 seconds idle, every 10 seconds. Per-step mapping/AnonHugePages, thread scheduler time, faults and runtime-file metadata are retained. A separate THP-disabled diagnostic will not be pooled with default runs.
Some root-owned proc IO/descriptor/syscall entries remain unreadable under namespace-only ptrace access and are explicitly marked unavailable. smaps, smaps_rollup, thread runtime and wait-channel observations are mandatory; there is no RSS fallback. Full release-binary smoke and scripts/verify fast are still pending behind capacity.
j24 crash-safety checkpoint, 01 nov 02:30 IST: reconstructed kit pushed to
perf-shim-idle-24atfadad5e38. no product code changes.both release rebuilds and the qualification pipeline remain queued through mandatory
build-sloton compute01 (PID 1053824, queued at 18:36 CET). all four locks are held by live jobs; no bypass attempted. log:/home/claude/.cache/codex-scratch/j24/evidence/build.log. two mapping parser tests passed previously; full binary smoke,scripts/verify fast, and all twenty primary fixtures are still pending. no new memory result is claimed.continuation paths: worktree
/home/claude/worktrees/j24; scratch/home/claude/.cache/codex-scratch/j24; perf scratch uses the same path on backup01.research/shim-idle-24/README.mdrecords protocol and provenance. next: copy rebuilt binaries to backup01 after smoke, runmeasure.shfor ten interleaved fixture pairs strictly throughperf-run, then mapping attribution and separately labelled diagnostic if needed.j24 capacity update, 01 Nov 01:58 IST: build-slot PID 1053824 remains alive and queued on compute01. all four slots are held by other live jobs; multiple slots have changed hands during observation. neither release build has started, so smoke, the full gate and primary fixtures remain pending. kit checkpoint remains
perf-shim-idle-24/fadad5e38. no product changes or memory conclusions.correction to my preceding checkpoint: its manually written
02:30 ISTtimestamp was wrong; use Forgejo's recorded creation time. future progress timestamps are generated with the Asia/Kolkata zone.j24 checkpoint, 01 Nov 02:27 IST: no change to kit head
fadad5e38; no product changes. mandatory build-slot process 1053824 is still queued on compute01 after more than three hours, with four occupied slots. no release build has started and there are no new measurements. two parser tests pass; release smoke andscripts/verify fastremain pending. continuing to wait without bypassing the shared slot limit. evidence log remains/home/claude/.cache/codex-scratch/j24/evidence/build.log.j24 queue finding, 01 Nov 02:45 IST:
build-slotpolls all four locks with nonblockingflock, then sleeps 15 seconds. it has no fifo ordering. old PID 1053824 stayed queued for over 3.5 hours while many later processes obtained slots. i stopped that verified, still-unstarted wrapper and requeued the identical command once, through the same mandatory wrapper, to change its fixed polling phase. new PID: 3824278. no slot-limit bypass, heavy command or release build has occurred yet. the action and old/new queue messages are preserved inevidence/build.log; kit head staysfadad5e38.j24 startup finding and kit correction: the queue obtained a slot at 22:37 CET, then the script exited before building. root cause: my preflight incorrectly required
origin/release-9-4to equaldb4add238. the branch actually points tob30bb81cfc764772f667eb58a19b7d975c660905;db4add238is the subsequent web update. #24 comments 64576 and 70116 prove the two sources' historical native SHA-256 is identical (71ced02f…605ef3).corrected the research kit to build the explicitly requested
release-9-4source, retain actual source/digest receipts, and install its exit trap before preflight assertions. candidate remains unchanged0c8639496. source checks and shell syntax now pass outside the heavy queue. no product changes. checkpoint pushed:perf-shim-idle-24/3ca7fbbfb.requeued through the mandatory wrapper with an outer launcher exit receipt; launcher PID 4094343. log
/home/claude/.cache/codex-scratch/j24/evidence/build-retry.log. release builds, smoke, gate and all primary fixtures remain pending. this was a kit error, not a product finding.j24 checkpoint, 01 Nov 03:40 IST: corrected kit remains pushed at
3ca7fbbfbonperf-shim-idle-24. retry launcher PID 4094343 is alive, queued through mandatory build-slot since 22:40 CET. no release compilation yet. no changes to the product or to measurement protocol. the complete corrected kit has been refreshed on backup01; binaries still await the rebuild and smoke. full gate and twenty primary fixtures remain pending. continuation log:/home/claude/.cache/codex-scratch/j24/evidence/build-retry.log; launcher writeslauncher.exit, pipeline writespipeline.exitandbuilds-and-smoke.done.j24 progress, 01 Nov 03:52 IST: retry acquired mandatory build-slot 1/4 at 23:20:44 CET. release 9.5 compilation is now running, with recorded exact sources
0c8639496b376362b27689122583c53ade4a4668andb30bb81cfc764772f667eb58a19b7d975c660905for 9.4. binary copies, both-order functional smoke and full gate remain chained in the same slot. next is the ten primary perf-run fixture pairs on backup01. no measurements yet.j24 build/smoke finding: both frozen sources built successfully through compute01 build-slot. both images are stripped static-pie x86_64 with no PT_INTERP.
b30bb81cfc0c8639496bsizes match historical receipts; digests differ, so this job measures fresh builds on the new setup and does not claim archived-byte identity. hashes match compute → control cache → backup01.
two mapping parser tests and four functional-only 50-session fixtures (both release orders) passed; each cleanup reports
remaining_live_pids: []andruntime_removed: true. full gate's first attempt stopped on a stray 52-bytebuild-95.login the checkout. moved that log to external evidence, checked out pushed kit head3ca7fbbfb, and queued a full gate retry through build-slot (launcher 666027).primary perf-run comparison is now live, PID 79264, evidence
/home/claude/.cache/codex-scratch/j24/evidence/primary-v2on backup01; ten counterbalanced pairs, releasing perf lock between pairs. initial attemptprimaryfailed import before creating any sessions becauselatency_proxy.pywas omitted from transfer. copied that transitive helper and restarted fresh; failed startup retained separately and excluded. protocol and product binaries unchanged. no memory conclusions yet.j24 preliminary finding, first completed 9.4 fixture only: the idle USS step reproduces on the baseline as well. ten shims have recorded +2,012 KiB USS events so far; the ten-pair comparison is still running, so this is not final incidence.
examples from retained per-mapping events:
first mapping:
7f75859f7000-7f7585c00000 rw-p 00000000 00:00 0, anonymous, unchanged virtual extent; Private_Dirty/PSS/RSS/Anonymous each +2,012 KiB. second mapping has the same shape at a different ASLR address. raw before/after/baseline smaps plus full event JSON are retained inprimary-v2/pair-01/samples/01-9.4(will move toall/01-9.4when the pair completes).this strongly supports delayed kernel transparent-huge-page collapse of an existing sparse anonymous mapping, rather than a newly allocated buffer or stack. hypothesis remains under test; native pool ownership is being checked against code and a separately labelled process-only THP-disabled diagnostic will follow the primary comparison. no product code or host THP policy changes.
j24 crash-safety checkpoint: kit head
bf9820e1cpushed. primary comparison remains on the original observer from3ca7fbbfb(plus the missing copied helper); no mid-experiment protocol change. new observer metadata is reserved for the separate THP-disabled diagnostic and asserts inheritedTHP_enabled: 0in each measured shim. build helper now pins both release checkouts independently of the invoking research head and restores that head for smoke/gates. README lists the transitive helper. no product changes.full gate retry is still queued on compute01. its checkout is now the latest kit head; product tree and measured binary files are unchanged. primary ten-pair run remains live on backup01. first baseline fixture reproduced kernel-shaped +2,012 KiB USS / +2,048 KiB AnonHugePages with no shim CPU/fault activity; final incidence waits for all twenty fixtures.
j24 mapping attribution finding, completed first baseline fixture: retained analyzer now validates all ten events, not just two examples. all ten match
anonymous mmap, mapping size 2,084 KiB unchanged, +2,012 KiB USS, +2,048 KiB AnonHugePages. 10/10 events have exactly unchanged scheduler CPU/ready-time/schedule-in counters, zero CPU-tick/minor/major-fault delta, one thread before/after, and unchanged runtime-file metadata.at the first sample, 0/50 shims already had huge pages; exactly 10/50 had a
THPeligible: 1mapping (all 2,084 KiB). those ten are exactly the eventual growers. example scheduler state stays428775 191619 7, wait channeldo_sys_poll; mapping RSS/Private_Dirty 44 → 2,056 KiB, AnonHugePages 0 → 2,048 KiB. khugepagedpages_collapsedadvanced 473 → 480 during the example interval (system-wide corroboration, not per-process attribution).9.5 has also reproduced the 2,012 KiB step in pair 04. primary run is now in pair 06 of 10. no final incidence or release-regression conclusion until all twenty fixtures and separately labelled THP-disabled diagnostics complete. kit head
56bad47c4; its attribution helper was exercised successfully on a copied completed fixture on compute01. full gate remains queued.j24 gate retry correction: the queued launcher obtained slot 4/4 at 00:02:35 CET, but my added root
bun install --frozen-lockfilepreparation failed because this repo has no root package.json.scripts/verify fastwas not invoked by that attempt. its own TypeScript gate already installs locked tracer dependencies inapps/tracer.removed the unnecessary preparation from the external launcher and requeued the required unmodified
scripts/verify faston kit head56bad47c4, through mandatory build-slot. new transcriptevidence/verify-fast-final.log, exit receiptgate-final.exit. earlier failed transcripts retained. no product or gate changes, no waiver. primary perf-run comparison is independent and continues in pair 06 of 10.j24 primary comparison completed: ten counterbalanced perf-run pairs, twenty 50-session fixtures, 14 samples per shim, 14,000 per-shim observations. all completed with cleanup; lock released between pairs (one short wait for another measurement job). no product changes.
all 63 events are after the ten-second settle; the including-settle counts are identical. every event table row has zero CPU-tick and minor-fault delta, one thread before/after. full scheduler/file-metadata attribution across all events and code ownership hypothesis will follow with attachments.
median settled totals across 50 shims, KiB:
this reproduces the step on both releases; these short fixtures sample kernel scan timing and do not establish equal long-run incidence. primary raw data/tables: backup01
/home/claude/.cache/codex-scratch/j24/evidence/primary-v2/all. a separately labelled two-pair diagnostic with inherited process-only THP disable is running now; it assertsTHP_enabled: 0in every measured shim. global host policy is unchanged. full repository gate is still queued on compute01; task is not yet finished.j24 full attribution and diagnostic finding:
do_sys_poll.THP_enabled: 0, with no AnonHugePages. global host policy stayed unchanged. kernel full-scan/collapse counters were flat at 84 / 590 throughout this diagnostic, so absence of growth alone is not being treated as a positive scanner control.one additional, separately labelled default-THP control pair is now running after the disabled diagnostic, through perf-run, to test restored eligibility and scan activity. it will not be pooled into the primary ten-pair incidence. root mechanism is already directly evidenced by the mapping accounting and zero shim execution; allocation ownership remains a code-linked hypothesis pending the final report. full repository gate remains queued on compute01.
j24 continuation: primary 20 fixtures are complete (1,000 shims, 14,000 samples); all 63 growth intervals have +2,012 KiB USS, +2,048 KiB AnonHugePages, unchanged VMA size and zero shim schedule-ins/faults. final longer default-THP control is now positive: baseline growth begins near 320 s, after the short disabled/enabled controls had no scanner activity. it remains separate from primary incidence. finishing that final control pair, evidence archive and report; no further diagnostic expansion. full
scripts/verify fastis now compiling on compute01, not merely queued. own target remains/home/claude/.cache/codex-scratch/j24/target; will remove it after the gate. kit branch remainsperf-shim-idle-24, head56bad47c4pending final squash.J24: idle shim USS growth, release 9.5 versus 9.4
The observed idle growth is delayed Linux transparent huge-page collapse of an existing sparse anonymous mapping. It occurs in both releases without the shim running. The likely allocation owner is the native terminal page pool; allocation call-stack ownership remains a hypothesis, not something
/procproves. No product code or host THP policy was changed.Primary comparison
Fresh stripped static-pie x86_64 builds on compute01, measured only on backup01 through
perf-run. Ten counterbalanced release pairs, 50 detached real 80×24 shell sessions per fixture. Each fixture has 14 samples: initial, ten-second settle, then 120 seconds idle at ten-second intervals. All 20 completed fixtures pass the stable-PID/birth, sample-count and cleanup assertions. Total: 1,000 shim instances, 14,000 observations. All recorded growth occurs after settling.b30bb81cfc764772f667eb58a19b7d975c660905(release-9-4)0c8639496b376362b27689122583c53ade4a4668(release-prod-live)These short-window rates depend on background scanner timing and mapping alignment. They do not establish equal long-run incidence or a release-specific improvement. Initially 143/500 baseline shims and 135/500 candidate shims have a THP-eligible mapping; none initially has an anonymous huge page.
Median settled totals for all 50 shims, KiB:
Mapping and activity evidence
Every one of the 63 growth events has the same signature:
[heap]or a thread stackdo_sys_pollExample: PID 79332 at sample 9, approximately 90 seconds. Mapping
7f75859f7000-7f7585c00000 rw-p 00000000 00:00 0goes from 44 to 2,056 KiB RSS/Private_Dirty; AnonHugePages goes from 0 to 2,048 KiB. Scheduler counters stay428775 191619 7. Globalkhugepaged/pages_collapsedrises 473→480 during the interval. Full before/aftersmaps, parsedsmaps_rollupaccounting, per-mapping differences and every process sample are attached in the raw archive.The +2,012 KiB equals newly resident holes filled when the kernel collapses the sparse region into a 2 MiB huge page. Zero schedule-ins exclude shim-side timer, reconnect or log-rotation work during the actual growth interval. Runtime metadata covers the fixture's runtime directory, not every persistent data/log path. IO, fd and syscall entries can be null under proc inode permissions; no claim depends on them. Global scanner counters are host-wide corroboration; per-process AnonHugePages supplies the attribution.
Diagnostics, kept separate from primary incidence
Four process-local
PR_SET_THP_DISABLEfixtures (two counterbalanced pairs, 100 shims per release, 2,800 observations) have zero growers and zero AnonHugePages; every sample assertsTHP_enabled: 0. Global scan/collapse counters stay 84/590. Two following short default controls also have zero growth and assertTHP_enabled: 1; counters stay 85/599 within those observations, having advanced at startup. Therefore the disabled diagnostic alone is not a positive scanner-controlled causal experiment. The primary mapping and no-execution evidence independently establish collapse.The final default control observes each release for 10 seconds settle plus 360 seconds idle (38 samples per shim, 3,800 observations). Release 9.4 grows in 19/50 shims beginning around 320 seconds; release 9.5 grows in 0/50 during its subsequent window. All 19 have the same +2,012 KiB USS/+2,048 KiB huge-page signature, no mapping-size change, unchanged scheduler/fault counters, one sleeping thread and unchanged runtime metadata. Global scans advance 85→86 and collapses 599→636 across this pair. This positive default control shows the scanner was still active after the disabled diagnostic, but does not provide matched scanner exposure for both release windows. No diagnostic counts are pooled with primary incidence.
Code evidence and fix plan only
At the measured candidate source:
terminal_native.rs:158passes a null allocator to native terminal construction in the shipping default.scripts/build-vt:75retains the native page allocator for the default build.session.rs:447constructs the terminal; lines 455 and 648 leave an ordinary live idle PTY in indefinite poll, consistent with the observed sleeping thread.a887df42c56f6de86c0fe6da9c4eeca37931e083,PageList.zig:337,585,631, preheats four large pages using a MemoryPool backed by ArenaAllocator and the Linux standard page allocator. That allocator supplies anonymous mmap allocations. This explains the mapping shape but is not direct call-stack attribution.terminal_memory.rs:541already appliesMADV_NOHUGEPAGEto sparse pool allocations in the optional allocator. This is not the shipping default path.Proposed follow-up: instrument native pool allocation ranges to confirm ownership, apply narrowly scoped
MADV_NOHUGEPAGEto the sparse native pool while preserving allocator semantics, then repeat idle fixtures plus startup, typing, reconnect and flood latency measurements. Do not change the foundation allocator or global host tuning inside this research job. The owner decides the implementation after attribution and measured trade-offs.Provenance and reproducibility
a1255fd8e3ae9eb7f73ece797decdc1ec95453d1712c6b35cd50d5aab4ead471b527c33d9df30659c816b31546c9583b05c85bae87fa7b95eec4e207d589ea3cBoth have no PT_INTERP. Source receipts and checksums agree across compute, transfer and perf hosts. Sizes match the historical records, but hashes differ from archived builds: these are fresh builds on the current setup. Historical #24 comments 64576 and 70116 establish identical native hashes between actual release-9-4 and the later web-only
db4add238used by the old handover.The old memory runner was unavailable in attachments. The kit reconstructs its recorded schedule using the real protocol/fixture driver from
perf24-reconnect, commitaae89d446392af0095331526981db8579c072f86, file SHA-256b4a300d78f5eb5ab49020768d58a9e8360d25438a302831b80888933321028aa. It does not claim byte identity with the missing kit. The primary observer stayed frozen at3ca7fbbfbthroughout all primary runs; diagnostics use the later observer with asserted THP status. The archive retains both exact source versions and helper dependencies.The full
scripts/verify fastgate is still running on compute01 at report publication. Its complete transcript, final branch SHA and cleanup receipt will follow in a separate finish comment. Measurement analysis and packaging assertions have passed; this report does not claim the repository gate has passed.Raw archive:
j24-shim-idle-raw-v2.tgz, 5,509,958 bytes, SHA-256848720afea2eaf70d2ce681a325d108acabbea3199ac897121ee1f3bda0ace03. It includes raw process/mapping samples, growth diffs, cleanup receipts, perf-run quiet receipts, observer sources and provenance. The failed first import is retained separately and is excluded from all counts.verification setup correction: the prior full gate used
/tmp/j24t. restart-admission fixtures correctly reject/tmpas a world-writable ancestor, and their hard-link fixture crosses from ext4 to tmpfs (EXDEV). retained failures are inevidence/verify-fast-final.log; i stopped only that owned gate process tree rather than continuing a known-invalid setup. no product failure is attributed to this run.kit is consolidated and pushed as atomic commit
f6dac1df084d9ab653d65aebdf056b13ece9a446onperf-shim-idle-24. final gate now uses private same-filesystem state/home/claude/.cache/codex-scratch/j24/t, with short socket paths, through build-slot/Nix, unchangedscripts/verify fast. log:evidence/verify-fast-corrected.log; receipt:gate-corrected.exit. report/raw/provenance attachments are already on comment 72079. own target remains until gate completion, then will be removed.audit clarification for report 72079: a post-run read finds
kernel.sched_schedstats=0on backup01. therefore the unchanged ready-time and schedule-in fields are retained observations, not independent proof of activity absence. the inference uses the first per-thread/proc/<tid>/schedstatfield, scheduler task CPU runtime (sum_exec_runtime), which remains available independently of extended scheduler statistics, together with the zero CPU-tick and fault deltas. all 63 primary growth intervals have identical CPU-runtime before/after. the anonymous huge-page accounting and mapping attribution are unchanged. revised report attachment makes that distinction explicit.j24 checkpoint: final atomic kit head
f6dac1df084d9ab653d65aebdf056b13ece9a446is pushed onperf-shim-idle-24, with a clean local diff. primary research and raw evidence are posted in comment 72079; scheduler-statistics interpretation is clarified with a revised report in 72119. the exact admission test passes under Nix with private same-filesystem state. corrected fullscripts/verify fastis still in FIFO, now live position 4 (the log records initial position 13 only). launcher PID 1740818, queue wrapper PID 1741274; log/home/claude/.cache/codex-scratch/j24/evidence/verify-fast-corrected.log, exit receiptgate-corrected.exit. no owned perf fixtures remain. final remaining actions: finish gate, attach transcript, remove only own/home/claude/.cache/codex-scratch/j24/target, post finish receipt. no product changes or implemented fix.build receipt attachment:
build-retry.logrecords both frozen source SHAs, mandatory build-slot admission, fresh static x86_64 compilation, matching transfer hashes and static-pie/stripped linkage, plus the four functional smoke fixtures. this is a build receipt, not the final repository gate: its lastVERIFY_FAST_EXIT=1belongs to the earlier artifact-gate setup failure (the stray 52-byte build log already documented and moved outside the checkout). final consolidated-head gate is still the separateverify-fast-corrected.logrun.corrected final gate admitted after FIFO wait, running on exact pushed head
f6dac1df084d9ab653d65aebdf056b13ece9a446. observer parser tests (2), artifact gate, deployment-tool checks, fmt/native fmt, CLI compile-out tests, clippy and fixture-path checks have passed so far. the prior/tmpadmission failures are resolved with private same-filesystem state. workspace tests are now compiling/running; no final gate result yet. log and receipt remainevidence/verify-fast-corrected.log/gate-corrected.exit; own target remains reserved until completion and cleanup.verification setup finding: the private 39-byte root fixed admission/EXDEV, but
daemon_gone_tests.rs:53,119appends a 25-character random directory and the session rendezvous path, exceeding Linux SUN_LEN. this is our launcher path choice, not a product change. the exact failing test passes with the 17-byte/home/claude/j24troot (0.01 s), and the admission test also passes there (2.09 s). logs:short-state-check.log,short-private-admission.log.kit now documents both constraints and uses the short private same-filesystem root. amended atomic head
eea7f33786030433d5564beaa54162e8e3802f1fis pushed toperf-shim-idle-24. current full run on prior head is finishing its remaining checks and will retain the one environment failure verbatim. after it exits i will rerun the full gate on the amended head with the proven short root. measurements and attribution are unchanged; no product code changed.final short-root full gate queued at initial position 13 while the prior run finishes static builds. new launcher PID 2538388, ticket PID 2538393;
evidence/verify-fast-short.log,gate-short.exit. admission wrapper first requiresgate-corrected.exitto exist; otherwise it exits 75 without checkout mutation/tests, so there is no overlap against the one target directory. it checks out pushed headeea7f33786030433d5564beaa54162e8e3802f1fonly after that guard, then runs the unchanged full gate under Nix with/home/claude/j24t. both exact path/admission tests passed with that root. target remains/home/claude/.cache/codex-scratch/j24/target, to be removed after final verification.prior private-root full gate completed on
f6dac1df0, with exactly one workspace test failure caused by our too-long TMPDIR. every other Rust stage, including both static builds, passed. this is not the final green gate. short-root rerun on pushedeea7f33786030433d5564beaa54162e8e3802f1fremains queued (latest position 7). attachments preserve the full transcript and the exact socket/admission tests passing under/home/claude/j24t. no product code was changed.verbatim terminal summary:
j24 finished. branch
perf-shim-idle-24, atomic headeea7f33786030433d5564beaa54162e8e3802f1f, base0c8639496b376362b27689122583c53ade4a4668. only the research kit changed; no product patch, deployment or merge.primary: ten counterbalanced fixtures per release, 50 shims each, 14,000 observations. all fixtures pass census, stable-birth, sample-count and cleanup checks.
all 63 primary events are existing anonymous mappings acquiring 2,048 KiB AnonHugePages, with unchanged mapping size and per-thread scheduler CPU runtime. this attributes the step to kernel THP collapse. the native terminal page pool is the allocation-owner hypothesis, with file:line evidence and a fix plan only in the report. short-window incidence depends on scanner timing; this does not establish a release improvement. separate controls and their limitations are reported without pooling them into primary counts.
primary report and raw archive, scheduler-statistics clarification, fresh static build transcript, prior setup failure and passing isolated receipts. final revised report, full green gate transcript and cleanup receipt are attached here.
raw archive SHA-256:
848720afea2eaf70d2ce681a325d108acabbea3199ac897121ee1f3bda0ace03(5,509,958 bytes). both frozen static binaries and all evidence are preserved. removed only our compute target and temporary state roots; neither launcher remains, and no owned executable/worktree processes remain. no research blocker remains; the proposed allocation-ownership confirmation and fix are follow-up work, not implemented here.verbatim final
scripts/verify fastterminal summaries (full output attached):Owner (kayg, 2026-11-01): asked whether the THP opt-out can be done from within our own app. Yes:
prctl(PR_SET_THP_DISABLE, 1)in the shim at startup (per process, inherited by children unless reset; no root needed) ormadvise(MADV_NOHUGEPAGE)on specific mappings. Next: implement the shim-only opt-out and measure CPU/latency/USS before/after on the perf VM.J51 starting implementation on
shim-thp-off-24, basef4b61cd6c. Reading J24 kiteea7f3378and shim startup/PTY fork path. Plan: process-local THP disable in shim, restore inherited THP setting in child before exec to preserve user-program policy; failing-first real-process status checks, 10 × 50 before/after idle fixtures and typing/flood measurements on backup01 through perf-run; fast gate/static size on compute01 through build-slot. No host THP tuning.J51 checkpoint: WIP head
dad9237f1pushed onshim-thp-off-24(basef4b61cd6c). Product change is confined to the shim: Linux PR_GET/SET_THP_DISABLE before terminal allocation; pre-exec restoration of inherited child policy, including except-advised mode. Test checks real shim/shell THP status for normal/detached startup and initially enabled/disabled launchers. The test fails on J24's preserved unmodified 9.5 binary withAssertionError: shim remains THP-enabled(compute01~/.cache/codex-scratch/j51/evidence/thp-red-existing.log).Exact-base failing-first test, same-recipe before/after static builds, green test and full fast gate are one queued build-slot item on compute01; launcher PID 325595,
~/.cache/codex-scratch/j51/build-launcher.log. It has not acquired a slot yet. The earlier separate red-only queue item was cancelled by exact owned PIDs to avoid duplicate work. One target only:/home/claude/worktrees/j51/target, to remove at completion. J24 kit ateea7f3378is staged separately on backup01 under~/.cache/codex-scratch/j51; no performance claim yet. Next: transfer qualified binaries, ten counterbalanced 50-shim fixture pairs and typing/flood CPU/latency through perf-run, then atomic final commit and evidence. No host policy changes.J51 failing-first evidence on the exact requested base
f4b61cd6c, compute01 through build-slot/Nix:The assertion reads the real shim's
/proc/<pid>/statusafter its Hello fence; the shell status is checked independently after exec. Full transcript: compute01/home/claude/.cache/codex-scratch/j51/evidence/thp-red.log. Baseline static build is now running in the same slot. The patch has not yet been applied to that worktree; baseline/candidate binaries will be retained outside its target directory. Active-workload harness validation on the preserved J24 9.5 binary passed with 50 real sessions and no surviving fixture processes; that validation is excluded from the before/after dataset.J51 checkpoint: pushed WIP
fabe0ac9bonshim-thp-off-24(atomic patch, still based onf4b61cd6c). Exact-base red test retained the expected THP assertion; after applying the patch the real-process test is green:The test covers normal/detached startup with launcher THP enabled and disabled. Child policy is restored before exec, including the kernel's except-advised flag encoding. Product review: no wire/event-loop/allocator/dependency changes; unsafe syscalls stay inside the existing audited PTY boundary.
Compute01 acquired slot 3/4 at 13:34:43 IST. Baseline static build completed in 10m44s; copied baseline to backup01 and verified SHA-256
b2cec7a205c522dff4f0f68c07bb2e1da93a9f81f234111ef29420bb2a5d4ed1. Candidate static build is now linking. The same owned pipeline then checks the finished static image and runs the full fast gate. Evidence directory remains/home/claude/.cache/codex-scratch/j51/evidence; target remains only/home/claude/worktrees/j51/target, to delete when finished. Before/after measurements have not begun; the already-passing legacy harness validation remains excluded.J51 static-image qualification passed on compute01. Same stripped static x86_64 recipe, unchanged base versus patch:
f4b61cd6cb2cec7a205c522dff4f0f68c07bb2e1da93a9f81f234111ef29420bb2a5d4ed1fabe0ac9bb5decf06a31e29b959673255d44801970df17719cf66139e8b2e832117ca96e5D243 delta: −64 bytes. Both transfer checksums passed on backup01. The finished candidate executable reports, verbatim:
Full fast gate is running in the same owned build slot: compute01
~/.cache/codex-scratch/j51/evidence/verify-fast.log. Ten counterbalanced idle pairs (50 shims per fixture, frozen J24 observer ateea7f3378) followed by ten active typing/flood pairs are now launched only through perf-run on backup01. Launcher PID119938;~/.cache/codex-scratch/j51/evidence/measurement.log, completion receiptmeasurement.exit. The observer's historical 9.4/9.5 labels mean unchangedf4b61cd6c/ J51 patch for this run; hashes in every pair receipt identify the actual builds. No performance conclusion yet.J51 qualification finding, owned by this patch: the first full fast-gate attempt reached clippy and failed the existing PTY spawn line budget:
Moved only the new child THP restoration into a private syscall helper; no lint allowance and no behavior/allocator/protocol change. Pushed repaired WIP
2659a58592d4c119652737302fdf17be9ccaee63onshim-thp-off-24. The first gate was stopped after retaining its clippy failure; all processes in its verified owned process group325586were terminated, with no survivors. This is a patch failure, not attributed to origin/dev.One idle pair had completed with cleanup on backup01; the next perf-run was only waiting for the shared lock. Stopped only owned process group
119932and retained the first dataset under~/.cache/codex-scratch/j51/evidence/attempt1/; it is excluded pending final binary qualification. No other perf job was signalled.Repair pipeline now runs clippy first, then the real-process test, candidate static rebuild and full fast gate. Mandatory build-slot launcher PID
890418,~/.cache/codex-scratch/j51/resume-launcher.log(initial queue position 9). One target remains/home/claude/worktrees/j51/target. The unchanged baseline binary remains frozen; final candidate checksum/size and measurement receipt will supersede the earlier WIP candidate receipt.J51 crash-safety checkpoint: all product/test changes remain committed and pushed at
2659a58592d4c119652737302fdf17be9ccaee63onshim-thp-off-24; clean local worktree, no source changes since the lint repair. Final qualification is still queued on compute01 (PID890418, same build-slot item; live position 5 at last check, initial printed position 9). Disk had 81 GiB available; this is slot occupancy, not an access or disk failure.The repair pipeline is
/home/claude/.cache/codex-scratch/j51/resume.sh: clippy first, real-process regression, final candidate static build/policy check, then unmodified fullscripts/verify fast. Logs/receipts:resume-launcher.log,evidence/clippy-repair.log,evidence/verify-fast-final.log,pipeline-final.exit. Only target remains/home/claude/worktrees/j51/target; it is retained for qualification and will be deleted at completion.No J51 perf process is running. The completed pre-repair pair remains under backup01
~/.cache/codex-scratch/j51/evidence/attempt1/; frozen-kit analysis validates both 50-shim fixtures, 14 samples per shim, stable births and clean shutdown. Initial THP eligibility was 15/50 for the base and 0/50 for the prior candidate; neither grew during this single short pair. This is diagnostic evidence only, not the requested ten-pair result. The unchanged baseline binary and all observer/workload sources are preserved. Next action remains qualifying the repaired static binary, comparing its digest, and completing the ten-pair idle/active measurements through perf-run.J51 checkpoint: final repaired qualification remains queued through compute01
build-slot(PID 890418), live position 5 of 13. The filesystem now reports only 14 GiB free, below the required 25 GiB threshold, so new slots are also disk-blocked. Orchestrator: please clean finished jobs’ targets when available; J51 remains active and owns exactly/home/claude/worktrees/j51/target(29 GiB), needed for the queued repair/full gate. No other job’s files have been touched.Pushed source remains
shim-thp-off-24@2659a58592d4c119652737302fdf17be9ccaee63. Final fmt/clippy/test/static rebuild/full fast gate have not started. No perf workload is running; the superseded first measurement attempt is excluded and retained. Resume pipeline/logs:/home/claude/.cache/codex-scratch/j51/resume.sh,resume-launcher.log; final receipts are underevidence/*final*. Still pending: final qualification, fresh ten-pair memory/active comparison, final commit, evidence upload, target cleanup.J51 repair qualification finding: after acquiring compute01 slot 2/4 at 16:00:26 IST, clippy still rejected two patch-owned details: missing backticks around
PR_SET_THP_DISABLEin documentation, andspawn_with_readinessat 101/100 lines. Corrected the documentation and removed the existing temporary login-name binding by formatting directly atarg0; this also avoids formatting in readiness-only fixtures. No lint allowances. The original failure log is preserved underevidence/attempt2/clippy-repair.log(exit 101).Requeued the same final qualification pipeline through build-slot, launcher PID 1567811. No final binary or fresh measurement has been produced yet. Disk has recovered above threshold. Target remains only
/home/claude/worktrees/j51/target; final cleanup is pending qualification and measurements.J51 crash-safety checkpoint: clean pushed source
shim-thp-off-24@2a4c5aabdincludes both remaining clippy repairs (doc backticks and removal of the temporary login-name binding). Refreshed SHA-256 receipts confirm all six changed compute01 source files match this local worktree.Final qualification pipeline remains queued through mandatory build-slot, PID 1567811, currently live position 3 (initial 11). Disk has 92 GiB available. No J51 perf workload is running. Final fmt/clippy/regression/static image/full fast gate have not started, so no final success/size/performance claim. Logs: compute01
~/.cache/codex-scratch/j51/resume-launcher.log; repair scriptresume.sh; prior rejected run inevidence/attempt2/. Exactly one target is retained:/home/claude/worktrees/j51/target, to remove at completion. Frozen baseline and excluded old measurement remain preserved on backup01.J51 blocker update: compute01 now reports only 3 GiB available, below the mandatory 25 GiB build-slot threshold. Our final qualification is live queue position 2, PID 1567811, and has not begun. Please reclaim finished jobs’ targets; J51 is active and retains its one 29 GiB target
/home/claude/worktrees/j51/targetfor the pending clippy repair/static rebuild/full fast gate. No other jobs’ targets touched. Source remains pushed2a4c5aabd; no fresh perf workload or completion claim.J51 final binary qualification: workspace/all-target clippy passed (57.86s), real-process regression passed all four inheritance/detach cases, and static build completed in 4m51s. Finished static policy test, verbatim:
Unchanged
f4b61cd6c: 21,443,824 bytes, SHA-256b2cec7a205c522dff4f0f68c07bb2e1da93a9f81f234111ef29420bb2a5d4ed1. Current pushed source2a4c5aabd: 21,443,568 bytes, SHA-2564a4b32f72d714e739a175acc2cd2fcd2b9677fecc92b093f69a6047fd83be30b. Final x86_64 static delta −256 bytes. All six changed source hashes match the compute worktree. Both binary transfer checksum checks passed on backup01. Prior −64-byte candidate is superseded/excluded.Fresh measurement pipeline launched on backup01, PID 130523,
~/.cache/codex-scratch/j51/evidence/measurement.log, final receiptmeasurement.exit. Frozen J24 kiteea7f3378; ten counterbalanced idle pairs × 50 shims, followed by ten active typing/flood pairs, always perf-run. Historical kit labels 9.4/9.5 mean unchanged base/current patch; actual hashes are recorded. Fullscripts/verify fastis now running in our existing compute01 build slot,evidence/verify-fast-final.log. No final performance/gate conclusion yet.J51 interim measured finding, not the final ten-pair conclusion: pair 3 reproduced idle growth in the unchanged base. Its 50 shims went from 57,440 to 83,596 KiB aggregate USS (Δ26,156 KiB); final smaps reports 26,624 KiB AnonHugePages. Evidence: backup01
~/.cache/codex-scratch/j51/evidence/comparison/idle/pair-03/samples/01-9.4/samples.jsonl.gz(50 stable shim records per sample). Pair 3 candidate is still sampling and remains at 57,444 KiB aggregate USS through sample 12. Full attribution and all ten pairs are pending. This establishes the symptom reproduces under the frozen J24 kit on the current perf host. Full fast gate continues with no failure reported so far; no completion claim.J51 full-gate result: all rows passed except the static-size ratchet, which correctly rejected smaller binaries. Both x86_64 and aarch64 shrink by 256 bytes: 21,443,568 / 19,628,984 bytes. Updated only the two exact ceilings and their PROCESS documentation to the measured values (D243); no Rust/workload/binary change. Preserved full original transcript
evidence/verify-fast-final.logand exit 1.Full unmodified
scripts/verify fastrequeued through build-slot after the cap update: PID 2899616, launchergate-launcher.log, final logevidence/verify-fast-ratcheted.log, receiptgate-ratcheted.exit. The running perf comparison continues against the same qualified binary hash; seven idle pairs are in progress/completed, active phase pending. No green-gate claim yet.J51 crash-safety/evidence checkpoint: clean pushed source
shim-thp-off-24@227d89aeaincludes the two measured D243 ceiling reductions. All eight changed compute01 files match the local source checksum receipt.Frozen J24 idle comparison completed ten counterbalanced pairs, 500 shims/version: base 16/500 idle growers across 2/10 fixtures, patch 0/500 across 0/10. Median final 50-shim aggregate USS/PSS: base 57,446 / 59,846 KiB, patch 57,426 / 59,776 KiB. The symptom is a tail of ~2 MiB growth events, so medians alone understate it. Raw data and attribution: backup01
~/.cache/codex-scratch/j51/evidence/comparison/idle/all/{summary,attribution}.json, compressed per-shim samples and per-pair perf-run receipts.Active comparison has 17/20 fixtures complete; remaining three are waiting for the shared perf-run lock (PID 130523 launcher still active). Final summarizer has not run, so no CPU/latency/no-regression conclusion yet. Full fast-gate rerun after the exact-size cap update remains queued, PID 2899616, live position 9 (initial 16),
gate-launcher.log, final receiptgate-ratcheted.exit. Prior full gate passed every row except the now-corrected smaller-binary ratchet; full log retained. Only target:/home/claude/worktrees/j51/target, still needed and scheduled for final cleanup. No merge/deploy/issue closure.J51b resumes J51 on branch
shim-thp-off-24, current pushed head227d89aea, original basef4b61cd6c. Plan: (1) recover and validate patch, exact-base failing-first evidence and completed perf receipts; (2) diagnose the completed ratcheted fast-gate test failure, fix only if patch-owned and run final full gate via build-slot; (3) consolidate atomic commits, push this branch, attach before/after results and verbatim gate output, remove owned targets. Estimate: 90 minutes plus shared build-slot queue time. Existing perf pipeline finished exit 0 with ten counterbalanced 50-shim idle pairs and ten active pairs; no replacement measurement is planned unless evidence is invalid. Gate result currently FAIL(test 101), not a success claim. Reusing the existing J51 worktree and single compute target to avoid duplicate disk use.J51b finding: inherited perf pipeline finished exit 0 and all 20 active fixtures assert cleanup. Idle count remains base 16/500 growers versus patch 0/500, zero scheduler activations/CPU in both over the frozen 10 s settle + 120 s window. Active typing median fixture p50 is 0.663 / 0.646 ms; p99 2.061 / 2.538 ms, with wide paired-ratio CI [0.630, 2.615], so no equivalence claim. Startup was absent from the inherited summary; measuring 10 counterbalanced pairs × 50 terminal.open request-to-ready replies using the same frozen fixture/binaries on backup01 through perf-run.
Recovered ratcheted full gate failed in unchanged server test
one_missed_primary_reply_shows_reconnecting_and_only_a_second_retires_the_link,unexpected recovery notice Some(Reconnecting); saved transcript retained. Current origin/dev has identical test source, but baseline reproduction is not yet established. Running the unchanged-base server suite then final patch full gate under one compute01 build slot, same single target. Removed predecessor gate-cap edits to obey the current brief (old size-ratchet-only failure is non-blocking; do not edit gate). Rust product/test bytes remain unchanged; no replacement idle/active measurement needed. Startup/final gate logs are under backup01j51/evidence/startup*and compute01j51/j51b/. Initial launcher failed before any build because nix was invoked outside the worktree; corrected cwd and retained that setup error.J51b checkpoint: scope-only cleanup pushed as WIP
9a97171d2onshim-thp-off-24(basef4b61cd6c); exactly six Rust/test files, no gate or documentation edits. Product source remains byte-identical to the qualified static candidate (4a4b32f7…). Current final pipeline is running, not queued: compute01~/.cache/codex-scratch/j51/j51b/qualify.sh, with unchanged-base server suite first, then full patchscripts/verify fastand explicit TS portion if the historical dispatcher stops at the known size ratchet. Target remains only/home/claude/worktrees/j51/target.Startup sweep completed through perf-run, 500 request-to-ready samples/version: pooled p50/p99 base 10.469/27.450 ms, patch 10.515/30.776 ms. Mean shim CPU at ready 448.928/452.924 us. Original active sweep pooled echo p50/p99 0.645/3.443 ms versus 0.622/3.728 ms (10,000 keys/version); fixture-based p99 paired CI remains broad. A focused follow-up increases to 10,000 keys/fixture, ten counterbalanced pairs, same 50-session workload and binaries; no flood or idle rerun, no cherry-picking. First follow-up helper failed before measuring because its filename shadowed Python typing; renamed it, retained the failed setup receipt separately, and started the corrected sweep. PID 194429, backup01
j51/evidence/typing.log, receipttyping.exit.Memory accounting validated across all 500 stable shim identities/version: base idle USS growth 32,192 KiB (16 × 2,012 KiB), patch 0; zero idle scheduler activations, CPU time, or page faults in both. Frozen observer window: settle 10 s, idle 120 s, samples every 10 s. Initial raw archive checksum
a32966516be248497277598afabb562de7e93f031e1fdbec1cf0113d62d63510; final archive will add the focused study and final gates. No final gate/latency-equivalence claim yet.J51b measured follow-up: ten counterbalanced 50-session typing pairs completed, 100,000 keys/version, all policy/digest/cleanup assertions passed. Pooled echo p50/p99: baseline 0.571972/0.876723 ms, patch 0.5746075/0.873577 ms. Median shim CPU/key 32.9226984/33.02644425 us. Paired fixture median-ratio 95% intervals: p50 [0.9790, 1.0321], p99 [0.9679, 1.0175], CPU [0.9848, 1.0199]. No active CPU/echo regression resolved at that precision.
Startup caveat retained: terminal.open route pooled p99 was 27.450/30.776 ms; paired fixture maxima (50 samples/fixture, hence its p99) ratio 1.288, CI [1.028, 1.427]. This probe has a higher patched tail; not discarded or called equivalent. A separate direct shipping-shim spawn-to-Hello check (readiness shell, 10 pairs × 50/version) measured p50/p99 1.312545/1.836592 versus 1.328405/1.902295 ms; mean shim CPU at Hello 1120.213/1129.372 us. Direct-startup paired CIs contain one (p50 [0.971,1.068], p99 [0.946,1.128], CPU [0.951,1.056]). Direct policy and cleanup assertions passed. This narrows the observed direct startup cost but does not erase the server-route tail finding.
Baseline diagnostic correction: the standalone
cargo test -p infraternal-server --libused fewer features than workspace verification, so its two subscription-refusal failures (plugin unavailable vs mesh unavailable) do not establish attribution for the previous gate liveness failure. No server source/test was changed. The final full workspace gate is running on compute01 through build-slot with CI=1; all original gate/setup transcripts remain preserved. Only product change remains the six-file THP patch at pushed WIP9a97171d2; exactly one target, final cleanup pending.J51b qualification checkpoint: WIP
91940d103pushed, one atomic six-file patch. Strengthened only the Python regression driver to take cleanup identity from kernel SO_PEERCRED and assert Hello agrees. Fresh exact-base static check failsAssertionError: shim remains THP-enabled(THP_RED_EXIT=1); final qualified static candidate passes all four enabled/disabled launcher × normal/detached cases (THP_GREEN_EXIT=0). Product Rust/binary hashes unchanged. Driver copied before the ongoing workspace gate reached the server test suite; fresh transcripts in compute01j51/j51b/thp-{red,green}.log.All perf runs are complete; none pending. The prespecified 40-pair server-route startup replication (2,000 samples/version) did not reproduce the first sweep tail regression: pooled p50/p99 base 10.467/31.679 ms, patch 10.665/30.394 ms; paired p99 ratio 0.996, CI [0.859,1.039]. Keeping the first sweep, combined 50 pairs/2,500 samples/version give p50/p99 10.467/30.803 ms versus 10.644/30.638 ms; paired p50 CI [0.979,1.031], p99 [0.927,1.073], startup shim CPU [0.992,1.017]. No statistically resolved startup regression; the adverse first result remains in the raw data and report. Focused echo/CPU and direct-shim results remain as previously posted. All binary identity, policy and cleanup assertions passed.
Final full gate remains active under the existing compute01 build slot (launcher 456175; qualification source
~/.cache/codex-scratch/j51/j51b/qualify.sh), currently workspace tests, no code edits beyond the driver identity guard. Final logs:j51b/verify-fast.log,j51b/ts-fast.log, receiptj51b/qualify.exit. Retains only/home/claude/worktrees/j51/target; cleanup, final commit message, evidence attachment, and verbatim gate report remain pending. No final gate success claim.J51b, #24. Branch
shim-thp-off-24, headbbf3bd603a329acdc0bcb29796f7c80f79fa079d, basef4b61cd6c3f52078cad7573c5367d7a6e75f84f0.The per-session shim disables THP before terminal allocation using PR_SET_THP_DISABLE. Its PTY child restores the inherited policy before exec, including the except-advised flag encoding. The server and host THP configuration are untouched. Per-mapping advice was rejected because it would require tracking current and future allocator mappings.
The final real-process regression obtains the shim PID from kernel SO_PEERCRED, checks that Hello agrees, and reads real shim/shell proc status. It fails on the exact-base static binary with
AssertionError: shim remains THP-enabled(exit 1), then passes all four normal/detached × enabled/disabled-launcher cases on the patched static image (exit 0).Measurements used backup01, x86_64 Linux 6.12.113+deb13-amd64, only through perf-run (CPUs 1–3, 6 GB cap, before/after pressure receipts). J24's frozen observer/workload is commit
eea7f3378; its historical 9.4/9.5 labels mean unchanged base / J51 patch here. Ten counterbalanced idle pairs each contain 50 real shims per version: 500/version, 10 seconds settling, then the same 120-second idle window with 10-second samples. All 7,000 records/version retain stable process births and correct THP policy.Latency percentiles in the table pool raw samples; CPU/key rows are medians of fixture measurements. The focused typing follow-up used ten counterbalanced 50-session pairs, 10,000 measured keys/fixture after 100 warmup keys. Paired fixture bootstrap 95% candidate/base ratio intervals: echo p50 [0.9790, 1.0321], echo p99 [0.9679, 1.0175], CPU/key [0.9848, 1.0199]. No statistically resolved active regression at those bounds.
The first startup sweep showed a higher route tail: p99 27.450 → 30.776 ms, paired fixture-p99 ratio 1.288 [1.028, 1.427]. It is retained, not discarded. A fixed 40-pair replication with the same workload measured p99 31.679 → 30.394 ms, paired ratio 0.996 [0.859, 1.039]. Combined with the first sweep, 50 pairs/2,500 samples per version give paired p50 [0.9788, 1.0306], p99 [0.9273, 1.0730], startup CPU [0.9918, 1.0174]. The initial tail finding did not replicate. Direct spawn-to-Hello measurements use the readiness shell; their p99 paired interval is [0.9458, 1.1284]. No consistent startup regression was resolved; these are measured bounds, not proof of identical timing. Tests assert kernel policy, not execution speed. All startup studies use warm binaries.
The original ten active pairs also retain LF, CRLF, printable and concurrent flood throughput/CPU results in
comparison/j51-summary.json; all original data remain in the archive. No outliers or adverse measurements were removed. Binary identity, policy and clean fixture shutdown assertions passed throughout. A helper filename initially shadowed Python typing before any follow-up fixture started; that failed setup receipt is retained separately.Frozen static image SHA-256:
b2cec7a205c522dff4f0f68c07bb2e1da93a9f81f234111ef29420bb2a5d4ed14a4b32f72d714e739a175acc2cd2fcd2b9677fecc92b093f69a6047fd83be30bThe final x86 rebuild exactly matches the measured patch image. All six source checksums match between control and build worktrees. The final size figures use the pinned stripped static recipe; no gate ceilings were changed in this branch, per the current job brief.
Perf evidence: raw data, observers and workload scripts, 4,682,755 bytes, SHA-256
4eb90a68a50363cf52efe36e57492f479654b11e30784fedfa1070847f2890f3.scripts/verify fastfinished with exit 1 solely because the old exact-size ratchet rejects both 256-byte reductions. This is explicitly non-blocking under the current common brief. No gate was edited. The old dispatcher stops after the Rust failure; the completets_verify_fastportion was therefore invoked separately and exited 0. Verbatim terminal summaries:Earlier qualification failures remain preserved: J51's clippy line/doc issues were repaired; its size-ratcheted run later failed an unchanged server liveness test. A standalone base server diagnostic in J51b used a different feature union and therefore does not establish attribution for that liveness failure. No server test or source was changed, and no claim is made that the liveness failure was reproduced on a matching unmodified dev build. The initial J51b launcher also failed before building because nix was started outside the worktree; the corrected launcher and setup transcript are retained.
Cleanup complete:
/home/claude/worktrees/j51/target(27 GB) and/home/claude/j51tremoved. No alternate scratch targets exist for this job on compute or perf, no control target exists, and process inspection found no remaining job workload. All launched qualification, benchmark and cleanup commands have finished. The branch is pushed and the control worktree is clean. Issue remains open.Gate evidence, including final logs, red/green proof and retained earlier failures: gate-evidence.tar.gz, SHA-256
eac291c31ffa3afde7e63eb7a8e2bf36569ccdfd4f68e49814f5e0f195a4bec3.J51b rebase follow-up started. Branch
shim-thp-off-24, previous headbbf3bd603a329acdc0bcb29796f7c80f79fa079d, new base6093cb8a83b810a119269d6045e8720a3e3922b6. Plan: resolve only PTY command API integration, preserve dev session_command helper, run real-process THP regression and shim tests, then scripts/verify fast through build-slot on the less busy VM, push and delete targets. Estimated 90 minutes plus queue time; no perf rerun as requested. Both queues checked: compute01 4/4 busy, dev-02 2/3 busy with 95 GB free, so use dev-02.J51b rebase finding: pushed
6be56e8aff8a0317a3481f0135c4753c986bde33, based on dev6093cb8a83b810a119269d6045e8720a3e3922b6.session_commandis unchanged,spawn_with_commandcarries child_thp to pre_exec, and spawn_with_readiness/shared-host callers preserve dev behavior. The rebased diff is four files; the old arg0 refactor is gone. On dev-02 through build-slot: default shim suite 92 passed / 13 ignored; process-per-user suite 201 passed / 19 ignored; real-process THP regression 1 passed, with all four normal/detached × inherited-enabled/disabled policy cases correct. Full scripts/verify fast is running. Logs:~/.cache/codex-scratch/j51b/evidence/, only target:/home/claude/worktrees/j51b/target(will delete at finish). No perf repeats, per orchestrator.J51b qualification checkpoint, head
6be56e8aff8a0317a3481f0135c4753c986bde33already pushed. The full workspace tests, CLI feature matrix, clippy, helper/path checks, SSH inode reuse fixture, process-per-user shim suite, cargo-deny and gate architecture have completed without failures. Final static builds are running on dev-02. No source changes since rebase, no perf reruns. Full gate remains pending; this is not a handoff. Only build target remains/home/claude/worktrees/j51b/target; logs in~/.cache/codex-scratch/j51b/evidence/.J51b rebase follow-up complete. Branch
shim-thp-off-24, head6be56e8aff8a0317a3481f0135c4753c986bde33, rebased onto origin/dev6093cb8a83b810a119269d6045e8720a3e3922b6, pushed and remote head verified.spawn_with_command(..., &config.command, child_thp)carries the inherited THP policy to the existing pre_exec restore. Dev's session_command helper is unchanged. The old arg0 refactor is removed, as are changes to the shared-host/readiness callers. The diff now contains only four files. Source hashes match between control and dev-02.Targeted reruns on dev-02 through build-slot: default shim suite 92 passed / 0 failed / 13 ignored; process-per-user shim suite 201 passed / 0 failed / 19 ignored; real-process THP regression 1 passed / 0 failed. All four normal/detached × inherited-enabled/disabled cases show shim THP disabled and shell policy preserved.
Full
scripts/verify fastran on dev-02 and exited 0, including its frontend portion. Both queues were checked before launch. Verbatim Rust summary and terminal gate tail:The gate explicitly skips native x86 AES-GCM and x86 key-memory runtime probes on the aarch64 host; static linkage and arm64 native probes ran. Final static sizes: x86_64 21,732,208 B and aarch64 19,856,104 B. The gate reports +288,384 / +226,864 B against its stored older baselines, not against this new dev base; these are not attributed to the THP patch. The earlier -256 B patch deltas and all perf measurements in comment 73761 apply to the original frozen J51 comparison. Perf was not repeated, as instructed for this mechanical integration.
Cleanup: the 26 GB
/home/claude/worktrees/j51b/targetwas deleted; no scratch target exists for this job. The original compute target remains removed, control has no target, and process inspection before deletion found no executables under the job worktree. All qualification and cleanup commands finished. No merge, deployment or issue closure.Full gate, targeted tests and launcher: rebase evidence, SHA-256
5470adf03ada06f0aa1dd436d03b11f4a0f56e2079bdac8bb56d2e685cd1bdd1.