chore(release): v0.11.2 — two register decisions and the stale prose counts

Register: ms-ai-architect removed from locales (org-ops D35 — the entry,
not the prose, was the wrong side); ktg-plugin-marketplace v7.7.2 accepted
as lightweight history (catalog's measured counter: monorepo-era tag, zero
consumers). README: the two stale prose counts made count-free.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MzGk2pnq1N7J9H7xj2XAH1
This commit is contained in:
Kjell Tore Guttormsen 2026-08-14 20:19:04 +02:00
commit f08fcc9b80
4 changed files with 58 additions and 13 deletions

View file

@ -1,6 +1,6 @@
{
"name": "repo-standard",
"version": "0.11.1",
"version": "0.11.2",
"description": "Per-repo gate for the open/ presentation standard: README first screen, install block, files required by the repo's class, and dead repo references.",
"author": {
"name": "Kjell Tore Guttormsen"

View file

@ -6,6 +6,30 @@ versioning is [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.11.2] — 2026-08-14
### Changed
- **Register: `ms-ai-architect` removed from `locales`.** Four sweeps in a row
(0407) held a correct `README-LANGUAGE` `WARN` against an entry that was
itself wrong: the repo's published README disavows a Norway-only audience in
its own words ("useful for any enterprise context", line 17, verified against
the forge), and its 24 Norway markers are traits — what the code does — not
audience. The register was the wrong side; the prose stands. Decided on
org-ops' measured case (their D35).
- **Register: `ktg-plugin-marketplace v7.7.2` accepted as lightweight
history.** Previously deliberately absent because the newest tag has the one
safe remedy. The catalog's measured counter: v7.7.2 is a monorepo-era
llm-security tag (2026-05-19, pre-split), not a catalog release, and zero
install paths consume it — force-moving a published ref for no consumer costs
more than the finding. The catalog committed to annotating every future tag,
which the check itself enforces.
- **README: the two prose counts that had gone stale are now count-free.**
"170 tests" (actual: 245) and "twelve checks" survived two releases
unchanged — the ungated copy of a number is the defect, so the copies are
removed rather than corrected. `npm test` prints the test count; the check
table (20 rows) is the canonical check list.
### Fixed
- **`FILE-MISSING` named the class even when a TRAIT required the file.**

View file

@ -10,7 +10,7 @@ checks that surface in one repository and reports what it finds.
*AI-generated: all code produced by Claude Code through dialog-driven development.*
![Version](https://img.shields.io/badge/version-0.11.1-blue)
![Version](https://img.shields.io/badge/version-0.11.2-blue)
![Platform](https://img.shields.io/badge/platform-Claude_Code_Plugin-purple)
![Skills](https://img.shields.io/badge/skills-1-orange)
![License](https://img.shields.io/badge/license-MIT-lightgrey)
@ -98,7 +98,7 @@ severity — it is the absence of a verdict, printed apart from the judged
findings.
A repository's own `status` is the worst of the findings that were *judged*, and
`SKIP` only when nothing was. A skip cannot outrank twelve checks that did run.
`SKIP` only when nothing was. A skip cannot outrank the checks that did run.
Coverage rides beside it on its own axis, and since 0.8.0 that axis has two
values, because a skip is one of two unrelated facts:
@ -297,7 +297,9 @@ distinct from "an older engine that never tried".
npm test
```
170 tests over the pure classifiers. The reference fixtures are measured false
The suite pins the pure classifiers; `npm test` prints the current count, which
is the only copy of that number this README keeps — a prose count here went
stale twice. The reference fixtures are measured false
positives, each with its expected verdict — the six that produced the
three-outcome reference rule, plus the noise sources found by running the gate
against a real repository: regexes inside code spans that are markdown links to

View file

@ -175,14 +175,21 @@
"Norwegian readership is `nb`, and is then WRONG in English, not right.",
"",
"PROPOSED BY THE OPERATOR, NOT MEASURED — like `traits`, this list is a",
"judgement and no remote can report it. Both entries below were named by",
"judgement and no remote can report it. Both original entries were named by",
"the operator on 2026-08-04 as Norway-only in their audience.",
"",
"`ms-ai-architect` was REMOVED 2026-08-14 (org-ops coord, their D35): its",
"published README disavows the exclusivity this axis requires — line 17,",
"'while remaining useful for any enterprise context' — verified against the",
"forge before removal. Its 24 Norway markers are TRAITS (what the code",
"does: Digdir, NSM, DPIA), which is the axis confusion this comment warns",
"about two paragraphs up. The register was the wrong side, not the prose.",
"`okr` stands: its README IS Norwegian, rewritten to close census 05.",
"",
"Detection is a stopword-frequency comparison over prose with code stripped.",
"It answers WHICH language dominates, never whether the prose is any good."
],
"locales": {
"ms-ai-architect": "nb",
"okr": "nb"
},
@ -201,15 +208,27 @@
"the very gap REMOTE-SYNC exists to name, so these are claims about three",
"OTHER repos and were sent to them by coord so a wrong name can be disputed.",
"",
"13 entries, not the 14 lightweight tags that exist. `ktg-plugin-marketplace",
"v7.7.2` is DELIBERATELY ABSENT: it is that repo's newest tag, the one",
"lightweight tag with a safe remedy (`git tag -a -f`), and it is an ERROR",
"today. Pre-accepting it would mean that cutting v7.8.0 instead of fixing it",
"makes the finding vanish silently — the cheap fix skipped and unrecorded.",
"If it ages into history un-remedied, a fresh WARN is the correct signal."
"`ktg-plugin-marketplace v7.7.2` was DELIBERATELY ABSENT until 2026-08-14:",
"as the newest tag it had the one safe remedy (`git tag -a -f`), and",
"pre-accepting it would have let cutting v7.8.0 skip the cheap fix",
"unrecorded. ACCEPTED 2026-08-14 on the catalog's measured counter (their",
"coord, catalog HEAD d0d5d70): v7.7.2 is a monorepo-era llm-security tag",
"(2026-05-19, pre-split), not a catalog release; their README install block",
"pins no ref and all 12 marketplace.json refs are plugin-repo tags, so zero",
"install paths consume it — 'newest tag' here sorts last without being the",
"newest RELEASE, which is the premise the safe-remedy rule rests on.",
"Force-pushing a published ref for zero consumers costs more than the",
"finding. The catalog committed to annotating every future tag; the check",
"itself enforces that, since a new lightweight newest tag is not on this",
"list and fires ERROR.",
"",
"The two slash-named `config-audit/v*` tags on that forge are OUT OF SCOPE",
"by construction, not omitted by a fetch gap: the engine reads",
"`refs/tags/v*` — the repo's own version line — and a namespaced",
"monorepo-era tag is not part of it."
],
"tags_lightweight_accepted": {
"ktg-plugin-marketplace": ["v3.4.1", "v5.0.0", "v5.0.1", "v5.0.2", "v5.0.3", "v7.7.0", "v7.7.1"],
"ktg-plugin-marketplace": ["v3.4.1", "v5.0.0", "v5.0.1", "v5.0.2", "v5.0.3", "v7.7.0", "v7.7.1", "v7.7.2"],
"llm-ingestion-okf": ["v0.2.0", "v0.3.0", "v0.3.1", "v0.3.2", "v0.4.0"],
"llm-ingestion-pipeline-security": ["v0.3.0"]
},