feat(engine)!: "no version to compare against" is a verdict, not a skip
`VERSION-UNAVAILABLE` (SKIP/notRun) becomes `VERSION-NONE` (OK). A repo that claims no version in any of the four places one can be written down has not left a check un-run — the check ran, saw all four, and found no subject. That is the shape `checkReadmeLanguage` has always answered with OK. 0.8.0 deferred this and recorded the reason in the engine: re-levelling "moves a repo's status". Measured false across 19 clones — an added OK cannot worsen the worst *judged* finding, and all three repos emitting the code already read OK. Status moves only for a repo whose entire finding set was skips. OK cannot bless a real gap here: no class requires a version file, and a `plugin` missing its manifest is an independent FILE-MISSING ERROR. Renamed, not just re-levelled: `-UNAVAILABLE` is this engine's naming for a notRun skip, and one OK-level `-UNAVAILABLE` would mislead exactly the reader this change serves. A source scan keeps the old name out. A/B sweep, both engines offline, 19 clones: 223 judged findings, every status and buckets identical; 3 conversions (notChecked 14→13, 3→2, 14→13), byDesign untouched. 170 tests. `--refresh`: register 21 = forge 21. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CTNGvxzCLZp3UXfibYG4kb
This commit is contained in:
parent
9a566240e8
commit
1dfd408ffc
8 changed files with 99 additions and 21 deletions
36
CHANGELOG.md
36
CHANGELOG.md
|
|
@ -4,6 +4,42 @@ All notable changes to this project are documented here.
|
|||
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/);
|
||||
versioning is [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [0.9.0] — 2026-08-09
|
||||
|
||||
### Changed
|
||||
|
||||
- **`VERSION-UNAVAILABLE` (`SKIP`/`notRun`) is now `VERSION-NONE` at `OK`.** A
|
||||
repository that claims no version in any of the four places one can be written
|
||||
down has not left a check un-run — the check ran, saw all four, and found no
|
||||
subject. That is the shape `checkReadmeLanguage` has always answered with `OK`
|
||||
("no running prose to judge"), and filing it as a skip told three
|
||||
correctly-built repositories that something about them was unread.
|
||||
|
||||
0.8.0 deferred this deliberately and recorded the reason in the engine:
|
||||
re-levelling "moves a repo's status". That was measured false. An added `OK`
|
||||
cannot worsen the worst *judged* finding, so `status` moves only for a repo
|
||||
whose entire finding set was skips — and all three repos that emit this code
|
||||
(`ktg-plugin-marketplace`, `playground-design-system`,
|
||||
`portfolio-optimiser-commons`) already read `OK`. The comment is gone with the
|
||||
code it justified.
|
||||
|
||||
Nor can `OK` here bless a real gap: no class in the register requires a
|
||||
version file, and a `plugin` missing its manifest is an independent
|
||||
`FILE-MISSING` `ERROR`.
|
||||
|
||||
**The code was renamed, not just re-levelled.** `-UNAVAILABLE` is this
|
||||
engine's naming for a `notRun` skip (`DESC-UNAVAILABLE`), and one `OK`-level
|
||||
`-UNAVAILABLE` would mislead exactly the reader this change is for. A source
|
||||
scan holds the old name out of the engine, so a re-introduction fails the
|
||||
suite rather than the next census.
|
||||
|
||||
Verified before release: 170 tests; 19 clones swept with both engines offline,
|
||||
223 judged findings, every `status` and `buckets` identical. Exactly three
|
||||
findings converted — `notChecked` 14→13, 3→2, 14→13, `notRun` 3→2 in each, and
|
||||
`byDesign` untouched. No repository's `status` moved. Remaining `notRun` across
|
||||
the org is actionable by construction: `INSTALL-TRUTH` (12), `VERSION-TAG` (1),
|
||||
plus the two that only appear under `--offline`.
|
||||
|
||||
## [0.8.1] — 2026-08-09
|
||||
|
||||
### Fixed
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue