Skip to content

■ SIGNALS // RADAR SIGNAL

the repair tool has an exit plan

A recovery harness that expects deletion, a tailnet phone view for terminal panes, and local receipts for agent instruction files.

[!] ON THIS PAGE

self.md radar — 2026-09-21

the repair tool has an exit plan

Bailout is for the exact failure where a new or damaged machine has no working coding agent to repair itself. Its answer is severe: give a temporary tool the shell, restore the normal setup, then remove the helper.

1. Bailout is built for the broken-machine gap

Bailout is a recovery harness for a fresh Mac or VM, or for the case where a coding agent has stopped starting. Its README says the bootstrap needs no account, local API key, Git, Node, Python, or pre-existing agent. On Apple Silicon, version 0.7.3 is listed at 638.6 KB.

That size does not prove safety. Bailout gives its model Bash and says commands run automatically with the user’s permissions. The project also says it is not a sandbox. Once OpenCode, Claude Code, Pi, or the normal setup works again, its documented job is over: delete the rescue tool.

reading: Bailout repository

2. ColliePWA keeps the pane intact

ColliePWA sends terminal-multiplexer panes to a phone: raw screen output, replies, keystrokes, agent alerts, and a countdown for prompt-cache warmth. Herdr is the documented main backend; tmux and Zellij are marked experimental.

Its stated deployment boundary is concrete. The service binds to loopback, stays behind a tailnet or custom ingress, and pairs devices rather than using a cloud intermediary. The phone view is meant to preserve ANSI-coloured terminal output byte for byte. A person about to resume a command can see the same pane rather than a status summary.

reading: ColliePWA documentation

3. RuleReceipt leaves some rules unresolved

RuleReceipt reads CLAUDE.md and AGENTS.md, then checks a recent Claude Code transcript against the rules it can identify. A normal local check makes zero network calls, according to the project.

The useful constraint is in the result types. A structured check can see an actual git argument or file operation and may report FAIL. A literal text match remains UNCLEAR, because seeing a forbidden string does not prove the action happened. Judgment rules need the optional LLM path; otherwise they remain unresolved. --show-skipped exposes rules the parser did not recognize, so the audit can name the blind spot.

reading: RuleReceipt repository