workflow-fix: audit-availability check misses quota-held denial family + store/maps artifact classes
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 workflow-fix candidate raised on task #813 (emitting agent: interpretation-critic).
Goal
Extend _AUDIT_DENIAL_RE with the quota-hold/403/"remain on the pod" phrasings and add unreduced-store / reduced-store / maps entries (with HF-path convention) to _AUDIT_ARTIFACT_CLASSES so check 25 resolves them against the data repo.
Workflow gap
- Bug observed: The audit-availability check (check 25) PASSed vacuously on #813's body, which asserts data artifacts "remain on the pod under an HF public-storage quota hold (upload 403)" while an exact-count upload-verification PASS + independent list_repo_files prove all 24,206 artifacts are on HF.
- Why it is a workflow gap:
_AUDIT_DENIAL_REomits the "quota-held / quota hold / upload 403 / remain on the pod" denial family, and_AUDIT_ARTIFACT_CLASSESomits the activation-store / reduced-store / maps artifact classes, so a false availability-denial near a data artifact escapes the mechanical gate. - Confidence (emitter): medium
Proposed change (candidate diff sketch — refine in planning)
_AUDIT_DENIAL_RE = re.compile(r"(?:not\s+uploaded|...|cannot\s+be\s+audited"
+ r"|quota[- ]?held|quota\s+hold|upload\s+403|remain(?:s|ing)?\s+on\s+the\s+pod"
+ r"|pod[- ]side\b.*(?:quota|held))", re.IGNORECASE)
_AUDIT_ARTIFACT_CLASSES = { ...,
+ "unreduced": re.compile(r"unreduced\s+(?:activation\s+)?store", re.I),
+ "reduced": re.compile(r"reduced\s+(?:c_C/v_A\s+)?summ|reduced\s+store", re.I),
+ "maps": re.compile(r"\bfitted[- ]maps?\b|\bmap\s+factored\s+forms?\b", re.I),
}
Scope / surfaces
- Primary target:
scripts/verify_task_body.py - Grep the workflow surface for the pattern before editing
(
grep -rln '_AUDIT_DENIAL_RE\|_AUDIT_ARTIFACT_CLASSES' .claude/ CLAUDE.md scripts/ tests/) and update every hit; list them in the plan (expecttests/test_verify_task_body.pycoverage too).
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: c6e46922bf9f
target_file: scripts/verify_task_body.py
bug_observed: The audit-availability check (check 25) PASSed vacuously on #813's body, which asserts data artifacts "remain on the pod under an HF public-storage quota hold (upload 403)" while an exact-count upload-verification PASS + independent list_repo_files prove all 24,206 artifacts are on HF.
why_workflow_gap: _AUDIT_DENIAL_RE omits the "quota-held / quota hold / upload 403 / remain on the pod" denial family, and _AUDIT_ARTIFACT_CLASSES omits the activation-store / reduced-store / maps artifact classes, so a false availability-denial near a data artifact escapes the mechanical gate.
proposed_change: Extend _AUDIT_DENIAL_RE with the quota-hold/403/"remain on the pod" phrasings and add unreduced-store / reduced-store / maps entries (with HF-path convention) to _AUDIT_ARTIFACT_CLASSES so the check resolves them against the data repo.
confidence: medium
related_task: #813