Repository navigation
0.8.1
Three fixes, all found by inspecting what actually ships rather than the
working tree. Each is the same shape: an earlier fix corrected the instance in
front of it and left the class.
Four rule files still shipped author notes
0.7.x removed the ## Notes for the author (not for the agent) section from
00-anti-patterns.md, after an agent read it as "license to go tighter than the
shared default" and halved the radius scale on that authority.
01-modes.md, 03-patterns.md, 04-principles.md and 05-copy.md carried a
section under the same heading and all four shipped in 0.8.0. The commit that
made the original fix claimed it had verified a real npm pack; it had grepped
the one file it edited.
01-modes.md was the one that mattered — it told the reader to "Change them in
tokens/mode.*.css" and closed "it is your call", inviting an agent to edit the
token layer that Jig reserves for a human.
Content moved to docs/house-positions.md unchanged. Only its audience changed.
02-tokens.md contradicted its own Tailwind fix
The compatibility table near the top still read "Tailwind v4 | Wrap in
@theme { }" — the exact instruction the section 352 lines below retracts with
"Earlier versions of this file told you to, and Tailwind rejects it outright."
The table is what an agent reads first, so 0.8.0's headline fix shipped
underneath the error it corrected. @theme now first appears in the section
that explains it.
jig explain leaked a separator into 14 of 15 specs
parse.ts has always dropped bare --- lines. specs.ts is a separate path
for ## P-NN and ## M-NN specs and never did, so a dangling horizontal rule
rendered between each spec's last paragraph and its footer. Table separators
(| --- |) are untouched.
jig init offered a way out of its own refusal that does not work
Without a terminal and without --yes, init refused with a message ending
"(To choose the mode without a terminal, write jig.config.json first — init
honours it.)" The guard runs before any config is read, so a config alone
still exits 1. The sentence was true about mode selection and false in a
paragraph about not having a terminal — a cold agent followed it literally,
hit the identical error, and allocated a pseudo-terminal with Python's pty
to get past it.
Reproduced in a scratch project before changing anything, because this had been
mis-verified once already on a run that had --yes set. No test in the suite
mentioned isTTY; three do now, two of which fail against the old wording.
The guard that should have existed
check-tokens rule 13 reads rules/ from disk rather than a hardcoded list, so
a rule file added later cannot escape it the way those four did, and it checks
the second-person tells as well as the heading, since a rename would defeat a
heading check.
Verified to discriminate rather than merely to pass: each tell fires on
reintroduction, an unlisted new rule file is caught, and removing the spec fix
fails 15 tests.
690 tests, up from 674.