Skip to content

fix: apply the no-code-before-plan-approval rule to Standard work - #3

Merged
sofus-common merged 2 commits into
mainfrom
fix/standard-plan-gate
Oct 2, 2026
Merged

sofus-common merged 2 commits into
mainfrom
fix/standard-plan-gate

Conversation

@sofus-common

Copy link
Copy Markdown
Contributor

Problem

In the full Codex behavior suite on `main` (`2807a67`), the `feature` case (Standard lane) wrote and verified `labels.py` in its first turn, before the human replied approving the plan. `state.md` recorded the plan approval as "arrived after completion". On Claude Code the case still stops for approval, and the Claude guard hook blocks it.

Change

The router's hard stop ("no code until `state.md` records a `plan` approval") named only Controlled work, which may have read as optional for Standard. It now covers Standard and Controlled work, and says that a request that already authorizes implementation, a small or fully specified task, or a general instruction to avoid extra files does not waive it. Changelog entry under 0.5.0.

Verification

  • `check_version.py`, `test_behavior_check.py`, `test_edit_guard.py` pass.
  • Pending before release: Codex `feature` x3 and `payment-build` x1 re-run once the account usage limit resets (3:19 PM). Results will be posted here.

🤖 Generated with Claude Code

sofus-common and others added 2 commits October 2, 2026 10:53
On Codex, the feature case (Standard lane) wrote and verified code before
the human approved the plan; state.md recorded the approval as arriving
after completion. The router's hard stop named only Controlled work. It
now covers Standard and Controlled work, and says a request that already
authorizes implementation does not waive it.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
One payment (plan-only, Controlled) run wrote intent and specification
and stopped without a plan.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@sofus-common

Copy link
Copy Markdown
Contributor Author

Re-run results on this branch (830e809)

Claude Code (claude-sonnet-5): feature stops for plan approval and writes no code first; typo stays Fast; payment-build passes in full (separate test author, two reviewers per checkpoint, all four approvals with clock times, verified); payment drafts intent, spec, plan, and state with no code change in 3 of 3 runs (it stopped after the specification in the one run before the shape hand-off fix).

Codex (gpt-6-astra, isolated profile):

  • feature: 3 of 3 stop for plan approval and write no code before the approval reply (the failure that prompted this PR); each ends verified after the reply.
  • payment: passes (intent, spec, plan, state; no code change).
  • payment-build: both checkpoints were built and all four approvals recorded with clock times, then the account usage limit ended the final review. Not completed; it passed in full on 2026-09-29 at the previous heads. A single re-run is queued for after the limit resets (8:25 PM).

@sofus-common
sofus-common merged commit 2234dbf into main Oct 2, 2026
2 checks passed
@sofus-common
sofus-common deleted the fix/standard-plan-gate branch October 2, 2026 13:42
@sofus-common sofus-common mentioned this pull request Oct 3, 2026
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