Window: last 24h (extended 72h for recurrence). Runs: 50. Total actions: 456. Avg actions/run: 8.12.
50 run_start
50 disk_worktree_snapshot
50 memory_snapshot
50 done_audit_summary
50 run_complete
40 blocked_lane_classification_summary
21 operator_ticket_exists
18 repo_dirty_observed
18 repo_dirty_all_known_generated
15 needs_input_runtime_failure_reset
11 operator_dev_loop_finished
10 active_lane_snapshot
9 recent_task_failure
9 terminal_ticket_runtime_closed
8 attach_operator_context_to_closed_failure_ticket
7 operator_dev_loop_throttled
7 blocked_lane_completed_marked_done
7 active_lane_backlog_observed
6 todo_backlog_observed
6 create_operator_ticket
4 promote_dead_zone_ticket
2 reopen_weak_done_ticket
2 breakglass_noop_healthy
1 pickup_direct_run
1 memory_pressure_observed
1 defer_task_failure_to_watchdog
1 stale_runtime_observed
1 stale_runtime_marked
1 stale_runtime_summary
ACTIVE_LANE_COUNT_TRIGGERtodo+in_progress is normal steady-state, not a drain failure.ACTIVE_LANE_COUNT_TRIGGER = 15 (near line 97).active_lane_backlog_observed false escalations and the corresponding recurring operator ticket. The ACTIVE_LANE_STALE_HOURS_TRIGGER = 2 still catches genuine stalls via the age path.\bssh\b from the needs-input retry regex_should_retry_misrouted_needs_input matches \bssh\b, which fires on unrelated text ("ssh key", "ssh tunnel", documentation mentions). With 15 needs_input_runtime_failure_reset actions in 50 runs, some fraction may be false resets driven by this overly broad token._should_retry_misrouted_needs_input (around line that builds the re.search(r"\b(crashed|...|ssh|timeout)\b" pattern).\bssh\b| from the alternation. harvest_timeout and the other specific failure tokens already cover the genuine SSH-related failure cases.crashed, worker died, runtime killed, 429, rate limit, connection …closed/reset) still catch real runtime failures._is_known_generated to mission-control repo_is_known_generated returns False for any repo_name != "workspace". The [operator:dirty-repo:mission-control] marker recurs 3× in 72h, likely from generated artifacts in the mission-control tree that the operator can't filter._is_known_generated, first guard clause (if repo_name != "workspace": return False).mission-control through the guard and add mission-control–specific generated prefixes (e.g. "reports/", "state/" — the actual paths should be gathered from one sample repo_dirty_observed log entry). Minimal code: drop the workspace-only guard and extend _GIT_KNOWN_GENERATED_PREFIXES with a per-repo mapping.dirty-repo:mission-control operator ticket, converting those runs into repo_dirty_all_known_generated (already at 18, adding the MC ones).TODO_BACKLOG_COUNT_TRIGGER[operator:ticket-backlog] recurs 3× in 72h. A threshold of 5 todo tickets may be below the natural steady-state between pickup cycles, causing the operator to fire _run_pickup_once() and open a ticket every time 5+ tickets briefly queue.TODO_BACKLOG_COUNT_TRIGGER = 5 (near line 95).TODO_BACKLOG_MINUTES_TRIGGER = 15) still catches true stalls when the count is 5–7 but aging.done without failure. Possible false positives in _has_strong_completion_evidence, but n=2 is insufficient to justify loosening the patterns. Re-examine if reopens exceed ~5/week.