test(board): pin the "field inserted before neste" class; 16 of 16 mutants die
An independent review ran 16 mutants of the PLAN column against the 461 board checks and 5 survived: - --row taking neste from a stale index (neste=5d|...) - --inbox-plan taking neste from a stale index (neste=5d) - the no-STATE.md record one field short (plan=(ingen STATE.md)) - Nd measured behind NOW instead of behind the last commit - the '?' branch (a plan with no commit) rendered as '-' Section 34 part 8 adds a fixture for each: a NESTE with a '|' inside, pinned exactly in --row and --inbox-plan; a repo with no STATE.md; a repo whose last commit is 30 days old, so the two definitions give different numbers; a repo with a plan and no commit. Rebuilt from this tree and run against the full suite: 16 of 16 mutants now fail it. The same fixtures exposed two defects, fixed here: - --inbox-plan took neste as ONE field and cut the prose at its first '|' (also in 0.34.0); it now takes that field onward. - a symlinked PLAN.md was aged by the link's own mtime; it now uses stat -L, so the plan's age is the target's. Docs: CHANGELOG no longer says "field 17 onward" (the index is 18) and now records the no-STATE.md record fix and the --inbox-plan fix; README's requirement says macOS, since board.sh uses BSD stat and renders nothing under GNU stat. board-selftest 461 -> 478 (badge 978). Suites: coord 257, board 478, route 73, orders 116, guard 54; npm test 12/12, run after git add. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
87fb78334e
commit
6f4908a5dc
5 changed files with 145 additions and 15 deletions
21
CLAUDE.md
21
CLAUDE.md
|
|
@ -467,7 +467,7 @@ marketplace plugin. Three components, one boundary:
|
|||
- **Board (`scripts/board.sh`):** cross-repo attention board. Reads STATE.md
|
||||
next-step blocks + board lines, `git status`, and mailbox pending counts, and
|
||||
prints one line per repo. Read-only by construction: it writes to no repo, no
|
||||
STATE.md and no mailbox. Pinned by `board-selftest.sh` (461 checks).
|
||||
STATE.md and no mailbox. Pinned by `board-selftest.sh` (478 checks).
|
||||
|
||||
**It lives here because the mailbox is one of its three inputs, and it carries
|
||||
the same axis distinction the mailbox does.** A pending count means *others
|
||||
|
|
@ -1489,6 +1489,23 @@ marketplace plugin. Three components, one boundary:
|
|||
"last field onward" index now moves with the record (17 -> 18 here). F6
|
||||
counts DRT from the right, so its `NF-3` became `NF-4` for the same reason.
|
||||
|
||||
**An independent review then ran 16 mutants against the 461 checks and 5
|
||||
survived** - three of them the same class as the dispatch defect (`--row`
|
||||
and `--inbox-plan` reading `neste` from a stale index, and the no-STATE.md
|
||||
record one field short), one the column's DEFINITION (days behind now
|
||||
instead of behind the last commit - every fixture's commit was close enough
|
||||
to now that the two coincided), and one the `?` branch. Section 34 part 8
|
||||
now has a fixture for each, and all 16 die. Every "last field onward"
|
||||
reader is pinned on the EXACT start of the prose with a `|` inside it,
|
||||
because a reader taking one field instead of "onward" was a second,
|
||||
pre-existing defect in `--inbox-plan` that the same fixture exposed.
|
||||
A symlinked PLAN.md is aged by its target (`stat -L`). Stated, not closed:
|
||||
the 34-character nested key still shifts its row (the section's own header
|
||||
splitter would misread such a row; fixture names are short on purpose), and
|
||||
the "trap is armed" fixture check is red on a case-sensitive volume - this
|
||||
repo is macOS-only (BSD `stat`), and a case-sensitive APFS volume is the
|
||||
remaining gap.
|
||||
|
||||
- **Skills (`skills/coord-send/`, `skills/board/`, `skills/route/`, `skills/dispatch/`):** natural-language front
|
||||
doors mapping user intent to engine invocations. No mailbox logic lives here
|
||||
either. `board` additionally owns the *ranking* — which repo wins and why —
|
||||
|
|
@ -1537,7 +1554,7 @@ obligations in another repo.
|
|||
builtins only in hook and tests.
|
||||
- TDD: no behavior change without a failing selftest check first.
|
||||
`bash scripts/coord-selftest.sh` must exit 0 (257/257),
|
||||
`bash scripts/board-selftest.sh` must exit 0 (461/461),
|
||||
`bash scripts/board-selftest.sh` must exit 0 (478/478),
|
||||
`bash scripts/route-selftest.sh` must exit 0 (73/73),
|
||||
`bash scripts/orders-selftest.sh` must exit 0 (116/116) and
|
||||
`bash scripts/state-line-guard-selftest.sh` must exit 0 (54/54).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue