Skip to content

ci: stop blocking Python code growth - #4408

Merged
ericksoa merged 1 commit into
mainfrom
fix/remove-python-growth-guardrail
May 28, 2026
Merged

ci: stop blocking Python code growth#4408
ericksoa merged 1 commit into
mainfrom
fix/remove-python-growth-guardrail

Conversation

@ericksoa

@ericksoa ericksoa commented May 28, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Remove the repo-wide Python no-growth guardrail from codebase-growth-guardrails
  • Keep the focused src/lib/onboard.ts guardrail unchanged

Why

The Python rule is too broad: there are legitimate cases where adding Python is the right fix. A blanket net-neutral requirement blocks appropriate changes instead of guiding code into better ownership boundaries.

Validation

  • git diff --check

Summary by CodeRabbit

  • Chores
    • Updated internal development build verification to refine code quality enforcement standards for specific codebase areas.

Review Change Stack

@coderabbitai

coderabbitai Bot commented May 28, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 1f3d7f10-948a-492a-8493-f4327cfa1fe8

📥 Commits

Reviewing files that changed from the base of the PR and between 78909ec and adb15a3.

📒 Files selected for processing (1)
  • .github/workflows/codebase-growth-guardrails.yaml
💤 Files with no reviewable changes (1)
  • .github/workflows/codebase-growth-guardrails.yaml

📝 Walkthrough

Walkthrough

The workflow's growth-guardrails job is refocused to enforce a net-neutral/negative line budget specifically for src/lib/onboard.ts. The previous generic Python file check is replaced with targeted file-selection logic, net line aggregation, and updated failure messaging that permits growth under extracted modules while blocking growth in the top-level entrypoint.

Changes

Growth Guardrail Configuration

Layer / File(s) Summary
Net-growth check for onboard.ts
.github/workflows/codebase-growth-guardrails.yaml
The workflow step now targets src/lib/onboard.ts with a net-neutral budget instead of all Python files. File selection filters by exact path and previous_filename, aggregates additions and deletions, and reports net line delta. Failure messaging permits growth under src/lib/onboard/** (extracted modules) while blocking net growth in the top-level entrypoint.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~5 minutes

Possibly related PRs

  • NVIDIA/NemoClaw#4318: Earlier PR that established the net-neutral/negative line budget enforcement for src/lib/onboard.ts; this PR narrows and refines that guardrail by removing the generic Python file checks.

Suggested labels

v0.0.54

Poem

🐰 A rabbit's wisdom on guardrails true:
One file to rule, one budget to pursue,
Onboard.ts stays lean, modules may grow,
The workflow now watches exactly, you know! 🚀

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'ci: stop blocking Python code growth' directly and accurately summarizes the main change: removing the Python code growth guardrail from the CI workflow.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/remove-python-growth-guardrail

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

@github-actions

Copy link
Copy Markdown
Contributor

E2E Advisor Recommendation

Required E2E: None
Optional E2E: None

Workflow run

Full advisor summary

E2E Recommendation Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required E2E

  • None. No E2E is recommended because the PR only changes a CI guardrail workflow that reads PR file metadata. It does not modify runtime code, product behavior, sandbox behavior, security boundaries, network policy, inference, deployment, or real assistant workflows.

Optional E2E

  • None.

New E2E recommendations

  • None.

@github-actions

Copy link
Copy Markdown
Contributor

E2E Scenario Advisor Recommendation

Required scenario E2E: None
Optional scenario E2E: None

Workflow run

Full scenario advisor summary

E2E Scenario Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required scenario E2E

  • None. No scenario workflow, scenario metadata, scenario runtime, or validation-suite files changed.

Optional scenario E2E

  • None.

Relevant changed files

  • None.

@github-actions

Copy link
Copy Markdown
Contributor

PR Review Advisor

Findings: 0 needs attention, 2 worth checking, 0 nice ideas
Top item: Python growth guardrail removed without replacement

Review findings

🛠️ Needs attention

  • None.

🔎 Worth checking

  • Source-of-truth review needed: Python code growth governance: The advisor marked localized patch analysis as needs_followup.
    • Recommendation: Identify the invalid state, source boundary, source-fix constraint, regression test, and removal condition before merging the localized behavior.
    • Evidence: The entire Python guardrail step is removed, while the repository still contains Python files in scripts, docs extensions, agents plugin code, and e2e helper paths.
  • Python growth guardrail removed without replacement (.github/workflows/codebase-growth-guardrails.yaml:73): This PR deletes the entire repo-wide Python no-growth check from the pull_request_target guardrail workflow. That satisfies the stated change, and it does not add PR-code execution or broaden token permissions, but it weakens centralized governance for future Python additions. The repository still contains Python surfaces under scripts, docs extensions, agents, and e2e helpers, and I did not find an equivalent replacement guardrail in the workflow set.
    • Recommendation: Either document that unrestricted Python growth is now intended, or replace the blanket rule with a narrower path/ownership-aware guardrail that permits legitimate Python additions while preserving enforcement for areas that should stay constrained.
    • Evidence: The diff removes the step named `Require Python code to be net-neutral or smaller`, including the `endswith(".py")` file selection and failure path. The remaining workflow only enforces `src/lib/onboard.ts` growth. Searches of `.github/workflows` found no other Python no-growth guardrail.

🌱 Nice ideas

  • None.

Workflow run details

This is an automated advisory review. A human maintainer must make the final merge decision.

@ericksoa
ericksoa merged commit 0c108ae into main May 28, 2026
30 checks passed
@ericksoa
ericksoa deleted the fix/remove-python-growth-guardrail branch May 28, 2026 05:31
@wscurran wscurran added the chore Build, CI, dependency, or tooling maintenance label Jun 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Build, CI, dependency, or tooling maintenance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants