Repository navigation
feat(stdlib): bootstrap_rung attr class - #1752
Conversation
Marks a package as a pinned rung of a bootstrap ladder (value = ladder name). pkgmgr freezes marked rungs: no version-bump proposals, no auto-fix. Attrs are not in the spec hash, so marking existing rungs rebuilds nothing. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Essentials Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (2)
Included review availability: This review used your included allowance. 1 included review remains after this review. Your included PR review attempts over the past 7 days set your current allowance at 2 reviews per hour. 📝 WalkthroughWalkthroughThe stdlib adds the ChangesStdlib bootstrap metadata
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~8 minutes Change: Feature Suggested reviewers: Merge Risk: ⚪ Minimal · up to The metadata and version update are consistent, and no current in-repository consumer depends on bootstrap_rung behavior. No actionable merge risk remains in this change. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
A rabbit checks the rung in place Comment |
|
Approved: no findings at Nothing to do. Clobber: none: |
Adds a
bootstrap_rungattr class (a String naming the ladder:"hex0","ghc","jvm", …) so a bootstrap-ladder rung can declare itself in its own build.ncl:Why: a rung's version is its identity: it's fixed by what the previous rung can compile and by the byte-identity seals. pkgmgr must never propose bumping one. Today that's a hand-kept list in pkgmgr-rs (
data/frozen_packages.toml), and forgetting an entry is how pkgs#769 happened (a bot PR bumpingglibc-bedrock-2.42). With the attr, a new ladder is frozen by the PR that creates it. The pkgmgr reader is gominimal/pkgmgr-rsfeat/bootstrap-rung-marker(it unions markers with the TOML, which stays as a backstop).Hash impact: none.
spec_hasher.rsexcludes build attributes from the spec hash ("those are not part of the hash"), so adding the attr to existing rungs rebuilds nothing.Checked with
nickel exportagainst this tree:{ bootstrap_rung = "ghc", repology_project = "ghc" } | Attrspasses;3 | bootstrap_rung.validateand an unknown key (bootstrap_rungz) are rejected.Rollout order (the
Attrscontract is closed, so this is load-bearing): (1) this merges and the stdlib ships; (2) the evaluators that read pkgs pick it up: the pkgmgr runner's pinnedmip, pkgs CI (its minimal pointer has been stale before) and buildbot; (3) only then do pkgs rungs add the attr. A rung that carries it earlier makesminimal dumpfail for the whole tree.Same shape as #861 (attr + stdlib patch bump 0.0.20 → 0.0.21).
🤖 Generated with Claude Code
Summary by CodeRabbit