daily-fix: trigger-dense first-spawn pre-qualification by ta
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-08-01 (route 2: behavior/logic change → independent review) from consolidated problem sweep entry C8 (miners 4, 3, 8, 6, 5; sessions 8fc069db (#1947), 0dcef1c6 (#1879), 24f7b592 (#1979), 0dbe2031 (#1977), 11d2daa4 (#1984)).
Goal
Pre-qualify known trigger-dense TARGET CLASSES at spawn-composition time so the FIRST spawn of ANY subagent role — implementers included — on such a target starts at the content-mitigated brief (file-reference/digest form), instead of reaching mitigation only after refusal kills; today CLAUDE.md's rung (b2-content) keys on prior kill evidence, and trigger-dense-review.md's § First-pass briefs binds only review-role briefs.
Workflow gap
- Bug observed: ≥7 refusal-killed spawns across ≥5 sessions in one day, plus 2 sonnet autocompact thrashes, all recovered per the existing ladder but at real cost: #1979's implementer killed twice ("29 + 33 tool calls, zero durable writes both times") then a sonnet respawn thrashed at 4 tool calls (~1.5h wall on unit 1); #1977 lost 3 reviewer spawns on a guard-surface target (~17 min); #1879's implementer killed at 38 tool calls mid-write; #1947 lost 2 spawns. Recurring pattern: FIRST-pass briefs pointed subagents at known trigger-dense content (the #1769 steering body, guard scripts, implant/marker vocabulary) — content-mitigation was applied only AFTER the kills.
- Why it is a workflow gap: the recognition heuristic and first-pass duties exist, but (a) the CLAUDE.md ladder's content-mitigated fast path is gated on kill EVIDENCE, and (b) the first-pass composition duties fire for "fact-check / critique / plan-review / first code-review" briefs, not implementer briefs generally — so implementer first-spawns on recognized target classes predictably walk the ladder through 1-2 kills first.
- Confidence: medium (kill counts miner-probed on #1979-group transcripts —
python filter counting 'violate our Usage Policy' tool_result firings; brief-composition attribution miner-inferred). - verified-at-filing:
grep -n 'b2-content' CLAUDE.md→ 1 hit; the rung reads verbatim "(b2-content) when kill evidence already isolates CONTENT as the trigger — a sibling unit with the same model and brief shape ran clean while the killed unit differs only in its target content (#1774 ...) — skip the same-model rung-(b) rephrase: the FIRST retry carries content-side mitigation (pass the triggering content by file reference / digest per.claude/rules/trigger-dense-review.md) plus the per-subagent model pin" — i.e. mitigation-first requires prior kill evidence.sed -n '150,190p' .claude/rules/trigger-dense-review.md→ § First-pass briefs (#1503) "Fires for the ORCHESTRATOR composing any FIRST-PASS subagent brief whose TARGET files include a trigger-dense artifact ... — the Phase-1.5 fact-checker brief, the Phase-2 critic and consistency-checker briefs, a plan-review or first code-review brief" — implementer briefs are covered only via the datagen sibling (#1748); the recognition heuristic (:29-56) already lists guard/hook scripts, banks/corpora, judge outputs, and steering-application surfaces (763b59080f, #1797 landed steering-surface recognition), so the CLASSES are recognized — the binding to implementer first-spawns and the evidence-free fast path are what is missing.git log --oneline --since='7 days ago' -- .claude/rules/trigger-dense-review.md→ 1 commit (6ea044af6d, judge-monitoring clause) — no first-spawn pre-qualification (2026-08-02).
Proposed change (refine in planning)
.claude/rules/trigger-dense-review.md§ First-pass briefs: widen the firing clause from the review-role brief list to ANY first-pass subagent brief (implementer, experimenter, analyzer, reviewer) whose TARGET files (or required reading, e.g. a steering-content task body) match the recognition heuristic — duties 1-5 unchanged.- CLAUDE.md refusal ladder: add a pre-qualification sentence — when the spawn's target matches a recognized trigger-dense class (per the trigger-dense-review.md heuristic), the FIRST brief starts content-mitigated (file-reference/digest per that rule) with no kill evidence required; rung (b2-content) stays the post-kill fast path for UNrecognized content.
- Keep additive: the recognition heuristic list itself is the single source of target classes — do not fork a second list in CLAUDE.md (pointer only, always-on budget).
Scope / surfaces
- Primary target:
.claude/rules/trigger-dense-review.md, CLAUDE.md - Quote-consistency:
grep -n 'b2-content\|First-pass' CLAUDE.md .claude/rules/trigger-dense-review.md .claude/skills/adversarial-planner*/SKILL.mdand update every cross-reference; update the rule's frontmatter description + LESSONS.md row if the trigger wording changes.
Constraints / invariants
- Workflow-surface only — never experiment code,
configs/, ortasks/. scripts/workflow_lint.py --check-askspasses; ruff/bash -n on touched files passes.- Never rename loaded terms inside ARTIFACTS (code/plans/task bodies) — brief/prompt text only, per the existing rung (e) contract.
- Recursion guard: this task's session carries the workflow_fix_target Provenance line and MUST NOT auto-route its own subagents' workflow-fix candidates.
Provenance
- fingerprint: 3e0d3fe428ff
- workflow_fix_target: .claude/rules/trigger-dense-review.md, CLAUDE.md
- origin: /daily 2026-08-01 problem sweep, CONSOLIDATED.md entry C8.