Skip to content

AGENTS.md: carve out autonomous-runner exception to the no-push rule#1598

Open
ChenhanYu wants to merge 1 commit into
mainfrom
chenhany/autonomous-runner-carve-out
Open

AGENTS.md: carve out autonomous-runner exception to the no-push rule#1598
ChenhanYu wants to merge 1 commit into
mainfrom
chenhany/autonomous-runner-carve-out

Conversation

@ChenhanYu
Copy link
Copy Markdown
Collaborator

@ChenhanYu ChenhanYu commented Jun 2, 2026

Surfaced on OMNIML-4886 — the pensieve-intern AgentLoop cell agent reads AGENTS.md, sees the no-push rule, and refuses to commit/push/PR/submit slurm even though the SPEC explicitly instructs it to do all four.

Adds an env-var-gated carve-out: $PENSIEVE_INTERN_RUNNER_PROMPT_PATH or $INTERN_TICKET being set means "you are the autonomous runner; the SPEC IS the human approval." Interactive sessions (neither env set) are unaffected.

CLAUDE.md is symlinked to AGENTS.md — single-file edit covers both.

Full rationale in the commit message.

Maintainers: this is unblocking the inaugural specdec_bench workflow (https://jirasw.nvidia.com/browse/OMNIML-4885).

Summary by CodeRabbit

  • Documentation
    • Updated workflow documentation to clarify autonomous runner behavior. Agents can proceed with automatic git operations and submissions without approval when specific environment conditions are set.

The "Never `git push` without explicit approval" rule was written for
interactive Claude Code / codex sessions where a human is in the loop.
It's been blocking pensieve-intern's autonomous AgentLoop runs:
the runner SPEC instructs the cell agent to commit, push, open a draft
PR, and submit a slurm job — but the agent reads AGENTS.md, sees the
no-push rule, and refuses to take any of those terminal actions.

Surfaced on OMNIML-4886 retries under pensieve-intern v0.55.0+:
   "Slurm job status: NONE — runner instructions say 'Do NOT commit,
   push, or create PRs — the runner handles that,' and no slurm
   submission was invoked in this run."

The agent is correctly conservative; the rule didn't anticipate
autonomous use. This change adds an env-var-gated exception:
`$PENSIEVE_INTERN_RUNNER_PROMPT_PATH` or `$INTERN_TICKET` being set
means "you are the autonomous runner; the SPEC IS the human approval."
Interactive sessions are unaffected (neither env var is set there).

Pairs with pensieve-intern's engine-level guidance — the engine
preamble (v0.55.0+) tells autonomous agents to report what they did
+ what slurm submission state they reached, which surfaced this
conflict in the first place by making "slurm: NONE — <reason>"
explicit instead of silently skipped.

CLAUDE.md is symlinked to AGENTS.md so this single edit covers both.

Signed-off-by: chenhany <chenhany@nvidia.com>
@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot Bot commented Jun 2, 2026

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jun 2, 2026

Review Change Stack

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: fad74f53-d895-412e-bebc-38a80ba65e75

📥 Commits

Reviewing files that changed from the base of the PR and between 905259f and 8e46735.

📒 Files selected for processing (1)
  • AGENTS.md

📝 Walkthrough

Walkthrough

Updated AGENTS.md iterative development instructions to add an "Exception — autonomous runners" section specifying that when PENSIEVE_INTERN_RUNNER_PROMPT_PATH or INTERN_TICKET environment variables are set, agents may execute git push, draft-PR creation, and cluster-job submission without human approval, following the SPEC end-to-end and using worklog conventions for result stamping.

Changes

Autonomous Runner Exception Documentation

Layer / File(s) Summary
Autonomous runner exception clause and guidance
AGENTS.md
Added "Exception — autonomous runners" section to iterative development workflow instructions, specifying environment variable conditions (PENSIEVE_INTERN_RUNNER_PROMPT_PATH, INTERN_TICKET), overriding the normal "wait for human approval" rule, documenting expected actions (git commit, git push, draft-PR creation, cluster-job submission), and clarifying that the SPEC governs intermediate steps in autonomous mode.

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 6
✅ Passed checks (6 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: adding an exception to the no-push rule for autonomous runners in AGENTS.md.
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.
Security Anti-Patterns ✅ Passed The PR only modifies AGENTS.md and CLAUDE.md (Markdown documentation files). There are no Python code changes in the modelopt package or examples, so the security check does not apply.

✏️ 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 chenhany/autonomous-runner-carve-out

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

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.

1 participant