Summary
stagePlotForCommit() and stageSeedsForCommit() stage .plot/ / .seeds/ and then run a plain git commit --no-verify. If an agent run leaves unrelated files staged before reap, Warren commits those files under chore(warren): plot state or chore(warren): seeds state.
Why this matters
The bookkeeping commit title implies a narrow carrier, but plain git commit consumes the entire index. In a repo with protected-path hooks, this can also bypass local commit hooks because the Warren-authored commit uses --no-verify.
Observed downstream in kessellab/kessel: a blocked build-component run left implementation and budget files staged after the agent commit was rejected by protected-path policy; reap then committed them under chore(warren): seeds state.
Expected behavior
Warren bookkeeping commits should be path-limited:
- plot commit should commit only
.plot/
- seeds commit should commit only
.seeds/issues.jsonl and .seeds/plans.jsonl
- unrelated staged files should remain staged/uncommitted so dropped-commit detection or operator repair can handle them
Candidate fix
Use git commit --only -- <bookkeeping pathspecs> in the two reap helpers and add regression tests that assert unrelated staged files cannot be swept into the bookkeeping commit.
A downstream fork patch has been prepared in EugeneTrapeznikov/warren: EugeneTrapeznikov#2
Summary
stagePlotForCommit()andstageSeedsForCommit()stage.plot//.seeds/and then run a plaingit commit --no-verify. If an agent run leaves unrelated files staged before reap, Warren commits those files underchore(warren): plot stateorchore(warren): seeds state.Why this matters
The bookkeeping commit title implies a narrow carrier, but plain
git commitconsumes the entire index. In a repo with protected-path hooks, this can also bypass local commit hooks because the Warren-authored commit uses--no-verify.Observed downstream in kessellab/kessel: a blocked build-component run left implementation and budget files staged after the agent commit was rejected by protected-path policy; reap then committed them under
chore(warren): seeds state.Expected behavior
Warren bookkeeping commits should be path-limited:
.plot/.seeds/issues.jsonland.seeds/plans.jsonlCandidate fix
Use
git commit --only -- <bookkeeping pathspecs>in the two reap helpers and add regression tests that assert unrelated staged files cannot be swept into the bookkeeping commit.A downstream fork patch has been prepared in
EugeneTrapeznikov/warren: EugeneTrapeznikov#2