perf(ci): recalibrate compact shard hints to 5-run measured means#109717
Conversation
Recalibrate COMPACT_GROUP_SECONDS_HINTS and the cli-runner stripe file hints against mean [shard:*] begin->end wall clock from five green Blacksmith compact PR runs (29557851276, 29558164241, 29558528472, 29558634980, 29558677406). Measured before (job wall, 5-run mean): 26 jobs; tail compact-large-6 = 317s (cli-runner stripe with the whale file) vs siblings 139-290s; compact-small-10 = 277s. Key drifts: cli-runner.reliability.test.ts measures 245s solo (import-dominated; stripe hint said 7s, so LPT packed it with extra groups), auto-reply commands stripes 26/9/12s vs 92s hints, core-unit-fast 142s vs 190s, tui-pty 103s vs 200s. Computed after (planner output, measured-mean walls): 23 jobs (-4 fixed ~60s setups); reliability stripe isolated as its own 305s bin (floor set by that single file's 245s module import), every sibling bin <= 280s; large-runner class max/mean = 1.145. Pinned-worker and exclusive-bin invariants unchanged.
|
Codex review: needs maintainer review before merge. Reviewed July 17, 2026, 2:29 AM ET / 06:29 UTC. Summary PR surface: Other +10. Total +10 across 1 file. Reproducibility: not applicable. as a product bug; the CI imbalance is instead supported by five measured workflow runs and reproduced planner output. Review metrics: 3 noteworthy metrics.
Stored data model Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Next step before merge
Security Review detailsBest possible solution: Keep the existing planner algorithm and land the measured hint recalibration once the exact-head CI run confirms the expected balanced matrix without shard failures. Do we have a high-confidence way to reproduce the issue? Not applicable as a product bug; the CI imbalance is instead supported by five measured workflow runs and reproduced planner output. Is this the best way to solve the issue? Yes; updating the existing advisory cost model from repeated measurements is the narrowest maintainable fix because the planner algorithm and correctness invariants remain unchanged. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 3795290584f1. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Other +10. Total +10 across 1 file. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
…openclaw#109717) Recalibrate COMPACT_GROUP_SECONDS_HINTS and the cli-runner stripe file hints against mean [shard:*] begin->end wall clock from five green Blacksmith compact PR runs (29557851276, 29558164241, 29558528472, 29558634980, 29558677406). Measured before (job wall, 5-run mean): 26 jobs; tail compact-large-6 = 317s (cli-runner stripe with the whale file) vs siblings 139-290s; compact-small-10 = 277s. Key drifts: cli-runner.reliability.test.ts measures 245s solo (import-dominated; stripe hint said 7s, so LPT packed it with extra groups), auto-reply commands stripes 26/9/12s vs 92s hints, core-unit-fast 142s vs 190s, tui-pty 103s vs 200s. Computed after (planner output, measured-mean walls): 23 jobs (-4 fixed ~60s setups); reliability stripe isolated as its own 305s bin (floor set by that single file's 245s module import), every sibling bin <= 280s; large-runner class max/mean = 1.145. Pinned-worker and exclusive-bin invariants unchanged.
What Problem This Solves
Compact node-test shard bins drifted from their duration hints: checks-node-compact-large-6 measured 317s mean (365s worst) while siblings ran 139–290s — a ~1.3min p90 tail on every test-running PR. Root cause:
src/agents/cli-runner.reliability.test.tscosts 245s solo (import 274s, tests 1.6s) but its stripe-file hint said 7s, so the packer kept adding hitchhikers to its bin, and several other group hints were 2–8x off current reality.Why This Change Was Made
Recalibrated every
COMPACT_GROUP_SECONDS_HINTSand the relevantSTRIPE_FILE_SECONDS_HINTSentry to 5-run means parsed from[shard:<group>] begin/endtimestamps across five green runs (29557851276, 29558164241, 29558528472, 29558634980, 29558677406); added four missing group entries where the per-file default was materially wrong. LPT now isolates the 245s whale into its own stripe. No planner logic, shard-count constants, pinned-group regexes, or exclusive-bin invariants changed — hints and provenance comments only.User Impact
None at runtime — CI-only. Test-running PRs: 26 → 23 shard jobs (−4 × ~60s fixed setup), max bin 317s → 305s (now exactly the one unsplittable file), sibling bins ≤280s with large-class max/mean 1.145.
Evidence
node scripts/run-vitest.mjs test/scripts/ci-node-test-plan.test.ts test/scripts/ci-run-node-test-shard.test.ts test/scripts/ci-changed-node-test-plan.test.ts test/scripts/ci-workflow-guards.test.ts— 124 passed, 1 skipped.git diff --checkclean; autoreview (codex/gpt-5.6-sol) first-pass clean, 0 findings.