The cardinal-rule Remind hook injected an identical block every 25 tool uses,
and the plan's constraints and testing methodology did the same. A message that
arrives when nothing prompted it is read once and skimmed after — and it takes
the messages that DO name a violation down with it, since they land under the
same PostToolUse event.
So PostToolUse now carries findings and nothing else:
- Remind is deleted outright, with its `commandments remind` subcommand. The
cardinal rule is in AGENTS.md, which every agent reads.
- ConstraintReminder and TestingReminder move to SessionStart on compact/resume
— the one moment their content can actually go missing, and the moment
WorkingState already recalls its record on.
`remind` stays in LEGACY_SUBCOMMANDS precisely because the command is gone: an
old install's wired call is recognised as ours, stripped by sync, and never
re-added, so it stops invoking a subcommand that would now fail.
Each moved hook gains a test that fires 60 tool uses and asserts silence, so the
timer cannot come back by accident.