Reported automatically by a code-commandments agent.
|
|
| Prophet |
profile-keep-going |
| Location |
(no file given) |
What's wrong
The Stop hooks contradict the GRIND profile. Under grind the contract is: do NOT run judge/tests between phases; commit each phase; reckon (judge+tests) ONCE before push; the ONLY gate is pre-push. But on every Stop: (1) .claude/hooks/keep-going.sh instructs 'After each phase run the commandments gate (vendor/bin/commandments judge --git), resolve every finding, and commit' — a per-phase gate grind forbids; (2) .claude/hooks/profile-keep-going.sh says 'Findings remain in scope for the grind profile ... resolve every finding ... This hook releases automatically once judge is righteous' — it BLOCKS the Stop from releasing until judge is righteous, forcing mid-grind judge runs + finding resolution to end the turn. So grind says 'never run judge between phases' while the hooks say 'run judge and resolve everything or you can't stop.' Following the hooks to make them release is what dragged me into judge->repent mid-grind (and a bare 'repent' then ran repo-wide, rewriting 67 files incl. commandments.php/composer.json — see #196). FIX: make both Stop hooks grind-aware. Under grind, profile-keep-going.sh must NOT gate its release on judge-righteous and keep-going.sh must NOT instruct a per-phase 'judge --git'; the keep-going message should be 'plan unfinished — keep implementing and commit each phase; defer judge+tests to the single reckon before push.' grind is being treated like phased/sins-only (per-stop finding resolution) when it explicitly defers all finding resolution to the pre-push gate.
For the fixer
Decide whether this is a false positive (tighten/guard the prophet), a wrong rule (adjust the rule or its config), or correct-but-unclear (improve the message/scripture). Add a fixture from the flagged code above.
Reported automatically by a code-commandments agent.
profile-keep-going(no file given)What's wrong
The Stop hooks contradict the GRIND profile. Under grind the contract is: do NOT run judge/tests between phases; commit each phase; reckon (judge+tests) ONCE before push; the ONLY gate is pre-push. But on every Stop: (1) .claude/hooks/keep-going.sh instructs 'After each phase run the commandments gate (vendor/bin/commandments judge --git), resolve every finding, and commit' — a per-phase gate grind forbids; (2) .claude/hooks/profile-keep-going.sh says 'Findings remain in scope for the grind profile ... resolve every finding ... This hook releases automatically once judge is righteous' — it BLOCKS the Stop from releasing until judge is righteous, forcing mid-grind judge runs + finding resolution to end the turn. So grind says 'never run judge between phases' while the hooks say 'run judge and resolve everything or you can't stop.' Following the hooks to make them release is what dragged me into judge->repent mid-grind (and a bare 'repent' then ran repo-wide, rewriting 67 files incl. commandments.php/composer.json — see #196). FIX: make both Stop hooks grind-aware. Under grind, profile-keep-going.sh must NOT gate its release on judge-righteous and keep-going.sh must NOT instruct a per-phase 'judge --git'; the keep-going message should be 'plan unfinished — keep implementing and commit each phase; defer judge+tests to the single reckon before push.' grind is being treated like phased/sins-only (per-stop finding resolution) when it explicitly defers all finding resolution to the pre-push gate.
For the fixer
Decide whether this is a false positive (tighten/guard the prophet), a wrong rule (adjust the rule or its config), or correct-but-unclear (improve the message/scripture). Add a fixture from the flagged code above.