chore(release): bump to 0.32.0
Ships two things that belong in one bump because they are one plugin. `board.sh --voyage` (85cd628, 2026-08-31) sat one commit past v0.31.0, unreleased and unpushed. Every entry point on this machine runs the version-pinned plugin cache, so the feature existed in git and did not exist for anyone using it. `route.sh --last-model` learned "Fable 5.1" (2bec7fe) with both boundary decisions taken and written down: "Fable 5" is kept because the row table itself spells rows 5-6 with it, and the set was widened rather than replaced by form validation because only a closed set catches a version that never shipped. Version sites, enumerated rather than swept - a blank sed would rewrite the historical prose in CLAUDE.md that deliberately keeps its old number: plugin.json, package.json, the README badge, and four SKILL.md (coord-send, board, route, dispatch). CHANGELOG entry added. Selftest counts corrected where they are asserted as prose: route 69 -> 73 in CLAUDE.md and README. npm test: 11/11. coord 242, board 360, route 73, orders 110, guard 54. Order: 20260901T185028Z-3612729538-from-.claude Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
2bec7fe2fb
commit
39cb6538e3
9 changed files with 121 additions and 10 deletions
51
CLAUDE.md
51
CLAUDE.md
|
|
@ -897,7 +897,7 @@ marketplace plugin. Three components, one boundary:
|
|||
rationale, and prints one block of `key=value` lines: the rubric row, the rule
|
||||
that fired, the `next-cost` value, a pasteable startup command, the one-row
|
||||
cheaper fallback, and the STATE.md comment lines. Pinned by
|
||||
`route-selftest.sh` (69 checks).
|
||||
`route-selftest.sh` (73 checks).
|
||||
|
||||
**It is here because it is the WRITER for the field `board.sh` already reads.**
|
||||
`next-cost` had a reader and no writer, so it was hand-typed every session and
|
||||
|
|
@ -957,6 +957,53 @@ marketplace plugin. Three components, one boundary:
|
|||
startup command. Corollary pinned by section 13: `skills/route/SKILL.md` must
|
||||
never declare an `effort:` frontmatter field, because frontmatter overrides the
|
||||
session effort and the reading would then measure the skill, not the session.
|
||||
**Order 20260901T185028Z-3612729538 (2026-09-01): `--last-model` was a closed
|
||||
set of three, Fable 5.1 shipped that day, and the refusal turned a
|
||||
measurement into a lie.** A session that genuinely ran Fable 5.1 could not
|
||||
record what it ran, so its record was either omitted or written as a name
|
||||
already in the set - and a lied record reads back months later as a
|
||||
measurement rather than as the gap it is. The whole point of the four
|
||||
`--last-*` fields is to be readable evidence, so this is the field's own
|
||||
failure mode, not a cosmetic one. Both edit sites moved, never one: the usage
|
||||
block and the validating case, because fixing the case alone is the
|
||||
two-copies-of-one-policy defect this file names repeatedly.
|
||||
|
||||
**"Fable 5" is KEPT, and the reason is NOT backward compatibility.** The
|
||||
nevner was measured rather than assumed - exactly 1 of 45 `route-last` lines
|
||||
across the machine carries it - which is thin enough that a future session
|
||||
would happily "clean up" the one stale line and then drop the value. The
|
||||
load-bearing reason is that `route.sh`'s own row table spells rows 5-6
|
||||
`Fable 5/high` and `Fable 5/xhigh`. Dropping the value would make the script
|
||||
refuse to record a name its own spec writes.
|
||||
|
||||
**The set is WIDENED, never replaced by form validation, and the selftest is
|
||||
what makes that a fact rather than a paragraph.** A pattern like
|
||||
`<family> <digits>[.<digits>]` would still catch a misspelled family and a
|
||||
drifted case (`opus 5`), and would stop catching **a version that does not
|
||||
exist**: `Fable 5.2` and `Opus 7` would both pass and read back as evidence
|
||||
that a model ran when it never shipped - the positive-looking null this repo
|
||||
refuses everywhere else, in the one field whose entire purpose is to be
|
||||
believed later. Section 8b therefore rejects `Fable 5.2` / `Fable 6` /
|
||||
`Fable 5.10` beside the accept case, so a later switch to form validation
|
||||
fails here instead of silently widening what the record can claim. The cost
|
||||
of the closed set is real and was paid before the choice was made, so the die
|
||||
message now names the repair - a newly shipped model is ADDED to the list,
|
||||
never approximated to a value already in it.
|
||||
|
||||
Untouched, deliberately: the row table (still six rows; `route.sh` still
|
||||
emits only 1-4, and Fable remains a hand-written override), and the note that
|
||||
a Fable session runs without an advisor because the CLI does not enforce it.
|
||||
|
||||
**Bounded gap, stated rather than closed:** `Fable 5.1/xhigh` is 15
|
||||
characters and overflows `board.sh`'s `%-14s` KOST column, shifting the rest
|
||||
of that row one column right. Parsing is unaffected - `next-cost` extraction
|
||||
is free text, and selftest section 6 now pins that the point release survives
|
||||
the round trip - so this is alignment, not data. Widening the column is a
|
||||
`board.sh` rendering change nobody ordered in this session, which is also why
|
||||
the value is deliberately ABSENT from section 6's widest-value loop: adding
|
||||
it there would go red, and the red would be the unfixed gap wearing a broken
|
||||
test's clothes. Reported to `.claude` instead.
|
||||
|
||||
- **Board's ORDRE column** counts PENDING orders per repo with the identical
|
||||
idiom as INN, and the two are never summed: INN is "others are waiting on
|
||||
YOU" (outgoing obligation), ORDRE is "authorized work is waiting on this
|
||||
|
|
@ -1215,7 +1262,7 @@ obligations in another repo.
|
|||
- TDD: no behavior change without a failing selftest check first.
|
||||
`bash scripts/coord-selftest.sh` must exit 0 (242/242),
|
||||
`bash scripts/board-selftest.sh` must exit 0 (360/360),
|
||||
`bash scripts/route-selftest.sh` must exit 0 (69/69),
|
||||
`bash scripts/route-selftest.sh` must exit 0 (73/73),
|
||||
`bash scripts/orders-selftest.sh` must exit 0 (110/110) and
|
||||
`bash scripts/state-line-guard-selftest.sh` must exit 0 (54/54).
|
||||
- English for all code, docs, and commit messages (public repo). Norwegian
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue