perf(ci): recalibrate compact shard hints from 7-run loaded-fleet means#110172
Conversation
|
Codex review: needs real behavior proof before merge. Reviewed July 17, 2026, 7:23 PM ET / 23:23 UTC. Summary PR surface: Other +3. Total +3 across 1 file. Reproducibility: not applicable. the PR tunes CI shard planning rather than reporting a user-reproducible product defect. The relevant validation is completed exact-head planner and shard timing evidence. Review metrics: none identified. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Proof guidance:
Risk before merge
Maintainer options:
Next step before merge
Maintainer decision needed
Security Review detailsBest possible solution: Retain the hints-only approach if completed exact-head compact shard output confirms the predicted job count and materially flatter wall-time envelope, then land it through normal maintainer review. Do we have a high-confidence way to reproduce the issue? Not applicable: the PR tunes CI shard planning rather than reporting a user-reproducible product defect. The relevant validation is completed exact-head planner and shard timing evidence. Is this the best way to solve the issue? Unclear: recalibrating the existing planner is the narrowest implementation path, but the available context does not yet expose completed exact-head timing output needed to confirm that these particular values are the best calibration. AGENTS.md: unclear because the file could not be read completely. Codex review notes: model internal, reasoning high; reviewed against a4287653375b. Label changesLabel justifications:
Evidence reviewedPR surface: Other +3. Total +3 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
Review history (1 earlier review cycle)
|
…walls Second calibration pass after the cli-runner reliability whale fix (#109772) and the stripe-wall correction (#109899): the compact group hints drifted below loaded-fleet reality, so FFD packed the heaviest groups into ~300s bins (checks-node-compact-large-2 at 242-314s shard wall, up to 389s job wall) while tail bins idled. Method: parsed [shard:*] begin/end timestamps from all 147 compact job logs across seven green CI runs whose head SHAs carry the whale-fix hints (runs 29605136624, 29605203485, 29605983019, 29606701461, 29611308972, 29611457693, 29611500865; 7 samples per group). Each hint is the per-group mean after dropping cache-warm/contention outliers outside [median/1.5, median*1.5]. Packing cap: with honest loaded walls a 220s cap no longer fits either pool (adds one job to each); 235s keeps the same job count (6 large + 15 small + dist) and flattens the ceiling. Median job setup overhead measured 60s (p90 87s), so a 235s bin stays near the 5-minute PR budget. Predicted bin shard walls (sum of measured group means): before: large 220/301/200/219/257/112, small heavies 251/235/218/217/215, max 301 after: large 235/232/229/228/228/156, small heavies 236/234/234/234/233, max 236 large-pool max/mean 1.38 -> 1.08 Biggest hint deltas (old -> new): startup-core 98->156, core-tooling-4 71->125, core-unit-fast-isolated 50->90, core-tooling-3 82->108, runtime-server 14->29, storage-state 55->70, media-ui 113->124, tui-pty 103->116, runner-cli-1 18->8, unit-src-security 108->95. Exclusive bins keep their 150s cap and 5-bin count: tui-pty (116) no longer shares a bin with tooling-isolated (166s combined measured); FFD now pairs tooling-2 with tooling-isolated at 144s. STRIPE_FILE_SECONDS_HINTS left unchanged: measured stripe walls sit in exclusive bins far below the packing ceiling (tooling stripes 94-125s), and refitting per-file hints would reshuffle stripe membership and invalidate the measured group means above.
32102db to
c754cf4
Compare
…walls (openclaw#110172) Second calibration pass after the cli-runner reliability whale fix (openclaw#109772) and the stripe-wall correction (openclaw#109899): the compact group hints drifted below loaded-fleet reality, so FFD packed the heaviest groups into ~300s bins (checks-node-compact-large-2 at 242-314s shard wall, up to 389s job wall) while tail bins idled. Method: parsed [shard:*] begin/end timestamps from all 147 compact job logs across seven green CI runs whose head SHAs carry the whale-fix hints (runs 29605136624, 29605203485, 29605983019, 29606701461, 29611308972, 29611457693, 29611500865; 7 samples per group). Each hint is the per-group mean after dropping cache-warm/contention outliers outside [median/1.5, median*1.5]. Packing cap: with honest loaded walls a 220s cap no longer fits either pool (adds one job to each); 235s keeps the same job count (6 large + 15 small + dist) and flattens the ceiling. Median job setup overhead measured 60s (p90 87s), so a 235s bin stays near the 5-minute PR budget. Predicted bin shard walls (sum of measured group means): before: large 220/301/200/219/257/112, small heavies 251/235/218/217/215, max 301 after: large 235/232/229/228/228/156, small heavies 236/234/234/234/233, max 236 large-pool max/mean 1.38 -> 1.08 Biggest hint deltas (old -> new): startup-core 98->156, core-tooling-4 71->125, core-unit-fast-isolated 50->90, core-tooling-3 82->108, runtime-server 14->29, storage-state 55->70, media-ui 113->124, tui-pty 103->116, runner-cli-1 18->8, unit-src-security 108->95. Exclusive bins keep their 150s cap and 5-bin count: tui-pty (116) no longer shares a bin with tooling-isolated (166s combined measured); FFD now pairs tooling-2 with tooling-isolated at 144s. STRIPE_FILE_SECONDS_HINTS left unchanged: measured stripe walls sit in exclusive bins far below the packing ceiling (tooling stripes 94-125s), and refitting per-file hints would reshuffle stripe membership and invalidate the measured group means above.
What Problem This Solves
After the whale-import fix (#109772) and the first calibration pass, compact shard bins drifted again: measured large-bin walls reached 389s with a predicted max/mean of 1.38 — the shard envelope is the run-level floor for every test-touching PR.
Why This Change Was Made
Second calibration pass from a 7-run dataset (147 compact job logs across green runs whose heads include the whale-fix hints; one stale-base run discarded; outliers outside [median/1.5, median×1.5] dropped): all 82 hinted groups re-measured to loaded-fleet means. Predicted bin walls go from 220/301/200/219/257/112 (max 301, max/mean 1.38) to 235/232/229/228/228/156 (max 235, max/mean 1.08) at the same 22-job count — a ~22% ceiling cut.
COMPACT_NODE_TEST_JOB_SECONDS220→235: with honest loaded-fleet hints, 220 adds one job per pool for zero ceiling win (sweep-verified at 220/225/230/235/240); measured setup overhead is 60s median, so 235s bins land near the 5-minute PR budget. Exclusive cap, stripe counts, pinned-group regex, and group-count cap untouched;STRIPE_FILE_SECONDS_HINTSdeliberately unchanged (stripe walls sit in exclusive bins far below the ceiling; rationale in the commit body). Hints-only diff — no packer logic changes.User Impact
None at runtime — CI-only. Test-touching PRs: shard ceiling
301→236s predicted, tightening the run-level floor by ~1min.Evidence
git diff --checkclean; autoreview (codex gpt-5.6-sol) first-pass clean: "patch is correct (0.91)", zero findings.