Idle RSS over budget on dev #187

Open
opened 2026-10-12 12:13:55 +00:00 by kayg · 25 comments
Owner

The fast gate measured idle server RSS at 15,696 KiB against the unchanged 15,360 KiB budget on dev-based branches. Evidence: /home/kayg/Developer/infraternal/.worktrees/real-logins/evidence/real-logins/round2/verify-fast.log.\n\nFind which of the mesh data plane merge (378b97da), release pipeline round 3 merge (7db21709), restart-test fix (#174), or subsequent decisions corresponds to the increase by taking three matched idle-RSS runs per candidate on the pinned perf VM. Attribute the added resident memory to heap allocations, mappings, and idle threads/runtimes, then reduce idle RSS without changing the budget. Report before/after RSS and native latency effects.\n\nRelated history: #27 documents the earlier scheduler-idle canary; this issue investigates the separate RSS budget.

The fast gate measured idle server RSS at 15,696 KiB against the unchanged 15,360 KiB budget on dev-based branches. Evidence: /home/kayg/Developer/infraternal/.worktrees/real-logins/evidence/real-logins/round2/verify-fast.log.\n\nFind which of the mesh data plane merge (378b97da), release pipeline round 3 merge (7db21709), restart-test fix (#174), or subsequent decisions corresponds to the increase by taking three matched idle-RSS runs per candidate on the pinned perf VM. Attribute the added resident memory to heap allocations, mappings, and idle threads/runtimes, then reduce idle RSS without changing the budget. Report before/after RSS and native latency effects.\n\nRelated history: #27 documents the earlier scheduler-idle canary; this issue investigates the separate RSS budget.
Author
Owner

Started on branch idle-rss at base c0d01d2285 (origin/dev). Read the prior idle-canary history in #27 and its parent #5. I will bisect the RSS change across the named merges with three perf-VM runs per candidate, attribute the resident memory, fix it without changing the budget, and report native latency effects.

Started on branch idle-rss at base c0d01d2285b92ea8e452f10a3a0d8b479fa1bff8 (origin/dev). Read the prior idle-canary history in #27 and its parent #5. I will bisect the RSS change across the named merges with three perf-VM runs per candidate, attribute the resident memory, fix it without changing the budget, and report native latency effects.
Author
Owner

Finding: the supplied fast-gate trace is the host-agent idle RSS check, not the server subcommand. It fails at scripts/verify-agent.py's idle < 15 * 1024 assertion for the real daemon PID; the current equivalent check reads /proc/<pid>/status VmRSS in scripts/agent_fixture.py:rss. Evidence: the referenced verify-fast.log lines 723-730 and scripts/verify-agent.py around the idle measurement/assertion. I will profile that daemon mode against D41's 15 MiB budget.

Finding: the supplied fast-gate trace is the host-agent idle RSS check, not the `server` subcommand. It fails at `scripts/verify-agent.py`'s `idle < 15 * 1024` assertion for the real daemon PID; the current equivalent check reads `/proc/<pid>/status` VmRSS in `scripts/agent_fixture.py:rss`. Evidence: the referenced verify-fast.log lines 723-730 and `scripts/verify-agent.py` around the idle measurement/assertion. I will profile that daemon mode against D41's 15 MiB budget.
Author
Owner

History correction: the current c0d01d22 tree contains a runtime merge after #174 despite the task summary saying only decisions followed. 9c195cf2 merges release-prod-4 back into dev and changes crates/infraternal-agent/src/daemon.rs (136 lines), lifecycle.rs, and process-exit code; git diff --stat 9c195cf2..c0d01d22 -- crates/infraternal-agent crates/infraternal-server crates/infraternal-shim crates/infraternal is empty. I will include matched pre/post-9c195cf2 runs to avoid attributing the current result to an earlier merge.

History correction: the current c0d01d22 tree contains a runtime merge after #174 despite the task summary saying only decisions followed. `9c195cf2` merges release-prod-4 back into dev and changes `crates/infraternal-agent/src/daemon.rs` (136 lines), `lifecycle.rs`, and process-exit code; `git diff --stat 9c195cf2..c0d01d22 -- crates/infraternal-agent crates/infraternal-server crates/infraternal-shim crates/infraternal` is empty. I will include matched pre/post-9c195cf2 runs to avoid attributing the current result to an earlier merge.
Author
Owner

Source finding (mesh-era agent): both embedded and remote daemon paths call plugin_control::Service::start unconditionally before entering run_channel (crates/infraternal-agent/src/daemon.rs). It binds plugins.sock and spawns a Tokio listener task (plugin_control.rs:198-214, Local::bind); run_channel also creates the plugin dispatcher task unconditionally. The registry factory delays constructing the plugin registry and its node-plugins OS thread until the first action, so those are not currently running at idle. This narrows the likely incremental idle cost to listener/dispatcher state, but remains a source hypothesis pending the matched perf-VM RSS and smaps profiles.

Source finding (mesh-era agent): both embedded and remote daemon paths call `plugin_control::Service::start` unconditionally before entering `run_channel` (`crates/infraternal-agent/src/daemon.rs`). It binds `plugins.sock` and spawns a Tokio listener task (`plugin_control.rs:198-214`, `Local::bind`); `run_channel` also creates the plugin dispatcher task unconditionally. The registry factory delays constructing the plugin registry and its `node-plugins` OS thread until the first action, so those are not currently running at idle. This narrows the likely incremental idle cost to listener/dispatcher state, but remains a source hypothesis pending the matched perf-VM RSS and smaps profiles.
Author
Owner

Perf-VM sample 1 (pre-mesh 8e7467c0, x86_64 static release): idle agent VmRSS=4,604 KiB and 0 scheduled slices / 2.201 s. Host was x86_64, 4 CPUs, kernel 6.12.69+deb13-amd64; load average at capture was 0.083/0.252/0.143. smaps_rollup was 4,604 KiB RSS / 1,048 KiB anonymous; the executable mapping contributed 4,472 KiB RSS, [heap] 4 KiB, with one sleeping thread. This is far below 15,360 KiB and shows the supplied 15,696 KiB result is not a static production-release measurement. The profile output is retained in the run transcript; further matched samples are in progress.

Perf-VM sample 1 (pre-mesh 8e7467c0, x86_64 static release): idle agent VmRSS=4,604 KiB and 0 scheduled slices / 2.201 s. Host was x86_64, 4 CPUs, kernel 6.12.69+deb13-amd64; load average at capture was 0.083/0.252/0.143. `smaps_rollup` was 4,604 KiB RSS / 1,048 KiB anonymous; the executable mapping contributed 4,472 KiB RSS, `[heap]` 4 KiB, with one sleeping thread. This is far below 15,360 KiB and shows the supplied 15,696 KiB result is not a static production-release measurement. The profile output is retained in the run transcript; further matched samples are in progress.
Author
Owner

Matched perf-VM cohort completed on x86_64 / Debian 13 kernel 6.12.69+deb13-amd64 (4 CPUs), INFRATERNAL_TEST_RTT=0, each run under /var/lock/perf-bench.lock:

  • pre-mesh 8e7467c0 static release: 4,604 / 4,604 / 4,604 KiB VmRSS;
  • post-mesh 378b97da static release: 4,544 / 4,540 / 4,544 KiB VmRSS.
    All six had 0 scheduled slices over 2.2 s and exactly 1 thread. The post-mesh per-map profile remained ~4,380 KiB resident in the executable, ~1,084-1,088 KiB anonymous, and 4 KiB [heap]; no new thread or mapping class appeared. The mesh data-plane merge therefore did not add RSS in the production release profile. Full per-run load and smaps JSON is being retained under evidence/idle-rss/.
Matched perf-VM cohort completed on x86_64 / Debian 13 kernel 6.12.69+deb13-amd64 (4 CPUs), `INFRATERNAL_TEST_RTT=0`, each run under `/var/lock/perf-bench.lock`: - pre-mesh 8e7467c0 static release: 4,604 / 4,604 / 4,604 KiB VmRSS; - post-mesh 378b97da static release: 4,544 / 4,540 / 4,544 KiB VmRSS. All six had 0 scheduled slices over 2.2 s and exactly 1 thread. The post-mesh per-map profile remained ~4,380 KiB resident in the executable, ~1,084-1,088 KiB anonymous, and 4 KiB `[heap]`; no new thread or mapping class appeared. The mesh data-plane merge therefore did not add RSS in the production release profile. Full per-run load and smaps JSON is being retained under `evidence/idle-rss/`.
Author
Owner

Perf-VM profile is waiting on the shared /var/lock/perf-bench.lock; flock -n reports held. The host currently reports load average 2.24 / 1.42 / 0.70 on 4 CPUs. No sample has started and I will not bypass the lock; the post-release profile will run after the current benchmark releases it.

Perf-VM profile is waiting on the shared `/var/lock/perf-bench.lock`; `flock -n` reports held. The host currently reports load average 2.24 / 1.42 / 0.70 on 4 CPUs. No sample has started and I will not bypass the lock; the post-release profile will run after the current benchmark releases it.
Author
Owner

History/source finding: 9c195cf2 is an additional runtime merge after #174. It adds a shared epoll/kqueue process-exit watcher to the lifecycle registry and session census handling in daemon.rs; the watcher creates no queue until the first shim registration (crates/infraternal-agent/src/process_exits_linux.rs::watch). The current idle-rss tree has no crate changes after that merge. Perf VM RSS cohort is still pending under the shared lock.

History/source finding: `9c195cf2` is an additional runtime merge after #174. It adds a shared epoll/kqueue process-exit watcher to the lifecycle registry and session census handling in `daemon.rs`; the watcher creates no queue until the first shim registration (`crates/infraternal-agent/src/process_exits_linux.rs::watch`). The current `idle-rss` tree has no crate changes after that merge. Perf VM RSS cohort is still pending under the shared lock.
Author
Owner

Perf VM finding (post-RP3 r1, static release binary): RSS 4,804 KiB; 0 scheduled slices over 2.201 s; one sleeping thread; smaps_rollup 1,096 KiB anonymous, 3,704 KiB private clean executable, 4 KiB heap RSS. This is 260 KiB above the 8e7467c0 pre-mesh r1 reference (4,604 KiB), still 10,556 KiB below the unchanged 15,360 KiB limit. Repeats are pending before attribution.

Perf VM finding (post-RP3 r1, static release binary): RSS 4,804 KiB; 0 scheduled slices over 2.201 s; one sleeping thread; smaps_rollup 1,096 KiB anonymous, 3,704 KiB private clean executable, 4 KiB heap RSS. This is 260 KiB above the 8e7467c0 pre-mesh r1 reference (4,604 KiB), still 10,556 KiB below the unchanged 15,360 KiB limit. Repeats are pending before attribution.
Author
Owner

Perf VM matched post-RP3 static-release cohort complete for 7db21709 (binary SHA-256 58649347148b1f362aef1ed9f2ef239f69818c0387bedf82d941d3106f46794a): VmRSS 4,804 / 4,800 / 4,800 KiB; each 0 scheduled slices over 2.201 s and one sleeping thread. Host x86_64, Debian 13 kernel 6.12.69, 4 CPUs; loadavg at samples 2.55/2.23/1.51, 1.86/2.10/1.50, 1.87/2.10/1.51. smaps was stable: 3,704 KiB private clean executable, 1,092–1,096 KiB anonymous, 4 KiB heap. This is about 200 KiB above the prior pre-mesh 4,604 KiB cohort and 10,560 KiB below the 15,360 KiB budget. #174 has identical production Rust sources to this endpoint. Continuing to the post-prod4/current runtime endpoint before attribution.

Perf VM matched post-RP3 static-release cohort complete for 7db21709 (binary SHA-256 58649347148b1f362aef1ed9f2ef239f69818c0387bedf82d941d3106f46794a): VmRSS 4,804 / 4,800 / 4,800 KiB; each 0 scheduled slices over 2.201 s and one sleeping thread. Host x86_64, Debian 13 kernel 6.12.69, 4 CPUs; loadavg at samples 2.55/2.23/1.51, 1.86/2.10/1.50, 1.87/2.10/1.51. smaps was stable: 3,704 KiB private clean executable, 1,092–1,096 KiB anonymous, 4 KiB heap. This is about 200 KiB above the prior pre-mesh 4,604 KiB cohort and 10,560 KiB below the 15,360 KiB budget. #174 has identical production Rust sources to this endpoint. Continuing to the post-prod4/current runtime endpoint before attribution.
Author
Owner

Current endpoint build complete: 9c195cf2 release artifact built with cargo build --locked --release --package infraternal --target x86_64-unknown-linux-musl (scratch target); ELF static-pie, 21,857,264 bytes, SHA-256 db427028e0d93be3105b709a0235e9f53ea0dbf65cb3675d41f17da7a1724327. Staged at /root/infraternal-bench/idle-rss/binaries/post-prod4; profile/latency batch is queued under the perf lock.

Current endpoint build complete: `9c195cf2` release artifact built with `cargo build --locked --release --package infraternal --target x86_64-unknown-linux-musl` (scratch target); ELF static-pie, 21,857,264 bytes, SHA-256 `db427028e0d93be3105b709a0235e9f53ea0dbf65cb3675d41f17da7a1724327`. Staged at `/root/infraternal-bench/idle-rss/binaries/post-prod4`; profile/latency batch is queued under the perf lock.
Author
Owner

Perf VM queue update: the browser timing campaign still owns /var/lock/perf-bench.lock after 17 minutes and is sleeping at 0% CPU; loadavg is 0.87/0.89/1.07 on 4 CPUs. The current-release RSS/latency batch and pre/post-mesh refresh remain queued; no measurements have started. Lock is left untouched.

Perf VM queue update: the browser timing campaign still owns `/var/lock/perf-bench.lock` after 17 minutes and is sleeping at 0% CPU; loadavg is 0.87/0.89/1.07 on 4 CPUs. The current-release RSS/latency batch and pre/post-mesh refresh remain queued; no measurements have started. Lock is left untouched.
Author
Owner

Gate attempt at c0d01d22 exited before Cargo checks: scripts/verify fast's initial latency-proxy smoke test printed latency proxy: configured 300 ms RTT did not arrive: p50=339.29 ms p99=506.60 ms. This build-host timing is not performance evidence; the contemporaneous load was not captured. The host is now running six other Cargo jobs (loadavg 22.22/17.93/16.22), so I will retry the branch-head gate in a weighted scope after capacity clears. No gate threshold or code was changed.

Gate attempt at `c0d01d22` exited before Cargo checks: `scripts/verify fast`'s initial latency-proxy smoke test printed `latency proxy: configured 300 ms RTT did not arrive: p50=339.29 ms p99=506.60 ms`. This build-host timing is not performance evidence; the contemporaneous load was not captured. The host is now running six other Cargo jobs (loadavg 22.22/17.93/16.22), so I will retry the branch-head gate in a weighted scope after capacity clears. No gate threshold or code was changed.
Author
Owner

Perf VM queue update: the browser timing run continues to hold /var/lock/perf-bench.lock after 23 minutes with 0% CPU; loadavg is 0.55/0.70/0.93 on 4 CPUs. Both the current-release cohort and early-endpoint refresh remain waiting; the queued runs have not started.

Perf VM queue update: the browser timing run continues to hold `/var/lock/perf-bench.lock` after 23 minutes with 0% CPU; loadavg is 0.55/0.70/0.93 on 4 CPUs. Both the current-release cohort and early-endpoint refresh remain waiting; the queued runs have not started.
Author
Owner

Perf VM current-release cohort complete at 9c195cf2 (binary SHA-256 db427028e0d93be3105b709a0235e9f53ea0dbf65cb3675d41f17da7a1724327): VmRSS 4,568 / 4,568 / 4,564 KiB; 0 scheduled slices over 2.201 s; one sleeping thread each. Loadavg 0.626/0.665/0.889, 0.576/0.654/0.884, 0.576/0.654/0.884. smaps executable mapping is 4,396 KiB RSS, anonymous 1,100–1,104 KiB, heap 4 KiB. RSS is 232–236 KiB below post-RP3; the 15,360 KiB threshold remains unchanged. The before/after native latency gate is running in the same locked scope.

Perf VM current-release cohort complete at `9c195cf2` (binary SHA-256 `db427028e0d93be3105b709a0235e9f53ea0dbf65cb3675d41f17da7a1724327`): VmRSS 4,568 / 4,568 / 4,564 KiB; 0 scheduled slices over 2.201 s; one sleeping thread each. Loadavg 0.626/0.665/0.889, 0.576/0.654/0.884, 0.576/0.654/0.884. smaps executable mapping is 4,396 KiB RSS, anonymous 1,100–1,104 KiB, heap 4 KiB. RSS is 232–236 KiB below post-RP3; the 15,360 KiB threshold remains unchanged. The before/after native latency gate is running in the same locked scope.
Author
Owner

Native latency finding on perf VM: the first post-RP3 verify-latency.py --samples 100 gate passed baseline and other-session flood metrics (baseline echo p99 326.42 ms; other-session echo p99 299.42 ms; growth -27.00 ms) but failed same-session flood (Ack/PTY echo p99 482.30/482.40 ms, 334 ms budget; flood growth 155.98 ms, 16.67 ms budget). The runner stopped before current 9c195cf2; no before/after conclusion yet. A paired rerun now records load and continues through both endpoints.

Native latency finding on perf VM: the first post-RP3 `verify-latency.py --samples 100` gate passed baseline and other-session flood metrics (baseline echo p99 326.42 ms; other-session echo p99 299.42 ms; growth -27.00 ms) but failed same-session flood (Ack/PTY echo p99 482.30/482.40 ms, 334 ms budget; flood growth 155.98 ms, 16.67 ms budget). The runner stopped before current `9c195cf2`; no before/after conclusion yet. A paired rerun now records load and continues through both endpoints.
Author
Owner

Idle runtime attribution: crates/infraternal-agent/src/lib.rs::run_embedded builds a Tokio current-thread runtime; each perf VM capture shows one sleeping OS thread. The shared process-exit source in crates/infraternal-agent/src/process_exits_linux.rs::watch creates its epoll queue only when a shim session is registered. Thus the 9c195cf2 lifecycle change does not start an extra worker thread or exit watcher at idle; current smaps shows 4 KiB heap RSS and 1.10 MiB anonymous RSS.

Idle runtime attribution: `crates/infraternal-agent/src/lib.rs::run_embedded` builds a Tokio current-thread runtime; each perf VM capture shows one sleeping OS thread. The shared process-exit source in `crates/infraternal-agent/src/process_exits_linux.rs::watch` creates its epoll queue only when a shim session is registered. Thus the `9c195cf2` lifecycle change does not start an extra worker thread or exit watcher at idle; current smaps shows 4 KiB heap RSS and 1.10 MiB anonymous RSS.
Author
Owner

Perf VM pre/post-mesh refresh complete (static release binaries): pre-mesh 8e7467c0 (SHA-256 fa5a110381677f4f9b42600e7d550b3bffea525ab2d9d86043c54467cd022542) VmRSS 4,600 / 4,600 / 4,600 KiB; post-mesh 378b97da (SHA-256 b4c2f2750639cda4e3760995c322ae6423e7896e978d73f420490ed817a8a512) 4,540 / 4,540 / 4,540 KiB. Every run had 0 slices/2.201 s and one sleeping thread. Loads: pre 2.003/1.556/1.180, 2.003/1.556/1.180, 1.922/1.547/1.179; post 1.922/1.547/1.179, 1.848/1.538/1.178, 1.848/1.538/1.178. Mesh reduced RSS by 60 KiB. Compared with post-mesh, post-RP3 is +260 KiB (executable resident mapping +252 KiB; anonymous +8–12 KiB); current post-prod4 is +24 KiB. This localizes the small release delta to code pages resident at the post-RP3 endpoint, not a new idle heap/thread, and all release endpoints remain below the unchanged budget.

Perf VM pre/post-mesh refresh complete (static release binaries): pre-mesh `8e7467c0` (SHA-256 `fa5a110381677f4f9b42600e7d550b3bffea525ab2d9d86043c54467cd022542`) VmRSS 4,600 / 4,600 / 4,600 KiB; post-mesh `378b97da` (SHA-256 `b4c2f2750639cda4e3760995c322ae6423e7896e978d73f420490ed817a8a512`) 4,540 / 4,540 / 4,540 KiB. Every run had 0 slices/2.201 s and one sleeping thread. Loads: pre 2.003/1.556/1.180, 2.003/1.556/1.180, 1.922/1.547/1.179; post 1.922/1.547/1.179, 1.848/1.538/1.178, 1.848/1.538/1.178. Mesh reduced RSS by 60 KiB. Compared with post-mesh, post-RP3 is +260 KiB (executable resident mapping +252 KiB; anonymous +8–12 KiB); current post-prod4 is +24 KiB. This localizes the small release delta to code pages resident at the post-RP3 endpoint, not a new idle heap/thread, and all release endpoints remain below the unchanged budget.
Author
Owner

Paired perf VM native latency comparison complete (verify-latency.py --samples 100, RTT 300 ms, one weighted scope/lock). Start loads: post-RP3 1.94/1.56/1.19; current post-prod4 1.43/1.47/1.19. Baseline echo p99: 325.60 ms (post-RP3), 326.87 ms (current), both PASS under 334 ms. Other-session flood echo p99: 296.08 / 283.71 ms, growth -29.52 / -43.16 ms, both PASS. Same-session flood echo p99: 440.70 / 435.29 ms, growth 115.10 / 108.42 ms; both endpoints FAIL the unchanged 334 ms absolute and 16.67 ms growth budgets. Current improves same-session p99 by 5.41 ms and growth by 6.68 ms, but both still exceed limits. This is not a latency regression from 9c; the same-session failure reproduces on 7db.

Paired perf VM native latency comparison complete (`verify-latency.py --samples 100`, RTT 300 ms, one weighted scope/lock). Start loads: post-RP3 1.94/1.56/1.19; current post-prod4 1.43/1.47/1.19. Baseline echo p99: 325.60 ms (post-RP3), 326.87 ms (current), both PASS under 334 ms. Other-session flood echo p99: 296.08 / 283.71 ms, growth -29.52 / -43.16 ms, both PASS. Same-session flood echo p99: 440.70 / 435.29 ms, growth 115.10 / 108.42 ms; both endpoints FAIL the unchanged 334 ms absolute and 16.67 ms growth budgets. Current improves same-session p99 by 5.41 ms and growth by 6.68 ms, but both still exceed limits. This is not a latency regression from 9c; the same-session failure reproduces on 7db.
Author
Owner

Evidence commit created: 9c8c54c7c0dfc5403900b4a72fb18a2981cb1e77 (evidence/idle-rss/README.md, native-latency-paired.log). It records three RSS samples per release endpoint, loads, hashes, smaps and thread data; max RSS 4,804 KiB. Paired latency shows same-session flood p99 440.70 ms at 7db and 435.29 ms at 9c, both above the existing budgets. No source or threshold changed. Final scripts/verify fast at this head is pending while six other Cargo jobs load the build host (11.08/16.86/20.64).

Evidence commit created: `9c8c54c7c0dfc5403900b4a72fb18a2981cb1e77` (`evidence/idle-rss/README.md`, `native-latency-paired.log`). It records three RSS samples per release endpoint, loads, hashes, smaps and thread data; max RSS 4,804 KiB. Paired latency shows same-session flood p99 440.70 ms at 7db and 435.29 ms at 9c, both above the existing budgets. No source or threshold changed. Final `scripts/verify fast` at this head is pending while six other Cargo jobs load the build host (11.08/16.86/20.64).
Author
Owner

The evidence commit was amended for wording accuracy (the #174 runtime endpoint is covered by unchanged production sources at 7db, not claimed as a byte-identical build). Current head is 2c5f0849b002eb42572209ec8f250eb3a0a34036; content and measured results are unchanged. Final branch-head scripts/verify fast remains pending while six Cargo jobs run on the shared build host.

The evidence commit was amended for wording accuracy (the #174 runtime endpoint is covered by unchanged production sources at 7db, not claimed as a byte-identical build). Current head is `2c5f0849b002eb42572209ec8f250eb3a0a34036`; content and measured results are unchanged. Final branch-head `scripts/verify fast` remains pending while six Cargo jobs run on the shared build host.
Author
Owner

Final branch-head gate remains pending: the shared build host now has 11 Cargo processes and loadavg 31.55/22.45/21.17. I have not started another Rust lane. The evidence commit is 2c5f0849b002eb42572209ec8f250eb3a0a34036; the remaining steps are scripts/verify fast at this head and push.

Final branch-head gate remains pending: the shared build host now has 11 Cargo processes and loadavg 31.55/22.45/21.17. I have not started another Rust lane. The evidence commit is `2c5f0849b002eb42572209ec8f250eb3a0a34036`; the remaining steps are `scripts/verify fast` at this head and push.
Author
Owner

The release RSS and latency cohorts, reviewer checklist and evidence commit are complete. Final scripts/verify fast and push remain pending: the shared build host currently has 17 Cargo processes and loadavg 38.55/38.75/30.98. I have not added another Rust lane; I will run the gate at head 2c5f0849b002eb42572209ec8f250eb3a0a34036 once capacity clears, then push.

The release RSS and latency cohorts, reviewer checklist and evidence commit are complete. Final `scripts/verify fast` and push remain pending: the shared build host currently has 17 Cargo processes and loadavg 38.55/38.75/30.98. I have not added another Rust lane; I will run the gate at head `2c5f0849b002eb42572209ec8f250eb3a0a34036` once capacity clears, then push.
Author
Owner

Capacity update: the branch-head gate is still not started. The shared build host now has 20 Cargo processes and loadavg 49.01/48.05/38.52. I am holding within the three-lane rule and will run scripts/verify fast at head 2c5f0849b002eb42572209ec8f250eb3a0a34036 once shared load clears.

Capacity update: the branch-head gate is still not started. The shared build host now has 20 Cargo processes and loadavg 49.01/48.05/38.52. I am holding within the three-lane rule and will run `scripts/verify fast` at head `2c5f0849b002eb42572209ec8f250eb3a0a34036` once shared load clears.
Author
Owner

Finished at HEAD 2c5f0849b0 on branch idle-rss. The evidence-only commit records the attribution and perf measurements; source and the 15,360 KiB budget/check are unchanged. The release cohort max was 4,804 KiB, 10,556 KiB under budget. Paired same-session native latency remains over its existing budget at both measured endpoints; current post-prod4 p99 was 435.29 ms (108.42 ms growth), improving 5.41 ms / 6.68 ms from post-RP3.

Final scripts/verify fast at this head exited 1 on the existing static binary size ceiling. Exact final output:

Finished `release` profile [optimized] target(s) in 6m 51s
/home/kayg/.cache/codex-scratch/idle-rss/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: 21857264 bytes (baseline 16142672 + allowance 262144 = max 16404816)
binary exceeds the 16404816-byte size budget: 21857264 bytes

+---------------------------+--------------+
| Rust gate                 | Result       |
+---------------------------+--------------+
| fmt                       | PASS         |
| VT native fmt             | PASS         |
| CLI plugin compile-out    | PASS         |
| clippy                    | PASS         |
| test                      | PASS         |
| cargo-deny                | PASS         |
| static builds             | FAIL (1)     |
+---------------------------+--------------+

No gate or budget was weakened. The known size ceiling is separately reserved in #157. No push was performed because the job scope says not to push outside this worktree.

Finished at HEAD 2c5f0849b002eb42572209ec8f250eb3a0a34036 on branch idle-rss. The evidence-only commit records the attribution and perf measurements; source and the 15,360 KiB budget/check are unchanged. The release cohort max was 4,804 KiB, 10,556 KiB under budget. Paired same-session native latency remains over its existing budget at both measured endpoints; current post-prod4 p99 was 435.29 ms (108.42 ms growth), improving 5.41 ms / 6.68 ms from post-RP3. Final `scripts/verify fast` at this head exited 1 on the existing static binary size ceiling. Exact final output: Finished `release` profile [optimized] target(s) in 6m 51s /home/kayg/.cache/codex-scratch/idle-rss/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: 21857264 bytes (baseline 16142672 + allowance 262144 = max 16404816) binary exceeds the 16404816-byte size budget: 21857264 bytes +---------------------------+--------------+ | Rust gate | Result | +---------------------------+--------------+ | fmt | PASS | | VT native fmt | PASS | | CLI plugin compile-out | PASS | | clippy | PASS | | test | PASS | | cargo-deny | PASS | | static builds | FAIL (1) | +---------------------------+--------------+ No gate or budget was weakened. The known size ceiling is separately reserved in #157. No push was performed because the job scope says not to push outside this worktree.
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#187
No description provided.