EPS
← All tasks·#1556Completed

daily-fix: digest log_tail_excerpt on trigger-dense runs

kind: infra#wf-fix#wf-fix-fp:265a19743d5d#daily-auto-filed
track:

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 /daily 2026-07-19 parked-candidate sweep (Step C) from a workflow-fix candidate parked on task #1546 (emitting agent: Alternatives critic concern 2; parked under the recursion guard).

Goal

Make scripts/poll_pipeline.py emit a structural digest (pattern counts + exit code + log path) instead of the raw log_tail_excerpt field when the issue's workload is trigger-dense.

Workflow gap

  • Bug observed: poll_pipeline.py:1118/:1194 deliver a bounded ~5-line RAW log excerpt by construction — the one raw-text channel entering orchestrator context that #1546's digest-only prose discipline cannot remove.
  • Why it is a workflow gap: on guard/security/refusal-corpus workloads a raw crash-tail excerpt can carry trigger-dense text into the orchestrator turn, the refusal-wedge exposure class #1074/#1098/#1546 progressively closed everywhere else.
  • Confidence (emitter): medium
  • verified-at-filing: grep -n log_tail_excerpt scripts/poll_pipeline.py → 6 hits (field def :1118, excerpt-construction comment :1194, emission :5389/:5469); grep -c 'trigger-dense\|trigger_dense' scripts/poll_pipeline.py → 0 (no trigger-dense branch exists — absence-of-guard claim, in-target 0-hit is the evidence). Landed-fix history: git log --oneline --since='2026-07-17' -- scripts/poll_pipeline.py → 6692680d2c (#1546, digest crash-tails on orchestrator poll turns) landed the ORCHESTRATOR-side discipline; the excerpt FIELD itself remains raw (2026-07-19).

Proposed change (candidate diff sketch — refine in planning)

(none — synthesized from prose follow-up: structural digest — pattern counts + exit code + log path — replacing the raw excerpt for trigger-dense workloads)

Scope / surfaces

  • Primary target: scripts/poll_pipeline.py
  • Grep the workflow surface for the pattern before editing (grep -rln 'log_tail_excerpt' scripts/ .claude/) and update every hit; list them in the plan.

Constraints / invariants

  • Workflow-surface only. scripts/workflow_lint.py --check-asks passes; ruff on touched files passes.
  • Recursion guard applies (workflow_fix_target Provenance line below).

Provenance

  • workflow_fix_target: scripts/poll_pipeline.py
  • fingerprint: fc2fcdf39691

Verbatim parked candidate (epm:workflow-fix-candidate on #1546, 2026-07-19T16:14:26Z): "source: prose-followup (Alternatives critic concern 2). target_file: scripts/poll_pipeline.py. proposed_change: emit a structural digest (pattern counts + exit code + log path) instead of the raw log_tail_excerpt field when the issue's workload is trigger-dense (poll_pipeline.py:1118/:1194 deliver a bounded ~5-line raw excerpt by construction — the one raw-text channel entering orchestrator context that #1546's prose discipline cannot remove)."

Activity