Skip to content

docs: add bootstrapper architecture overview#1250

Open
LalatenduMohanty wants to merge 1 commit into
python-wheel-build:mainfrom
LalatenduMohanty:docs/bootstrapper-architecture
Open

docs: add bootstrapper architecture overview#1250
LalatenduMohanty wants to merge 1 commit into
python-wheel-build:mainfrom
LalatenduMohanty:docs/bootstrapper-architecture

Conversation

@LalatenduMohanty

@LalatenduMohanty LalatenduMohanty commented Jul 11, 2026

Copy link
Copy Markdown
Member

Add architecture overview docs

Also add an AGENTS.md rule to keep the docs in sync when the architecture changes.

Closes: #1247

@LalatenduMohanty LalatenduMohanty requested a review from a team as a code owner July 11, 2026 03:02
@coderabbitai

coderabbitai Bot commented Jul 11, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@LalatenduMohanty, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 58 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 394b3e68-ae85-4451-a393-f1d910da9820

📥 Commits

Reviewing files that changed from the base of the PR and between 47622cc and f2a037c.

📒 Files selected for processing (7)
  • AGENTS.md
  • docs/concepts/architecture-overview.rst
  • docs/concepts/bootstrapper-architecture.rst
  • docs/concepts/hooks-and-overrides.rst
  • docs/concepts/index.rst
  • docs/concepts/package-settings.rst
  • docs/concepts/resolver-architecture.rst
📝 Walkthrough

Walkthrough

Adds architecture documentation for Fromager’s subsystems, bootstrapper phase pipeline, resolver/provider behavior, layered package settings, and hooks or overrides. The concepts index now links the new pages, while AGENTS.md requires architecture documentation to remain synchronized with related code changes.

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

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: adding bootstrapper architecture documentation.
Description check ✅ Passed The description is directly related to the documentation and AGENTS.md sync rule changes.
Linked Issues check ✅ Passed The PR adds the requested bootstrapper architecture doc and covers the phase flow, class hierarchy, work items, and threading model.
Out of Scope Changes check ✅ Passed The added concept docs and index updates are still documentation work aligned with the architecture goal, with no unrelated code changes.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/concepts/bootstrapper-architecture.rst`:
- Around line 1-6: Add a Sphinx `.. versionadded::` directive near the beginning
of the Bootstrapper Architecture document, using the release version that
introduced this new user-facing documentation.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 8cfd8523-ddb0-4830-af89-cd2473a0ddc7

📥 Commits

Reviewing files that changed from the base of the PR and between fdf55b3 and 129b2c1.

📒 Files selected for processing (3)
  • AGENTS.md
  • docs/concepts/bootstrapper-architecture.rst
  • docs/concepts/index.rst

Comment thread docs/concepts/bootstrapper-architecture.rst
@LalatenduMohanty LalatenduMohanty force-pushed the docs/bootstrapper-architecture branch from 129b2c1 to 8fed1d7 Compare July 11, 2026 03:06
@LalatenduMohanty LalatenduMohanty marked this pull request as draft July 11, 2026 03:07
@LalatenduMohanty LalatenduMohanty force-pushed the docs/bootstrapper-architecture branch from 8fed1d7 to 47622cc Compare July 11, 2026 15:18
@LalatenduMohanty LalatenduMohanty marked this pull request as ready for review July 11, 2026 15:20
Also add an AGENTS.md rule to keep the docs in sync
when the architecture changes.

Closes: python-wheel-build#1247
Co-Authored-By: Claude <claude@anthropic.com>
Signed-off-by: Lalatendu Mohanty <lmohanty@redhat.com>
@LalatenduMohanty LalatenduMohanty force-pushed the docs/bootstrapper-architecture branch from 47622cc to f2a037c Compare July 11, 2026 15:21

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/concepts/index.rst`:
- Line 16: Update the Package Settings entry in the documentation to render the
PackageBuildInfo class name with reStructuredText inline code markup using
double backticks, while leaving the surrounding description unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 255e70a9-158c-4ad8-9a07-9a73317de426

📥 Commits

Reviewing files that changed from the base of the PR and between 129b2c1 and 47622cc.

📒 Files selected for processing (7)
  • AGENTS.md
  • docs/concepts/architecture-overview.rst
  • docs/concepts/bootstrapper-architecture.rst
  • docs/concepts/hooks-and-overrides.rst
  • docs/concepts/index.rst
  • docs/concepts/package-settings.rst
  • docs/concepts/resolver-architecture.rst
✅ Files skipped from review due to trivial changes (5)
  • docs/concepts/bootstrapper-architecture.rst
  • docs/concepts/architecture-overview.rst
  • AGENTS.md
  • docs/concepts/package-settings.rst
  • docs/concepts/resolver-architecture.rst

Comment thread docs/concepts/index.rst
* **Bootstrapper Architecture** - Phase pipeline, class hierarchy, and interaction model of the bootstrap engine
* **Resolver Architecture** - Resolution strategies, provider hierarchy, version filtering, and per-package configuration
* **Hooks and Overrides** - The two plugin systems: per-package overrides and global hooks
* **Package Settings** - Settings loading, merge order, and the PackageBuildInfo facade

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Use reStructuredText code markup for PackageBuildInfo.

Render the class name as PackageBuildInfo. As per coding guidelines, docs/**/*.rst requires double backticks around function and class names.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/concepts/index.rst` at line 16, Update the Package Settings entry in the
documentation to render the PackageBuildInfo class name with reStructuredText
inline code markup using double backticks, while leaving the surrounding
description unchanged.

Source: Coding guidelines

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: add architecture overview for bootstrapper subpackage

1 participant