You're offline — showing cached data

Luci · Code change. Dev-loop mandatory. Start with parser lo

runtime not set · chat:577:session · failed
×
Luci
Code change. Dev-loop mandatory. Start with parser location.
Luci
Note: 76fa7ba already touched echoed DONE/REVIEW in harvest. Need to find the actual signal parser. Grep.
Luci
Found the bug path. Harvest at mc_pickup.py:5917+ does `output.lstrip().upper().startswith(("DONE:","REVIEW:","QUESTION:"))` with NO echoed-hint guard. The interactive path (ticket_runtime.py) got the guard in 76fa7ba, but subprocess harvest didn't. Check imports + the interactive guard usage.
Luci
This worktree = mission-control repo; `mc_pickup.py` is in the separate workspace repo. Evidence says "transcript fragment" → interactive pane-mirror harvest (ticket_runtime.py) is likely the live false-fire, and MC-4535's guard may be incomplete. Read the interactive harvest fully.
Luci
Let me verify the actual re-dispatch path (factor #3, mc_pickup.py:3887) and whether the harvest hardening belongs in mc_pickup or ticket_runtime.
Luci
Re-dispatch rebuilds a fresh interactive session → false-fire is the pane-mirror harvest in ticket_runtime.py. MC-4535 (76fa7ba) partially patched it. Check what 76fa7ba actually did + whether it added a test.
Luci
MC-4535 fixed the **interactive** harvest (ticket_runtime.py). MC-4506 (subprocess pickup) false-fired through the **mc_pickup.py subprocess harvest**, which has no guard — that's the remaining keystone gap. Fix lands in `workspace/mc_pickup.py`. Check if mc_pickup can import the canonical helper (avoid drift).
Luci
mc_pickup.py already puts `mission-control` on sys.path (line 49) → I can reuse the canonical predicate from ticket_runtime (single source, no drift) with an inline fallback. Look at existing test style + confirm 76fa7ba is in deployed mission-control.
Luci
Deployed mission-control has the helper. Now implement the fix in `workspace/mc_pickup.py`. Add the strip helper near the signal-validation helpers.
Luci
Wiki confirms the documented parse path — my fix hardens it, no contradiction. Now apply the strip at the harvest chokepoint.
Luci
Now the regression test in the workspace repo.
Luci
All 10 pass. Run the existing pickup harvest/triage suites to confirm no regression.
Luci
Commit to the workspace repo (where mc_pickup.py lives — separate from this mission-control worktree).
Luci
Parser keystone fixed + tested + pushed. Now file follow-ups for the compounding factors (out of scope for the parser fix, per surgical-change discipline): the /stop_all re-open (acceptance addition) + factor #2 (wrong-context pool leak) + factor #3 (in_review comment re-dispatch / freeze guard).
Luci
Fix complete. Log activity, then report done.
Default runtime
Help