Repository navigation
gate-supervisor-scope: the supervisor never commits on main during a sprint - #28
Merged
Merged
Conversation
…sprint A `git commit` from the main agent in the main tree, while the sprint lock is live, is blocked; a commit inside a task worktree, the initial commit of an unborn repo, `task-worktree merge` and a stale lock pass. Live e2e run 16 showed the prose rule alone is not enough (a `Track Cargo.lock` commit on main traced to nothing). Test-first: six new cases in scripts/test/supervisor-scope.test.py; CHANGELOG, bin/README, SKILL.md, ROADMAP §0 and TRACKING updated. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014j4wLin3oJTtnvjE9Lq2VV
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pe
2E7A
nding reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Adeel · project thread
Before: "the supervisor never commits on main" was a prose rule in SKILL.md. Live e2e run 16 broke it (a
Track Cargo.lockcommit on main thatevents tracecould not attribute to any task), and nothing deterministic stopped it.After:
gate-supervisor-scopeblocks agit commitfrom the main agent in the main tree while the sprint lock is live, with a message that namestask-worktree mergeas the only way a commit reaches main. A commit inside a task worktree, the initial commit of an unborn repo (the worktree base),task-worktree merge, reads and staging, a worker's commits, and a stale lock all pass.How: the Bash branch of the gate, for payloads with no
agent_type, parses each simple command forgit [-C dir] commit, checks HEAD exists and that the dir's git-dir equals its common-dir (main tree, not a linked worktree), and exits 2. Fail-closed is armed once the lock is live, as for the source-write check.Evidence:
scripts/test/supervisor-scope.test.py15/15 (6 new cases, written first and red before the change);make conformance58/58;fail-closed5/5;codex-hooks15/15;make test-hosts pycheck json eval-validate shellcheckOK;check-tracking40 requirements. CHANGELOG, bin/README, SKILL.md, ROADMAP §0 (M0.8 "Next") and TRACKING updated.Generated by Claude Code