workflow-fix: widen check-30 count-noun vocabulary (chunks/sidecars + modifier-separated)
Highlight text on any card (body, plan, or an event) to anchor a comment, or leave a whole-task comment here. Mention @claude to summon a reply.
No comments yet.
Overview / Motivation
Auto-filed by the workflow-fix-on-bug protocol from a prose follow-up raised on task #1901 (emitting agent: clean-result-critic).
Goal
Widen verify_task_body.py check 30's count-noun regex family to cover chunk/sidecar nouns and modifier-separated nouns so footer file-count claims phrased that way stop being invisible to the check.
Workflow gap
- Bug observed: check 30 (
check_hf_file_count_claims) reported "no file-count claims adjacent to HF tree links" on #1901's body while the footer carried TRUE count-claims in parentheticals following the pinnedissue1901_wildchat/tree/<sha>link — the claims used the noun "chunks" ("3 activation chunks") and a modifier-separated noun ("3 chunk files plus 1 over-length-skip sidecar"), neither matched by_COUNT_NOUN_RE'sfiles?|shards?vocabulary or its adjacent count-noun shape. - Why it is a workflow gap: the count-noun vocabulary/shape in
_COUNT_NOUN_RE(and its siblings_COUNT_PAREN_LINK_RE,_HF_LINKTEXT_THEN_PAREN_RE) is narrower than the footer phrasings bodies routinely use, so count claims phrased with chunk/sidecar nouns or a modifier token between count and noun are unverifiable-by-silence — a FALSE claim in that phrasing would ship unflagged (the #1901 instance happened to be true; the critic verified it manually vialist_repo_tree). - Confidence (emitter): low
- verified-at-filing:
grep -n "_COUNT_NOUN" scripts/verify_task_body.py+ code read of lines 9439-9456 → vocabulary is exactlyfiles?|shards?with no modifier allowance; #1901 body footer (tasks/followups_running/1901/body.md) carries "3 activation chunks" + "3 chunk files plus 1 over-length-skip sidecar" adjacent to the pinned HF tree link, and check 30's output on--issue 1901reads "no file-count claims adjacent to HF tree links" (2026-07-31). Per-target: scripts/verify_task_body.py 6 hits for_COUNT_NOUN.
Proposed change (candidate diff sketch — refine in planning)
- r"\b(?P<count>\d{1,3}(?:,\d{3})+|\d{1,6})\s+(?P<noun>files?|shards?)\b"
+ r"\b(?P<count>\d{1,3}(?:,\d{3})+|\d{1,6})\s+(?:\w+[ \t]+)?(?P<noun>files?|shards?|chunks?|sidecars?)\b"
(applied consistently across the _COUNT_NOUN_RE regex family, with the check's documented precision guards — per-namespace lookahead, folder-inflation tolerance — reviewed for the widened vocabulary; the planner decides whether the single-modifier allowance needs a stopword guard to protect precision.)
Scope / surfaces
- Primary target:
scripts/verify_task_body.py - Grep the workflow surface for the pattern before editing (
grep -rln '_COUNT_NOUN' .claude/ CLAUDE.md scripts/) and update every hit; list them in the plan. Updatetests/test_verify_task_body.pypins for the widened shapes (a "3 activation chunks" positive + a modifier-separated positive + a precision-guard negative).
Constraints / invariants
- Workflow-surface only — never experiment code,
configs/, ortasks/. scripts/workflow_lint.py --check-askspasses; ruff on touched files passes.- This session runs under
EPM_WORKFLOW_FIX_SESSION=1and carries aworkflow_fix_target:Provenance line — it MUST NOT auto-route any of its own subagents' workflow-fix candidates (recursion guard).
Provenance
- workflow_fix_target: scripts/verify_task_body.py
- fingerprint: 04e69aa91f07
Surfaced prose (verbatim, clean-result-critic on #1901): "scripts/verify_task_body.py's 'HF file-count claims match the Hub tree' check reported 'no file-count claims adjacent to HF tree links' while the footer carries exactly such claims in parentheticals following the pinned issue1901_wildchat tree link ('3 activation chunks', '3 chunk files plus 1 over-length-skip sidecar'). The claims are TRUE (I verified via list_repo_tree), so no body defect — but the check's adjacency window apparently misses count-claims phrased inside a parenthetical after the link, a phrasing footers use routinely. Concrete change: widen the check's claim-binding window to include the sentence/parenthetical span immediately following a pinned /tree/<sha> link. confidence: low" — orchestrator triage corrected the mechanism: the adjacency/parenthetical binding exists (#1005/#833 shapes); the actual gap is the count-NOUN vocabulary + modifier separation.