daily-fix: compose marker notes via Write, never heredoc
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 /daily 2026-07-27 problem sweep (transcript mining, 44 in-window transcripts). Session 513fca53 (#1729), 2026-07-27T18:02Z (miner E P4).
Goal
Close the last unsafe leg of marker-note composition: the heredoc that writes the --file body.
Workflow gap
- Bug observed: the session wrote its epm:merged note via
cat > /tmp/issue-1729-merged.md << EOF ...; the note's free text mentioned 'git checkout' andguard_repo_root_branch.shblocked the whole Bash call (argv-prose match). Recovery: the Write tool. The #1725 fix mandates posting via--filebut the recipe never says how to CREATE the file, so sessions reach for heredocs. - Why it is a workflow gap: the --file channel exists precisely to keep git-verb prose out of Bash argv; a heredoc re-introduces it. One sentence at the compose sites closes it.
- Confidence (emitter): medium
- verified-at-filing: hook firing verbatim in-transcript (miner-quoted);
grep -c 'heredoc' .claude/skills/issue/SKILL.md-> 2 (neither at the marker-compose sites), compose time.
Proposed change (candidate diff sketch — refine in planning)
At the SKILL.md marker-compose sites (Step 10d epm:merged + the --file recipes landed by #1725): add 'build the note file with the WRITE tool, never a Bash heredoc — git verbs in the prose trip guard_repo_root_branch's argv scan (2026-07-27 heredoc variant)'. Optionally evaluate teaching the guard to skip heredoc bodies (riskier, fail-open — planner's call, default NO).
Scope / surfaces
- Primary target:
.claude/skills/issue/SKILL.md(marker-compose sites; grep 'VIA THE--fileCHANNEL' for the three #1725 sites)
Constraints / invariants
- Workflow-surface only — never experiment code,
configs/, ortasks/. scripts/workflow_lint.pyno-flags run +--check-askspass on touched files; ruff passes where applicable.- This session runs under a
workflow_fix_target:Provenance line — it MUST NOT auto-route its own subagents' workflow-fix candidates (recursion guard).
Provenance
-
fingerprint: 35359254f1a1
-
workflow_fix_target: .claude/skills/issue/SKILL.md