workflow-fix: check 8b body-wide git-URL resolution + git-tree backtick-claims twin
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 #1072 round 2 (emitting agent: clean-result-critic).
Goal
Extend verify_task_body.py check 8b to resolve every same-repo /blob/ and /tree/ URL body-wide (not footer-only), and add a GitHub-tree twin of the HF-adjacent backtick-file-claims check.
Workflow gap
- Bug observed: Task #1072's body carried two GitHub blob links (Methodology Sample slot) and a footer backtick file list (npz files "in" a git tree URL) that 404 / are absent from the pinned git tree, yet verify_task_body.py passed — check 8b resolves same-repo artifact URLs only in the footer/Reproducibility section (6 URLs counted), and the backtick-file-claims-exist check runs only against HF /tree links, not GitHub /tree links.
- Why it is a workflow gap: The verifier's artifact-existence coverage is asymmetric (footer-only for git URLs, HF-only for backtick claims), so a false git-artifact premise in Methodology or the Artifacts parenthetical sails through the mechanical gate and must be caught by hand.
- Confidence (emitter): high
- verified-at-filing:
grep -n "check 8b" scripts/verify_task_body.py→ 8 hits; scripts/verify_task_body.py:6050 scopes check 8b to "## Reproducibilitysection text", and :3214/:3251 confirm other checks defer existence probing to 8b — footer-only scope confirmed per-target (2026-07-18). Live repro: two Methodology blob links to per_context_stats_1072_fold4.npz 404'd (npz gitignored, never committed) while verify_task_body.py PASSed #1072.
Proposed change (candidate diff sketch — refine in planning)
- urls = _same_repo_urls(footer_text)
- urls = _same_repo_urls(body_text) # body-wide, not footer-only
-
new check: backtick claims adjacent to GitHub /tree/ links
- for sha, dirpath, claims in _git_tree_adjacent_backtick_claims(body_text):
-
tree = git_ls_tree(sha, dirpath) -
missing = [c for c in claims if not _claim_in_tree(c, tree)] -
if missing: fail(f"backtick file claims not in git tree {dirpath}@{sha}: {missing}")
Scope / surfaces
- Primary target:
scripts/verify_task_body.py - Grep the workflow surface for the pattern before editing and update every hit; list them in the plan.
Constraints / invariants
- Workflow-surface only.
scripts/workflow_lint.py --check-askspasses; ruff on touched files passes. - Recursion guard: this session carries a
workflow_fix_target:Provenance line.
Provenance
- workflow_fix_target: scripts/verify_task_body.py
- fingerprint: 187536ec8bc5
target_file: scripts/verify_task_body.py bug_observed: Task #1072's body carried two GitHub blob links (Methodology Sample slot) and a footer backtick file list (npz files "in" a git tree URL) that 404 / are absent from the pinned git tree, yet verify_task_body.py passed — check 8b resolves same-repo artifact URLs only in the footer/Reproducibility section (6 URLs counted), and the backtick-file-claims-exist check runs only against HF /tree links, not GitHub /tree links. why_workflow_gap: The verifier's artifact-existence coverage is asymmetric (footer-only for git URLs, HF-only for backtick claims), so a false git-artifact premise in Methodology or the Artifacts parenthetical sails through the mechanical gate and must be caught by hand. proposed_change: Extend check 8b to git-cat-file every same-repo /blob/ and /tree/ URL anywhere in the body, and add a GitHub-tree twin of the HF-adjacent backtick-file-claims check (claims adjacent to a git tree URL must resolve via git ls-tree at that SHA). confidence: high related_task: #1072