Sign-in speed A: 5 RTT + 150 ms, no protocol change #66
Open
opened 2026-10-07 08:42:15 +00:00 by kayg
·
24 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#66
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?
SP1 phase A (owner-approved, 2026-10-07). Parent: #52. Target: returning sign-in usable within 5 RTT + 150 ms after the passkey resolves (about 2.15 s at 200 ms one-way), with no protocol change. Fixes from the waterfall: (1) prefetch the terminal chunk, fonts and WASM while the passkey sheet is open; (2) run /auth/wraps concurrently with /auth/unlock-session and drop the redundant final /auth/session (pass the hostname through); (3) open the WebSocket as early as the cookie allows and overlap it with asset load; (4) find the about-400 ms Attach→first-Output gap (6/10 runs); (5) serve precompressed static assets (gzip/brotli; the Ghostty chunk is 681 KB raw vs 197 KB gzip); (6) parallel /auth/status and /auth/session at boot. Harness and results: ~/.local/state/codex-jobs/infraternal/signin-waterfall/keep/. The latency gate (#55) enforces the target. Follow-up phase B is the next issue.
Linked follow-up: phase B is #67 (2 RTT + 150 ms, protocol change, after this).
Start part 1: branch signin-speed-a1, base
444b839(HEAD444b839). Read all #66 and parent #52 comments and repository contracts. Scope: build-time compressed static assets and attach-to-first-output investigation; auth files/routes excluded. No push/deploy/merge.Finding: crates/infraternal-agent/src/relay.rs Output::attach seeds 1 MiB credit; embedded.rs AttachmentState starts at zero and process_incoming rejects Output exceeding it, restarting leg B. run_actor doubles its 200 ms backoff to 400 ms on failure. Attach and client Credit race this unsolicited replay. Will add a failing pre-credit replay test, then start the infraternal agent at zero explicit-grant credit (wire.md §6). Proposed static transfer gate: all JS gzip <=300 KiB and brotli <=250 KiB; build-time level 9/quality 11, no runtime compression or new dependencies.
Build measurement at
444b839: Ghostty chunk-6hym6z0e.js identity 681268 B, gzip level9 197487 B, brotli quality11 159630 B. All JS 797835 / 242313 / 198848 B identity/gzip/br. No compression sidecars for woff2/png/gz. Remote pass-through check blocked: monitor01 does not resolve here; SSH kayg@10.69.69.50 fails host-key verification. Need verified monitor01 SSH access from owner/orchestrator; no deployment changed.Failing test established before fix: python3 scripts/verify-agent-attach-credit.py --binary target/debug/infraternal at
444b839fails AssertionError: unfunded attach emitted frame 0x11. Real PTY replay arrives after Attach Ack without any Credit (target/attach-credit-red.log). Existing client Credit then counts a second MiB, so the implicit grant also overfunds leg B. Correction will align each leg with explicit Credit only, not add buffering or change the wire format.Baseline reproduction (debug binary, method smoke only): at 200 ms one-way, Attach->Output 883.3 ms; first Ack 8191.9 ms, replay Ack 8631.4 and Output 8631.8 (439.9 ms Ack->Output). Real returning sign-in/PTY, Chromium, production identity dist; loadavg 23.07->24.76 on 8 CPUs. target/baseline-smoke.json. Original deployed unmodified Traefik GET/HEAD also gives Content-Length 681268 with no Content-Encoding for chunk-6hym6z0e.js. This verifies current absence, not future sidecar pass-through; SSH check remains blocked.
Browser checkpoint before runtime/credit edits: TRACER_TEST_PORT=4641 bun x playwright test: 32 passed, 2 failed (5.2m). Existing motion assertion got blur(1.99985px), expected exact blur(2px); terminal probe p99 24.6 ms exceeded its <20 ms test threshold. Concurrent native compilation; target/browser-build.log. Auth/terminal UI source unchanged. Will rerun after compilation rather than loosen assertions. Transfer gate negative check: Ghostty identity without sidecars fails at 681268 / 307200 gzip and 681268 / 256000 brotli bytes (target/budget-missing-sidecars.log).
Completed build precompression step:
c796cf7c64. Deterministic gzip9/br11 sidecars; compressed formats excluded; real-codec round-trip tests and TypeScript check pass. Ghostty 681268 ->197487 gzip /159630 brotli; all JS 797835 ->242313 /198848 B. scripts/verify fast exited 0: fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds PASS; TS differential 134 streams /11439 schedules, 7 pass, 34390 assertions. target/baseline-gate.log. Release baseline at 0 ms one-way (n10): Attach->Output p50/p99 424.7/484.9 ms; first Ack->Output 405.5/456.1 ms; loadavg 12.96->17.12 on i9-9900K/8 CPUs.Gate finding confirmed on a targeted retry before runtime changes: motion-audit.spec.ts:391 again compares blur(1.99985px) with exact blur(2px). The same test already allows 0.01 px numerical settling error at its zero-blur endpoint. Will apply that existing epsilon symmetrically in a separate test-only commit; no UI/auth source or motion/performance budget changes. Other loaded-host retry failures: probe p99 61.9 ms and setup render p99 1182.4 ms; thresholds remain unchanged.
Full before capture complete, frozen
444b839musl release binary + identity production dist, 10 runs at each one-way latency; all first frames were Output. p50/p99 ms (0 /100 /200 ms one-way): Attach->Output 424.7/484.9 |616.0/656.9 |815.5/955.1; first Attach Ack->Output 405.5/456.1 |414.7/448.1 |413.4/535.8; click->paint 888.5/1361.6 |2492.2/3775.6 |4283.3/5788.3; passkey-resolved->paint 834.6/1270.8 |2241.6/3556.4 |3865.4/5379.5. p99=max of10, one cold run/group, unlimited throughput, real WS bridge delay plus CDP HTTP delay. i9-9900K/8 CPUs, group loadavg1 12.96->17.12->18.98->12.27. Evidence target/before-waterfall.json and .log; screenshots target/before-waterfall-{0,100,200}ms.png. Motion test now passes with symmetric 0.01px endpoint settling epsilon (target/motion-green.log), keeping all timing assertions unchanged.Correction: the final before-group loadavg1 was 12.94, not 12.27. Exact before-group loadavg triples: 0ms [12.96,15.48,15.26]->[17.12,16.97,15.91]; 100ms ->[18.98,16.61,15.88]; 200ms ->[12.94,14.88,15.30]. Timing values in the prior comment are unchanged and come from before-waterfall.json.
Completed static service
f155ec4: existing tower-http negotiates br/gzip and identity, Vary on every representation; hashed chunks immutable, stable entrypoints/index/SPA fallback revalidate. Both header/size/HEAD/fallback tests pass. Completed transfer gate37410cd: gzip 242313<=307200 and br198848<=256000 B, missing-sidecar negative probe fails. Test-only motion repair4ed6e1apassed its production-build audit. Full fast gate checkpoint serve-assets-gate-green.log exited0 (all six Rust rows PASS, TS differential7pass/34390 assertions plus tracer compiler/compression/bundle gate). Final explicit-credit regression was also rerun against frozen musl baseline and failed before fix with unfunded Output0x11 (attach-credit-red-release.log).Explicit-credit checkpoint: real release regression passes (350ms unfunded, control responsive, exact1-byte grant,149 replay bytes in20.6ms). At50 real sessions: first funded Output p50/p99 12.403/15.906ms; infraternal agent RSS5592KiB; shim RSS5996-6004KiB each, total300056KiB; x86_64/8CPUs loadavg[13.41,10.61,12.38]. target/attach-scale.log. Full fast gate exposed another fixture relying on implicit credit: verify-agent-queues.py recovery Attach omitted Credit, stalling echo/Input Ack. Its earlier saturation phase remains unfunded (nine Inputs/eight slots); add Credit only to recovery. Also fund direct Attach calls in verify-vt-reconnect.py. Product fix remains solely Output::attach zero initialization.
Fixture follow-up: verify-agent-isolation.py had an uncredited healthy sibling Attach (stream3); give that sibling its explicit initial window while preserving the stalled stream nine-Credit/eight-slot overflow. Its prior failure was a read timeout, with zero-credit backpressure behaving as intended. Queue recovery now passes 2640000 exact replay bytes; verify-vt-reconnect.py passes retained replay, ring-gap approximation and legacy parking/retry for both wrapped and less fixtures (target/vt-credit-green.log). First after group, 0ms one-way n10: Attach->Output19.2/28.1ms and Ack->Output3.5/20.1ms p50/p99, vs424.7/484.9 and405.5/456.1 before; loadavg1 10.79->6.96.
Finding: the full fixed-credit waterfall has Attach Ack→Output p50/p99 3.5/20.1, 1.8/17.6, 6.5/19.4 ms at 0/100/200 ms one-way (n=10 each). At 200 ms, one browser reconnect adds 707 ms before its successful Attach; aggregate Attach→Output p99 is 1115.8 ms, successful attempt 408.6 ms. Also found a missing Ghostty Node-file shim (__vite-browser-external-2447137e.js): SPA HTML fallback revalidates for 402.9 ms on warm sign-in after correct no-cache headers, cancelling the removed attach delay. Fixing browser build resolution of this existing shim; vendor/auth code remain untouched.
Completed browser-build shim resolution and frame-based motion audit sampling (atomic commits recorded on signin-speed-a1). Real Bun regression failed first; vendored artifact checksums unchanged. Final JS: 797989 identity / 242462 gzip / 198892 Brotli bytes, plus 149 gzip bytes versus pre-shim fix. Complete fast gate passed; production browser gate: 34 passed (3.1m), probe callback p99 15.0 ms. Full final waterfall now rerunning 10 samples each at 0/100/200 ms; warm shim transfer already zero bytes in the first 0 ms returning sample.
Step SHAs: browser shim
5290a04; motion sampling59c5e75. Both validated by target/shim-gate.log (all six Rust rows PASS, TS 7 pass / 34390 assertions / zero stream divergences) and target/final-browser-2.log (34 passed). Auth/onboarding/auth-route diff remains empty.Reproducible waterfall harness committed as
728916c. Final 0 ms one-way group (n=10, p99=maximum): Attach→Output before 424.7/484.9 ms → after 3.6/11.0; Attach Ack→Output 405.5/456.1 → 1.3/4.9; click→paint 888.5/1361.6 → 162.3/427.2; post-passkey→paint 834.6/1270.8 → 144.5/411.1. i9-9900K, 8 CPUs; after loadavg 4.27/4.81/7.00 → 1.57/3.30/6.02. Browser shim and Ghostty chunks show zero warm transfer. Final 100/200 ms groups in progress.Final 100 ms one-way group (n=10, p99=maximum): Attach→Output before 616.0/656.9 ms → after 202.5/208.5; Attach Ack→Output 414.7/448.1 → 1.3/2.9; click→paint 2492.2/3775.6 → 1911.7/2761.0; post-passkey→paint 2241.6/3556.4 → 1705.7/2553.5. After loadavg 1.57/3.30/6.02 → 1.71/2.53/5.20. No unresolved shim request or warm chunk transfer. Final 200 ms group next; canonical perf-VM budgets are distinct from these local diagnostic waterfall timings.
Final 200 ms one-way group (n=10, p99=maximum): Attach→Output before 815.5/955.1 ms → after 403.0/407.6; Attach Ack→Output 413.4/535.8 → 1.7/2.6; click→paint 4283.3/5788.3 → 3712.2/5329.6; post-passkey→paint 3865.4/5379.5 → 3306.3/4922.4. After loadavg 1.71/2.53/5.20 → 2.53/2.46/4.54. All 30 final real-Rust/PTY/Chromium runs produced Output without reconnecting. Sanitized baseline/intermediate/final JSON, full logs and production screenshots retained at apps/tracer/test-results/signin-speed-a1/. Last fast gate running; protected auth/onboarding diff empty. Traefik configuration check remains blocked on a verified SSH connection to monitor01.
Cleanup finding: the inherited waterfall kills the server process group then unlinks its runtime, leaving deliberately detached session shims alive. A one-run real harness regression failed first (one new shim left alive). Reusing scripts/agent_fixture.py cleanup, as check-merged.mjs already does: shim PIDs are authenticated by fixture-owned rendezvous sockets before termination. This changes teardown only, after all timing measurements.
Completed harness teardown correction: real one-run regression now reports zero new detached shims (before: one). Native detached PTYs are cleaned through existing fixture-owned sockets; short target/../r spelling avoids Linux SUN_LEN. Timing measurements occur before teardown and are unchanged. Regression script: scripts/browser-auth/verify-waterfall-cleanup.py; logs retained in apps/tracer/test-results/signin-speed-a1/. Final fast gate: all six Rust rows PASS, 2 build tests / 16 assertions, protocol 7 pass / 34390 assertions; final browser gate 34 passed (3.1m). Cleanup commit follows
728916con this branch.Cleanup step SHA:
9e5b0eb886. Correction to the preceding summary: the two build tests have 15 assertions, not 16; final-fast.log is unchanged and records the exact count. How to test: (1) build with the prescribed fast gate; (2) TRACER_TEST_PORT=4641 bun scripts/browser-auth/measure-returning-signin.mjs; (3) python3 scripts/browser-auth/verify-waterfall-cleanup.py and inspect the recorded compressed responses, attach timings and production screenshots.Code and local validation complete on signin-speed-a1; head
a96c321ee5, base444b839e45. Ten atomic commits; no push, deploy, merge or issue closure. Auth/onboarding/auth-route diff is empty.Final 200 ms one-way (10 trials, nearest-rank p99=max): Ack→Output p50/p99 413.4/535.8 → 1.7/2.6 ms; Attach→Output 815.5/955.1 → 403.0/407.6; click→paint 4283.3/5788.3 → 3712.2/5329.6. All 30 final 0/100/200 ms trials produced Output without reconnecting. JS 242462 gzip / 198892 Brotli bytes; real Chrome Ghostty encoded body 159604 B, decoded 681295 B, Content-Encoding br. Full tables, machine/load and self-review: docs/verification/signin-speed-a1.md. Sanitized JSON/logs and production screenshots: apps/tracer/test-results/signin-speed-a1/.
Remaining external check: Traefik configuration/pass-through on monitor01 needs a verified SSH connection (hostname unresolved here; 10.69.69.50 host-key verification fails). No deployment was changed. Local waterfall/50-session diagnostics do not substitute for pinned perf-VM acceptance.
Production browser gate (TRACER_TEST_PORT=4641), verbatim:
Real harness cleanup regression, verbatim:
Final fast gate command: nix shell nixpkgs#binutils nixpkgs#file nixpkgs#gnumake nixpkgs#perl nixpkgs#zig_0_15 -c scripts/verify fast
Complete output, verbatim:
kayg referenced this issue2026-10-28 17:53:56 +00:00