35adf66757
context/code/formula-and-io.md records why the category merge happens in pass 1 rather than pass 2, and why the WHERE boundary is sp+ rather than a lookahead -- the grammar-walking generator cannot honour a predicate, which is the part that generalises. context/test-evidence records the fault injected for each test, including the one that made the WHERE test carry two negative shapes: compound-atomicity alone already refuses the ticket's own reproducer, so a test built only on it passes over a rule still spelled sp*. improvise-349m improvise-r08u Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FC2jVn8Au7E9JPkw6bwXXH