Mesh core slice 1: coordination, join, rules, rotation (D163–D167) #80

Closed
opened 2026-10-07 11:12:17 +00:00 by kayg · 47 comments
Owner

Mesh core, slice 1 (D163–D167, grill #79). Backend only: no UI (D162/D167).

Scope: coordination in the server (addresses from 10.254.0.0/16 + ULA, public-key distribution, rule compilation from grants with deny by default), node join from the infraternal agent, silent 7-day key rotation, removal pushed to all peers, last-known-rules behaviour when the server is unreachable, .internal name table, infraternal mesh status, API and MCP surface. The WireGuard data plane sits behind a backend trait; slice 1 ships a test backend plus the Linux kernel backend once the owner picks the netlink control library (#81 measures it).

Performance every round (D167): rule propagation time, join time, rotation impact, memory and CPU per peer × expected peers (100, 1,000, 10,000), idle cost.

Mesh core, slice 1 (D163–D167, grill #79). Backend only: no UI (D162/D167). Scope: coordination in the server (addresses from 10.254.0.0/16 + ULA, public-key distribution, rule compilation from grants with deny by default), node join from the infraternal agent, silent 7-day key rotation, removal pushed to all peers, last-known-rules behaviour when the server is unreachable, `.internal` name table, `infraternal mesh status`, API and MCP surface. The WireGuard data plane sits behind a backend trait; slice 1 ships a test backend plus the Linux kernel backend once the owner picks the netlink control library (#81 measures it). Performance every round (D167): rule propagation time, join time, rotation impact, memory and CPU per peer × expected peers (100, 1,000, 10,000), idle cost.
Author
Owner

Starting slice 1 on mesh-core, base ac03b1913b; only writer. Read #80 and all nine #79 comments plus repository contracts. Standalone crate only; no transport/kernel/UI wiring. Proposed additive contracts: peer views describe inbound initiation grants and outbound initiation grants separately, with established replies permitted by a stateful backend; key overlap is 120 seconds, expired only by explicit coordinator progress (server outage never expires local views); per-node desired rule version advances only when that view changes, so delivery markers compare acknowledged vs desired per-node versions. DNS table changes are separate shared deltas, not full tables in every peer update. ULA deployment ID is caller-supplied 40-bit random entropy, persisted once by slice 2. No crypto/netlink engine selection.

Starting slice 1 on mesh-core, base ac03b1913bfb6dd9b978477fc23ee5c88e276f67; only writer. Read #80 and all nine #79 comments plus repository contracts. Standalone crate only; no transport/kernel/UI wiring. Proposed additive contracts: peer views describe inbound initiation grants and outbound initiation grants separately, with established replies permitted by a stateful backend; key overlap is 120 seconds, expired only by explicit coordinator progress (server outage never expires local views); per-node desired rule version advances only when that view changes, so delivery markers compare acknowledged vs desired per-node versions. DNS table changes are separate shared deltas, not full tables in every peer update. ULA deployment ID is caller-supplied 40-bit random entropy, persisted once by slice 2. No crypto/netlink engine selection.
Author
Owner

Contract refinement from rotation review: a 120-second timer alone cannot guarantee continuity when a peer misses delivery. Retirement will require BOTH >=120 seconds and applied-view acknowledgements from every current peer. The rotating node must retain both local private keys until explicit retirement; disconnected resolvers/backends retain their last view indefinitely (D166). The future kernel backend must implement this overlap atomically; this crate specifies the requirement, not a netlink implementation. Reference full compiler is independent of indexed policy state.

Contract refinement from rotation review: a 120-second timer alone cannot guarantee continuity when a peer misses delivery. Retirement will require BOTH >=120 seconds and applied-view acknowledgements from every current peer. The rotating node must retain both local private keys until explicit retirement; disconnected resolvers/backends retain their last view indefinitely (D166). The future kernel backend must implement this overlap atomically; this crate specifies the requirement, not a netlink implementation. Reference full compiler is independent of indexed policy state.
Author
Owner

Finding: the first generated-property run failed 2/8 tests. Explicit reproducer join_to_same_tag_grants_both_initiation_directions: a tag→same-tag arrow followed by joining another member omitted the destination-side ordered pair. Recorded failing tests before fix; source/destination incident expansion is now independent, without tag Cartesian expansion on join/tag edit. Evidence will land in crates/infraternal-mesh/tests/properties.rs; draft log records 6 passed, 2 failed. Running the fixed property suite now.

Finding: the first generated-property run failed 2/8 tests. Explicit reproducer join_to_same_tag_grants_both_initiation_directions: a tag→same-tag arrow followed by joining another member omitted the destination-side ordered pair. Recorded failing tests before fix; source/destination incident expansion is now independent, without tag Cartesian expansion on join/tag edit. Evidence will land in crates/infraternal-mesh/tests/properties.rs; draft log records 6 passed, 2 failed. Running the fixed property suite now.
Author
Owner

Proposed coordinator budgets for review (not changes to owner decisions): at 10,000 nodes/20 node arrows per node, single sparse arrow/remove/rotation p95 <1 ms server CPU; full compile <1 s CPU; coordinator RSS <256 MiB including indexed grants/cached views; one 10,000-peer view <4 MiB incremental RSS; address allocate and DNS lookup <1 us CPU each. Measure 5 full-compile samples/shape, 20 incremental samples; JSON byte size and nodes touched reported. Peak RSS includes fresh full-compile outputs. Host measurements under CPUWeight=10000, not pinned perf-VM CI promises. Checkpoint round trip now preserves inventory, allocation high-water mark, rules, per-node versions and public rotation overlaps; acknowledgements reset on restore. Found and reproduced version-overflow panic from a maximal checkpoint before fixing it with pre-mutation counter-capacity checks.

Proposed coordinator budgets for review (not changes to owner decisions): at 10,000 nodes/20 node arrows per node, single sparse arrow/remove/rotation p95 <1 ms server CPU; full compile <1 s CPU; coordinator RSS <256 MiB including indexed grants/cached views; one 10,000-peer view <4 MiB incremental RSS; address allocate and DNS lookup <1 us CPU each. Measure 5 full-compile samples/shape, 20 incremental samples; JSON byte size and nodes touched reported. Peak RSS includes fresh full-compile outputs. Host measurements under CPUWeight=10000, not pinned perf-VM CI promises. Checkpoint round trip now preserves inventory, allocation high-water mark, rules, per-node versions and public rotation overlaps; acknowledgements reset on restore. Found and reproduced version-overflow panic from a maximal checkpoint before fixing it with pre-mutation counter-capacity checks.
Author
Owner

Gate environment finding: first scaffold fast run passed fmt/native fmt/clippy/deny but test failed because scripts/verify-agent-attach-credit.py creates target/ac without a parent; static build failed because .cargo/musl-cc.sh/.cargo/musl-ar.sh hard-code target/auth-tools despite CARGO_TARGET_DIR. Resolved without source changes: ignored worktree target symlink points to this job scratch target. Retrying full fast gate. Preliminary weighted 10k/20-arrow baseline: coordinator RSS 308,695,040 bytes (30,633 incremental bytes/node ×10,000), 419,918 cached peer entries. Replaced one tree allocation per directed pair with compact rule-ID vectors; fixed suite passes 10 tests plus private-key compile-fail check before final measurements.

Gate environment finding: first scaffold fast run passed fmt/native fmt/clippy/deny but test failed because scripts/verify-agent-attach-credit.py creates target/ac<PID> without a parent; static build failed because .cargo/musl-cc.sh/.cargo/musl-ar.sh hard-code target/auth-tools despite CARGO_TARGET_DIR. Resolved without source changes: ignored worktree target symlink points to this job scratch target. Retrying full fast gate. Preliminary weighted 10k/20-arrow baseline: coordinator RSS 308,695,040 bytes (30,633 incremental bytes/node ×10,000), 419,918 cached peer entries. Replaced one tree allocation per directed pair with compact rule-ID vectors; fixed suite passes 10 tests plus private-key compile-fail check before final measurements.
Author
Owner

Second fast attempt hit an unrelated base fixture failure: saturated_terminal_queues_preserve_every_byte_and_daemon_liveness, scripts/verify-agent-queues.py:26 attach received terminal shim disconnected (load 34.81/27.91/20.68). No existing crate/script changed. Weighted retry (CPUWeight=10000, four test threads, job-local short fixture root) has passed workspace tests and deny; awaiting first aarch64 static build. Independent fuzz graph now passes advisories/bans/licenses/sources. Preliminary standalone view: 314 bytes/peer ×10,000 = 3,141,632 incremental RSS bytes. Preliminary server rotation: ~15 ms CPU, 9,999 nodes touched, 3,667,641 JSON bytes; unlike sparse degree-41 updates, full fanout does not meet a universal 1 ms target. Proposed full-fanout budget: 50 ms CPU, combined coordinator+fresh-compile peak <512 MiB, pending final release-profile matrix.

Second fast attempt hit an unrelated base fixture failure: saturated_terminal_queues_preserve_every_byte_and_daemon_liveness, scripts/verify-agent-queues.py:26 attach received terminal shim disconnected (load 34.81/27.91/20.68). No existing crate/script changed. Weighted retry (CPUWeight=10000, four test threads, job-local short fixture root) has passed workspace tests and deny; awaiting first aarch64 static build. Independent fuzz graph now passes advisories/bans/licenses/sources. Preliminary standalone view: 314 bytes/peer ×10,000 = 3,141,632 incremental RSS bytes. Preliminary server rotation: ~15 ms CPU, 9,999 nodes touched, 3,667,641 JSON bytes; unlike sparse degree-41 updates, full fanout does not meet a universal 1 ms target. Proposed full-fanout budget: 50 ms CPU, combined coordinator+fresh-compile peak <512 MiB, pending final release-profile matrix.
Author
Owner

Self-review finding: checkpoint_after_suffix_change_restores_without_reallocating_addresses failed with InvalidCheckpoint (0 passed, 1 failed) after rename + suffix change. Allocation held the original MeshSettings, while restore incorrectly compared DNS/rotation metadata as well as address settings. Added the failing regression before restricting checkpoint compatibility to IPv4 range + ULA ID. DNS changes now restore without reallocating addresses; all allocator settings are still independently validated. Evidence paths: crates/infraternal-mesh/src/coordinator/checkpoint.rs and tests/properties.rs.

Self-review finding: checkpoint_after_suffix_change_restores_without_reallocating_addresses failed with InvalidCheckpoint (0 passed, 1 failed) after rename + suffix change. Allocation held the original MeshSettings, while restore incorrectly compared DNS/rotation metadata as well as address settings. Added the failing regression before restricting checkpoint compatibility to IPv4 range + ULA ID. DNS changes now restore without reallocating addresses; all allocator settings are still independently validated. Evidence paths: crates/infraternal-mesh/src/coordinator/checkpoint.rs and tests/properties.rs.
Author
Owner

Completed scaffold: a68a6d7486. Add an AGPL-3.0-only workspace member with existing serde/thiserror dependencies. Keep transport, crypto and device engines outside this crate instead of depending on the server or infraternal agent crates (D163/D167). Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).

Completed scaffold: a68a6d7486d85f5ddcb4e6355ee6f3d2f0a1cfe5. Add an AGPL-3.0-only workspace member with existing serde/thiserror dependencies. Keep transport, crypto and device engines outside this crate instead of depending on the server or infraternal agent crates (D163/D167). Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).
Author
Owner

Completed model: 9b2c2983d7. Define public identity, tags and validated deployment defaults (D163/D165/D166). Private node-side key material has redacted Debug and no serde/clone; a compile-fail check rejects serialization instead of relying on log discipline. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).

Completed model: 9b2c2983d7f6f121f8f5a63ca99a6fc7f664b701. Define public identity, tags and validated deployment defaults (D163/D165/D166). Private node-side key material has redacted Debug and no serde/clone; a compile-fail check rejects serialization instead of relying on log discipline. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).
Author
Owner

Completed address: 9b50b03fe3. Allocate monotonic stable dual-stack host addresses and validate allocation checkpoints (D165). Return all explicit route conflicts instead of changing the IPv4 range or recycling removed addresses. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).

Completed address: 9b50b03fe360328456168a70d654db33b1066a82. Allocate monotonic stable dual-stack host addresses and validate allocation checkpoints (D165). Return all explicit route conflicts instead of changing the IPv4 range or recycling removed addresses. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).
Author
Owner

Completed names: 957a9998f4. Maintain suffix-scoped host records with atomic rename/suffix deltas (D165). Reject invalid or duplicate names before mutation instead of letting names overwrite another node. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).

Completed names: 957a9998f4572642993e1b97837f164ed0d3ea47. Maintain suffix-scoped host records with atomic rename/suffix deltas (D165). Reject invalid or duplicate names before mutation instead of letting names overwrite another node. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).
Author
Owner

Completed rules: 1002c7a01c. Represent directional node/tag arrow grants, protocol/port unions and stage-2 user rejection (D164/D154). Preserve deny-by-default and stateful reply semantics instead of making routing itself a permission grant. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).

Completed rules: 1002c7a01c88720dfcf64718317f35adec8e75dc. Represent directional node/tag arrow grants, protocol/port unions and stage-2 user rejection (D164/D154). Preserve deny-by-default and stateful reply semantics instead of making routing itself a permission grant. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).
Author
Owner

Contract finding after the rules step (1002c7a): omitted_arrow_ports_default_to_all_services fails with missing field ports (0 passed, 1 failed). D164 requires all services by default for a newly granted arrow. Proposed additive correction: omitted arrow port restriction deserializes as All; TrafficPolicy::default remains None for compiled views. Dedicated regression and atomic fix queued after module commits; no deny-by-default relaxation without an arrow. Names 957a999 and rules 1002c7a each passed the complete fast gate.

Contract finding after the rules step (1002c7a): omitted_arrow_ports_default_to_all_services fails with missing field ports (0 passed, 1 failed). D164 requires all services by default for a newly granted arrow. Proposed additive correction: omitted arrow port restriction deserializes as All; TrafficPolicy::default remains None for compiled views. Dedicated regression and atomic fix queued after module commits; no deny-by-default relaxation without an arrow. Names 957a999 and rules 1002c7a each passed the complete fast gate.
Author
Owner

Completed view: 272851b8d9. Specify serializable per-node peer snapshots and minimal diffs with applied-version checks (D164/D166). Reject wrong-target and stale updates before mutation instead of accepting unordered policy delivery. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).

Completed view: 272851b8d99f211dc436824b634cd2cc092b40da. Specify serializable per-node peer snapshots and minimal diffs with applied-version checks (D164/D166). Reject wrong-target and stale updates before mutation instead of accepting unordered policy delivery. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).
Author
Owner

View committed as 272851b after full fast pass. Coordinator first gate passed clippy/deny/static builds but hit an unchanged VT fixture deadline: unaffordable_repaints_park_until_sufficient_credit, t1-gate-faithful-1; stderr says detached initial producer must finish (12 MiB output, 5-second deadline in scripts/verify-vt-credit.py:30). Retrying the coordinator gate; no existing test/crate changes and no coordinator commit until it passes.

View committed as 272851b after full fast pass. Coordinator first gate passed clippy/deny/static builds but hit an unchanged VT fixture deadline: unaffordable_repaints_park_until_sufficient_credit, t1-gate-faithful-1; stderr says detached initial producer must finish (12 MiB output, 5-second deadline in scripts/verify-vt-credit.py:30). Retrying the coordinator gate; no existing test/crate changes and no coordinator commit until it passes.
Author
Owner

Completed coordinator: a298ab7baa. Index endpoint rules and incident directed grants; emit only changed peers for join/removal/arrows/tags/rotation (D163–D166). Compact rule-ID vectors avoid 83.7 MB of per-pair tree overhead at 200k arrows. Key retirement requires 120 seconds plus applied-view acknowledgements; retain both keys during outages instead of timer-only retirement. Check version capacity before mutation. Full compilation independently rebuilds grant policy for reference and reconnect. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).

Completed coordinator: a298ab7baa7811daa72c80f549fc9551c99a43a4. Index endpoint rules and incident directed grants; emit only changed peers for join/removal/arrows/tags/rotation (D163–D166). Compact rule-ID vectors avoid 83.7 MB of per-pair tree overhead at 200k arrows. Key retirement requires 120 seconds plus applied-view acknowledgements; retain both keys during outages instead of timer-only retirement. Check version capacity before mutation. Full compilation independently rebuilds grant policy for reference and reconnect. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).
Author
Owner

Completed backend: 148b9acbf6. Expose peer-diff application and handshake/transfer stats through a device-independent Backend with a memory implementation (D163/D167). Status includes unknown/direct/relayed paths and applied/desired versions. Require atomic stateful filtering and logical key overlap; defer all kernel/netlink implementation to owner decisions from #81. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).

Completed backend: 148b9acbf67e3603c77de47234db88364920e83a. Expose peer-diff application and handshake/transfer stats through a device-independent Backend with a memory implementation (D163/D167). Status includes unknown/direct/relayed paths and applied/desired versions. Require atomic stateful filtering and logical key overlap; defer all kernel/netlink implementation to owner decisions from #81. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).
Author
Owner

Coordinator a298ab7 and backend 148b9ac passed complete fast gates. Edge finding: unrepresentable_rotation_overlap_rejects_before_mutation fails (0 passed, 1 failed) for now_secs=u64::MAX. Saturating deadline arithmetic accepts a replacement but makes a same-clock retirement eligible, violating the minimum 120-second overlap. Dedicated failing regression recorded; atomic fix will reject unrepresentable deadlines before key/view mutation. Benchmark example now returns errors instead of unwrap outside tests; production dependency scope remains serde/thiserror.

Coordinator a298ab7 and backend 148b9ac passed complete fast gates. Edge finding: unrepresentable_rotation_overlap_rejects_before_mutation fails (0 passed, 1 failed) for now_secs=u64::MAX. Saturating deadline arithmetic accepts a replacement but makes a same-clock retirement eligible, violating the minimum 120-second overlap. Dedicated failing regression recorded; atomic fix will reject unrepresentable deadlines before key/view mutation. Benchmark example now returns errors instead of unwrap outside tests; production dependency scope remains serde/thiserror.
Author
Owner

Completed checkpoint: 899a9e6e9e. Persist only canonical public inputs, monotonic allocation history, desired versions and key overlaps (D165/D166). Validate and rebuild indices on restore; reset acknowledgements instead of trusting persisted delivery or changing addresses on coordinator restart. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).

Completed checkpoint: 899a9e6e9e3e457c42c8db890f4d0992f84818cd. Persist only canonical public inputs, monotonic allocation history, desired versions and key overlaps (D165/D166). Validate and rebuild indices on restore; reset acknowledgements instead of trusting persisted delivery or changing addresses on coordinator restart. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).
Author
Owner

Checkpoint 899a9e6 passed complete fast. Property commit gate passed fmt/clippy/deny/static but hit another unchanged terminal fixture: repeated_tiny_credit_pauses_preserve_shell_progress, scripts/verify-agent-snapshot.py:48 count/cursor assertion (5 review tests passed, 1 failed). Retrying the full gate before committing tests. Mesh test source remains 14 focused/property cases plus the private-key compile-fail; no existing crate or fixture modifications.

Checkpoint 899a9e6 passed complete fast. Property commit gate passed fmt/clippy/deny/static but hit another unchanged terminal fixture: repeated_tiny_credit_pauses_preserve_shell_progress, scripts/verify-agent-snapshot.py:48 count/cursor assertion (5 review tests passed, 1 failed). Retrying the full gate before committing tests. Mesh test source remains 14 focused/property cases plus the private-key compile-fail; no existing crate or fixture modifications.
Author
Owner

Properties step retry: unchanged crates/infraternal/tests/vt_reconnect.rs:20 timed out in snapshot_limits_never_close_live_reconnect (34.66s). Mesh tests pass independently. Complete fast gate retried with serial test execution to reduce competing fixture load; no existing crate changes.

Properties step retry: unchanged crates/infraternal/tests/vt_reconnect.rs:20 timed out in snapshot_limits_never_close_live_reconnect (34.66s). Mesh tests pass independently. Complete fast gate retried with serial test execution to reduce competing fixture load; no existing crate changes.
Author
Owner

Serial-test retry still hit an unchanged base fixture: crates/infraternal/tests/vt_credit.rs:22, t1-gate-approximate-16384 (25.14s). Host load 32.25/30.17/27.07 on 8 cores. Mesh not wired into this binary. Retrying full gate under required CPUWeight=10000; no skipped tests or fixture edits.

Serial-test retry still hit an unchanged base fixture: crates/infraternal/tests/vt_credit.rs:22, t1-gate-approximate-16384 (25.14s). Host load 32.25/30.17/27.07 on 8 cores. Mesh not wired into this binary. Retrying full gate under required CPUWeight=10000; no skipped tests or fixture edits.
Author
Owner

Completed properties: 7b893d6b80. Exercise 10,000 seeded mutations against independent fresh compilation; check 30,000 unique address pairs, all 65,535 ports for protocol-specific unions, key removal, delayed overlap retirement, checkpoint restoration, names, status and minimal targeting. Same-tag join and maximal-version regressions failed before their fixes (D40/D164–D167). Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).

Completed properties: 7b893d6b808d8ac8e6930cba860d07c1ede2b1f2. Exercise 10,000 seeded mutations against independent fresh compilation; check 30,000 unique address pairs, all 65,535 ports for protocol-specific unions, key removal, delayed overlap retirement, checkpoint restoration, names, status and minimal targeting. Same-tag join and maximal-version regressions failed before their fixes (D40/D164–D167). Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).
Author
Owner

Properties committed 7b893d6 after full scripts/verify fast passed. Benchmark-clock gate hit unchanged scripts/agent_fixture.py:138 / crates/infraternal/tests/agent_daemon.rs:18: terminal open refused, 5.70s; mesh not wired into binary. Retrying the full gate under CPUWeight=10000 without skips or fixture changes.

Properties committed 7b893d6 after full scripts/verify fast passed. Benchmark-clock gate hit unchanged scripts/agent_fixture.py:138 / crates/infraternal/tests/agent_daemon.rs:18: terminal open refused, 5.70s; mesh not wired into binary. Retrying the full gate under CPUWeight=10000 without skips or fixture changes.
Author
Owner

bench-clock full-gate attempt 1 hit the unchanged base terminal fixture:

test unaffordable_repaints_park_until_sufficient_credit ... FAILED
thread 'unaffordable_repaints_park_until_sufficient_credit' (3583790) panicked at crates/infraternal/tests/vt_credit.rs:22:13:
credit probe failed: t1-gate-approximate-16384
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 16.29s

Full gate retried under CPUWeight=10000 without skips or existing-crate edits. Load: 25.45 27.76 27.01 14/1398 3585927

bench-clock full-gate attempt 1 hit the unchanged base terminal fixture: ``` test unaffordable_repaints_park_until_sufficient_credit ... FAILED thread 'unaffordable_repaints_park_until_sufficient_credit' (3583790) panicked at crates/infraternal/tests/vt_credit.rs:22:13: credit probe failed: t1-gate-approximate-16384 test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 16.29s ``` Full gate retried under CPUWeight=10000 without skips or existing-crate edits. Load: 25.45 27.76 27.01 14/1398 3585927
Author
Owner

Fuzz validation finding: first direct nightly ASAN build omitted -Cpasses=sancov-module; libFuzzer reported no interesting inputs/no coverage counters. Its 20,000 runs are excluded from evidence. Rebuilt using the coverage pass documented by libfuzzer-sys; final evidence must include counters/coverage and use final code.

Fuzz validation finding: first direct nightly ASAN build omitted -Cpasses=sancov-module; libFuzzer reported no interesting inputs/no coverage counters. Its 20,000 runs are excluded from evidence. Rebuilt using the coverage pass documented by libfuzzer-sys; final evidence must include counters/coverage and use final code.
Author
Owner

Completed bench-clock: fac4e928a5. Reuse the existing workspace nix wrapper as a benchmark-only dependency to measure process CPU independently of loaded-host wall time (D167). Avoid unsafe clock FFI or a new timing engine; production mesh dependencies stay serde and thiserror. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).

Completed bench-clock: fac4e928a556d930a918debff0b19f6f667bb2bf. Reuse the existing workspace nix wrapper as a benchmark-only dependency to measure process CPU independently of loaded-host wall time (D167). Avoid unsafe clock FFI or a new timing engine; production mesh dependencies stay serde and thiserror. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).
Author
Owner

Completed benchmarks: 93d42f9dd1. Add fresh-process 100/1k/10k × 1/5/20 arrow measurements with CPU/wall time, peak/current RSS, JSON diff bytes, join/allocation/lookup cost and standalone 10k-peer memory (D167). Weight all benchmark processes at 10000; report server rotation fanout separately instead of extrapolating sparse-node latency. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).

Completed benchmarks: 93d42f9dd11554ec01cb817e1fcb54b4e50ab3e0. Add fresh-process 100/1k/10k × 1/5/20 arrow measurements with CPU/wall time, peak/current RSS, JSON diff bytes, join/allocation/lookup cost and standalone 10k-peer memory (D167). Weight all benchmark processes at 10000; report server rotation fanout separately instead of extrapolating sparse-node latency. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).
Author
Owner

default-arrow full-gate attempt 1 hit the unchanged base terminal fixture:

test repeated_tiny_credit_pauses_preserve_shell_progress ... FAILED
thread 'repeated_tiny_credit_pauses_preserve_shell_progress' (3701567) panicked at crates/infraternal/tests/agent_review.rs:13:5:
AssertionError: (37963074, 0)
test result: FAILED. 5 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 88.88s

Full gate retried under CPUWeight=10000 without skips or existing-crate edits. Load: 32.11 23.16 23.35 34/1376 3711277

default-arrow full-gate attempt 1 hit the unchanged base terminal fixture: ``` test repeated_tiny_credit_pauses_preserve_shell_progress ... FAILED thread 'repeated_tiny_credit_pauses_preserve_shell_progress' (3701567) panicked at crates/infraternal/tests/agent_review.rs:13:5: AssertionError: (37963074, 0) test result: FAILED. 5 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 88.88s ``` Full gate retried under CPUWeight=10000 without skips or existing-crate edits. Load: 32.11 23.16 23.35 34/1376 3711277
Author
Owner

default-arrow full-gate attempt 2 hit the unchanged base terminal fixture:

test snapshot_limits_never_close_live_reconnect ... FAILED
thread 'snapshot_limits_never_close_live_reconnect' (3732004) panicked at crates/infraternal/tests/vt_reconnect.rs:20:5:
reconnect failed; see target/review-vt2-fixes/reconnect.*.log
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 28.01s

Full gate retried under CPUWeight=10000 without skips or existing-crate edits. Load: 38.12 26.98 24.62 87/1699 3742521

default-arrow full-gate attempt 2 hit the unchanged base terminal fixture: ``` test snapshot_limits_never_close_live_reconnect ... FAILED thread 'snapshot_limits_never_close_live_reconnect' (3732004) panicked at crates/infraternal/tests/vt_reconnect.rs:20:5: reconnect failed; see target/review-vt2-fixes/reconnect.*.log test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 28.01s ``` Full gate retried under CPUWeight=10000 without skips or existing-crate edits. Load: 38.12 26.98 24.62 87/1699 3742521
Author
Owner

Completed default-arrow: 0416534ff0. The omitted ports regression failed with missing field ports. D164 grants all services for a newly created arrow unless ports are specified; preserve TrafficPolicy::default as None so compiled views remain deny by default. Reject changing the compiled policy default because that would broaden access. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).

Completed default-arrow: 0416534ff02b87c7dc1d875ff5481f2e0005fc5d. The omitted ports regression failed with missing field ports. D164 grants all services for a newly created arrow unless ports are specified; preserve TrafficPolicy::default as None so compiled views remain deny by default. Reject changing the compiled policy default because that would broaden access. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).
Author
Owner

rotation-clock full-gate attempt 1 hit the unchanged base terminal fixture:

test unaffordable_repaints_park_until_sufficient_credit ... FAILED
thread 'unaffordable_repaints_park_until_sufficient_credit' (3835194) panicked at crates/infraternal/tests/vt_credit.rs:22:13:
credit probe failed: t1-gate-approximate-16384
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 22.21s

Full gate retried under CPUWeight=10000 without skips or existing-crate edits. Load: 41.04 34.17 29.05 37/1440 3840882

rotation-clock full-gate attempt 1 hit the unchanged base terminal fixture: ``` test unaffordable_repaints_park_until_sufficient_credit ... FAILED thread 'unaffordable_repaints_park_until_sufficient_credit' (3835194) panicked at crates/infraternal/tests/vt_credit.rs:22:13: credit probe failed: t1-gate-approximate-16384 test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 22.21s ``` Full gate retried under CPUWeight=10000 without skips or existing-crate edits. Load: 41.04 34.17 29.05 37/1440 3840882
Author
Owner

Completed rotation-clock: 15e4e32345. The maximal-clock regression failed because saturating addition accepted an overlap shorter than 120 seconds. Check the deadline before mutating identity or peer state, preserving old views on rejection (D166). Reject saturation because key retirement must always honor the minimum overlap. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).

Completed rotation-clock: 15e4e32345f1ee2d15db2bc04c9956c1a6d445da. The maximal-clock regression failed because saturating addition accepted an overlap shorter than 120 seconds. Check the deadline before mutating identity or peer state, preserving old views on rejection (D166). Reject saturation because key retirement must always honor the minimum overlap. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).
Author
Owner

Final production-source benchmark findings (15e4e32), CPUWeight=10000, infraternal-dev Intel i9-9900K 3.60GHz, 8 CPUs; one-minute loads 25.88–26.41. Raw paths: crates/infraternal-mesh/evidence/2026-10-07/*.log; reproduction crates/infraternal-mesh/measure.sh.

Nodes Arrows/node Full CPU median/max ms Wall median/max ms Coordinator RSS MiB Peak RSS MiB
100 1 0.226/0.349 0.227/0.349 2.74 2.97
100 5 0.711/0.961 0.711/0.961 2.86 3.13
100 20 2.134/2.355 2.210/2.355 4.45 5.93
1,000 1 2.578/2.688 2.578/6.756 6.14 8.49
1,000 5 6.134/6.532 9.675/12.378 7.39 10.08
1,000 20 28.628/38.164 28.732/38.331 23.54 38.42
10,000 1 36.777/44.542 36.854/44.664 40.10 63.51
10,000 5 66.182/70.570 66.286/75.547 52.48 79.38
10,000 20 285.967/348.001 286.224/356.051 214.40 363.33
Mutation CPU p50/p95 us Wall p50/p95 us JSON bytes min/max Nodes touched
arrow_added 4.361/9.526 4.424/9.424 685/687 [2]
node_removed 24.994/45.181 25.139/45.069 3,945/3,946 [41]
key_rotated 33.965/36.517 34.088/36.627 15,695/15,695 [41]
server_key_rotated 19539.314/22910.695 19671.425/22911.296 3,633,162/3,667,641 [9999]

Coordinator incremental RSS 222,609,408 B (~22,261 B/node ×10,000); 419,918 cached peer entries. Standalone 10,000-peer view delta 3,141,632 B (~314 B/peer ×10,000). Allocation 113–161 ns CPU; hot-name lookup 127–185 ns CPU in 20-arrow scale processes. All proposed measured-topology budgets met: sparse p95<1ms, full<1s CPU, coordinator<256MiB, view<4MiB, combined peak<512MiB, allocation/lookup<1us, server rotation p95<50ms. Universal <1ms is NOT met for server fanout (22.911ms p95, 9,999 view recipients plus local-key instruction, up to 3,667,641 JSON B). Dense tags/port sets/kernel/network costs not covered. JSON encoding is outside CPU interval; raw wall times are retained. Scope/topology/profile details are in crate docs.

Final production-source benchmark findings (15e4e32), CPUWeight=10000, infraternal-dev Intel i9-9900K 3.60GHz, 8 CPUs; one-minute loads 25.88–26.41. Raw paths: crates/infraternal-mesh/evidence/2026-10-07/*.log; reproduction crates/infraternal-mesh/measure.sh. | Nodes | Arrows/node | Full CPU median/max ms | Wall median/max ms | Coordinator RSS MiB | Peak RSS MiB | | ---: | ---: | ---: | ---: | ---: | ---: | | 100 | 1 | 0.226/0.349 | 0.227/0.349 | 2.74 | 2.97 | | 100 | 5 | 0.711/0.961 | 0.711/0.961 | 2.86 | 3.13 | | 100 | 20 | 2.134/2.355 | 2.210/2.355 | 4.45 | 5.93 | | 1,000 | 1 | 2.578/2.688 | 2.578/6.756 | 6.14 | 8.49 | | 1,000 | 5 | 6.134/6.532 | 9.675/12.378 | 7.39 | 10.08 | | 1,000 | 20 | 28.628/38.164 | 28.732/38.331 | 23.54 | 38.42 | | 10,000 | 1 | 36.777/44.542 | 36.854/44.664 | 40.10 | 63.51 | | 10,000 | 5 | 66.182/70.570 | 66.286/75.547 | 52.48 | 79.38 | | 10,000 | 20 | 285.967/348.001 | 286.224/356.051 | 214.40 | 363.33 | | Mutation | CPU p50/p95 us | Wall p50/p95 us | JSON bytes min/max | Nodes touched | | --- | ---: | ---: | ---: | ---: | | arrow_added | 4.361/9.526 | 4.424/9.424 | 685/687 | [2] | | node_removed | 24.994/45.181 | 25.139/45.069 | 3,945/3,946 | [41] | | key_rotated | 33.965/36.517 | 34.088/36.627 | 15,695/15,695 | [41] | | server_key_rotated | 19539.314/22910.695 | 19671.425/22911.296 | 3,633,162/3,667,641 | [9999] | Coordinator incremental RSS 222,609,408 B (~22,261 B/node ×10,000); 419,918 cached peer entries. Standalone 10,000-peer view delta 3,141,632 B (~314 B/peer ×10,000). Allocation 113–161 ns CPU; hot-name lookup 127–185 ns CPU in 20-arrow scale processes. All proposed measured-topology budgets met: sparse p95<1ms, full<1s CPU, coordinator<256MiB, view<4MiB, combined peak<512MiB, allocation/lookup<1us, server rotation p95<50ms. Universal <1ms is NOT met for server fanout (22.911ms p95, 9,999 view recipients plus local-key instruction, up to 3,667,641 JSON B). Dense tags/port sets/kernel/network costs not covered. JSON encoding is outside CPU interval; raw wall times are retained. Scope/topology/profile details are in crate docs.
Author
Owner

Completed fuzz-deps: 22c79c00ba. Add a separately locked AGPL fuzz package using the existing repository libfuzzer-sys approach (D40). Keep instrumentation out of production dependencies and avoid a transport parser or new engine. The standalone dependency/license gate passes. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).

Completed fuzz-deps: 22c79c00bad19efa1a78deeb464f00b2fdd47948. Add a separately locked AGPL fuzz package using the existing repository libfuzzer-sys approach (D40). Keep instrumentation out of production dependencies and avoid a transport parser or new engine. The standalone dependency/license gate passes. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).
Author
Owner

Final production-code ASAN/coverage-guided fuzz run passed 20,000 executions. #20000 DONE cov: 6485 ft: 26123 corp: 871/226Kb lim: 824 exec/s: 281 rss: 445Mb
Input cap 4096 bytes, run max_len 1024; settings/routes/checkpoint/arrow/diff JSON plus 64-operation lifecycle sequences against independent full compilation. The earlier uninstrumented run remains excluded.

Final production-code ASAN/coverage-guided fuzz run passed 20,000 executions. #20000 DONE cov: 6485 ft: 26123 corp: 871/226Kb lim: 824 exec/s: 281 rss: 445Mb Input cap 4096 bytes, run max_len 1024; settings/routes/checkpoint/arrow/diff JSON plus 64-operation lifecycle sequences against independent full compilation. The earlier uninstrumented run remains excluded.
Author
Owner

Completed fuzz-target: b59e69bd30. Validate settings, discovered routes, checkpoints, arrows and diffs; compare generated membership/tag/rule/key operations with independent fresh compilation (D40/D164–D167). #20000 DONE cov: 6485 ft: 26123 corp: 871/226Kb lim: 824 exec/s: 281 rss: 445Mb under ASAN with coverage counters. Reject an uninstrumented pass as evidence; no transport parser or kernel engine is added. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).

Completed fuzz-target: b59e69bd30822cd5cfa2adb30ffed90020d63a87. Validate settings, discovered routes, checkpoints, arrows and diffs; compare generated membership/tag/rule/key operations with independent fresh compilation (D40/D164–D167). #20000 DONE cov: 6485 ft: 26123 corp: 871/226Kb lim: 824 exec/s: 281 rss: 445Mb under ASAN with coverage counters. Reject an uninstrumented pass as evidence; no transport parser or kernel engine is added. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).
Author
Owner

Author review completed against PROCESS §2 / D40 and mesh contracts: canonical dual-stack/checkpoint validation; private/public separation (redacted Debug + compile-fail serde test); directed stateful grant unions; stale-version atomic rejection; allocation/name stability; membership/key retirement and indefinite outage retention; license/scope checks; sparse/fanout scale costs. Standalone fuzz Clippy initially rejected chunks_exact(4) at fuzz_targets/mesh.rs:44; as_chunks::<4>() now passes with zero warnings. Final target b59e69b has a green full gate and 20,000 ASAN coverage-guided executions (6,485 edges, 26,123 features, 71s). Docs preserve 1,222 synthetic corpus inputs and raw evidence; real kernel packet filtering/continuity remains for #81/slice 2 and independent review remains the next process step. No foundational engine chosen; existing-crate changes limited to workspace/lock metadata.

Author review completed against PROCESS §2 / D40 and mesh contracts: canonical dual-stack/checkpoint validation; private/public separation (redacted Debug + compile-fail serde test); directed stateful grant unions; stale-version atomic rejection; allocation/name stability; membership/key retirement and indefinite outage retention; license/scope checks; sparse/fanout scale costs. Standalone fuzz Clippy initially rejected chunks_exact(4) at fuzz_targets/mesh.rs:44; as_chunks::<4>() now passes with zero warnings. Final target b59e69b has a green full gate and 20,000 ASAN coverage-guided executions (6,485 edges, 26,123 features, 71s). Docs preserve 1,222 synthetic corpus inputs and raw evidence; real kernel packet filtering/continuity remains for #81/slice 2 and independent review remains the next process step. No foundational engine chosen; existing-crate changes limited to workspace/lock metadata.
Author
Owner

Documentation gate found Clippy doc_markdown errors at README.md:172/173/175 (underscored metric labels missing backticks); all workspace tests, fmt, cargo-deny and static builds passed. Labels now use plain action names, preserving all numbers/raw logs. No production-code change. Rerun standalone mesh Clippy and complete fast gate before docs commit.

Documentation gate found Clippy doc_markdown errors at README.md:172/173/175 (underscored metric labels missing backticks); all workspace tests, fmt, cargo-deny and static builds passed. Labels now use plain action names, preserving all numbers/raw logs. No production-code change. Rerun standalone mesh Clippy and complete fast gate before docs commit.
Author
Owner

Completed docs-evidence: 37469fd3b0. Document inventory binding, persisted ULA/allocation, directed stateful filters, per-node delivery versions, ordered DNS, acknowledged 120-second overlap and indefinite outage retention, plus planned CLI/API/MCP (D40/D123/N2/D163–D167). Publish the nine weighted scale shapes, incremental fanout/memory budgets and final 20k ASAN coverage/corpus evidence. Reject a universal 1ms fanout claim or treating an in-memory backend as kernel packet-continuity proof; #81/slice 2 must prove the real backend. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).

Completed docs-evidence: 37469fd3b0c70c8d70d0993e1da895249c85a4d8. Document inventory binding, persisted ULA/allocation, directed stateful filters, per-node delivery versions, ordered DNS, acknowledged 120-second overlap and indefinite outage retention, plus planned CLI/API/MCP (D40/D123/N2/D163–D167). Publish the nine weighted scale shapes, incremental fanout/memory budgets and final 20k ASAN coverage/corpus evidence. Reject a universal 1ms fanout claim or treating an in-memory backend as kernel packet-continuity proof; #81/slice 2 must prove the real backend. Full scripts/verify fast passed (fmt, native fmt, clippy, workspace tests, cargo-deny, both static builds and TypeScript gates).
Author
Owner

Final scripts/verify fast, HEAD 37469fd3b0, exit 0. Complete output verbatim, part 1/4:

Running as unit: run-p4136657-i8330678.scope; invocation ID: 5f7a5274a2a64bb4a2d57c17bc8b1dc1
METRIC name=network_rtt_selftest configured_rtt_ms=300 jitter_ms=30 loss=unsupported transport=tcp-stream n=3 p50_ms=297.38 p99_ms=308.09 result=PASS

==> fmt

==> VT native fmt

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

==> test
    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.36s
     Running unittests src/main.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/infraternal-3a94f91dbebb8cf8)

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/mesh-core/target/debug/deps/agent_daemon-77e5aad0112960f2)

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

     Running tests/agent_queues.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/agent_queues-9839b54e829e5e02)

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

     Running tests/agent_review.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/agent_review-ac25822ba85f7723)

running 6 tests
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 stalled_terminal_never_delays_control_or_sibling_dispatch ... 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 11.03s

     Running tests/agent_sessions.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/agent_sessions-dbdfc7da5990d209)

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

     Running tests/idle_canary.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/idle_canary-cd3a93f71b5fcd4b)

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

     Running tests/shim.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/shim-d9cc64a8aa958f42)

running 7 tests
test double_fork_survives_parent_death ... ok
test disallowed_signal_only_disconnects_peer ... ok
test replacement_connection_and_malformed_limit ... ok
test real_shell_reconnect_resize_and_retained_exit ... ok
active
test user_scope_survives_parent_unit_stop ... ok
test attached_backpressure_and_detached_progress ... 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.30s

     Running tests/vt_credit.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/vt_credit-cf8e1107f3f89a5b)

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

     Running tests/vt_reconnect.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/vt_reconnect-cd31d892142ecd32)

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

     Running unittests src/lib.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/infraternal_agent-396a49ee47a2dca8)

running 16 tests
test relay::tests::attachment_has_no_implicit_output_or_snapshot_credit ... ok
test relay::tests::expired_credit_resumes_retained_bytes_at_the_same_cursor ... ok
test relay::tests::output_partial_credit_and_dedup ... 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::overflowing_ranges_never_mutate_cursors ... ok
test relay::tests::returned_credit_cancels_starvation_and_state_has_no_payload_buffer ... ok
test relay::tests::starvation_is_one_shot_and_snapshot_length_does_not_advance_sequence ... ok
test relay::tests::positive_insufficient_credit_arms_a_one_shot_deadline ... ok
test sessions::tests::reader_borrow_measurement ... ignored, release borrowed versus owned asynchronous receive measurement
test sessions::tests::post_listen_chmod_wakes_a_connection_refused_at_bind ... ok
test sessions::tests::refused_socket_is_removed_but_insecure_directory_is_rejected ... ok
test sessions::tests::symlink_state_cannot_redirect_private_runtime_storage ... 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::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.03s

     Running tests/transport.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/transport-ef669c6e5837f1df)

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/mesh-core/target/debug/deps/infraternal_mesh-3f967587718407e9)

running 0 tests

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

     Running tests/default_arrow.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/default_arrow-312553ba19630584)

running 1 test
test omitted_arrow_ports_default_to_all_services ... ok

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

     Running tests/properties.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/properties-78f35bbe1b57dcd5)

running 14 tests
test directional_grants_union_and_minimal_updates ... ok
test checkpoint_after_suffix_change_restores_without_reallocating_addresses ... ok
test exhausted_versions_reject_mutations_without_changing_state ... ok
test join_to_same_tag_grants_both_initiation_directions ... ok
test overlaps_are_reported_without_silent_range_changes ... ok
test names_versions_and_backend_status ... ok
test private_material_never_enters_debug_or_coordination_serialization ... ok
test public_checkpoint_preserves_addresses_rules_versions_and_overlap ... ok
test arrow_replacement_is_atomic_and_unrelated_nodes_keep_their_versions ... ok
test rotation_waits_for_overlap_and_delivery_and_removal_drops_every_key ... ok
test server_rotation_has_continuous_keys_for_every_node_during_delivery ... ok
test protocol_port_unions_never_grant_an_unlisted_service ... ok
test addresses_are_unique_stable_and_not_recycled ... ok
test seeded_random_sequences_equal_full_compile_and_deny_without_grants ... ok

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

     Running tests/rotation_time.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/rotation_time-a58dd287253d611d)

running 1 test
test unrepresentable_rotation_overlap_rejects_before_mutation ... ok

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

     Running unittests src/lib.rs (/home/kayg/.cache/codex-scratch/mesh-core/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/mesh-core/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/mesh-core/target/debug/deps/infraternal_protocol-67b9a310ef49abf9)

running 7 tests
test stream_tests::split_mux_header_preserves_trailing_close ... ok
test stream_tests::all_short_frame_splits_match_direct_decoding ... ok
test tests::mux_round_trip_and_incremental_decoders_preserve_frame_order ... ok
test stream_tests::maximum_sized_fragmented_frame_is_not_rejected ... ok
test tests::oversized_encode_keeps_the_reusable_output_unchanged ... ok
test tests::rejects_oversized_noncanonical_and_malformed_frames_before_buffering_body ... 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/mesh-core/target/debug/deps/infraternal_server-58a843801aac01cc)

running 79 tests
test auth::tests::aaguid_migration_preserves_legacy_credentials_and_sessions ... ok
test auth::http::tests::admission_partitions_reset_without_trusting_forwarded_headers ... ok
test auth::tests::account_identity_migration_backfills_legacy_users ... ok
test auth::http::hostname_tests::authenticated_session_response_includes_system_hostname ... ok
test auth::tests::account_identity_schema_has_unique_usernames_and_display_names ... ok
test auth::tests::aaguid_projection_rejects_malformed_cbor_corpus ... ok
test auth::tests::audit_ceremony_browser_binding ... ok
test auth::tests::audit_logout_survives_admission_exhaustion ... ok
test auth::tests::audit_no_public_credential_listing ... ok
test auth::tests::discoverable_latency_at_pending_capacity ... ignored, run --release --ignored --nocapture 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::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::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 has been running for over 60 seconds
test auth::tests::review3_tests::review3_busy_expiry has been running for over 60 seconds
test auth::tests::review3_tests::review3_busy_logout has been running for over 60 seconds
test auth::tests::review3_tests::review3_busy_recovery has been running for over 60 seconds
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::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::review4_slow_open_at_user_capacity ... ignored, release-only connect scale measurement; run without concurrent builds
test auth::tests::review3_tests::review3_revoked_resume_must_not_welcome ... ok
test auth::tests::review3_tests::review3_unwrap_cannot_be_skipped ... ok
test auth::tests::review3_tests::review3_waiting_handshake_loses_authority ... ok
test auth::tests::review3_tests::review4_ten_second_open_preserves_authority ... ok
test auth::tests::review_invalid_device_polling_exhausts_browser_budget ... 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::review_old_words_race_rotation ... ok
test auth::tests::server_setup_terminal_echo_and_resume_preserve_offsets_once ... ok
test auth::tests::setup_start_accepts_username_and_display_name ... ok
test auth::tests::sessions_slide_but_fresh_tap_does_not_and_device_keys_are_scoped ... ok
test auth::tests::setup_restart_rotation_expiry_and_parallel_redemption ... ok
test auth::tests::socket_tests::authenticated_idle_socket_survives_the_former_read_timeout ... ok
test auth::tests::socket_tests::clean_control_close_is_not_an_internal_error ... 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::socket_authority_latency_at_user_capacity ... ignored, release-only measurement without concurrent compilation
test auth::tests::socket_tests::half_open_sockets_obey_user_limit ... 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::incomplete_rfc_message_still_loses_authority_on_revocation ... 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_token_socket_is_private_and_requires_explicit_request ... 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 auth::tests::socket_tests::revoked_idle_socket_loses_all_authority ... ok
test runtime::tests::restart_serves_fresh_setup_token_and_completes_owner_enrollment ... ok
test auth::tests::stale_counters_recovery_cancellation_and_wrap_tampering ... ok

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

     Running unittests src/lib.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/infraternal_shim-67ffc9c8d51fcf5c)

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::golden_and_fragmented ... ok
test frame::checks::tests::invalid_lengths_types_and_utf8 ... ok
test ring::checks::tests::wrap_and_exact_offsets ... ok
test frame::checks::borrowed_and_owned_decoders_agree_at_every_fragment_boundary ... ok
test session::inputs::tests::identity_cap_preserves_all_existing_cursors ... ok
test session::inputs::tests::partial_writes_credit_only_the_owner_and_replay_trims_per_writer ... ok
test frame::checks::approximate_snapshot_codec_is_bounded_and_canonical ... 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::resize_checks::resize_refusal_session_probe ... ignored, isolated session probe invoked by its parent with a controlled shell profile
Final scripts/verify fast, HEAD 37469fd3b0c70c8d70d0993e1da895249c85a4d8, exit 0. Complete output verbatim, part 1/4: ```text Running as unit: run-p4136657-i8330678.scope; invocation ID: 5f7a5274a2a64bb4a2d57c17bc8b1dc1 METRIC name=network_rtt_selftest configured_rtt_ms=300 jitter_ms=30 loss=unsupported transport=tcp-stream n=3 p50_ms=297.38 p99_ms=308.09 result=PASS ==> fmt ==> VT native fmt ==> clippy Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.46s ==> test Finished `test` profile [unoptimized + debuginfo] target(s) in 0.36s Running unittests src/main.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/infraternal-3a94f91dbebb8cf8) 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/mesh-core/target/debug/deps/agent_daemon-77e5aad0112960f2) 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.50s Running tests/agent_queues.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/agent_queues-9839b54e829e5e02) 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.77s Running tests/agent_review.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/agent_review-ac25822ba85f7723) running 6 tests 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 stalled_terminal_never_delays_control_or_sibling_dispatch ... 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 11.03s Running tests/agent_sessions.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/agent_sessions-dbdfc7da5990d209) 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.05s Running tests/idle_canary.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/idle_canary-cd3a93f71b5fcd4b) 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.14s Running tests/shim.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/shim-d9cc64a8aa958f42) running 7 tests test double_fork_survives_parent_death ... ok test disallowed_signal_only_disconnects_peer ... ok test replacement_connection_and_malformed_limit ... ok test real_shell_reconnect_resize_and_retained_exit ... ok active test user_scope_survives_parent_unit_stop ... ok test attached_backpressure_and_detached_progress ... 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.30s Running tests/vt_credit.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/vt_credit-cf8e1107f3f89a5b) 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 15.34s Running tests/vt_reconnect.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/vt_reconnect-cd31d892142ecd32) 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 16.41s Running unittests src/lib.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/infraternal_agent-396a49ee47a2dca8) running 16 tests test relay::tests::attachment_has_no_implicit_output_or_snapshot_credit ... ok test relay::tests::expired_credit_resumes_retained_bytes_at_the_same_cursor ... ok test relay::tests::output_partial_credit_and_dedup ... 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::overflowing_ranges_never_mutate_cursors ... ok test relay::tests::returned_credit_cancels_starvation_and_state_has_no_payload_buffer ... ok test relay::tests::starvation_is_one_shot_and_snapshot_length_does_not_advance_sequence ... ok test relay::tests::positive_insufficient_credit_arms_a_one_shot_deadline ... ok test sessions::tests::reader_borrow_measurement ... ignored, release borrowed versus owned asynchronous receive measurement test sessions::tests::post_listen_chmod_wakes_a_connection_refused_at_bind ... ok test sessions::tests::refused_socket_is_removed_but_insecure_directory_is_rejected ... ok test sessions::tests::symlink_state_cannot_redirect_private_runtime_storage ... 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::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.03s Running tests/transport.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/transport-ef669c6e5837f1df) 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/mesh-core/target/debug/deps/infraternal_mesh-3f967587718407e9) running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running tests/default_arrow.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/default_arrow-312553ba19630584) running 1 test test omitted_arrow_ports_default_to_all_services ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running tests/properties.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/properties-78f35bbe1b57dcd5) running 14 tests test directional_grants_union_and_minimal_updates ... ok test checkpoint_after_suffix_change_restores_without_reallocating_addresses ... ok test exhausted_versions_reject_mutations_without_changing_state ... ok test join_to_same_tag_grants_both_initiation_directions ... ok test overlaps_are_reported_without_silent_range_changes ... ok test names_versions_and_backend_status ... ok test private_material_never_enters_debug_or_coordination_serialization ... ok test public_checkpoint_preserves_addresses_rules_versions_and_overlap ... ok test arrow_replacement_is_atomic_and_unrelated_nodes_keep_their_versions ... ok test rotation_waits_for_overlap_and_delivery_and_removal_drops_every_key ... ok test server_rotation_has_continuous_keys_for_every_node_during_delivery ... ok test protocol_port_unions_never_grant_an_unlisted_service ... ok test addresses_are_unique_stable_and_not_recycled ... ok test seeded_random_sequences_equal_full_compile_and_deny_without_grants ... ok test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.37s Running tests/rotation_time.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/rotation_time-a58dd287253d611d) running 1 test test unrepresentable_rotation_overlap_rejects_before_mutation ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running unittests src/lib.rs (/home/kayg/.cache/codex-scratch/mesh-core/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/mesh-core/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/mesh-core/target/debug/deps/infraternal_protocol-67b9a310ef49abf9) running 7 tests test stream_tests::split_mux_header_preserves_trailing_close ... ok test stream_tests::all_short_frame_splits_match_direct_decoding ... ok test tests::mux_round_trip_and_incremental_decoders_preserve_frame_order ... ok test stream_tests::maximum_sized_fragmented_frame_is_not_rejected ... ok test tests::oversized_encode_keeps_the_reusable_output_unchanged ... ok test tests::rejects_oversized_noncanonical_and_malformed_frames_before_buffering_body ... 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/mesh-core/target/debug/deps/infraternal_server-58a843801aac01cc) running 79 tests test auth::tests::aaguid_migration_preserves_legacy_credentials_and_sessions ... ok test auth::http::tests::admission_partitions_reset_without_trusting_forwarded_headers ... ok test auth::tests::account_identity_migration_backfills_legacy_users ... ok test auth::http::hostname_tests::authenticated_session_response_includes_system_hostname ... ok test auth::tests::account_identity_schema_has_unique_usernames_and_display_names ... ok test auth::tests::aaguid_projection_rejects_malformed_cbor_corpus ... ok test auth::tests::audit_ceremony_browser_binding ... ok test auth::tests::audit_logout_survives_admission_exhaustion ... ok test auth::tests::audit_no_public_credential_listing ... ok test auth::tests::discoverable_latency_at_pending_capacity ... ignored, run --release --ignored --nocapture 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::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::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 has been running for over 60 seconds test auth::tests::review3_tests::review3_busy_expiry has been running for over 60 seconds test auth::tests::review3_tests::review3_busy_logout has been running for over 60 seconds test auth::tests::review3_tests::review3_busy_recovery has been running for over 60 seconds 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::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::review4_slow_open_at_user_capacity ... ignored, release-only connect scale measurement; run without concurrent builds test auth::tests::review3_tests::review3_revoked_resume_must_not_welcome ... ok test auth::tests::review3_tests::review3_unwrap_cannot_be_skipped ... ok test auth::tests::review3_tests::review3_waiting_handshake_loses_authority ... ok test auth::tests::review3_tests::review4_ten_second_open_preserves_authority ... ok test auth::tests::review_invalid_device_polling_exhausts_browser_budget ... 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::review_old_words_race_rotation ... ok test auth::tests::server_setup_terminal_echo_and_resume_preserve_offsets_once ... ok test auth::tests::setup_start_accepts_username_and_display_name ... ok test auth::tests::sessions_slide_but_fresh_tap_does_not_and_device_keys_are_scoped ... ok test auth::tests::setup_restart_rotation_expiry_and_parallel_redemption ... ok test auth::tests::socket_tests::authenticated_idle_socket_survives_the_former_read_timeout ... ok test auth::tests::socket_tests::clean_control_close_is_not_an_internal_error ... 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::socket_authority_latency_at_user_capacity ... ignored, release-only measurement without concurrent compilation test auth::tests::socket_tests::half_open_sockets_obey_user_limit ... 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::incomplete_rfc_message_still_loses_authority_on_revocation ... 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_token_socket_is_private_and_requires_explicit_request ... 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 auth::tests::socket_tests::revoked_idle_socket_loses_all_authority ... ok test runtime::tests::restart_serves_fresh_setup_token_and_completes_owner_enrollment ... ok test auth::tests::stale_counters_recovery_cancellation_and_wrap_tampering ... ok test result: ok. 73 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 161.31s Running unittests src/lib.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/infraternal_shim-67ffc9c8d51fcf5c) 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::golden_and_fragmented ... ok test frame::checks::tests::invalid_lengths_types_and_utf8 ... ok test ring::checks::tests::wrap_and_exact_offsets ... ok test frame::checks::borrowed_and_owned_decoders_agree_at_every_fragment_boundary ... ok test session::inputs::tests::identity_cap_preserves_all_existing_cursors ... ok test session::inputs::tests::partial_writes_credit_only_the_owner_and_replay_trims_per_writer ... ok test frame::checks::approximate_snapshot_codec_is_bounded_and_canonical ... 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::resize_checks::resize_refusal_session_probe ... ignored, isolated session probe invoked by its parent with a controlled shell profile ```
Author
Owner

Final scripts/verify fast, HEAD 37469fd3b0, exit 0. Complete output verbatim, part 2/4:

test session::sequenced_checks::coalesced_ack_never_overwrites_a_partial_output_and_cursors_survive_peer_loss ... ok
test session::sequenced_checks::new_frames_roundtrip_and_refuse_noncanonical_payloads ... ok
test session::sequenced_checks::reusable_encoder_retains_capacity_and_refuses_growth_before_mutation ... ok
test session::sequenced_checks::writer_selection_has_a_frozen_little_endian_layout ... ok
test session::sequenced_checks::trim_duplicates_gaps_overflow_and_capacity_are_transactional ... ok
test frame::checks::golden::exact_maximum_and_coalesced_frames ... ok
test terminal::checks::tests::alternate_variants_and_nested_switches_repaint ... ok
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::checks::tests::implicit_hyperlinks_retain_groups_across_rows_and_continuation ... ok
test terminal::checks::tests::fixtures_and_continuations_repaint ... ok
test terminal::checks::tests::margins_tabs_charsets_and_modes_continue ... ok
test terminal::checks::tests::long_unfinished_hyperlink_and_control_strings_continue ... ok
test terminal::checks::tests::partial_csi_and_utf8_continue ... ok
test terminal::checks::tests::byte_budget_prunes_history_and_resize_remains_repaintable ... ok
test terminal::checks::tests::pending_wrap_and_saved_wrap_continue_with_wide_cells ... ok
test terminal::checks::tests::saved_origin_survives_changed_margins ... ok
test terminal::fidelity::fidelity_charset_mapped_wide_space_is_explicitly_rejected ... ok
test terminal::checks::tests::retained_alternate_saved_cursor_and_keyboard_stack_continue ... ok
test terminal::fidelity::fidelity_diagnostic_fixture ... ignored, diagnostic replay of an explicitly selected fixture file
test terminal::fidelity::fidelity_cursor ... ok
test terminal::fidelity::fidelity_extended_nightly ... ignored, nightly expanded differential corpus: 20,000 deterministic cases
test terminal::fidelity::fidelity_edge ... ok
test terminal::checks::tests::unfinished_sequence_over_frame_limit_fails_without_losing_runtime_state ... ok
test terminal::fidelity::fidelity_fresh_c_redraw_default_is_explicitly_rejected ... ok
test terminal::fidelity::fidelity_f1_rep ... ok
test terminal::fidelity::fidelity_inherited_protection_off_mode_is_explicitly_rejected ... ok
test terminal::fidelity::fidelity_iso_protection_does_not_keep_rep_scratch ... ok
test terminal::fidelity::fidelity_iso_protection_erase ... ok
test terminal::fidelity::fidelity_mouse_effective_fields_follow_order_independently_of_booleans ... ok
test terminal::fidelity::fidelity_oracle_detects_hidden_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::checks::approximate_repaint_is_bounded_clips_at_complete_cells_and_preserves_source ... ok
test terminal::fidelity::fidelity_rejects_unrepresentable_rep_without_mutating_source ... ok
test terminal::fidelity::fidelity_saved_cursor_over_changed_edge ... ok
test terminal::fidelity::fidelity_saved_modes_future_restore ... ok
test terminal::fidelity::fidelity_handwritten ... ok
test terminal::fidelity::fidelity_seeded_nightly ... ignored, nightly differential corpus: 20,000 deterministic cases
test terminal::fidelity::fidelity_screen_entry_consumes_inherited_shift_before_saving ... ok
test terminal::fidelity::fidelity_semantic_validation_matches_exported_history_extent ... ok
test terminal::fidelity::fidelity_single_shift_survives_rep_seed ... ok
test terminal::fidelity::fidelity_snapshot_history_tail_contains_no_padding_rows ... ok
test terminal::fidelity::fidelity_snapshot_resets_stale_viewer_color_overrides ... ok
test terminal::fidelity::fidelity_spacer_head_attributes ... ok
test terminal::fidelity::fidelity_recorded_corpus ... ok
test terminal::fidelity::fidelity_variation_tail_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::resize_recovery::earlier_geometry_changes_require_approximation_even_with_origin_coverage ... ok
test terminal::resize_recovery::ring_gap_requires_clean_approximate_recovery ... ok
test terminal_native::allocation::resize_allocation_refusal_retires_native_handle ... ok
test terminal::fidelity::fidelity_variation_wrap_attributes ... 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 35.11s

     Running tests/detach.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/detach-c502cd554fb112ce)

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

     Running tests/mouse.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/mouse-523bfdef43cc46cb)

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

   Doc-tests infraternal_agent

running 0 tests

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

   Doc-tests infraternal_mesh

running 1 test
test crates/infraternal-mesh/src/model.rs - model::LocalPrivateKey (line 20) - compile fail ... ok

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

   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/mesh-core/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/mesh-core/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/mesh-core/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/mesh-core/Cargo.lock:183:1
    │  
183 │ ╭ r-efi 5.3.0 registry+https://github.com/rust-lang/crates.io-index
184 │ │ 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 (*)
Final scripts/verify fast, HEAD 37469fd3b0c70c8d70d0993e1da895249c85a4d8, exit 0. Complete output verbatim, part 2/4: ```text test session::sequenced_checks::coalesced_ack_never_overwrites_a_partial_output_and_cursors_survive_peer_loss ... ok test session::sequenced_checks::new_frames_roundtrip_and_refuse_noncanonical_payloads ... ok test session::sequenced_checks::reusable_encoder_retains_capacity_and_refuses_growth_before_mutation ... ok test session::sequenced_checks::writer_selection_has_a_frozen_little_endian_layout ... ok test session::sequenced_checks::trim_duplicates_gaps_overflow_and_capacity_are_transactional ... ok test frame::checks::golden::exact_maximum_and_coalesced_frames ... ok test terminal::checks::tests::alternate_variants_and_nested_switches_repaint ... ok 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::checks::tests::implicit_hyperlinks_retain_groups_across_rows_and_continuation ... ok test terminal::checks::tests::fixtures_and_continuations_repaint ... ok test terminal::checks::tests::margins_tabs_charsets_and_modes_continue ... ok test terminal::checks::tests::long_unfinished_hyperlink_and_control_strings_continue ... ok test terminal::checks::tests::partial_csi_and_utf8_continue ... ok test terminal::checks::tests::byte_budget_prunes_history_and_resize_remains_repaintable ... ok test terminal::checks::tests::pending_wrap_and_saved_wrap_continue_with_wide_cells ... ok test terminal::checks::tests::saved_origin_survives_changed_margins ... ok test terminal::fidelity::fidelity_charset_mapped_wide_space_is_explicitly_rejected ... ok test terminal::checks::tests::retained_alternate_saved_cursor_and_keyboard_stack_continue ... ok test terminal::fidelity::fidelity_diagnostic_fixture ... ignored, diagnostic replay of an explicitly selected fixture file test terminal::fidelity::fidelity_cursor ... ok test terminal::fidelity::fidelity_extended_nightly ... ignored, nightly expanded differential corpus: 20,000 deterministic cases test terminal::fidelity::fidelity_edge ... ok test terminal::checks::tests::unfinished_sequence_over_frame_limit_fails_without_losing_runtime_state ... ok test terminal::fidelity::fidelity_fresh_c_redraw_default_is_explicitly_rejected ... ok test terminal::fidelity::fidelity_f1_rep ... ok test terminal::fidelity::fidelity_inherited_protection_off_mode_is_explicitly_rejected ... ok test terminal::fidelity::fidelity_iso_protection_does_not_keep_rep_scratch ... ok test terminal::fidelity::fidelity_iso_protection_erase ... ok test terminal::fidelity::fidelity_mouse_effective_fields_follow_order_independently_of_booleans ... ok test terminal::fidelity::fidelity_oracle_detects_hidden_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::checks::approximate_repaint_is_bounded_clips_at_complete_cells_and_preserves_source ... ok test terminal::fidelity::fidelity_rejects_unrepresentable_rep_without_mutating_source ... ok test terminal::fidelity::fidelity_saved_cursor_over_changed_edge ... ok test terminal::fidelity::fidelity_saved_modes_future_restore ... ok test terminal::fidelity::fidelity_handwritten ... ok test terminal::fidelity::fidelity_seeded_nightly ... ignored, nightly differential corpus: 20,000 deterministic cases test terminal::fidelity::fidelity_screen_entry_consumes_inherited_shift_before_saving ... ok test terminal::fidelity::fidelity_semantic_validation_matches_exported_history_extent ... ok test terminal::fidelity::fidelity_single_shift_survives_rep_seed ... ok test terminal::fidelity::fidelity_snapshot_history_tail_contains_no_padding_rows ... ok test terminal::fidelity::fidelity_snapshot_resets_stale_viewer_color_overrides ... ok test terminal::fidelity::fidelity_spacer_head_attributes ... ok test terminal::fidelity::fidelity_recorded_corpus ... ok test terminal::fidelity::fidelity_variation_tail_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::resize_recovery::earlier_geometry_changes_require_approximation_even_with_origin_coverage ... ok test terminal::resize_recovery::ring_gap_requires_clean_approximate_recovery ... ok test terminal_native::allocation::resize_allocation_refusal_retires_native_handle ... ok test terminal::fidelity::fidelity_variation_wrap_attributes ... 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 35.11s Running tests/detach.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/detach-c502cd554fb112ce) 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 0.57s Running tests/mouse.rs (/home/kayg/.cache/codex-scratch/mesh-core/target/debug/deps/mouse-523bfdef43cc46cb) 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.16s Doc-tests infraternal_agent running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests infraternal_mesh running 1 test test crates/infraternal-mesh/src/model.rs - model::LocalPrivateKey (line 20) - compile fail ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s 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/mesh-core/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/mesh-core/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/mesh-core/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/mesh-core/Cargo.lock:183:1 │ 183 │ ╭ r-efi 5.3.0 registry+https://github.com/rust-lang/crates.io-index 184 │ │ 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 (*) ```
Author
Owner

Final scripts/verify fast, HEAD 37469fd3b0, exit 0. Complete output verbatim, part 3/4:

          │       │       │   ├── 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/mesh-core/Cargo.lock:185:1
    │  
185 │ ╭ rand 0.8.8 registry+https://github.com/rust-lang/crates.io-index
186 │ │ 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/mesh-core/Cargo.lock:187:1
    │  
187 │ ╭ rand_chacha 0.3.1 registry+https://github.com/rust-lang/crates.io-index
188 │ │ 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/mesh-core/Cargo.lock:189:1
    │  
189 │ ╭ rand_core 0.6.4 registry+https://github.com/rust-lang/crates.io-index
190 │ │ 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/mesh-core/Cargo.lock:226:1
    │  
226 │ ╭ syn 2.0.119 registry+https://github.com/rust-lang/crates.io-index
227 │ │ 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-mesh 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-mesh 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 (*)
Final scripts/verify fast, HEAD 37469fd3b0c70c8d70d0993e1da895249c85a4d8, exit 0. Complete output verbatim, part 3/4: ```text │ │ │ ├── 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/mesh-core/Cargo.lock:185:1 │ 185 │ ╭ rand 0.8.8 registry+https://github.com/rust-lang/crates.io-index 186 │ │ 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/mesh-core/Cargo.lock:187:1 │ 187 │ ╭ rand_chacha 0.3.1 registry+https://github.com/rust-lang/crates.io-index 188 │ │ 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/mesh-core/Cargo.lock:189:1 │ 189 │ ╭ rand_core 0.6.4 registry+https://github.com/rust-lang/crates.io-index 190 │ │ 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/mesh-core/Cargo.lock:226:1 │ 226 │ ╭ syn 2.0.119 registry+https://github.com/rust-lang/crates.io-index 227 │ │ 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-mesh 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-mesh 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 (*) ```
Author
Owner

Final scripts/verify fast, HEAD 37469fd3b0, exit 0. Complete output verbatim, part 4/4:

      │       ├── 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/mesh-core/Cargo.lock:229:1
    │  
229 │ ╭ synstructure 0.13.2 registry+https://github.com/rust-lang/crates.io-index
230 │ │ 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/mesh-core/Cargo.lock:231:1
    │  
231 │ ╭ thiserror 1.0.69 registry+https://github.com/rust-lang/crates.io-index
232 │ │ 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-mesh 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/mesh-core/Cargo.lock:233:1
    │  
233 │ ╭ thiserror-impl 1.0.69 registry+https://github.com/rust-lang/crates.io-index
234 │ │ 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-mesh 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
    Finished `release` profile [optimized] target(s) in 0.30s
/home/kayg/.cache/codex-scratch/mesh-core/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: 16142672 bytes
    Finished `release` profile [optimized] target(s) in 0.25s
/home/kayg/.cache/codex-scratch/mesh-core/target/aarch64-unknown-linux-musl/release/infraternal: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, stripped
PT_INTERP: absent; size: 13555672 bytes
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) [12.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 [15.26ms]

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

 2 pass
 0 fail
 15 expect() calls
Ran 2 tests across 2 files. [50.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-mp0mhr7p.js, chunk-axbkkqp1.js, chunk-70jfc42t.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-70jfc42t.js: identity=683946 gzip=198389 brotli=160441 bytes
chunk-f1a5ev2m.js: identity=6464 gzip=3112 brotli=2823 bytes
main.js: identity=75896 gzip=28488 brotli=24767 bytes
chunk-mp0mhr7p.js: identity=24954 gzip=8997 brotli=7908 bytes
chunk-pxh9419f.js: identity=7799 gzip=3329 brotli=2968 bytes
JavaScript transfer: identity=800596 gzip=243302/307200 brotli=199731/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.64ms]
(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.74ms]
(pass) wire protocol golden vectors > rejects oversized, non-canonical, unknown, and malformed frame bytes [0.13ms]
(pass) split mux header preserves trailing Close [0.13ms]

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

 7 pass
 0 fail
 34390 expect() calls
Ran 7 tests across 2 files. [2.13s]
Final scripts/verify fast, HEAD 37469fd3b0c70c8d70d0993e1da895249c85a4d8, exit 0. Complete output verbatim, part 4/4: ```text │ ├── 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/mesh-core/Cargo.lock:229:1 │ 229 │ ╭ synstructure 0.13.2 registry+https://github.com/rust-lang/crates.io-index 230 │ │ 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/mesh-core/Cargo.lock:231:1 │ 231 │ ╭ thiserror 1.0.69 registry+https://github.com/rust-lang/crates.io-index 232 │ │ 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-mesh 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/mesh-core/Cargo.lock:233:1 │ 233 │ ╭ thiserror-impl 1.0.69 registry+https://github.com/rust-lang/crates.io-index 234 │ │ 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-mesh 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 Finished `release` profile [optimized] target(s) in 0.30s /home/kayg/.cache/codex-scratch/mesh-core/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: 16142672 bytes Finished `release` profile [optimized] target(s) in 0.25s /home/kayg/.cache/codex-scratch/mesh-core/target/aarch64-unknown-linux-musl/release/infraternal: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, stripped PT_INTERP: absent; size: 13555672 bytes 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) [12.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 [15.26ms] precompress.test.ts: (pass) text sidecars round-trip deterministically; compressed formats remain identity [20.68ms] 2 pass 0 fail 15 expect() calls Ran 2 tests across 2 files. [50.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-mp0mhr7p.js, chunk-axbkkqp1.js, chunk-70jfc42t.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-70jfc42t.js: identity=683946 gzip=198389 brotli=160441 bytes chunk-f1a5ev2m.js: identity=6464 gzip=3112 brotli=2823 bytes main.js: identity=75896 gzip=28488 brotli=24767 bytes chunk-mp0mhr7p.js: identity=24954 gzip=8997 brotli=7908 bytes chunk-pxh9419f.js: identity=7799 gzip=3329 brotli=2968 bytes JavaScript transfer: identity=800596 gzip=243302/307200 brotli=199731/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.64ms] (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.74ms] (pass) wire protocol golden vectors > rejects oversized, non-canonical, unknown, and malformed frame bytes [0.13ms] (pass) split mux header preserves trailing Close [0.13ms] 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 [2109.58ms] (pass) maximum frame size and fragmented oversized prefix obey the allocation boundary [6.31ms] 7 pass 0 fail 34390 expect() calls Ran 7 tests across 2 files. [2.13s] ```
Author
Owner

Completed mesh core slice 1 on mesh-core. HEAD 37469fd3b0; 17 atomic commits from ac03b1913b, each gated before commit. Final scripts/verify fast exit 0 on this committed HEAD; complete output quoted verbatim in 4 preceding parts. No existing crate integration, UI, kernel backend, engine choice, push or deployment.

16 regression/property tests + private-key compile-fail doctest pass; 10,000 generated mutations and 30,000 address pairs. Final ASAN coverage-guided fuzz: 20,000 executions, 6,485 edges, 26,123 features, 71s. Author PROCESS/D40 review complete.

Weighted 10k nodes/20-arrow results: full compile CPU median 285.967ms/max 348.001ms; coordinator RSS 214.40MiB (~22,261B/node ×10k incremental); combined peak 363.33MiB; view 314B/peer ×10k (~3MiB). Sparse CPU p95: arrow 9.526us (2 view recipients, 685–687 JSON B), removal 45.181us (41, 3,945–3,946B), key rotation 36.517us (41, 15,695B plus local instruction). Server rotation p95 22.911ms (9,999 plus local instruction, up to 3,667,641 JSON B); universal 1ms budget not met for fanout, separate <50ms CPU proposal met. Allocation 113–161ns CPU; hot lookup 127–185ns CPU in 20-arrow scale processes. Machine/load/topology/profile and all nine shape tables: crates/infraternal-mesh/README.md and evidence/2026-10-07/. All proposed measured-topology budgets met; dense tags/port-set storage/kernel/network costs remain outside these results.

How to review: read crate README integration contracts/planned commands; cargo test --locked -p infraternal-mesh; reproduce weighted evidence with crates/infraternal-mesh/measure.sh and retained synthetic fuzz corpus. Independent review follows PROCESS; #81/slice 2 must prove real packet filtering and key-overlap continuity before wiring. Issue stays open.

Completed mesh core slice 1 on mesh-core. HEAD 37469fd3b0c70c8d70d0993e1da895249c85a4d8; 17 atomic commits from ac03b1913bfb6dd9b978477fc23ee5c88e276f67, each gated before commit. Final scripts/verify fast exit 0 on this committed HEAD; complete output quoted verbatim in 4 preceding parts. No existing crate integration, UI, kernel backend, engine choice, push or deployment. 16 regression/property tests + private-key compile-fail doctest pass; 10,000 generated mutations and 30,000 address pairs. Final ASAN coverage-guided fuzz: 20,000 executions, 6,485 edges, 26,123 features, 71s. Author PROCESS/D40 review complete. Weighted 10k nodes/20-arrow results: full compile CPU median 285.967ms/max 348.001ms; coordinator RSS 214.40MiB (~22,261B/node ×10k incremental); combined peak 363.33MiB; view 314B/peer ×10k (~3MiB). Sparse CPU p95: arrow 9.526us (2 view recipients, 685–687 JSON B), removal 45.181us (41, 3,945–3,946B), key rotation 36.517us (41, 15,695B plus local instruction). Server rotation p95 22.911ms (9,999 plus local instruction, up to 3,667,641 JSON B); universal 1ms budget not met for fanout, separate <50ms CPU proposal met. Allocation 113–161ns CPU; hot lookup 127–185ns CPU in 20-arrow scale processes. Machine/load/topology/profile and all nine shape tables: crates/infraternal-mesh/README.md and evidence/2026-10-07/. All proposed measured-topology budgets met; dense tags/port-set storage/kernel/network costs remain outside these results. How to review: read crate README integration contracts/planned commands; cargo test --locked -p infraternal-mesh; reproduce weighted evidence with crates/infraternal-mesh/measure.sh and retained synthetic fuzz corpus. Independent review follows PROCESS; #81/slice 2 must prove real packet filtering and key-overlap continuity before wiring. Issue stays open.
Author
Owner

Merged into dev at 9c62448 (standalone crate, not wired). scripts/verify fast after the merge: exit 0; Rust 6/6 PASS, static size within budget, TS 7/7, browser 2/2. Slice 2 (wiring into the server and infraternal agent, CLI/API/MCP) follows #78 and relay mode per D170.

Merged into dev at 9c62448 (standalone crate, not wired). scripts/verify fast after the merge: exit 0; Rust 6/6 PASS, static size within budget, TS 7/7, browser 2/2. Slice 2 (wiring into the server and infraternal agent, CLI/API/MCP) follows #78 and relay mode per D170.
Author
Owner

Closed by the orchestrator during the 2026-11-09 night housekeeping (owner order: "close stale prs/issues"). The work has landed on dev, and the latest note here is a finish or merge note (J387 inventory on #436). Reopen if anything is still missing.

Closed by the orchestrator during the 2026-11-09 night housekeeping (owner order: "close stale prs/issues"). The work has landed on dev, and the latest note here is a finish or merge note (J387 inventory on #436). Reopen if anything is still missing.
kayg closed this issue 2026-11-08 19:04:30 +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#80
No description provided.