Repository navigation
ci: drop the unhonoured pre-prune waiver (CACHE-034) - #1820
Merged
Merged
Conversation
[flow.main] declared `pre-prune = true` with zero `ci-lint cache preprune` calls anywhere in the repository, so CACHE-004's lockfile-change peak was waived on a declaration nothing honoured (forge-ci/ci.yml#352). Remove the declaration and rewrite the two comments that described the waiver as active, so they record why it is deliberately absent, what restoring it would cost (a real `ci-lint cache preprune` step holding `actions: write`, ordered ahead of the cache saves within the same run), and that the cardinality decision belongs to #1800 (guidance forge-ci/ci.yml#354, tracked in forge-ci/ci.yml#360). Precheck before/after (--local, from the repo root): CACHE-034 1 -> 0 (cleared); CACHE-004 0 -> 1 VIOLATION with worst case 9,599,713,280 B -> 18,932,039,680 B against the 10,200,547,328 B (9.5GB) budget. Every other rule count unchanged (1562 -> 1563 violations, 26 -> 25 needs_review).
7 of 10 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Removes
pre-prune = truefrom[flow.main]— clud's only cache-writer flow — inci.toml, and rewrites the two comments that described the waiver as active (the one above[flow.minimal], the one above[flow.main]) so they record why it is deliberately absent.No budget, cardinality, family,
max,per, orevictnumbers were touched, and no workflow was added.Why
zackees/ci.yml#352 added CACHE-034: a
ci.tomlflow declaringpre-prune = truewaives CACHE-004's lockfile-change peak, and that waiver must correspond to a realci-lint cache preprunecall somewhere in the repository. clud declared it atci.tomlL128 with zero calls in any workflow, composite action, orci/*.pyscript — so the waiver was unhonoured and the modelled footprint was understated by the entire peak term.zackees/ci.yml#354 established the two honest fixes:
ci-lint cache prepruneon a job holdingactions: write, ordered ahead of the cache saves within the same run (same job, or an earlierneeds:link; GitHub Actions has no cross-workflow barrier), orThis PR takes (2), the remediation tracked as clud's checklist item in zackees/ci.yml#360.
Fleet precedent: zackees/bosn#533 and zackees/reld#219, both titled
ci: drop the unhonoured pre-prune waiver (CACHE-034).CACHE-004 modelled worst case: before vs after
uvx --from git+https://github.com/zackees/ci.yml@main ci-lint precheck --local, run from the repository root before and after the edit:[cache].budget)worst = steady + [cache.pr].budget— every writer flow pre-prunes: lockfile peak waivedworst = steady + lockfile-change peak + [cache.pr].budget— not every writer flow pre-prunescompile8,808,038,400 +deps262,144,000 +cargoregistry262,144,000)[cache.pr].budget= 0 BDropping the waiver does not make clud fit — it makes the number honest. The cardinality/
maxdecision that closes that gap is zackees/clud#1800 and is deliberately out of scope here. #354's severity note calls out exactly this situation for soldr and running-process, whose waivers were also hiding an already-failing steady state, and names clud#1800 as the shared wall.Verification
Read this before approving: the diff is not zero-new-findings.
diffof the per-rule histograms is exactly one-for-one:So every other rule's count is unchanged — no pre-existing finding increased, disappeared, or was reclassified — but CACHE-034's NEEDS REVIEW is replaced by a new CACHE-004 VIOLATION. That is the expected and intended consequence of the honest fix: #354 states outright that removing the declaration "makes the modelled footprint larger, because the waived peak term comes back", and #360 carries the same note for soldr and running-process ("this PR clears CACHE-034 but a cardinality/
maxdecision is still owed"). The finding is real, it is clud's to close through #1800, and it is not papered over by keeping a declaration nothing honours.Repo-wide
grep -E "pre-prune|preprune|pre_prune|CACHE-034|CACHE-004"returns hits only inci.toml's own comments (the text this PR writes). No other file carries an active waiver.Local gate
Not run — no
Local-Gate:trailer. clud'slocal-gate.tomlsets[gate] mode = "shadow": "Opt-in: an unattested PR head is reported, never failed. It simply runs every lane remotely, as before." The gate is a fullbosn ci→ act2 replay of the PR plan (static, dylint, clippy, build, unit) — a heavy, host-dependent run for a change that only editsci.tomlcomments and removes one cache-policy flag, none of which those lanes exercise. The trailer is not faked; this PR runs the routine remote lanes as normal.