You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: skills/loopx-self-repair/references/repair-patterns.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -63,6 +63,7 @@ teaches a reusable control-plane lesson.
63
63
|`stale_active_next_priority_override`| A lower-priority todo named by durable `Next Action` becomes `agent_lane_next_action` even though the same peer has a higher-priority capability-runnable todo, commonly after a deferred P0 resumes or another peer refreshes shared state. | scoped quota payload, `capability_gate.runnable_candidates`, `agent_lane_next_action`, active-state `Next Action`, todo priority/resume/claim metadata, recent peer writes. | The active-next hint was ranked before todo priority, so stale steering text acted as a global override instead of a same-priority tie-breaker. | Preserve peer claim/profile routing, then rank todo priority before active-next preference; keep active-next as a same-priority tie-breaker. Cover a resume-ready P0 plus lower-priority active-next and concurrent other-peer work. |
64
64
|`status_projection_history_neutral_gap`|`quota should-run` reports no user action or quiet monitor behavior, but `status` / `diagnose --limit N` misreports a stale controller/user gate or older connected-without-run state after recent monitor/spend/readiness events. | quota payload, diagnose/status payload, recent history classifications, neutral-run classification sets, UI `--limit`, latest meaningful state run. | Status/history/quota disagree on which runs are status-neutral, or a short display limit is reused as the control-plane reasoning window. | Share the neutral classification contract across history/status/quota and reason over a wider internal state window before trimming displayed runs; add a regression with consecutive neutral runs before a meaningful state transition. |
65
65
| `monitor_replan_noop_loop` | Recent runs are monitor-only, replan, or self-repair-adjacent, but the same monitor/action recommendation keeps returning and no runnable todo, blocker, successor, supersede, user gate, capability change, or monitor-target change appears. A sharper form is `goal_frontier_projection` showing a monitor-only lane with zero current, unclaimed, or other-agent advancement frontier. | quota payload, `goal_frontier_projection`, interaction contract, todo summaries, recent history classifications, latest replan ACK, monitor target, active state todos. | Self-repair/replan was recorded as activity but did not change the machine-visible work frontier, or generic vision/no-follow-up deltas silently converted an empty active-goal frontier into a monitor wait. | Require a repair delta contract: classify no-delta repairs as no-ops, then add a blocker, supersede stale monitor work, create a successor runnable todo, or record an explicit `watch_lane_continuation` with expiry. Generic vision, no-follow-up, and next-action deltas must not suppress empty-frontier replan by themselves. |
66
+
|`watch_lane_ack_causality_gap`| An accepted, expiring `watch_lane_continuation` clears one replan, but two later quiet heartbeat receipts reopen the same dead-monitor obligation before the watch is due; a stale ACK may also suppress a changed or expired monitor. | dead-monitor target id, compact ACK frontier identity and watch Todo ids, current scoped monitor target/cadence/due/expiry, agent vision advancement policy, and completed-Todo outcome checkpoint. | Dead-monitor obligations had no causal frontier identity, compact ACKs dropped their exact watch evidence, or a completed-Todo checkpoint treated every watch-only replan as invalid regardless of an as-needed vision. | Bind the obligation and ACK to the same monitor target, retain bounded exact watch Todo ids, revalidate that watch and expiry on every suppression, and allow an evidence-linked `as_needed` watch replan to close the completed-Todo checkpoint. Missing ACK/evidence, target drift, expiry, and `repeat_until_closed` remain replan triggers. |
66
67
| `vision_replan_writeback_gap` | The user or agent identifies a missing outcome, acceptance condition, or product bottleneck, but later `quota should-run` shows no `goal_frontier_projection.acceptance_gaps[]`, no per-agent `agent_vision` / `vision_checkpoint_v0`, and no replan obligation; the agent keeps following older runnable todos or monitor waits. | recent user correction, `loopx history --goal-id`, latest runs' `agent_vision` and `vision_checkpoint`, quota `goal_frontier_projection.acceptance_gaps`, active-state todos, bad-case report or incident note. | The insight stayed in chat, prose, or a report instead of being converted into a bounded `goal_vision_replan_contract_v0` packet, per-agent checkpoint decision, or concrete successor todo. | Write `loopx refresh-state --agent-id <agent-id> --vision-summary ... --vision-replan-trigger ...` or `--agent-vision-json <packet>` with a compact `replan_trigger_summary`; use `--vision-unchanged-reason` when the current per-agent vision still applies; and add/link a successor todo when the next executable step is known. Then rerun quota so the vision gap or `vision_checkpoint_missing` can become `autonomous_replan_required` before local quiet/wait states. |
67
68
| `active_goal_closed_vision_succession_gap` | A bounded stage is correctly marked `vision_closed`, but the registry goal remains active; quota shows no acceptance gap or exposes one without requiring replan, then continues ordinary or resume-ready deferred work or monitor quiet without establishing the next vision. | latest per-agent `agent_vision`, registry goal status, quota `goal_frontier_projection`, remaining open/deferred advancement todos, terminal lane rationale. | Closed vision was treated as terminal, or a generic ready-deferred shortcut returned before the successor-vision gap was evaluated, so closing one accepted stage erased or demoted the long-horizon vision frontier. | Treat `vision_closed` as stage closure: for an active registry goal, project `vision_successor_required` and run replan even when ordinary or resume-ready deferred advancement already exists. Explicit user/blocking handoff gates still take precedence. Only `retired`, `superseded`, or `no_followup` may terminate the lane without another vision. Cover active/inactive goal and runnable/deferred/empty frontier cases. |
68
69
|`scheduler_liveness_backoff_gap`|`quota should-run` says `should_run=false`, `quiet_noop_allowed=true`, no spend, or `automation_action=keep_active_quiet`, but the host keeps polling at the bootstrap cadence for hours; Codex CLI TUI or Claude Code `/loop` also keeps repeating unchanged checks. | quota payload `automation_liveness`, `interaction_contract`, `heartbeat_recommendation`, host automation cadence, CLI/Claude loop logs or statusline, recent no-spend poll history. | LoopX separated execution permission from user notification, but did not expose a machine-readable next-wakeup/backoff/final-check/exit policy for host runtimes. | Add or repair `quota should-run.scheduler_hint`; host runtimes must apply Codex App cadence backoff and CLI/Claude unchanged-poll final quota/replan check before self-stop, without quota spend. Prompt/docs should treat fixed 3-minute cadence as bootstrap only. |
0 commit comments