Commit 3b36a19
tooling(qa): roll-up view over qa-run records — selector × latest verdict × staleness (#9616)
Answers "what is the latest verdict for every checklist selector, and is it
stale?" in one command, replacing a 23-issue manual read.
A generated VIEW, not a tracker: no cache, no snapshot, no last-run file. The
qa-run issues stay the only source of truth.
Three things were measured over the live corpus rather than assumed, and each
changed the design:
- The title convention has drifted. Neither the documented form
(.claude/skills/checklist-test/SKILL.md) nor the form described in the card
is what any record writes: 23/23 use five ·-separated fields with the
judged/total folded into a parenthetical on the selector, in five distinct
phrasings, absent entirely on one record. The parser accepts the shape the
records actually have and PRINTS anything it cannot parse.
- The bodies are not one shape and are deliberately not parsed. 9 of 23 records
carry no markdown table at all; the other 14 carry 26 distinct header shapes,
and most of those tables are clause-level rather than item-level — they use
the word "verdict" for a different unit. Counting them as items would produce
a confidently wrong matrix. The view says, every run, that it did not read
them.
- Staleness is three-valued because a shallow clone cannot always tell.
merge-base --is-ancestor answers false for commits behind the graft boundary,
so a boolean would have rendered the nine stalest records as fresh. "Could
not tell" renders as ? and is never counted as fresh.
Reads REST core only (1 call for the whole corpus, 15000/hr quota) — not the
search API and not GraphQL.
--self-test drives the pure core over fixtures taken from the real corpus:
60 assertions, no network.
Claude-Session: https://claude.ai/code/session_01XqDQYVU5smx29ts9pAErja
Co-authored-by: Claude <noreply@anthropic.com>1 parent e411f99 commit 3b36a19
1 file changed
Lines changed: 946 additions & 0 deletions
0 commit comments