8000 feat(stdlib): bootstrap_rung attr class by bryan-minimal · Pull Request #1752 · gominimal/minimal · GitHub
[go: up one dir, main page]

Skip to content

feat(stdlib): bootstrap_rung attr class - #1752

Merged
norrietaylor merged 1 commit into
mainfrom
feat/bootstrap-rung-attr
Sep 29, 2026
Merged

norrietaylor merged 1 commit into
mainfrom
feat/bootstrap-rung-attr

Conversation

@bryan-minimal
@bryan-minimal bryan-minimal commented Sep 28, 2026 •
Copy link
Copy Markdown
Member

Adds a bootstrap_rung attr class (a String naming the ladder: "hex0", "ghc", "jvm", …) so a bootstrap-ladder rung can declare itself in its own build.ncl:

attrs = { bootstrap_rung = "ghc", … },

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 bumping glibc-bedrock-2.42). With the attr, a new ladder is frozen by the PR that creates it. The pkgmgr reader is gominimal/pkgmgr-rs feat/bootstrap-rung-marker (it unions markers with the TOML, which stays as a backstop).

Hash impact: none. spec_hasher.rs excludes 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 export against this tree: { bootstrap_rung = "ghc", repology_project = "ghc" } | Attrs passes; 3 | bootstrap_rung.validate and an unknown key (bootstrap_rungz) are rejected.

Rollout order (the Attrs contract 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 pinned mip, 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 makes minimal dump fail 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

  • New Features
    • Added a package attribute for identifying a pinned rung in a bootstrap ladder.
  • Updates
    • Updated the standard library package version to 0.0.21.

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>
@bryan-minimal
bryan-minimal requested a review from a team as a code owner September 28, 2026 18:41
@coderabbitai
coderabbitai Bot commented Sep 28, 2026 •
Copy link
Copy Markdown
Contributor

Review in Change Stack →

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 configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Essentials

Run ID: 4bce402a-28a1-461c-ac9e-b3115abac87f

📥 Commits

Reviewing files that changed from the base of the PR and between 7f60810 and a4191bd.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (2)
  • crates/stdlib/Cargo.toml
  • crates/stdlib/minimal-ncl/attr_classes.ncl

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.


📝 Walkthrough

Walkthrough

The stdlib adds the bootstrap_rung attribute class and updates its package version from 0.0.20 to 0.0.21.

Changes

Stdlib bootstrap metadata

Layer / File(s) Summary
Add bootstrap rung metadata and release version
crates/stdlib/minimal-ncl/attr_classes.ncl, crates/stdlib/Cargo.toml
Adds the string-valued bootstrap_rung attribute for pinned bootstrap-ladder packages and updates the stdlib package version to 0.0.21.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~8 minutes

Change: Feature

Suggested reviewers: norrietaylor, twitchyliquid64

Merge Risk: ⚪ Minimal · up to a4191

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)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the primary change: adding the stdlib bootstrap_rung attribute class. It follows the required Conventional Commit format.
Description check ✅ Passed The description explains the change, motivation, rollout order, hash impact, and validation performed. It does not reproduce the template headings or checklist, but it provides the required summary an…
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

A rabbit checks the rung in place
A string marks each pinned package’s space
The top stays clear for install
No bump proposal climbs the hill
The stdlib’s version hops ahead

Comment @coderabbitai help to get the list of available commands.

@minimal-foundry
minimal-foundry Bot commented Sep 28, 2026 •
Copy link
Copy Markdown
Contributor

Approved: no findings at a4191bdfc54f.

Nothing to do.

Clobber: none: git log on attr_classes.ncl shows the only prior attr-class commit is #861 (redistributable), which this change follows byte-for-byte in shape (attr + patch bump).

@minimal-foundry minimal-foundry Bot left a comment
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minimal-review — approved

Verdict APPROVE — No findings.

@minimal-foundry minimal-foundry Bot added the review:approved minimal-review approved the current head label Sep 28, 2026
@norrietaylor
norrietaylor merged commit c4887be into main Sep 29, 2026
33 checks passed
@norrietaylor
norrietaylor deleted the feat/bootstrap-rung-attr branch September 29, 2026 21:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review:approved minimal-review approved the current head

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

0