docs(catalog): audit all 13 badge-less stat axes at their pinned tags
The stat-badge gate skips any axis the plugin does not badge, so those numbers are structurally unverifiable and rot in silence. Hand-audited every remaining one against ground truth extracted from the pinned tag (git archive <ref>, never the sibling working tree). 12 of 13 measured exact. The one defect: voyage's `500+ tests`, which is 832 at v5.9.1 — true as a lower bound, so the gate could never have seen it, but a 40% understatement to a reader comparing plugin blocks. Also corrects CLAUDE.md's own worked example: `1441 tests` was the number the ref-defect produced by reading config-audit's working tree; 1398 is what v5.13.0 installs. Records the two counting rules calibrated against the badged plugins — hooks = hook command entries (events and matchers both diverge from the badge), tests = `ℹ tests` and not `ℹ pass`. Gate: 11 OK / 0 WARN / 0 ERROR. Tests 120/120. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D6Sy2bjLWXjh59g1WsAe4X
This commit is contained in:
parent
07c2c00bde
commit
beb48c4678
2 changed files with 15 additions and 6 deletions
19
CLAUDE.md
19
CLAUDE.md
|
|
@ -38,15 +38,24 @@ their own Forgejo repositories under `https://git.fromaitochitta.com/open/`.
|
|||
ERROR; `--strict` also fails on WARN. Pure-function core covered by
|
||||
`scripts/check-versions.test.mjs` (`node --test scripts/check-versions.test.mjs`).
|
||||
- **Stat-badge mirroring (part of the same gate):** each plugin block in the catalog README ends in a
|
||||
stat line (`7 agents · 16 scanners · 21 commands · 1441 tests · [Full documentation →]`). The gate
|
||||
stat line (`7 agents · 16 scanners · 21 commands · 1398 tests · [Full documentation →]`). The gate
|
||||
compares every number on that line against the plugin's own shields badge for the same axis, and
|
||||
ERRORs when they disagree — the catalog must not overstate a plugin. **The rule is per-AXIS, not
|
||||
per-plugin:** an axis the plugin does not badge is skipped silently, so there is no exception list
|
||||
to maintain. Measured 2026-08-02: 21 axis-pairs are badge-covered, and **14 axes across 8 of the 11
|
||||
plugins are badge-less** and therefore ungated — those numbers still rot and need a human pass
|
||||
(repo-mailbox's read `6 CLI scripts` / `251 selftest checks` against a true 8 / 374). `N+` in the
|
||||
catalog is read as a lower bound, not an equality. **Never hand-edit a stat line to silence the
|
||||
to maintain. Measured 2026-08-02: **24 axis-pairs badge-covered · 15 axes badge-less across 7 of
|
||||
the 11 plugins** and therefore ungated. All 15 have now been hand-audited at their pinned tags —
|
||||
**14 were exact**; the two defects found were repo-mailbox (`6 CLI scripts` / `251 selftest checks`
|
||||
against a true 8 / 370) and voyage (`500+ tests` against a measured 832). `N+` in the catalog is
|
||||
read as a lower bound, not an equality, so `500+` was never gate-visible — ungated axes rot in
|
||||
silence and need a periodic re-run of this pass. **Never hand-edit a stat line to silence the
|
||||
gate** — the plugin's badge is the source for every stat number; fix the catalog to match it.
|
||||
- **Counting rules for a badge-less axis (calibrated against the badged plugins, 2026-08-02).** When
|
||||
the catalog must count an axis itself, count it the way the badges do, or the numbers stop being
|
||||
comparable across plugin blocks: **hooks = hook COMMAND entries** in `hooks/hooks.json` (not
|
||||
events, not matchers — the three diverge, and `commands` is what matched the badge on all 6 badged
|
||||
plugins), and **tests = `ℹ tests` from `node --test`**, not `ℹ pass` (config-audit's badge 1398 is
|
||||
its `tests` count; `pass` was 1375). Measure in an extraction of the tag
|
||||
(`git archive <ref> | tar -x -C <tmp>`), never the sibling working tree.
|
||||
- **The stat mirror reads the plugin README AT THE PINNED `ref`, never the sibling working tree.**
|
||||
The catalog documents what *installs*, and that is the tag. A plugin that commits past its tag
|
||||
without bumping its version — measured 2026-08-02 on both llm-security (scanners 23→22, tests
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ A six-command planning pipeline with specialized agent swarms, adversarial revie
|
|||
|
||||
Per-phase effort and model dialog; `/trekbrief`, `/trekplan`, and `/trekreview` render an operator-annotation HTML view you can mark up and copy back into Claude.
|
||||
|
||||
24 agents · 6 commands (+1 helper) · 7 hooks · 500+ tests · [Full documentation →](https://git.fromaitochitta.com/open/voyage) · [Migration guide](https://git.fromaitochitta.com/open/voyage/src/branch/main/MIGRATION.md)
|
||||
24 agents · 6 commands (+1 helper) · 7 hooks · 832 tests · [Full documentation →](https://git.fromaitochitta.com/open/voyage) · [Migration guide](https://git.fromaitochitta.com/open/voyage/src/branch/main/MIGRATION.md)
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue