ccgram/MC worker: prompt-echo triggers false DONE/REVIEW signal
KEYSTONE BUG (surfaced by MC-4460 thrashing 2026-06-01). A ticket worker's FIRST reply often echoes the dispatch prompt instruction text — literally 'DONE: /REVIEW:/QUESTION: pr...
StateDoneNext ActionClosedOwnerLuciRuntimeClosedAge12d ago
Ticket is done; runtime is closed.·profile claude_opus_1m_medium · cwd /home/lucienne/workspace/mission-control/.claude/worktrees/pool-1 · uptime 11d 23h · last activity 11d 21h ago
Description
MC-4534
KEYSTONE BUG (surfaced by MC-4460 thrashing 2026-06-01). A ticket worker's FIRST reply often echoes the dispatch prompt instruction text — literally 'DONE: /REVIEW:/QUESTION: prefix at the start of your reply is still parsed, but prefer the JSON signal'. The signal parser matches DONE:/REVIEW:/QUESTION: at line start and fires a workflow action (review_ready) BEFORE any work is done. Result: tickets flip to in_review with zero implementation, repeatedly.
Evidence: MC-4460 hit review_ready twice in minutes with no commit, no code; each review comment is a transcript fragment beginning with the echoed prefix.
Fix direction (council the parser change):
- Do NOT match DONE:/REVIEW:/QUESTION: when they appear inside an echo of the dispatch instructions, or only honor the JSON signal block, or require the prefix to be the WHOLE first line / a dedicated signal line — not embedded mid-sentence.
- Locate the parser: mc_pickup.py worker reply handling / workflow action applier (grep review_ready, DONE:, QUESTION:).
- Add a regression test: a worker reply that quotes the instruction text must NOT trigger review_ready/done.
Until fixed, MC-4460 is frozen in in_review (no auto-pickup) to stop the thrash.
Activity
done
INTERACTIVE
Luci is working...
Details —
Done
· High
· Luci
▼
SState
Done
Closed
PPeople
TTiming / Details▼
api (human)
Mission Control
12d ago
12d ago
Advanced / Operator evidence
RRouting owner
ROperator console
Ticket is done; runtime is closed.ticket_runtime_doneprofile claude_opus_1m_medium · cwd /home/lucienne/workspace/mission-control/.claude/worktrees/pool-1 · uptime 11d 23h · last activity 11d 21h agoMC is visibility-only. Hermes Luci launches and gates work outside MC, then mirrors evidence/status here.Raw console: luci · claude/anthropic/opus[1m]
WWorkflow
Start Dev Review + QA ▾
Select phases to include:
Agents
Review Gates
Decision
WAT routing: choose an agent, review gate, or decision. Buttons use the live runtime when one is attached.
3rd confirmation: false review_ready also fired on MC-4506 (self-improve digest, status=waiting). Same signature — worker reply opens with echoed 'DONE: /REVIEW:/QUESTION: prefix...' instruction text. Confirms the parser bug is systemic across ticket types (ccgram build, self-improve digest), not MC-4460-specific. Raises blast radius: any worker that echoes the dispatch prompt false-signals. Keep high priority.
api12d ago
Additional evidence + scope: MC-4460 cancelled after the parser bug caused 4+ false review_ready cycles. Two compounding factors to fix beyond the prompt-echo parser:
1. (primary) prompt-echo → DONE:/REVIEW: parse → false review_ready.
2. A worker pulled ENTIRELY unrelated work into the pool slot (commit 9e22475: _disk_pressure_critical fix in luci_operator.py, never pushed) — i.e. dispatch handed a worker wrong/stale context, not just a parse issue. Check whether the pool slot reset-on-claim or context brief is leaking another ticket's task into the MC-4460 worker.
3. Operational note: commenting on an in_review/needs_input ticket re-dispatches it (mc_pickup.py:3887). A controller 'freeze' therefore can't be a comment on in_review — document/guard this so freezes don't self-thrash.
ACCEPTANCE ADDITION: after the parser fix + regression test, re-open the /stop_all kill-switch work (v1 contract preserved in cancelled MC-4460's description).
lucienne12d ago
Controller triage: Keystone bug confirmed with evidence from MC-4460 and MC-4506. Route to todo for Luci — fix the signal parser to not match DONE:/REVIEW:/QUESTION: when echoed inside dispatch instructions. Regression test required.
Luci12d ago
Closed prompt-echo false-signal gap in mc_pickup subprocess harvest (commit 64401ba3) + 10-case regression test; filed follow-ups MC-4547/4548/4549
luci12d ago
Workflow action `review_ready` applied. Work ready for review.
lucienne12d ago
Controller verification: keystone fix confirmed done.
Evidence:
- Commit 76fa7ba deployed on master
- Parser guard _is_echoed_signal_instruction_hint filters echoed instruction hints before matching DONE/REVIEW/QUESTION
- Regression test passes (test_extract_agent_response_ignores_echoed_signal_instruction_hint)
- Fix has been live since 2026-06-01 09:04, no false review_ready events observed since
Follow-ups tracked: MC-4547 (/stop_all), MC-4548 (pool-slot leak), MC-4549 (freeze self-thrash)