Terminal text squished vertically: renderer cell metrics #84

Closed
opened 2026-10-07 14:19:24 +00:00 by kayg · 17 comments
Owner

Owner (2026-10-07, screenshot from the root deploy): terminal text looks squished vertically. Root cause (orchestrator): the pinned ghostty-web renderer measures the cell height as ceil(actualBoundingBoxAscent + actualBoundingBoxDescent of "M") + 2. "M" has no descender, so a 14 px font gets about a 12 px line (0.86x font size; terminals normally use about 1.2x), and the width is ceil()-rounded in CSS pixels, which widens cells about 7%. Fix in the pinned build.

Owner (2026-10-07, screenshot from the root deploy): terminal text looks squished vertically. Root cause (orchestrator): the pinned ghostty-web renderer measures the cell height as ceil(actualBoundingBoxAscent + actualBoundingBoxDescent of "M") + 2. "M" has no descender, so a 14 px font gets about a 12 px line (0.86x font size; terminals normally use about 1.2x), and the width is ceil()-rounded in CSS pixels, which widens cells about 7%. Fix in the pinned build.
Author
Owner

Started on branch fix-cell-metrics from base ac03b1913b.

Started on branch fix-cell-metrics from base ac03b1913bfb6dd9b978477fc23ee5c88e276f67.
Author
Owner

Finding: the new production Chromium probe at apps/tracer/test/cell-metrics.spec.ts fails at DPR 1, 2 and 3 before changes. Geist Mono 14 px reports fontBoundingBoxAscent=14 and fontBoundingBoxDescent=4 (18 px box); renderer cellHeight=15 px (1.0714×). M advance=7.916 px; cellWidth=8 px. Box-line seam probe currently sees ink at all sampled boundaries. Baseline screenshots: apps/tracer/test-results/cell-metrics-Geist-cell-metrics-and-box-joins-at-DPR-2/attachments/terminal-desktop-dpr2-ced6d3ec55514bd658b955b346c80d0e254e321c.png and ...DPR-3.../terminal-mobile-dpr3-cb7d8d7bf403ed280ccd1d1b16911f9ae95f1fa6.png.

Finding: the new production Chromium probe at apps/tracer/test/cell-metrics.spec.ts fails at DPR 1, 2 and 3 before changes. Geist Mono 14 px reports fontBoundingBoxAscent=14 and fontBoundingBoxDescent=4 (18 px box); renderer cellHeight=15 px (1.0714×). M advance=7.916 px; cellWidth=8 px. Box-line seam probe currently sees ink at all sampled boundaries. Baseline screenshots: apps/tracer/test-results/cell-metrics-Geist-cell-metrics-and-box-joins-at-DPR-2/attachments/terminal-desktop-dpr2-ced6d3ec55514bd658b955b346c80d0e254e321c.png and ...DPR-3.../terminal-mobile-dpr3-cb7d8d7bf403ed280ccd1d1b16911f9ae95f1fa6.png.
Author
Owner

Blocked for the prescribed perf-VM benchmark: SSH to perf-test-69-63 fails host-key verification and ssh-keygen -F finds no trusted known-host entry. No host-key bypass used. Need the owner to provide a verified host key/fingerprint before running the perf-VM measurement; local browser verification continues.

Blocked for the prescribed perf-VM benchmark: SSH to perf-test-69-63 fails host-key verification and ssh-keygen -F finds no trusted known-host entry. No host-key bypass used. Need the owner to provide a verified host key/fingerprint before running the perf-VM measurement; local browser verification continues.
Author
Owner

Finding: production Chromium cell-metrics tests pass at DPR 1/2/3. Geist Mono 14 px: font box 18 px, renderer row 18 px (1.2857×); 7/9/9 ink pixels at the sampled box joins; backing canvas dimensions match the device-pixel grid. Rows: 1440×900 52→44; 393×852 DPR3 49→41. Latest local paired DPR2 probe: full redraw p50/p95 58.5/109.5 ms before, 19.3/33.6 ms after; paced 10 MB output 6.10/9.71 MB/s; WASM 13.76/13.50 MB. DPR3: redraw p50/p95 8.1/28.8→4.7/24.6 ms; output 9.12→9.65 MB/s; WASM 12.78/12.71 MB. These workstation measurements vary materially between runs and are exploratory; the pinned perf VM remains blocked on a verified SSH key. Production screenshots are emitted by test/cell-metrics.spec.ts for the requested viewports.

Finding: production Chromium cell-metrics tests pass at DPR 1/2/3. Geist Mono 14 px: font box 18 px, renderer row 18 px (1.2857×); 7/9/9 ink pixels at the sampled box joins; backing canvas dimensions match the device-pixel grid. Rows: 1440×900 52→44; 393×852 DPR3 49→41. Latest local paired DPR2 probe: full redraw p50/p95 58.5/109.5 ms before, 19.3/33.6 ms after; paced 10 MB output 6.10/9.71 MB/s; WASM 13.76/13.50 MB. DPR3: redraw p50/p95 8.1/28.8→4.7/24.6 ms; output 9.12→9.65 MB/s; WASM 12.78/12.71 MB. These workstation measurements vary materially between runs and are exploratory; the pinned perf VM remains blocked on a verified SSH key. Production screenshots are emitted by test/cell-metrics.spec.ts for the requested viewports.
Author
Owner

Correction: the workstation before/after samples were sequential but not isolated or paired; use the figures as exploratory only, not evidence that the perf budget passed. The canonical comparison is still pending a verified perf-VM SSH key.

Correction: the workstation before/after samples were sequential but not isolated or paired; use the figures as exploratory only, not evidence that the perf budget passed. The canonical comparison is still pending a verified perf-VM SSH key.
Author
Owner

Confirmed against the production Chromium build: the unpatched renderer measures 15 px / 14 px = 1.0714 and fits 52 rows at 1440×900 DPR 2, and 49 rows at 393×852 DPR 3. The patched renderer measures 18 px / 14 px = 1.2857, fits 44 and 41 rows, and reports Geist Mono font box ascent 14 px + descent 4 px. DPR 1/2/3 pixel checks pass; the first combined run had one DPR 2 fixture-request socket hang-up under host load, and the isolated DPR 2 rerun passed. Before/after captures are staged for issue attachment after the remaining checks.

Confirmed against the production Chromium build: the unpatched renderer measures 15 px / 14 px = 1.0714 and fits 52 rows at 1440×900 DPR 2, and 49 rows at 393×852 DPR 3. The patched renderer measures 18 px / 14 px = 1.2857, fits 44 and 41 rows, and reports Geist Mono font box ascent 14 px + descent 4 px. DPR 1/2/3 pixel checks pass; the first combined run had one DPR 2 fixture-request socket hang-up under host load, and the isolated DPR 2 rerun passed. Before/after captures are staged for issue attachment after the remaining checks.
Author
Owner

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.

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.
Author
Owner

Continuation run 2 starting on branch fix-cell-metrics at WIP head 5e24d4d; original base ac03b1913b. Reviewed all #84 comments and #75 regression history. Merging latest dev before further changes.

Continuation run 2 starting on branch fix-cell-metrics at WIP head 5e24d4d; original base ac03b1913bfb6dd9b978477fc23ee5c88e276f67. Reviewed all #84 comments and #75 regression history. Merging latest dev before further changes.
Author
Owner

Finding: the required theme-first, cell-metrics-second build stopped before artifacts: reports after . I am rebasing the cell source patch on the themed renderer before rebuilding.

Finding: the required theme-first, cell-metrics-second build stopped before artifacts: reports after . I am rebasing the cell source patch on the themed renderer before rebuilding.
Author
Owner

Finding: the required theme-first, cell-metrics-second build stopped before artifacts: git apply cell-metrics.patch reports error: patch failed: lib/renderer.ts:100 after local-theme-api.patch. I am rebasing the cell source patch on the themed renderer before rebuilding.

Finding: the required theme-first, cell-metrics-second build stopped before artifacts: `git apply cell-metrics.patch` reports `error: patch failed: lib/renderer.ts:100` after `local-theme-api.patch`. I am rebasing the cell source patch on the themed renderer before rebuilding.
Author
Owner

Finding (red regression test): apps/tracer/test/terminal-cell-position.spec.ts reproduces drift in production Chromium before the correction. With 14 px Geist Mono and DPR 2, a 200-column run leaves its final M 33 device pixels short of the cursor cell edge; the pipe column is also 33 pixels short. The measured run gap is 17 px at DPR 1 and 50 device pixels at DPR 3. The dpr2 run used the i9-9900K host (8 CPUs), load average 12.85/10.83/11.14.

Finding (red regression test): apps/tracer/test/terminal-cell-position.spec.ts reproduces drift in production Chromium before the correction. With 14 px Geist Mono and DPR 2, a 200-column run leaves its final M 33 device pixels short of the cursor cell edge; the pipe column is also 33 pixels short. The measured run gap is 17 px at DPR 1 and 50 device pixels at DPR 3. The dpr2 run used the i9-9900K host (8 CPUs), load average 12.85/10.83/11.14.
Author
Owner

Finding: desktop Geist Mono measures 14px ascent + 4px descent = 18px (1.286x); iPhone touch emulation at 13px measures 13px + 4px = 17px (1.308x). The renderer uses factor 1.0 of the font box; the touch ratio is 0.008 above the requested 1.30 ceiling because its reported font box is 17px. Cell geometry, line joins, and pixel alignment pass in test/cell-metrics.spec.ts and test/terminal-cell-position.spec.ts at DPR 1, 2, and 3.

Finding: desktop Geist Mono measures 14px ascent + 4px descent = 18px (1.286x); iPhone touch emulation at 13px measures 13px + 4px = 17px (1.308x). The renderer uses factor 1.0 of the font box; the touch ratio is 0.008 above the requested 1.30 ceiling because its reported font box is 17px. Cell geometry, line joins, and pixel alignment pass in test/cell-metrics.spec.ts and test/terminal-cell-position.spec.ts at DPR 1, 2, and 3.
Author
Owner

Fast gate finding: with CARGO_TARGET_DIR under scratch, agent_review::initial_attach_requires_explicit_credit_before_replay failed because scripts/verify-agent-attach-credit.py calls state.mkdir() for relative target/ac<PID> but the checkout had no target/ parent (FileNotFoundError, line 54). I stopped that run before static builds. Rerunning with the ignored checkout target/ symlinked to scratch keeps artifacts in scratch and satisfies the fixture's path assumption.

Fast gate finding: with CARGO_TARGET_DIR under scratch, `agent_review::initial_attach_requires_explicit_credit_before_replay` failed because `scripts/verify-agent-attach-credit.py` calls `state.mkdir()` for relative `target/ac<PID>` but the checkout had no `target/` parent (`FileNotFoundError`, line 54). I stopped that run before static builds. Rerunning with the ignored checkout `target/` symlinked to scratch keeps artifacts in scratch and satisfies the fixture's path assumption.
Author
Owner

Finished at HEAD fe12576954ec30e88a1ef2cdab345de27fc3d65e.

The branch is split into atomic renderer rebuild, loaded-font metrics, and pixel regression-test commits. Both vendor patches are applied in build order (theme, then cell metrics); the pinned build regenerated ghostty-web.js, declarations, and SHA256SUMS.

  • Font metrics: 14px Geist Mono measures ascent 14px + descent 4px = 18px (1.286×). The 13px touch size measures 13px + 4px = 17px (1.308×); its integer font box is 0.008 above the requested 1.30 ceiling, and preserving that box avoids clipping descenders. Device-pixel rounded width is 8px for a 7.916px natural advance; Canvas letterSpacing keeps each batched run on the grid exactly.
  • Pixel checks at DPR 1/2/3 passed for 200-column mixed text, CJK, emoji, combining marks, cursor edge, 50 pipe rows, and box-drawing joins. Cursor starts at device x=1600/3200/4800 and the preceding glyph ends at x=1599/3199/4799.
  • Desktop 1440×900 DPR2: rows 52→44; redraw p50/p95 1/3ms→0.8/1.3ms; 10 MB/s output 9.682→9.684 MB/s; WASM memory 13,762,560→13,500,416 bytes. Load averages (1/5/15m): 9.23/8.06/10.19 before, 7.82/12.38/12.22 after.
  • Mobile 393×852 DPR3: rows 46→40; redraw p50/p95 0.6/5.1ms→1/1.4ms; 10 MB/s output 9.679→9.679 MB/s; WASM memory stayed 12,713,984 bytes. Load averages: 12.20/8.73/10.39 before, 6.84/12.02/12.11 after.
  • Exact-position harness at 303×86 compared run-based dev to spacing-adjusted runs: redraw p50/p95 1.6/1.9ms before and 1.4/1.9ms after; 10 MB/s output 9.647→9.628 MB/s, memory 14.61→14.35 MB. A high-load final sample (11.4/16.33/14.31) measured 3.3/7ms redraw and 9.629 MB/s. Renderer choice keeps batching; it does not use per-cell drawing.
  • The theme suite passed 50 switches (p50 2.8ms, p99/max 8ms; no long tasks). Canvas letterSpacing is supported by Safari 18.4 per WebKit’s release notes.
  • Captures: desktop before, 1440×900 DPR2, desktop after, mobile before, 393×852 DPR3, mobile after.

apps/tracer/vendor/ghostty-web/build.sh --check reproduced ghostty-web 5f0c6b7 with Ghostty 5714ed0; sha256sum -c SHA256SUMS passed. bun run check, bun run build, and the DPR, exact-position, and theme Playwright suites passed.

The final scripts/verify fast run used TRACER_TEST_PORT=4784, ran under systemd-run --user --scope -p CPUWeight=10000, and exited 0. Full stdout/stderr from the script is quoted verbatim below.

Verbatim scripts/verify fast output
METRIC name=network_rtt_selftest configured_rtt_ms=300 jitter_ms=30 loss=unsupported transport=tcp-stream n=3 p50_ms=305.14 p99_ms=318.72 result=PASS

==> fmt

==> VT native fmt

==> clippy
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.26s

==> test
    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s
     Running unittests src/main.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/infraternal-a46d1d3018be453d)

running 2 tests
test install::tests::dry_run_prints_a_process_surviving_user_unit ... ok
test setup_token_tests::setup_token_command_reads_only_the_expected_socket_response ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/agent_daemon.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/agent_daemon-6ad2f36f6cbad5f4)

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 39.47s

     Running tests/agent_queues.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/agent_queues-903968605c81c159)

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 34.70s

     Running tests/agent_review.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/agent_review-4c573fefe2c9ceb0)

running 6 tests
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 repeated_tiny_credit_pauses_preserve_shell_progress ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.18s

     Running tests/agent_sessions.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/agent_sessions-27dd7012522dc90a)

running 1 test
test detached_shim_is_discovered_and_replays_from_the_last_observed_offset ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s

     Running tests/idle_canary.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/idle_canary-34b48132d2683158)

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.07s

     Running tests/shim.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/shim-efcf863d477a0b0f)

running 7 tests
test double_fork_survives_parent_death ... ok
test disallowed_signal_only_disconnects_peer ... ok
test replacement_connection_and_malformed_limit ... ok
active
test user_scope_survives_parent_unit_stop ... ok
test attached_backpressure_and_detached_progress ... ok
test real_shell_reconnect_resize_and_retained_exit ... ok
test ring_wrap_snapshot_repaints_real_vim ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.14s

     Running tests/vt_credit.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/vt_credit-4b4e6633eeb566f0)

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 11.77s

     Running tests/vt_reconnect.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/vt_reconnect-fd570c04bb886bcc)

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.30s

     Running unittests src/lib.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/infraternal_agent-58d2d9e79005355c)

running 16 tests
test relay::tests::attachment_has_no_implicit_output_or_snapshot_credit ... ok
test relay::tests::output_payload_move_measurement ... ignored, release ownership versus payload-copy measurement
test relay::tests::input_overlap_gap_and_restart_from_confirmed_offset ... ok
test relay::tests::expired_credit_resumes_retained_bytes_at_the_same_cursor ... ok
test relay::tests::output_partial_credit_and_dedup ... ok
test relay::tests::positive_insufficient_credit_arms_a_one_shot_deadline ... ok
test relay::tests::starvation_is_one_shot_and_snapshot_length_does_not_advance_sequence ... ok
test relay::tests::returned_credit_cancels_starvation_and_state_has_no_payload_buffer ... ok
test relay::tests::overflowing_ranges_never_mutate_cursors ... ok
test sessions::tests::reader_borrow_measurement ... ignored, release borrowed versus owned asynchronous receive measurement
test sessions::tests::symlink_state_cannot_redirect_private_runtime_storage ... ok
test sessions::tests::refused_socket_is_removed_but_insecure_directory_is_rejected ... ok
test sessions::tests::sequenced_attach_intersects_caps_and_legacy_attach_stays_zero ... ok
test sessions::tests::borrowed_reader_payload_uses_reusable_cancel_safe_storage ... ok
test sessions::tests::post_listen_chmod_wakes_a_connection_refused_at_bind ... ok
test sessions::tests::cancelled_fragmented_shim_read_retains_header_and_body_progress ... ok

test result: ok. 14 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.02s

     Running tests/transport.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/transport-1d7d12099b746190)

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 unittests src/lib.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/infraternal_plugin_api-4480fd7032f11ca2)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/infraternal_plugin_ssh-22a9a893799c7f17)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/infraternal_protocol-67b9a310ef49abf9)

running 7 tests
test stream_tests::split_mux_header_preserves_trailing_close ... ok
test tests::mux_round_trip_and_incremental_decoders_preserve_frame_order ... ok
test tests::oversized_encode_keeps_the_reusable_output_unchanged ... ok
test tests::rejects_oversized_noncanonical_and_malformed_frames_before_buffering_body ... ok
test stream_tests::all_short_frame_splits_match_direct_decoding ... ok
test stream_tests::maximum_sized_fragmented_frame_is_not_rejected ... ok
test tests::golden_vectors_encode_and_decode_every_contract_frame ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

     Running unittests src/lib.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/infraternal_server-1f24b528c77d1184)

running 81 tests
test auth::tests::account_identity_migration_backfills_legacy_users ... ok
test auth::tests::aaguid_projection_rejects_malformed_cbor_corpus ... ok
test auth::tests::account_identity_schema_has_unique_usernames_and_display_names ... ok
test auth::http::tests::admission_partitions_reset_without_trusting_forwarded_headers ... ok
test auth::tests::aaguid_migration_preserves_legacy_credentials_and_sessions ... ok
test auth::tests::discoverable_latency_at_pending_capacity ... ignored, run --release --ignored --nocapture without concurrent builds
test auth::http::hostname_tests::authenticated_session_response_includes_system_hostname ... ok
test auth::tests::audit_logout_survives_admission_exhaustion ... ok
test auth::tests::audit_ceremony_browser_binding ... ok
test auth::tests::audit_no_public_credential_listing ... 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::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::http_csrf_cookie_flags_body_limit_and_latency_evidence ... ok
test auth::tests::pending_unlock_expires_without_terminal_authority ... ok
test auth::tests::public_status_and_discoverable_http_login ... 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::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::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::review4_slow_open_at_user_capacity ... ignored, release-only connect scale measurement; run without concurrent builds
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::setup_check_is_non_consuming_and_closes_after_owner_creation ... ok
test auth::tests::setup_identity_validation_and_uniqueness ... ok
test auth::tests::review3_tests::review3_waiting_handshake_loses_authority ... ok
test auth::tests::setup_start_accepts_username_and_display_name ... 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::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::socket_authority_latency_at_user_capacity ... ignored, release-only measurement without concurrent compilation
test auth::tests::socket_tests::authenticated_idle_socket_survives_the_former_read_timeout ... 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::full_output_queue_must_not_block_shared_actor ... ok
test embedded::regressions::healthy_receiver_survives_ready_native_output_burst ... ok
test auth::tests::socket_tests::clean_control_close_is_not_an_internal_error ... ok
test embedded::regressions::output_and_snapshot_spend_remaining_restart_credit ... 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::recovery_event_then_snapshot_keeps_embedded_connection_live ... ok
test embedded::regressions::recovery_notices_preserve_order_credit_and_session_isolation ... 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 runtime::tests::proxy_mode_requires_an_explicit_peer_allowlist ... ok
test runtime::tests::proxy_networks_match_only_their_address_family_and_prefix ... ok
test embedded::regressions::healthy_streams_progress_at_user_attachment_capacity ... ok
test runtime::tests::router_migrates_private_storage_and_serves_health ... 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::tests::startup_with_owner_unlinks_stale_setup_token_socket ... ok
test web_assets::tests::encodings_and_identity_have_correct_headers_and_sizes ... ok
test web_assets::tests::spa_and_mutable_assets_revalidate_and_missing_brotli_uses_gzip ... ok
test websocket::writer_tests::second_device_does_not_inherit_first_device_input_ack ... ok
test websocket::writer_tests::writer_admission_at_user_capacity ... ignored, release-only scale measurement; run without concurrent builds
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 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::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::revoked_idle_socket_loses_all_authority ... ok
test auth::tests::stale_counters_recovery_cancellation_and_wrap_tampering ... ok

test result: ok. 75 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 75.36s

     Running unittests src/lib.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/infraternal_shim-20f12ce01dce80ec)

running 73 tests
test frame::checks::codec_reuse_measurement ... ignored, release codec and allocation-path measurement
test frame::checks::golden::every_frozen_message ... ok
test frame::checks::tests::invalid_lengths_types_and_utf8 ... ok
test ring::checks::tests::wrap_and_exact_offsets ... ok
test frame::checks::tests::golden_and_fragmented ... 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 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
test session::sequenced_checks::coalesced_ack_never_overwrites_a_partial_output_and_cursors_survive_peer_loss ... ok
test session::sequenced_checks::trim_duplicates_gaps_overflow_and_capacity_are_transactional ... ok
test session::inputs::tests::identity_cap_preserves_all_existing_cursors ... ok
test session::sequenced_checks::new_frames_roundtrip_and_refuse_noncanonical_payloads ... ok
test session::sequenced_checks::writer_selection_has_a_frozen_little_endian_layout ... ok
test session::sequenced_checks::reusable_encoder_retains_capacity_and_refuses_growth_before_mutation ... ok
test frame::checks::approximate_snapshot_codec_is_bounded_and_canonical ... ok
test frame::checks::borrowed_and_owned_decoders_agree_at_every_fragment_boundary ... ok
test frame::checks::golden::exact_maximum_and_coalesced_frames ... ok
test terminal::checks::tests::implicit_hyperlinks_retain_groups_across_rows_and_continuation ... ok
test terminal::checks::tests::long_unfinished_hyperlink_and_control_strings_continue ... ok
test terminal::checks::tests::margins_tabs_charsets_and_modes_continue ... ok
test terminal::checks::tests::fixtures_and_continuations_repaint ... ok
test terminal::checks::tests::partial_csi_and_utf8_continue ... ok
test terminal::checks::tests::saved_origin_survives_changed_margins ... ok
test terminal::checks::tests::alternate_variants_and_nested_switches_repaint ... ok
test terminal::checks::tests::retained_alternate_saved_cursor_and_keyboard_stack_continue ... ok
test terminal::fidelity::fidelity_charset_mapped_wide_space_is_explicitly_rejected ... ok
test terminal::fidelity::fidelity_diagnostic_fixture ... ignored, diagnostic replay of an explicitly selected fixture file
test terminal::checks::tests::pending_wrap_and_saved_wrap_continue_with_wide_cells ... ok
test terminal::fidelity::fidelity_extended_nightly ... ignored, nightly expanded differential corpus: 20,000 deterministic cases
test terminal::checks::approximate_repaint_keeps_complete_pending_syntax_or_omits_it_whole ... ok
test session::resize_checks::native_resize_refusal_preserves_peer_and_pty ... ok
test terminal::fidelity::fidelity_cursor ... ok
test terminal::fidelity::fidelity_fresh_c_redraw_default_is_explicitly_rejected ... ok
test terminal::fidelity::fidelity_inherited_protection_off_mode_is_explicitly_rejected ... ok
test terminal::checks::tests::byte_budget_prunes_history_and_resize_remains_repaintable ... ok
test terminal::fidelity::fidelity_edge ... ok
test terminal::fidelity::fidelity_iso_protection_erase ... ok
test terminal::checks::tests::unfinished_sequence_over_frame_limit_fails_without_losing_runtime_state ... 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_oracle_detects_hidden_state ... ok
test terminal::fidelity::fidelity_iso_protection_does_not_keep_rep_scratch ... ok
test terminal::fidelity::fidelity_rejects_unrepresentable_rep_without_mutating_source ... ok
test terminal::fidelity::fidelity_saved_modes_future_restore ... ok
test terminal::fidelity::fidelity_f1_rep ... ok
test terminal::fidelity::fidelity_seeded_nightly ... ignored, nightly differential corpus: 20,000 deterministic cases
test terminal::fidelity::fidelity_saved_cursor_over_changed_edge ... ok
test terminal::fidelity::fidelity_semantic_validation_matches_exported_history_extent ... ok
test terminal::checks::approximate_repaint_is_bounded_clips_at_complete_cells_and_preserves_source ... 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_screen_entry_consumes_inherited_shift_before_saving ... ok
test terminal::fidelity::fidelity_single_shift_survives_rep_seed ... ok
test terminal::fidelity::fidelity_spacer_head_attributes ... 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::fidelity::fidelity_variation_tail_attributes ... ok
test terminal::resize_recovery::earlier_geometry_changes_require_approximation_even_with_origin_coverage ... ok
test terminal_native::allocation::resize_allocation_refusal_retires_native_handle ... ok
test terminal::resize_recovery::ring_gap_requires_clean_approximate_recovery ... ok
test terminal::fidelity::fidelity_variation_wrap_attributes ... ok
test terminal::fidelity::fidelity_recorded_corpus ... ok
test terminal::fidelity::fidelity_mouse_effective_fields_follow_order_independently_of_booleans ... ok
test terminal::fidelity::fidelity_handwritten ... ok
test terminal::fidelity::fidelity_extended_smoke ... ok
test terminal::fidelity::fidelity_seeded_smoke ... ok

test result: ok. 61 passed; 0 failed; 12 ignored; 0 measured; 0 filtered out; finished in 32.71s

     Running tests/detach.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/detach-4218a1c714d4176b)

running 1 test
test closed_standard_descriptors_become_dev_null ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.03s

     Running tests/mouse.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/mouse-556febae1b88516e)

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.20s

   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_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_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


==> cargo-deny
warning[duplicate]: found 2 duplicate entries for crate 'base64'
   ┌─ /home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/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
     │   ├── 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-server 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-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 3 duplicate entries for crate 'getrandom'
   ┌─ /home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/Cargo.lock:88:1
   │  
88 │ ╭ getrandom 0.2.17 registry+https://github.com/rust-lang/crates.io-index
89 │ │ getrandom 0.3.4 registry+https://github.com/rust-lang/crates.io-index
90 │ │ 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
         ├── 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-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-server v0.1.0 (*)
         │   │       ├── sqlx-core v0.8.6
         │   │       │   ├── sqlx v0.8.6
         │   │       │   │   ├── infraternal 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 (*)
   ├ getrandom v0.3.4
     └── rand_core v0.9.5
         ├── rand v0.9.5
         │   ├── infraternal-server v0.1.0
         │   │   └── infraternal v0.1.0
         │   ├── tungstenite v0.29.0
         │   │   └── tokio-tungstenite v0.29.0
         │   │       ├── axum v0.8.9
         │   │       │   └── 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-server v0.1.0
     │       │       │       └── infraternal 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-server v0.1.0 (*)
     │       │       │   ├── tokio-openssl v0.6.5
     │       │       │   │   └── axum-server v0.8.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 (*)
     └── uuid v1.27.0
         ├── infraternal-agent v0.1.0
         │   └── infraternal v0.1.0 (*)
         ├── infraternal-server 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/fix-cell-metrics/Cargo.lock:94:1
   │  
94 │ ╭ hashbrown 0.15.5 registry+https://github.com/rust-lang/crates.io-index
95 │ │ 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-server v0.1.0
     │       │       └── infraternal 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-server v0.1.0
         │       │       └── infraternal 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 (*)
         └── sqlx-core v0.8.6
             ├── sqlx v0.8.6
             │   ├── infraternal 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/fix-cell-metrics/Cargo.lock:182:1
    │  
182 │ ╭ r-efi 5.3.0 registry+https://github.com/rust-lang/crates.io-index
183 │ │ 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
              │   ├── tungstenite v0.29.0
              │   │   └── tokio-tungstenite v0.29.0
              │   │       ├── axum v0.8.9
              │   │       │   └── 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-server v0.1.0
          │       │       │       └── infraternal 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-server v0.1.0 (*)
          │       │       │   ├── tokio-openssl v0.6.5
          │       │       │   │   └── axum-server v0.8.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 (*)
          └── uuid v1.27.0
              ├── infraternal-agent v0.1.0
              │   └── infraternal v0.1.0 (*)
              ├── infraternal-server 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 'rand'
    ┌─ /home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/Cargo.lock:184:1
    │  
184 │ ╭ rand 0.8.8 registry+https://github.com/rust-lang/crates.io-index
185 │ │ rand 0.9.5 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
    ├ rand v0.9.5
      ├── infraternal-server v0.1.0
      │   └── infraternal v0.1.0
      ├── tungstenite v0.29.0
      │   └── tokio-tungstenite v0.29.0
      │       ├── axum v0.8.9
      │       │   └── 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 (*)

warning[duplicate]: found 2 duplicate entries for crate 'rand_chacha'
    ┌─ /home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/Cargo.lock:186:1
    │  
186 │ ╭ rand_chacha 0.3.1 registry+https://github.com/rust-lang/crates.io-index
187 │ │ 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
    ├ rand_chacha v0.9.0
      ├── rand v0.9.5
      │   ├── infraternal-server v0.1.0
      │   │   └── infraternal v0.1.0
      │   ├── tungstenite v0.29.0
      │   │   └── tokio-tungstenite v0.29.0
      │   │       ├── axum v0.8.9
      │   │       │   └── 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 2 duplicate entries for crate 'rand_core'
    ┌─ /home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/Cargo.lock:188:1
    │  
188 │ ╭ rand_core 0.6.4 registry+https://github.com/rust-lang/crates.io-index
189 │ │ rand_core 0.9.5 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
      ├── 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-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-server v0.1.0 (*)
      │   │       ├── sqlx-core v0.8.6
      │   │       │   ├── sqlx v0.8.6
      │   │       │   │   ├── infraternal 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
      │   ├── tungstenite v0.29.0
      │   │   └── tokio-tungstenite v0.29.0
      │   │       ├── axum v0.8.9
      │   │       │   └── 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 (*)

warning[duplicate]: found 2 duplicate entries for crate 'syn'
    ┌─ /home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/Cargo.lock:225:1
    │  
225 │ ╭ syn 2.0.119 registry+https://github.com/rust-lang/crates.io-index
226 │ │ 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
      │       │   └── 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 (*)
      ├── openssl-macros v0.1.1
      │   └── openssl v0.10.81
      │       ├── axum-server v0.8.0
      │       │   └── infraternal-server v0.1.0 (*)
      │       ├── infraternal-server v0.1.0 (*)
      │       ├── tokio-openssl v0.6.5
      │       │   └── axum-server v0.8.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-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-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-server v0.1.0 (*)
      │       ├── 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 v0.1.0 (*)
              │   │               ├── infraternal-fuzz 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-server v0.1.0
      │       │           └── infraternal v0.1.0 (*)
      │       └── infraternal 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-server v0.1.0 (*)
      │   │   │               ├── sqlx-core v0.8.6
      │   │   │               │   ├── sqlx v0.8.6
      │   │   │               │   │   ├── infraternal 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-server v0.1.0 (*)
      │       ├── futures-executor v0.3.34
      │       │   └── sqlx-sqlite v0.8.6 (*)
      │       ├── infraternal-server v0.1.0 (*)
      │       ├── js-sys v0.3.106
      │       │   └── web-sys v0.3.106
      │       │       └── plotters v0.3.7
      │       │           └── criterion v0.7.0 (*)
      │       ├── sqlx-core v0.8.6 (*)
      │       ├── sqlx-sqlite v0.8.6 (*)
      │       ├── tokio-tungstenite v0.29.0
      │       │   ├── axum v0.8.9 (*)
      │       │   └── (dev) infraternal-server v0.1.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-core v0.5.5 (*)
      │   │   │   ├── webauthn-rs v0.5.5 (*)
      │   │   │   ├── webauthn-rs-core v0.5.5 (*)
      │   │   │   └── webauthn-rs-proto v0.5.5 (*)
      │   │   ├── bip39 v2.2.2
      │   │   │   └── infraternal-server v0.1.0 (*)
      │   │   ├── ciborium v0.2.2
      │   │   │   └── criterion v0.7.0 (*)
      │   │   ├── criterion v0.7.0 (*)
      │   │   ├── either v1.18.0
      │   │   │   ├── axum-server v0.8.0
      │   │   │   │   └── infraternal-server v0.1.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-agent 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
      │   │   │   ├── axum v0.8.9 (*)
      │   │   │   └── 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 (*)
      │   └── 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-server v0.1.0 (*)
      │       ├── sqlx-core v0.8.6 (*)
      │       ├── sqlx-sqlite v0.8.6 (*)
      │       └── tungstenite v0.29.0
      │           └── tokio-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 (*)
      │       ├── hyper v1.11.1 (*)
      │       ├── hyper-util v0.1.21 (*)
      │       ├── infraternal v0.1.0 (*)
      │       ├── infraternal-agent v0.1.0 (*)
      │       ├── infraternal-server v0.1.0 (*)
      │       ├── sqlx-core v0.8.6 (*)
      │       ├── sqlx-macros-core v0.8.6 (*)
      │       ├── tokio-openssl v0.6.5
      │       │   └── axum-server v0.8.0 (*)
      │       ├── 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
      │           ├── js-sys v0.3.106 (*)
      │           ├── plotters v0.3.7 (*)
      │           └── web-sys v0.3.106 (*)
      ├── 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/fix-cell-metrics/Cargo.lock:228:1
    │  
228 │ ╭ synstructure 0.13.2 registry+https://github.com/rust-lang/crates.io-index
229 │ │ 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
              │   └── 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-server v0.1.0
      │       │   │               │   └── infraternal v0.1.0
      │       │   │               ├── sqlx-core v0.8.6
      │       │   │               │   ├── sqlx v0.8.6
      │       │   │               │   │   ├── infraternal 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/fix-cell-metrics/Cargo.lock:230:1
    │  
230 │ ╭ thiserror 1.0.69 registry+https://github.com/rust-lang/crates.io-index
231 │ │ 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
      │   │   └── 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-server v0.1.0
      │   └── infraternal v0.1.0 (*)
      ├── sqlx-core v0.8.6
      │   ├── sqlx v0.8.6
      │   │   ├── infraternal 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 (*)
      └── tungstenite v0.29.0
          └── tokio-tungstenite v0.29.0
              ├── axum v0.8.9
              │   └── 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/fix-cell-metrics/Cargo.lock:232:1
    │  
232 │ ╭ thiserror-impl 1.0.69 registry+https://github.com/rust-lang/crates.io-index
233 │ │ 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
          │   │   └── 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-server v0.1.0
          │   └── infraternal v0.1.0 (*)
          ├── sqlx-core v0.8.6
          │   ├── sqlx v0.8.6
          │   │   ├── infraternal 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 (*)
          └── tungstenite v0.29.0
              └── tokio-tungstenite v0.29.0
                  ├── axum v0.8.9
                  │   └── infraternal-server v0.1.0 (*)
                  └── (dev) infraternal-server v0.1.0 (*)

advisories ok, bans ok, licenses ok, sources ok

==> static builds
   Compiling openssl-sys v0.9.117
   Compiling futures-util v0.3.34
   Compiling time v0.3.55
   Compiling tokio v1.53.2
   Compiling idna v1.1.0
   Compiling serde_json v1.0.151
   Compiling httparse v1.10.1
   Compiling thiserror v2.0.21
   Compiling parking_lot_core v0.9.12
   Compiling futures-channel v0.3.34
   Compiling asn1-rs-impl v0.2.0
   Compiling openssl-macros v0.1.1
   Compiling getrandom v0.2.17
   Compiling tower-service v0.3.3
   Compiling itoa v1.0.18
   Compiling parking v2.2.1
   Compiling crc-catalog v2.5.0
   Compiling hashbrown v0.17.1
   Compiling log v0.4.34
   Compiling arrayvec v0.7.8
   Compiling cpufeatures v0.2.17
   Compiling data-encoding v2.11.1
   Compiling sha2 v0.10.9
   Compiling indexmap v2.14.2
   Compiling tracing v0.1.44
   Compiling event-listener v5.4.2
   Compiling crc v3.4.0
   Compiling rand_core v0.6.4
   Compiling url v2.5.8
   Compiling futures-intrusive v0.5.0
   Compiling rand v0.9.5
   Compiling asn1-rs v0.6.2
   Compiling crossbeam-queue v0.3.14
   Compiling num-traits v0.2.19
   Compiling getrandom v0.4.3
   Compiling hashlink v0.10.0
   Compiling either v1.18.0
   Compiling libsqlite3-sys v0.30.1
   Compiling spin v0.9.9
   Compiling num-integer v0.1.47
   Compiling crossbeam-utils v0.8.23
   Compiling zmij v1.0.23
   Compiling memoffset v0.9.1
   Compiling cfg_aliases v0.2.2
   Compiling foldhash v0.1.5
   Compiling pastey v0.1.1
   Compiling oid-registry v0.7.1
   Compiling ryu v1.0.23
   Compiling heck v0.5.0
   Compiling httpdate v1.0.3
   Compiling fnv v1.0.7
   Compiling base64 v0.22.1
   Compiling allocator-api2 v0.2.21
   Compiling base64 v0.21.7
   Compiling atomic-waker v1.1.2
   Compiling lazy_static v1.5.1
   Compiling h2 v0.4.19
   Compiling serde_urlencoded v0.7.1
   Compiling num-bigint v0.4.8
   Compiling tokio-stream v0.1.19
   Compiling base64urlsafedata v0.5.5
   Compiling hashbrown v0.15.5
   Compiling flume v0.11.1
   Compiling atoi v2.0.0
   Compiling nix v0.30.1
   Compiling sqlx-core v0.8.6
   Compiling uuid v1.27.0
   Compiling futures-executor v0.3.34
   Compiling parking_lot v0.12.5
   Compiling rustversion v1.0.23
   Compiling webauthn-attestation-ca v0.5.5
   Compiling unicase v2.10.0
   Compiling tower-layer v0.3.3
   Compiling mime v0.3.17
   Compiling mime_guess v2.0.5
   Compiling der-parser v9.0.0
   Compiling http-body-util v0.1.5
   Compiling sqlx-sqlite v0.8.6
   Compiling sha1 v0.10.7
   Compiling half v2.7.1
   Compiling fs-err v3.3.2
   Compiling sync_wrapper v1.0.2
   Compiling hex v0.4.3
   Compiling regex-syntax v0.8.11
   Compiling webauthn-rs-core v0.5.5
   Compiling dotenvy v0.15.7
   Compiling utf8parse v0.2.2
   Compiling tokio-openssl v0.6.5
   Compiling anstyle-parse v1.0.0
   Compiling serde_cbor_2 v0.13.0
   Compiling tungstenite v0.29.0
   Compiling x509-parser v0.16.0
   Compiling sqlx-macros-core v0.8.6
   Compiling hyper v1.11.1
   Compiling webauthn-rs-proto v0.5.5
   Compiling regex-automata v0.4.18
   Compiling rand_chacha v0.3.1
   Compiling hex-conservative v0.2.3
   Compiling hyper-util v0.1.21
   Compiling colorchoice v1.0.5
   Compiling base64ct v1.8.3
   Compiling tinyvec v1.13.3
   Compiling anstyle-query v1.1.5
   Compiling infraternal-shim v0.1.0 (/home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/crates/infraternal-shim)
   Compiling anstyle v1.0.14
   Compiling is_terminal_polyfill v1.70.2
   Compiling unicode-normalization v0.1.25
   Compiling anstream v1.0.0
   Compiling password-hash v0.5.0
   Compiling bitcoin_hashes v0.14.101
   Compiling rand v0.8.8
   Compiling arc-swap v1.9.2
   Compiling sqlx-macros v0.8.6
   Compiling tokio-tungstenite v0.29.0
   Compiling tower v0.5.3
   Compiling axum-core v0.5.6
   Compiling sharded-slab v0.1.7
   Compiling vte v0.15.0
   Compiling blake2 v0.10.6
   Compiling tracing-serde v0.2.0
   Compiling tracing-log v0.2.0
   Compiling serde_path_to_error v0.1.20
   Compiling thread_local v1.1.10
   Compiling strsim v0.11.1
   Compiling clap_lex v1.1.1
   Compiling http-range-header v0.4.2
   Compiling nu-ansi-term v0.50.3
   Compiling matchit v0.8.4
   Compiling infraternal-protocol v0.1.0 (/home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/crates/infraternal-protocol)
   Compiling matchers v0.2.0
   Compiling tower-http v0.6.11
   Compiling clap_builder v4.6.7
   Compiling tracing-subscriber v0.3.23
   Compiling argon2 v0.5.3
   Compiling axum v0.8.9
   Compiling bip39 v2.2.2
   Compiling clap_derive v4.6.7
   Compiling clap v4.6.7
   Compiling sqlx v0.8.6
   Compiling openssl v0.10.81
   Compiling axum-server v0.8.0
   Compiling infraternal-agent v0.1.0 (/home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/crates/infraternal-agent)
   Compiling webauthn-rs v0.5.5
   Compiling infraternal-server v0.1.0 (/home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/crates/infraternal-server)
   Compiling infraternal v0.1.0 (/home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/crates/infraternal)
    Finished `release` profile [optimized] target(s) in 3m 36s
/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-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: 16161072 bytes (baseline 16142672 + allowance 262144 = max 16404816)
   Compiling cfg-if v1.0.5
   Compiling pin-project-lite v0.2.17
   Compiling libc v0.2.190
   Compiling serde_core v1.0.229
   Compiling memchr v2.8.3
   Compiling itoa v1.0.18
   Compiling bytes v1.12.1
   Compiling futures-core v0.3.34
   Compiling zerofrom v0.1.8
   Compiling serde v1.0.229
   Compiling stable_deref_trait v1.2.1
   Compiling once_cell v1.21.4
   Compiling smallvec v1.16.2
   Compiling log v0.4.34
   Compiling yoke v0.8.3
   Compiling tracing-core v0.1.36
   Compiling futures-sink v0.3.34
   Compiling zerovec v0.11.8
   Compiling zerocopy v0.8.60
   Compiling generic-array v0.14.7
   Compiling typenum v1.20.1
   Compiling litemap v0.8.3
   Compiling slab v0.4.12
   Compiling writeable v0.6.4
   Compiling num-traits v0.2.19
   Compiling zerotrie v0.2.5
   Compiling tracing v0.1.44
   Compiling subtle v2.6.1
   Compiling tinystr v0.8.4
   Compiling potential_utf v0.1.6
   Compiling utf8_iter v1.0.4
   Compiling openssl-sys v0.9.117
   Compiling icu_locale_core v2.3.0
   Compiling icu_collections v2.3.0
   Compiling errno v0.3.14
   Compiling signal-hook-registry v1.4.8
   Compiling socket2 v0.6.5
   Compiling mio v1.2.4
   Compiling block-buffer v0.10.4
   Compiling crypto-common v0.1.7
   Compiling http v1.5.0
   Compiling icu_normalizer_data v2.3.0
   Compiling icu_properties_data v2.3.0
   Compiling equivalent v1.0.2
   Compiling percent-encoding v2.3.2
   Compiling tokio v1.53.2
   Compiling digest v0.10.7
   Compiling bitflags v2.13.2
   Compiling getrandom v0.3.4
   Compiling form_urlencoded v1.2.2
   Compiling futures-task v0.3.34
   Compiling hashbrown v0.17.1
   Compiling futures-io v0.3.34
   Compiling icu_provider v2.3.1
   Compiling futures-util v0.3.34
   Compiling cpufeatures v0.2.17
   Compiling zmij v1.0.23
   Compiling scopeguard v1.2.0
   Compiling minimal-lexical v0.2.1
   Compiling lock_api v0.4.14
   Compiling icu_normalizer v2.3.0
   Compiling icu_properties v2.3.0
   Compiling indexmap v2.14.2
   Compiling nom v7.1.3
   Compiling serde_json v1.0.151
   Compiling httparse v1.10.1
   Compiling http-body v1.1.0
   Compiling thiserror v1.0.69
   Compiling rand_core v0.9.5
   Compiling ppv-lite86 v0.2.21
   Compiling thiserror v2.0.21
   Compiling powerfmt v0.2.1
   Compiling time-core v0.1.9
   Compiling num-conv v0.2.2
   Compiling foreign-types-shared v0.1.1
   Compiling idna_adapter v1.2.2
   Compiling deranged v0.5.8
   Compiling getrandom v0.4.3
   Compiling foreign-types v0.3.2
   Compiling idna v1.1.0
   Compiling rand_chacha v0.9.0
   Compiling rusticata-macros v4.1.0
   Compiling getrandom v0.2.17
   Compiling futures-channel v0.3.34
   Compiling parking_lot_core v0.9.12
   Compiling arrayvec v0.7.8
   Compiling data-encoding v2.11.1
   Compiling time v0.3.55
   Compiling tower-service v0.3.3
   Compiling url v2.5.8
   Compiling rand_core v0.6.4
   Compiling rand v0.9.5
   Compiling num-integer v0.1.47
   Compiling crossbeam-utils v0.8.23
   Compiling atomic-waker v1.1.2
   Compiling allocator-api2 v0.2.21
   Compiling base64 v0.21.7
   Compiling httpdate v1.0.3
   Compiling lazy_static v1.5.1
   Compiling foldhash v0.1.5
   Compiling fnv v1.0.7
   Compiling oid-registry v0.7.1
   Compiling base64urlsafedata v0.5.5
   Compiling num-bigint v0.4.8
   Compiling memoffset v0.9.1
   Compiling hashbrown v0.15.5
   Compiling uuid v1.27.0
   Compiling parking_lot v0.12.5
   Compiling either v1.18.0
   Compiling parking v2.2.1
   Compiling mime v0.3.17
   Compiling crc-catalog v2.5.0
   Compiling ryu v1.0.23
   Compiling tower-layer v0.3.3
   Compiling base64 v0.22.1
   Compiling crc v3.4.0
   Compiling serde_urlencoded v0.7.1
   Compiling futures-intrusive v0.5.0
   Compiling asn1-rs v0.6.2
   Compiling event-listener v5.4.2
   Compiling crossbeam-queue v0.3.14
   Compiling hashlink v0.10.0
   Compiling nix v0.30.1
   Compiling half v2.7.1
   Compiling http-body-util v0.1.5
   Compiling spin v0.9.9
   Compiling sha2 v0.10.9
   Compiling sha1 v0.10.7
   Compiling libsqlite3-sys v0.30.1
   Compiling utf8parse v0.2.2
   Compiling sync_wrapper v1.0.2
   Compiling regex-syntax v0.8.11
   Compiling anstyle-parse v1.0.0
   Compiling tungstenite v0.29.0
   Compiling fs-err v3.3.2
   Compiling serde_cbor_2 v0.13.0
   Compiling flume v0.11.1
   Compiling tokio-util v0.7.19
   Compiling tokio-stream v0.1.19
   Compiling der-parser v9.0.0
   Compiling sqlx-core v0.8.6
   Compiling mime_guess v2.0.5
   Compiling webauthn-rs-proto v0.5.5
   Compiling h2 v0.4.19
   Compiling rand_chacha v0.3.1
   Compiling x509-parser v0.16.0
   Compiling hex-conservative v0.2.3
   Compiling futures-executor v0.3.34
   Compiling atoi v2.0.0
   Compiling is_terminal_polyfill v1.70.2
   Compiling colorchoice v1.0.5
   Compiling anstyle v1.0.14
   Compiling hex v0.4.3
   Compiling regex-automata v0.4.18
   Compiling tinyvec v1.13.3
   Compiling anstyle-query v1.1.5
   Compiling base64ct v1.8.3
   Compiling unicase v2.10.0
   Compiling sqlx-sqlite v0.8.6
   Compiling password-hash v0.5.0
   Compiling unicode-normalization v0.1.25
   Compiling anstream v1.0.0
   Compiling infraternal-shim v0.1.0 (/home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/crates/infraternal-shim)
   Compiling bitcoin_hashes v0.14.101
   Compiling rand v0.8.8
   Compiling tokio-tungstenite v0.29.0
   Compiling arc-swap v1.9.2
   Compiling tower v0.5.3
   Compiling axum-core v0.5.6
   Compiling sharded-slab v0.1.7
   Compiling vte v0.15.0
   Compiling tracing-serde v0.2.0
   Compiling blake2 v0.10.6
   Compiling serde_path_to_error v0.1.20
   Compiling hyper v1.11.1
   Compiling tracing-log v0.2.0
   Compiling thread_local v1.1.10
   Compiling strsim v0.11.1
   Compiling clap_lex v1.1.1
   Compiling matchit v0.8.4
   Compiling infraternal-protocol v0.1.0 (/home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/crates/infraternal-protocol)
   Compiling nu-ansi-term v0.50.3
   Compiling http-range-header v0.4.2
   Compiling matchers v0.2.0
   Compiling clap_builder v4.6.7
   Compiling argon2 v0.5.3
   Compiling tracing-subscriber v0.3.23
   Compiling tower-http v0.6.11
   Compiling bip39 v2.2.2
   Compiling sqlx v0.8.6
   Compiling hyper-util v0.1.21
   Compiling axum v0.8.9
   Compiling clap v4.6.7
   Compiling openssl v0.10.81
   Compiling webauthn-attestation-ca v0.5.5
   Compiling webauthn-rs-core v0.5.5
   Compiling tokio-openssl v0.6.5
   Compiling axum-server v0.8.0
   Compiling webauthn-rs v0.5.5
   Compiling infraternal-server v0.1.0 (/home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/crates/infraternal-server)
   Compiling infraternal-agent v0.1.0 (/home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/crates/infraternal-agent)
   Compiling infraternal v0.1.0 (/home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/crates/infraternal)
    Finished `release` profile [optimized] target(s) in 4m 03s
/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/aarch64-unknown-linux-musl/release/infraternal: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, stripped
PT_INTERP: absent; size: 13571944 bytes (baseline 13555672 + allowance 262144 = max 13817816)
server subcommand: exit 2, not implemented
agent subcommand: exit 2, not implemented

+---------------------------+--------------+
| Rust gate                 | Result       |
+---------------------------+--------------+
| fmt                       | PASS         |
| VT native fmt             | PASS         |
| clippy                    | PASS         |
| test                      | PASS         |
| cargo-deny                | PASS         |
| static builds             | PASS         |
+---------------------------+--------------+

==> 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)

Checked 38 installs across 69 packages (no changes) [11.00ms]
$ bun x tsc --project tsconfig.json
bun test v1.4.2 (744846f84)

browser-build.test.ts:
(pass) the browser renderer has no unresolved Vite Node-file shim request [14.29ms]

precompress.test.ts:
(pass) text sidecars round-trip deterministically; compressed formats remain identity [15.29ms]

 2 pass
 0 fail
 15 expect() calls
Ran 2 tests across 2 files. [61.00ms]
$ bun run build.ts
built main.js, chunk-pxh9419f.js, chunk-f1a5ev2m.js, backdrop.worker.js, faulty-terminal.worker.js, chunk-73mfexsx.js, chunk-wqc1r05d.js, chunk-axbkkqp1.js, chunk-8k95kngm.js
chunk-73mfexsx.js: identity=185 gzip=150 brotli=124 bytes
faulty-terminal.worker.js: identity=1021 gzip=535 brotli=460 bytes
backdrop.worker.js: identity=241 gzip=212 brotli=162 bytes
chunk-axbkkqp1.js: identity=90 gzip=90 brotli=78 bytes
chunk-f1a5ev2m.js: identity=6464 gzip=3112 brotli=2823 bytes
main.js: identity=76185 gzip=28599 brotli=24906 bytes
chunk-wqc1r05d.js: identity=24954 gzip=8997 brotli=7908 bytes
chunk-pxh9419f.js: identity=7799 gzip=3329 brotli=2968 bytes
chunk-8k95kngm.js: identity=690210 gzip=200457 brotli=162348 bytes
JavaScript transfer: identity=807149 gzip=245481/307200 brotli=201777/256000 bytes

==> Rust stream oracle (for the differential test)

==> TypeScript protocol tests
bun test v1.4.2 (744846f84)

src/codec.test.ts:
(pass) wire protocol golden vectors > encodes and decodes each frame exactly as the shared manifest describes [4.27ms]
(pass) wire protocol golden vectors > returns borrowed payload views and writes into reusable buffers [0.17ms]
(pass) wire protocol golden vectors > decodes muxed messages split across WebSocket messages [0.81ms]
(pass) wire protocol golden vectors > rejects oversized, non-canonical, unknown, and malformed frame bytes [0.32ms]
(pass) split mux header preserves trailing Close [0.25ms]

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 [1983.72ms]
(pass) maximum frame size and fragmented oversized prefix obey the allocation boundary [6.79ms]

 7 pass
 0 fail
 34390 expect() calls
Ran 7 tests across 2 files. [2.00s]
Finished at HEAD `fe12576954ec30e88a1ef2cdab345de27fc3d65e`. The branch is split into atomic renderer rebuild, loaded-font metrics, and pixel regression-test commits. Both vendor patches are applied in build order (theme, then cell metrics); the pinned build regenerated `ghostty-web.js`, declarations, and `SHA256SUMS`. - Font metrics: 14px Geist Mono measures ascent 14px + descent 4px = 18px (1.286×). The 13px touch size measures 13px + 4px = 17px (1.308×); its integer font box is 0.008 above the requested 1.30 ceiling, and preserving that box avoids clipping descenders. Device-pixel rounded width is 8px for a 7.916px natural advance; Canvas `letterSpacing` keeps each batched run on the grid exactly. - Pixel checks at DPR 1/2/3 passed for 200-column mixed text, CJK, emoji, combining marks, cursor edge, 50 pipe rows, and box-drawing joins. Cursor starts at device x=1600/3200/4800 and the preceding glyph ends at x=1599/3199/4799. - Desktop 1440×900 DPR2: rows 52→44; redraw p50/p95 1/3ms→0.8/1.3ms; 10 MB/s output 9.682→9.684 MB/s; WASM memory 13,762,560→13,500,416 bytes. Load averages (1/5/15m): 9.23/8.06/10.19 before, 7.82/12.38/12.22 after. - Mobile 393×852 DPR3: rows 46→40; redraw p50/p95 0.6/5.1ms→1/1.4ms; 10 MB/s output 9.679→9.679 MB/s; WASM memory stayed 12,713,984 bytes. Load averages: 12.20/8.73/10.39 before, 6.84/12.02/12.11 after. - Exact-position harness at 303×86 compared run-based dev to spacing-adjusted runs: redraw p50/p95 1.6/1.9ms before and 1.4/1.9ms after; 10 MB/s output 9.647→9.628 MB/s, memory 14.61→14.35 MB. A high-load final sample (11.4/16.33/14.31) measured 3.3/7ms redraw and 9.629 MB/s. Renderer choice keeps batching; it does not use per-cell drawing. - The theme suite passed 50 switches (p50 2.8ms, p99/max 8ms; no long tasks). Canvas `letterSpacing` is supported by Safari 18.4 per [WebKit’s release notes](https://webkit.org/blog/16574/webkit-features-in-safari-18-4/). - Captures: [desktop before, 1440×900 DPR2](https://git.kayg.org/attachments/717e42db-5980-4eb5-a020-971ad097046b), [desktop after](https://git.kayg.org/attachments/100e6e0d-748f-442e-9c6d-4e5134afbeb3), [mobile before, 393×852 DPR3](https://git.kayg.org/attachments/34576551-921d-4627-98f8-d47c165a3ebb), [mobile after](https://git.kayg.org/attachments/cd1a908e-20cd-4548-898d-fecdf9ca7733). `apps/tracer/vendor/ghostty-web/build.sh --check` reproduced ghostty-web 5f0c6b7 with Ghostty 5714ed0; `sha256sum -c SHA256SUMS` passed. `bun run check`, `bun run build`, and the DPR, exact-position, and theme Playwright suites passed. The final `scripts/verify fast` run used `TRACER_TEST_PORT=4784`, ran under `systemd-run --user --scope -p CPUWeight=10000`, and exited 0. Full stdout/stderr from the script is quoted verbatim below. <details> <summary>Verbatim scripts/verify fast output</summary> ````text METRIC name=network_rtt_selftest configured_rtt_ms=300 jitter_ms=30 loss=unsupported transport=tcp-stream n=3 p50_ms=305.14 p99_ms=318.72 result=PASS ==> fmt ==> VT native fmt ==> clippy Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.26s ==> test Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s Running unittests src/main.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/infraternal-a46d1d3018be453d) running 2 tests test install::tests::dry_run_prints_a_process_surviving_user_unit ... ok test setup_token_tests::setup_token_command_reads_only_the_expected_socket_response ... ok test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running tests/agent_daemon.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/agent_daemon-6ad2f36f6cbad5f4) 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 39.47s Running tests/agent_queues.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/agent_queues-903968605c81c159) 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 34.70s Running tests/agent_review.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/agent_review-4c573fefe2c9ceb0) running 6 tests 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 repeated_tiny_credit_pauses_preserve_shell_progress ... ok test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.18s Running tests/agent_sessions.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/agent_sessions-27dd7012522dc90a) running 1 test test detached_shim_is_discovered_and_replays_from_the_last_observed_offset ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s Running tests/idle_canary.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/idle_canary-34b48132d2683158) 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.07s Running tests/shim.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/shim-efcf863d477a0b0f) running 7 tests test double_fork_survives_parent_death ... ok test disallowed_signal_only_disconnects_peer ... ok test replacement_connection_and_malformed_limit ... ok active test user_scope_survives_parent_unit_stop ... ok test attached_backpressure_and_detached_progress ... ok test real_shell_reconnect_resize_and_retained_exit ... ok test ring_wrap_snapshot_repaints_real_vim ... ok test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.14s Running tests/vt_credit.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/vt_credit-4b4e6633eeb566f0) 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 11.77s Running tests/vt_reconnect.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/vt_reconnect-fd570c04bb886bcc) 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.30s Running unittests src/lib.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/infraternal_agent-58d2d9e79005355c) running 16 tests test relay::tests::attachment_has_no_implicit_output_or_snapshot_credit ... ok test relay::tests::output_payload_move_measurement ... ignored, release ownership versus payload-copy measurement test relay::tests::input_overlap_gap_and_restart_from_confirmed_offset ... ok test relay::tests::expired_credit_resumes_retained_bytes_at_the_same_cursor ... ok test relay::tests::output_partial_credit_and_dedup ... ok test relay::tests::positive_insufficient_credit_arms_a_one_shot_deadline ... ok test relay::tests::starvation_is_one_shot_and_snapshot_length_does_not_advance_sequence ... ok test relay::tests::returned_credit_cancels_starvation_and_state_has_no_payload_buffer ... ok test relay::tests::overflowing_ranges_never_mutate_cursors ... ok test sessions::tests::reader_borrow_measurement ... ignored, release borrowed versus owned asynchronous receive measurement test sessions::tests::symlink_state_cannot_redirect_private_runtime_storage ... ok test sessions::tests::refused_socket_is_removed_but_insecure_directory_is_rejected ... ok test sessions::tests::sequenced_attach_intersects_caps_and_legacy_attach_stays_zero ... ok test sessions::tests::borrowed_reader_payload_uses_reusable_cancel_safe_storage ... ok test sessions::tests::post_listen_chmod_wakes_a_connection_refused_at_bind ... ok test sessions::tests::cancelled_fragmented_shim_read_retains_header_and_body_progress ... ok test result: ok. 14 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.02s Running tests/transport.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/transport-1d7d12099b746190) 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 unittests src/lib.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/infraternal_plugin_api-4480fd7032f11ca2) running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running unittests src/lib.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/infraternal_plugin_ssh-22a9a893799c7f17) running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running unittests src/lib.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/infraternal_protocol-67b9a310ef49abf9) running 7 tests test stream_tests::split_mux_header_preserves_trailing_close ... ok test tests::mux_round_trip_and_incremental_decoders_preserve_frame_order ... ok test tests::oversized_encode_keeps_the_reusable_output_unchanged ... ok test tests::rejects_oversized_noncanonical_and_malformed_frames_before_buffering_body ... ok test stream_tests::all_short_frame_splits_match_direct_decoding ... ok test stream_tests::maximum_sized_fragmented_frame_is_not_rejected ... ok test tests::golden_vectors_encode_and_decode_every_contract_frame ... ok test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s Running unittests src/lib.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/infraternal_server-1f24b528c77d1184) running 81 tests test auth::tests::account_identity_migration_backfills_legacy_users ... ok test auth::tests::aaguid_projection_rejects_malformed_cbor_corpus ... ok test auth::tests::account_identity_schema_has_unique_usernames_and_display_names ... ok test auth::http::tests::admission_partitions_reset_without_trusting_forwarded_headers ... ok test auth::tests::aaguid_migration_preserves_legacy_credentials_and_sessions ... ok test auth::tests::discoverable_latency_at_pending_capacity ... ignored, run --release --ignored --nocapture without concurrent builds test auth::http::hostname_tests::authenticated_session_response_includes_system_hostname ... ok test auth::tests::audit_logout_survives_admission_exhaustion ... ok test auth::tests::audit_ceremony_browser_binding ... ok test auth::tests::audit_no_public_credential_listing ... 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::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::http_csrf_cookie_flags_body_limit_and_latency_evidence ... ok test auth::tests::pending_unlock_expires_without_terminal_authority ... ok test auth::tests::public_status_and_discoverable_http_login ... 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::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::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::review4_slow_open_at_user_capacity ... ignored, release-only connect scale measurement; run without concurrent builds 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::setup_check_is_non_consuming_and_closes_after_owner_creation ... ok test auth::tests::setup_identity_validation_and_uniqueness ... ok test auth::tests::review3_tests::review3_waiting_handshake_loses_authority ... ok test auth::tests::setup_start_accepts_username_and_display_name ... 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::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::socket_authority_latency_at_user_capacity ... ignored, release-only measurement without concurrent compilation test auth::tests::socket_tests::authenticated_idle_socket_survives_the_former_read_timeout ... 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::full_output_queue_must_not_block_shared_actor ... ok test embedded::regressions::healthy_receiver_survives_ready_native_output_burst ... ok test auth::tests::socket_tests::clean_control_close_is_not_an_internal_error ... ok test embedded::regressions::output_and_snapshot_spend_remaining_restart_credit ... 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::recovery_event_then_snapshot_keeps_embedded_connection_live ... ok test embedded::regressions::recovery_notices_preserve_order_credit_and_session_isolation ... 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 runtime::tests::proxy_mode_requires_an_explicit_peer_allowlist ... ok test runtime::tests::proxy_networks_match_only_their_address_family_and_prefix ... ok test embedded::regressions::healthy_streams_progress_at_user_attachment_capacity ... ok test runtime::tests::router_migrates_private_storage_and_serves_health ... 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::tests::startup_with_owner_unlinks_stale_setup_token_socket ... ok test web_assets::tests::encodings_and_identity_have_correct_headers_and_sizes ... ok test web_assets::tests::spa_and_mutable_assets_revalidate_and_missing_brotli_uses_gzip ... ok test websocket::writer_tests::second_device_does_not_inherit_first_device_input_ack ... ok test websocket::writer_tests::writer_admission_at_user_capacity ... ignored, release-only scale measurement; run without concurrent builds 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 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::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::revoked_idle_socket_loses_all_authority ... ok test auth::tests::stale_counters_recovery_cancellation_and_wrap_tampering ... ok test result: ok. 75 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 75.36s Running unittests src/lib.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/infraternal_shim-20f12ce01dce80ec) running 73 tests test frame::checks::codec_reuse_measurement ... ignored, release codec and allocation-path measurement test frame::checks::golden::every_frozen_message ... ok test frame::checks::tests::invalid_lengths_types_and_utf8 ... ok test ring::checks::tests::wrap_and_exact_offsets ... ok test frame::checks::tests::golden_and_fragmented ... 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 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 test session::sequenced_checks::coalesced_ack_never_overwrites_a_partial_output_and_cursors_survive_peer_loss ... ok test session::sequenced_checks::trim_duplicates_gaps_overflow_and_capacity_are_transactional ... ok test session::inputs::tests::identity_cap_preserves_all_existing_cursors ... ok test session::sequenced_checks::new_frames_roundtrip_and_refuse_noncanonical_payloads ... ok test session::sequenced_checks::writer_selection_has_a_frozen_little_endian_layout ... ok test session::sequenced_checks::reusable_encoder_retains_capacity_and_refuses_growth_before_mutation ... ok test frame::checks::approximate_snapshot_codec_is_bounded_and_canonical ... ok test frame::checks::borrowed_and_owned_decoders_agree_at_every_fragment_boundary ... ok test frame::checks::golden::exact_maximum_and_coalesced_frames ... ok test terminal::checks::tests::implicit_hyperlinks_retain_groups_across_rows_and_continuation ... ok test terminal::checks::tests::long_unfinished_hyperlink_and_control_strings_continue ... ok test terminal::checks::tests::margins_tabs_charsets_and_modes_continue ... ok test terminal::checks::tests::fixtures_and_continuations_repaint ... ok test terminal::checks::tests::partial_csi_and_utf8_continue ... ok test terminal::checks::tests::saved_origin_survives_changed_margins ... ok test terminal::checks::tests::alternate_variants_and_nested_switches_repaint ... ok test terminal::checks::tests::retained_alternate_saved_cursor_and_keyboard_stack_continue ... ok test terminal::fidelity::fidelity_charset_mapped_wide_space_is_explicitly_rejected ... ok test terminal::fidelity::fidelity_diagnostic_fixture ... ignored, diagnostic replay of an explicitly selected fixture file test terminal::checks::tests::pending_wrap_and_saved_wrap_continue_with_wide_cells ... ok test terminal::fidelity::fidelity_extended_nightly ... ignored, nightly expanded differential corpus: 20,000 deterministic cases test terminal::checks::approximate_repaint_keeps_complete_pending_syntax_or_omits_it_whole ... ok test session::resize_checks::native_resize_refusal_preserves_peer_and_pty ... ok test terminal::fidelity::fidelity_cursor ... ok test terminal::fidelity::fidelity_fresh_c_redraw_default_is_explicitly_rejected ... ok test terminal::fidelity::fidelity_inherited_protection_off_mode_is_explicitly_rejected ... ok test terminal::checks::tests::byte_budget_prunes_history_and_resize_remains_repaintable ... ok test terminal::fidelity::fidelity_edge ... ok test terminal::fidelity::fidelity_iso_protection_erase ... ok test terminal::checks::tests::unfinished_sequence_over_frame_limit_fails_without_losing_runtime_state ... 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_oracle_detects_hidden_state ... ok test terminal::fidelity::fidelity_iso_protection_does_not_keep_rep_scratch ... ok test terminal::fidelity::fidelity_rejects_unrepresentable_rep_without_mutating_source ... ok test terminal::fidelity::fidelity_saved_modes_future_restore ... ok test terminal::fidelity::fidelity_f1_rep ... ok test terminal::fidelity::fidelity_seeded_nightly ... ignored, nightly differential corpus: 20,000 deterministic cases test terminal::fidelity::fidelity_saved_cursor_over_changed_edge ... ok test terminal::fidelity::fidelity_semantic_validation_matches_exported_history_extent ... ok test terminal::checks::approximate_repaint_is_bounded_clips_at_complete_cells_and_preserves_source ... 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_screen_entry_consumes_inherited_shift_before_saving ... ok test terminal::fidelity::fidelity_single_shift_survives_rep_seed ... ok test terminal::fidelity::fidelity_spacer_head_attributes ... 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::fidelity::fidelity_variation_tail_attributes ... ok test terminal::resize_recovery::earlier_geometry_changes_require_approximation_even_with_origin_coverage ... ok test terminal_native::allocation::resize_allocation_refusal_retires_native_handle ... ok test terminal::resize_recovery::ring_gap_requires_clean_approximate_recovery ... ok test terminal::fidelity::fidelity_variation_wrap_attributes ... ok test terminal::fidelity::fidelity_recorded_corpus ... ok test terminal::fidelity::fidelity_mouse_effective_fields_follow_order_independently_of_booleans ... ok test terminal::fidelity::fidelity_handwritten ... ok test terminal::fidelity::fidelity_extended_smoke ... ok test terminal::fidelity::fidelity_seeded_smoke ... ok test result: ok. 61 passed; 0 failed; 12 ignored; 0 measured; 0 filtered out; finished in 32.71s Running tests/detach.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/detach-4218a1c714d4176b) running 1 test test closed_standard_descriptors_become_dev_null ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.03s Running tests/mouse.rs (/home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/debug/deps/mouse-556febae1b88516e) 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.20s 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_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_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 ==> cargo-deny warning[duplicate]: found 2 duplicate entries for crate 'base64' ┌─ /home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/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 │ ├── 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-server 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-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 3 duplicate entries for crate 'getrandom' ┌─ /home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/Cargo.lock:88:1 │ 88 │ ╭ getrandom 0.2.17 registry+https://github.com/rust-lang/crates.io-index 89 │ │ getrandom 0.3.4 registry+https://github.com/rust-lang/crates.io-index 90 │ │ 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 ├── 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-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-server v0.1.0 (*) │ │ ├── sqlx-core v0.8.6 │ │ │ ├── sqlx v0.8.6 │ │ │ │ ├── infraternal 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 (*) ├ getrandom v0.3.4 └── rand_core v0.9.5 ├── rand v0.9.5 │ ├── infraternal-server v0.1.0 │ │ └── infraternal v0.1.0 │ ├── tungstenite v0.29.0 │ │ └── tokio-tungstenite v0.29.0 │ │ ├── axum v0.8.9 │ │ │ └── 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-server v0.1.0 │ │ │ └── infraternal 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-server v0.1.0 (*) │ │ │ ├── tokio-openssl v0.6.5 │ │ │ │ └── axum-server v0.8.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 (*) └── uuid v1.27.0 ├── infraternal-agent v0.1.0 │ └── infraternal v0.1.0 (*) ├── infraternal-server 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/fix-cell-metrics/Cargo.lock:94:1 │ 94 │ ╭ hashbrown 0.15.5 registry+https://github.com/rust-lang/crates.io-index 95 │ │ 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-server v0.1.0 │ │ └── infraternal 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-server v0.1.0 │ │ └── infraternal 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 (*) └── sqlx-core v0.8.6 ├── sqlx v0.8.6 │ ├── infraternal 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/fix-cell-metrics/Cargo.lock:182:1 │ 182 │ ╭ r-efi 5.3.0 registry+https://github.com/rust-lang/crates.io-index 183 │ │ 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 │ ├── tungstenite v0.29.0 │ │ └── tokio-tungstenite v0.29.0 │ │ ├── axum v0.8.9 │ │ │ └── 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-server v0.1.0 │ │ │ └── infraternal 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-server v0.1.0 (*) │ │ │ ├── tokio-openssl v0.6.5 │ │ │ │ └── axum-server v0.8.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 (*) └── uuid v1.27.0 ├── infraternal-agent v0.1.0 │ └── infraternal v0.1.0 (*) ├── infraternal-server 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 'rand' ┌─ /home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/Cargo.lock:184:1 │ 184 │ ╭ rand 0.8.8 registry+https://github.com/rust-lang/crates.io-index 185 │ │ rand 0.9.5 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 ├ rand v0.9.5 ├── infraternal-server v0.1.0 │ └── infraternal v0.1.0 ├── tungstenite v0.29.0 │ └── tokio-tungstenite v0.29.0 │ ├── axum v0.8.9 │ │ └── 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 (*) warning[duplicate]: found 2 duplicate entries for crate 'rand_chacha' ┌─ /home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/Cargo.lock:186:1 │ 186 │ ╭ rand_chacha 0.3.1 registry+https://github.com/rust-lang/crates.io-index 187 │ │ 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 ├ rand_chacha v0.9.0 ├── rand v0.9.5 │ ├── infraternal-server v0.1.0 │ │ └── infraternal v0.1.0 │ ├── tungstenite v0.29.0 │ │ └── tokio-tungstenite v0.29.0 │ │ ├── axum v0.8.9 │ │ │ └── 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 2 duplicate entries for crate 'rand_core' ┌─ /home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/Cargo.lock:188:1 │ 188 │ ╭ rand_core 0.6.4 registry+https://github.com/rust-lang/crates.io-index 189 │ │ rand_core 0.9.5 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 ├── 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-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-server v0.1.0 (*) │ │ ├── sqlx-core v0.8.6 │ │ │ ├── sqlx v0.8.6 │ │ │ │ ├── infraternal 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 │ ├── tungstenite v0.29.0 │ │ └── tokio-tungstenite v0.29.0 │ │ ├── axum v0.8.9 │ │ │ └── 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 (*) warning[duplicate]: found 2 duplicate entries for crate 'syn' ┌─ /home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/Cargo.lock:225:1 │ 225 │ ╭ syn 2.0.119 registry+https://github.com/rust-lang/crates.io-index 226 │ │ 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 │ │ └── 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 (*) ├── openssl-macros v0.1.1 │ └── openssl v0.10.81 │ ├── axum-server v0.8.0 │ │ └── infraternal-server v0.1.0 (*) │ ├── infraternal-server v0.1.0 (*) │ ├── tokio-openssl v0.6.5 │ │ └── axum-server v0.8.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-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-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-server v0.1.0 (*) │ ├── 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 v0.1.0 (*) │ │ ├── infraternal-fuzz 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-server v0.1.0 │ │ └── infraternal v0.1.0 (*) │ └── infraternal 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-server v0.1.0 (*) │ │ │ ├── sqlx-core v0.8.6 │ │ │ │ ├── sqlx v0.8.6 │ │ │ │ │ ├── infraternal 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-server v0.1.0 (*) │ ├── futures-executor v0.3.34 │ │ └── sqlx-sqlite v0.8.6 (*) │ ├── infraternal-server v0.1.0 (*) │ ├── js-sys v0.3.106 │ │ └── web-sys v0.3.106 │ │ └── plotters v0.3.7 │ │ └── criterion v0.7.0 (*) │ ├── sqlx-core v0.8.6 (*) │ ├── sqlx-sqlite v0.8.6 (*) │ ├── tokio-tungstenite v0.29.0 │ │ ├── axum v0.8.9 (*) │ │ └── (dev) infraternal-server v0.1.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-core v0.5.5 (*) │ │ │ ├── webauthn-rs v0.5.5 (*) │ │ │ ├── webauthn-rs-core v0.5.5 (*) │ │ │ └── webauthn-rs-proto v0.5.5 (*) │ │ ├── bip39 v2.2.2 │ │ │ └── infraternal-server v0.1.0 (*) │ │ ├── ciborium v0.2.2 │ │ │ └── criterion v0.7.0 (*) │ │ ├── criterion v0.7.0 (*) │ │ ├── either v1.18.0 │ │ │ ├── axum-server v0.8.0 │ │ │ │ └── infraternal-server v0.1.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-agent 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 │ │ │ ├── axum v0.8.9 (*) │ │ │ └── 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 (*) │ └── 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-server v0.1.0 (*) │ ├── sqlx-core v0.8.6 (*) │ ├── sqlx-sqlite v0.8.6 (*) │ └── tungstenite v0.29.0 │ └── tokio-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 (*) │ ├── hyper v1.11.1 (*) │ ├── hyper-util v0.1.21 (*) │ ├── infraternal v0.1.0 (*) │ ├── infraternal-agent v0.1.0 (*) │ ├── infraternal-server v0.1.0 (*) │ ├── sqlx-core v0.8.6 (*) │ ├── sqlx-macros-core v0.8.6 (*) │ ├── tokio-openssl v0.6.5 │ │ └── axum-server v0.8.0 (*) │ ├── 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 │ ├── js-sys v0.3.106 (*) │ ├── plotters v0.3.7 (*) │ └── web-sys v0.3.106 (*) ├── 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/fix-cell-metrics/Cargo.lock:228:1 │ 228 │ ╭ synstructure 0.13.2 registry+https://github.com/rust-lang/crates.io-index 229 │ │ 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 │ └── 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-server v0.1.0 │ │ │ │ └── infraternal v0.1.0 │ │ │ ├── sqlx-core v0.8.6 │ │ │ │ ├── sqlx v0.8.6 │ │ │ │ │ ├── infraternal 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/fix-cell-metrics/Cargo.lock:230:1 │ 230 │ ╭ thiserror 1.0.69 registry+https://github.com/rust-lang/crates.io-index 231 │ │ 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 │ │ └── 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-server v0.1.0 │ └── infraternal v0.1.0 (*) ├── sqlx-core v0.8.6 │ ├── sqlx v0.8.6 │ │ ├── infraternal 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 (*) └── tungstenite v0.29.0 └── tokio-tungstenite v0.29.0 ├── axum v0.8.9 │ └── 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/fix-cell-metrics/Cargo.lock:232:1 │ 232 │ ╭ thiserror-impl 1.0.69 registry+https://github.com/rust-lang/crates.io-index 233 │ │ 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 │ │ └── 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-server v0.1.0 │ └── infraternal v0.1.0 (*) ├── sqlx-core v0.8.6 │ ├── sqlx v0.8.6 │ │ ├── infraternal 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 (*) └── tungstenite v0.29.0 └── tokio-tungstenite v0.29.0 ├── axum v0.8.9 │ └── infraternal-server v0.1.0 (*) └── (dev) infraternal-server v0.1.0 (*) advisories ok, bans ok, licenses ok, sources ok ==> static builds Compiling openssl-sys v0.9.117 Compiling futures-util v0.3.34 Compiling time v0.3.55 Compiling tokio v1.53.2 Compiling idna v1.1.0 Compiling serde_json v1.0.151 Compiling httparse v1.10.1 Compiling thiserror v2.0.21 Compiling parking_lot_core v0.9.12 Compiling futures-channel v0.3.34 Compiling asn1-rs-impl v0.2.0 Compiling openssl-macros v0.1.1 Compiling getrandom v0.2.17 Compiling tower-service v0.3.3 Compiling itoa v1.0.18 Compiling parking v2.2.1 Compiling crc-catalog v2.5.0 Compiling hashbrown v0.17.1 Compiling log v0.4.34 Compiling arrayvec v0.7.8 Compiling cpufeatures v0.2.17 Compiling data-encoding v2.11.1 Compiling sha2 v0.10.9 Compiling indexmap v2.14.2 Compiling tracing v0.1.44 Compiling event-listener v5.4.2 Compiling crc v3.4.0 Compiling rand_core v0.6.4 Compiling url v2.5.8 Compiling futures-intrusive v0.5.0 Compiling rand v0.9.5 Compiling asn1-rs v0.6.2 Compiling crossbeam-queue v0.3.14 Compiling num-traits v0.2.19 Compiling getrandom v0.4.3 Compiling hashlink v0.10.0 Compiling either v1.18.0 Compiling libsqlite3-sys v0.30.1 Compiling spin v0.9.9 Compiling num-integer v0.1.47 Compiling crossbeam-utils v0.8.23 Compiling zmij v1.0.23 Compiling memoffset v0.9.1 Compiling cfg_aliases v0.2.2 Compiling foldhash v0.1.5 Compiling pastey v0.1.1 Compiling oid-registry v0.7.1 Compiling ryu v1.0.23 Compiling heck v0.5.0 Compiling httpdate v1.0.3 Compiling fnv v1.0.7 Compiling base64 v0.22.1 Compiling allocator-api2 v0.2.21 Compiling base64 v0.21.7 Compiling atomic-waker v1.1.2 Compiling lazy_static v1.5.1 Compiling h2 v0.4.19 Compiling serde_urlencoded v0.7.1 Compiling num-bigint v0.4.8 Compiling tokio-stream v0.1.19 Compiling base64urlsafedata v0.5.5 Compiling hashbrown v0.15.5 Compiling flume v0.11.1 Compiling atoi v2.0.0 Compiling nix v0.30.1 Compiling sqlx-core v0.8.6 Compiling uuid v1.27.0 Compiling futures-executor v0.3.34 Compiling parking_lot v0.12.5 Compiling rustversion v1.0.23 Compiling webauthn-attestation-ca v0.5.5 Compiling unicase v2.10.0 Compiling tower-layer v0.3.3 Compiling mime v0.3.17 Compiling mime_guess v2.0.5 Compiling der-parser v9.0.0 Compiling http-body-util v0.1.5 Compiling sqlx-sqlite v0.8.6 Compiling sha1 v0.10.7 Compiling half v2.7.1 Compiling fs-err v3.3.2 Compiling sync_wrapper v1.0.2 Compiling hex v0.4.3 Compiling regex-syntax v0.8.11 Compiling webauthn-rs-core v0.5.5 Compiling dotenvy v0.15.7 Compiling utf8parse v0.2.2 Compiling tokio-openssl v0.6.5 Compiling anstyle-parse v1.0.0 Compiling serde_cbor_2 v0.13.0 Compiling tungstenite v0.29.0 Compiling x509-parser v0.16.0 Compiling sqlx-macros-core v0.8.6 Compiling hyper v1.11.1 Compiling webauthn-rs-proto v0.5.5 Compiling regex-automata v0.4.18 Compiling rand_chacha v0.3.1 Compiling hex-conservative v0.2.3 Compiling hyper-util v0.1.21 Compiling colorchoice v1.0.5 Compiling base64ct v1.8.3 Compiling tinyvec v1.13.3 Compiling anstyle-query v1.1.5 Compiling infraternal-shim v0.1.0 (/home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/crates/infraternal-shim) Compiling anstyle v1.0.14 Compiling is_terminal_polyfill v1.70.2 Compiling unicode-normalization v0.1.25 Compiling anstream v1.0.0 Compiling password-hash v0.5.0 Compiling bitcoin_hashes v0.14.101 Compiling rand v0.8.8 Compiling arc-swap v1.9.2 Compiling sqlx-macros v0.8.6 Compiling tokio-tungstenite v0.29.0 Compiling tower v0.5.3 Compiling axum-core v0.5.6 Compiling sharded-slab v0.1.7 Compiling vte v0.15.0 Compiling blake2 v0.10.6 Compiling tracing-serde v0.2.0 Compiling tracing-log v0.2.0 Compiling serde_path_to_error v0.1.20 Compiling thread_local v1.1.10 Compiling strsim v0.11.1 Compiling clap_lex v1.1.1 Compiling http-range-header v0.4.2 Compiling nu-ansi-term v0.50.3 Compiling matchit v0.8.4 Compiling infraternal-protocol v0.1.0 (/home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/crates/infraternal-protocol) Compiling matchers v0.2.0 Compiling tower-http v0.6.11 Compiling clap_builder v4.6.7 Compiling tracing-subscriber v0.3.23 Compiling argon2 v0.5.3 Compiling axum v0.8.9 Compiling bip39 v2.2.2 Compiling clap_derive v4.6.7 Compiling clap v4.6.7 Compiling sqlx v0.8.6 Compiling openssl v0.10.81 Compiling axum-server v0.8.0 Compiling infraternal-agent v0.1.0 (/home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/crates/infraternal-agent) Compiling webauthn-rs v0.5.5 Compiling infraternal-server v0.1.0 (/home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/crates/infraternal-server) Compiling infraternal v0.1.0 (/home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/crates/infraternal) Finished `release` profile [optimized] target(s) in 3m 36s /home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-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: 16161072 bytes (baseline 16142672 + allowance 262144 = max 16404816) Compiling cfg-if v1.0.5 Compiling pin-project-lite v0.2.17 Compiling libc v0.2.190 Compiling serde_core v1.0.229 Compiling memchr v2.8.3 Compiling itoa v1.0.18 Compiling bytes v1.12.1 Compiling futures-core v0.3.34 Compiling zerofrom v0.1.8 Compiling serde v1.0.229 Compiling stable_deref_trait v1.2.1 Compiling once_cell v1.21.4 Compiling smallvec v1.16.2 Compiling log v0.4.34 Compiling yoke v0.8.3 Compiling tracing-core v0.1.36 Compiling futures-sink v0.3.34 Compiling zerovec v0.11.8 Compiling zerocopy v0.8.60 Compiling generic-array v0.14.7 Compiling typenum v1.20.1 Compiling litemap v0.8.3 Compiling slab v0.4.12 Compiling writeable v0.6.4 Compiling num-traits v0.2.19 Compiling zerotrie v0.2.5 Compiling tracing v0.1.44 Compiling subtle v2.6.1 Compiling tinystr v0.8.4 Compiling potential_utf v0.1.6 Compiling utf8_iter v1.0.4 Compiling openssl-sys v0.9.117 Compiling icu_locale_core v2.3.0 Compiling icu_collections v2.3.0 Compiling errno v0.3.14 Compiling signal-hook-registry v1.4.8 Compiling socket2 v0.6.5 Compiling mio v1.2.4 Compiling block-buffer v0.10.4 Compiling crypto-common v0.1.7 Compiling http v1.5.0 Compiling icu_normalizer_data v2.3.0 Compiling icu_properties_data v2.3.0 Compiling equivalent v1.0.2 Compiling percent-encoding v2.3.2 Compiling tokio v1.53.2 Compiling digest v0.10.7 Compiling bitflags v2.13.2 Compiling getrandom v0.3.4 Compiling form_urlencoded v1.2.2 Compiling futures-task v0.3.34 Compiling hashbrown v0.17.1 Compiling futures-io v0.3.34 Compiling icu_provider v2.3.1 Compiling futures-util v0.3.34 Compiling cpufeatures v0.2.17 Compiling zmij v1.0.23 Compiling scopeguard v1.2.0 Compiling minimal-lexical v0.2.1 Compiling lock_api v0.4.14 Compiling icu_normalizer v2.3.0 Compiling icu_properties v2.3.0 Compiling indexmap v2.14.2 Compiling nom v7.1.3 Compiling serde_json v1.0.151 Compiling httparse v1.10.1 Compiling http-body v1.1.0 Compiling thiserror v1.0.69 Compiling rand_core v0.9.5 Compiling ppv-lite86 v0.2.21 Compiling thiserror v2.0.21 Compiling powerfmt v0.2.1 Compiling time-core v0.1.9 Compiling num-conv v0.2.2 Compiling foreign-types-shared v0.1.1 Compiling idna_adapter v1.2.2 Compiling deranged v0.5.8 Compiling getrandom v0.4.3 Compiling foreign-types v0.3.2 Compiling idna v1.1.0 Compiling rand_chacha v0.9.0 Compiling rusticata-macros v4.1.0 Compiling getrandom v0.2.17 Compiling futures-channel v0.3.34 Compiling parking_lot_core v0.9.12 Compiling arrayvec v0.7.8 Compiling data-encoding v2.11.1 Compiling time v0.3.55 Compiling tower-service v0.3.3 Compiling url v2.5.8 Compiling rand_core v0.6.4 Compiling rand v0.9.5 Compiling num-integer v0.1.47 Compiling crossbeam-utils v0.8.23 Compiling atomic-waker v1.1.2 Compiling allocator-api2 v0.2.21 Compiling base64 v0.21.7 Compiling httpdate v1.0.3 Compiling lazy_static v1.5.1 Compiling foldhash v0.1.5 Compiling fnv v1.0.7 Compiling oid-registry v0.7.1 Compiling base64urlsafedata v0.5.5 Compiling num-bigint v0.4.8 Compiling memoffset v0.9.1 Compiling hashbrown v0.15.5 Compiling uuid v1.27.0 Compiling parking_lot v0.12.5 Compiling either v1.18.0 Compiling parking v2.2.1 Compiling mime v0.3.17 Compiling crc-catalog v2.5.0 Compiling ryu v1.0.23 Compiling tower-layer v0.3.3 Compiling base64 v0.22.1 Compiling crc v3.4.0 Compiling serde_urlencoded v0.7.1 Compiling futures-intrusive v0.5.0 Compiling asn1-rs v0.6.2 Compiling event-listener v5.4.2 Compiling crossbeam-queue v0.3.14 Compiling hashlink v0.10.0 Compiling nix v0.30.1 Compiling half v2.7.1 Compiling http-body-util v0.1.5 Compiling spin v0.9.9 Compiling sha2 v0.10.9 Compiling sha1 v0.10.7 Compiling libsqlite3-sys v0.30.1 Compiling utf8parse v0.2.2 Compiling sync_wrapper v1.0.2 Compiling regex-syntax v0.8.11 Compiling anstyle-parse v1.0.0 Compiling tungstenite v0.29.0 Compiling fs-err v3.3.2 Compiling serde_cbor_2 v0.13.0 Compiling flume v0.11.1 Compiling tokio-util v0.7.19 Compiling tokio-stream v0.1.19 Compiling der-parser v9.0.0 Compiling sqlx-core v0.8.6 Compiling mime_guess v2.0.5 Compiling webauthn-rs-proto v0.5.5 Compiling h2 v0.4.19 Compiling rand_chacha v0.3.1 Compiling x509-parser v0.16.0 Compiling hex-conservative v0.2.3 Compiling futures-executor v0.3.34 Compiling atoi v2.0.0 Compiling is_terminal_polyfill v1.70.2 Compiling colorchoice v1.0.5 Compiling anstyle v1.0.14 Compiling hex v0.4.3 Compiling regex-automata v0.4.18 Compiling tinyvec v1.13.3 Compiling anstyle-query v1.1.5 Compiling base64ct v1.8.3 Compiling unicase v2.10.0 Compiling sqlx-sqlite v0.8.6 Compiling password-hash v0.5.0 Compiling unicode-normalization v0.1.25 Compiling anstream v1.0.0 Compiling infraternal-shim v0.1.0 (/home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/crates/infraternal-shim) Compiling bitcoin_hashes v0.14.101 Compiling rand v0.8.8 Compiling tokio-tungstenite v0.29.0 Compiling arc-swap v1.9.2 Compiling tower v0.5.3 Compiling axum-core v0.5.6 Compiling sharded-slab v0.1.7 Compiling vte v0.15.0 Compiling tracing-serde v0.2.0 Compiling blake2 v0.10.6 Compiling serde_path_to_error v0.1.20 Compiling hyper v1.11.1 Compiling tracing-log v0.2.0 Compiling thread_local v1.1.10 Compiling strsim v0.11.1 Compiling clap_lex v1.1.1 Compiling matchit v0.8.4 Compiling infraternal-protocol v0.1.0 (/home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/crates/infraternal-protocol) Compiling nu-ansi-term v0.50.3 Compiling http-range-header v0.4.2 Compiling matchers v0.2.0 Compiling clap_builder v4.6.7 Compiling argon2 v0.5.3 Compiling tracing-subscriber v0.3.23 Compiling tower-http v0.6.11 Compiling bip39 v2.2.2 Compiling sqlx v0.8.6 Compiling hyper-util v0.1.21 Compiling axum v0.8.9 Compiling clap v4.6.7 Compiling openssl v0.10.81 Compiling webauthn-attestation-ca v0.5.5 Compiling webauthn-rs-core v0.5.5 Compiling tokio-openssl v0.6.5 Compiling axum-server v0.8.0 Compiling webauthn-rs v0.5.5 Compiling infraternal-server v0.1.0 (/home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/crates/infraternal-server) Compiling infraternal-agent v0.1.0 (/home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/crates/infraternal-agent) Compiling infraternal v0.1.0 (/home/kayg/Developer/infraternal/.worktrees/fix-cell-metrics/crates/infraternal) Finished `release` profile [optimized] target(s) in 4m 03s /home/kayg/.cache/codex-scratch/fix-cell-metrics/cargo-target/aarch64-unknown-linux-musl/release/infraternal: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, stripped PT_INTERP: absent; size: 13571944 bytes (baseline 13555672 + allowance 262144 = max 13817816) server subcommand: exit 2, not implemented agent subcommand: exit 2, not implemented +---------------------------+--------------+ | Rust gate | Result | +---------------------------+--------------+ | fmt | PASS | | VT native fmt | PASS | | clippy | PASS | | test | PASS | | cargo-deny | PASS | | static builds | PASS | +---------------------------+--------------+ ==> 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) Checked 38 installs across 69 packages (no changes) [11.00ms] $ bun x tsc --project tsconfig.json bun test v1.4.2 (744846f84) browser-build.test.ts: (pass) the browser renderer has no unresolved Vite Node-file shim request [14.29ms] precompress.test.ts: (pass) text sidecars round-trip deterministically; compressed formats remain identity [15.29ms] 2 pass 0 fail 15 expect() calls Ran 2 tests across 2 files. [61.00ms] $ bun run build.ts built main.js, chunk-pxh9419f.js, chunk-f1a5ev2m.js, backdrop.worker.js, faulty-terminal.worker.js, chunk-73mfexsx.js, chunk-wqc1r05d.js, chunk-axbkkqp1.js, chunk-8k95kngm.js chunk-73mfexsx.js: identity=185 gzip=150 brotli=124 bytes faulty-terminal.worker.js: identity=1021 gzip=535 brotli=460 bytes backdrop.worker.js: identity=241 gzip=212 brotli=162 bytes chunk-axbkkqp1.js: identity=90 gzip=90 brotli=78 bytes chunk-f1a5ev2m.js: identity=6464 gzip=3112 brotli=2823 bytes main.js: identity=76185 gzip=28599 brotli=24906 bytes chunk-wqc1r05d.js: identity=24954 gzip=8997 brotli=7908 bytes chunk-pxh9419f.js: identity=7799 gzip=3329 brotli=2968 bytes chunk-8k95kngm.js: identity=690210 gzip=200457 brotli=162348 bytes JavaScript transfer: identity=807149 gzip=245481/307200 brotli=201777/256000 bytes ==> Rust stream oracle (for the differential test) ==> TypeScript protocol tests bun test v1.4.2 (744846f84) src/codec.test.ts: (pass) wire protocol golden vectors > encodes and decodes each frame exactly as the shared manifest describes [4.27ms] (pass) wire protocol golden vectors > returns borrowed payload views and writes into reusable buffers [0.17ms] (pass) wire protocol golden vectors > decodes muxed messages split across WebSocket messages [0.81ms] (pass) wire protocol golden vectors > rejects oversized, non-canonical, unknown, and malformed frame bytes [0.32ms] (pass) split mux header preserves trailing Close [0.25ms] 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 [1983.72ms] (pass) maximum frame size and fragmented oversized prefix obey the allocation boundary [6.79ms] 7 pass 0 fail 34390 expect() calls Ran 7 tests across 2 files. [2.00s] ```` </details>
Author
Owner

Deployed dev 7eca507 to 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 7eca507 to 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.
Author
Owner

Hotfix bd12725 deployed (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).

Hotfix bd12725 deployed (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).
Author
Owner

Closed by the orchestrator during the 2026-10-28 handover (#254), on the owner's request to close finished issues. Evidence: Cell metrics and on-grid glyphs deployed (7eca507) and the letter-spacing hotfix bd12725fe deployed; both verified in dev and prod with cursor position checks at DPR 1/2. Reopen if anything is still missing.

Closed by the orchestrator during the 2026-10-28 handover (#254), on the owner's request to close finished issues. Evidence: Cell metrics and on-grid glyphs deployed (7eca507) and the letter-spacing hotfix bd12725fe deployed; both verified in dev and prod with cursor position checks at DPR 1/2. Reopen if anything is still missing.
kayg closed this issue 2026-10-28 17:52:33 +00:00
Sign in to join this conversation.
No labels
launch-qa
No milestone
No project
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#84
No description provided.