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
17
CHANGELOG.md
17
CHANGELOG.md
|
|
@ -12,7 +12,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
- **`PLAN` column in the board table, and `plan=` in `--row`.** A filesystem
|
||||
reading of the repo root: `-` = no file named exactly `PLAN.md`; `Nd` =
|
||||
whole days the plan's mtime lies behind the last commit (`0d` when as new or
|
||||
newer); `?` = a plan with no commit to compare against. The content is never
|
||||
newer); `?` = a plan with no commit to compare against. A symlinked
|
||||
`PLAN.md` is aged by its target. The content is never
|
||||
read, and the column does not judge whether a criterion can be falsified -
|
||||
the legend says so. The name is matched byte for byte, because APFS's
|
||||
case-insensitivity makes `[ -f PLAN.md ]` true for `plan.md`. Display only:
|
||||
|
|
@ -25,8 +26,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
The index that takes "the last field onward" was written when the record had
|
||||
14 fields and was never moved as ORDRE, FLY and VOY were inserted before
|
||||
`neste`, so a dispatch block read `neste=0|-|0|<the NESTE prose>`. It now
|
||||
takes field 17 onward, and a selftest check pins the exact start of the
|
||||
prose so the next inserted field turns it red.
|
||||
takes the field after the last column onward (field 18, since the `PLAN`
|
||||
column below moved it again), and a selftest check pins the exact start of
|
||||
the prose so the next inserted field turns it red.
|
||||
- **`--row` and `--dispatch` for a repo with no STATE.md carried shifted
|
||||
values.** That record is written by its own printf, which lacked the `VOY`
|
||||
field, so `--row` read `voy=(ingen STATE.md)` and an empty `neste=`. The
|
||||
record is now complete; a fixture with no STATE.md pins it.
|
||||
- **`--inbox-plan` cut NESTE at its first `|`.** It read `neste` as one field
|
||||
instead of "that field onward"; the whole prose now comes through, as it
|
||||
already did in `--row` and `--dispatch`.
|
||||
- **README said "macOS or Linux".** `board.sh` uses BSD `stat` throughout and
|
||||
renders no rows under GNU `stat`; the requirement now says macOS.
|
||||
|
||||
## [0.34.0] - 2026-09-12
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue