Plate № 31 · Operations · agent-assisted recovery
A pattern from the gf.cx specimen book
Turn a cold RED into a dispatched investigation
"Every day I ask you to fix a broken script, it's really setting up a boundary of independent actions."
The panel is where an operator flags an agent across that boundary — the failing tile stops being a to-do and becomes a one-click dispatch.
The problem
A status board that shows RED but no path to act just makes the operator carry the whole diagnosis in their head. Every failing tile is a context-gathering task before any fix can begin: which check flagged it, what's the signature, is it even real or a cry-wolf tripwire. The colour tells you something is wrong; it tells you nothing about what to do next. That gap between "noticed" and "actionable" is where a red tile sits, ignored, for days.
The instinct is to pile more detail onto the tile — but a wall of raw audit output is its own kind of unactionable. What the operator actually needs at the moment of noticing is the attributed failure point (which audit, what signature, what restore verdict) and a way to hand that context, whole, to something that can chase it down.
The element, in-page
On a failing asset's detail page, a collapsible panel does two things. First it surfaces the attributed failure line: the audit that flagged this asset, the failure signature, and the restore verdict — the failure made legible in one row. Second, it hands over a copy-ready, asset-scoped agent brief: a short prompt already filled in with the class, state, attributed check, signature, restore verdict, and the detail-page URL, ending with the cry-wolf-vs-real ask. The operator clicks Copy, pastes it into an AI coding agent, and the investigation starts with full context rather than a blank prompt. The reveal is a native <details> — zero JS, Rocket-Loader-safe — and it appears only on warn/risk assets, so an ok tile stays clean and the CTA stays meaningful. Flip the tabs to read the source.
checkout drift — runtime differs from tracked
⚙ Investigate via agent
Attributed failure
gfcx_script_drift_audit · checkout drift · restore not recoverable
Investigate the /core recoverability failure for `fleet_status_report.py` (Core scripts class), currently RISK. Attributed check: gfcx_script_drift_audit Signature: checkout drift — runtime differs from tracked Restore: not recoverable — checkout drift Detail page: https://status.gf.cx/core/fleet_status_report.py/ Diagnose whether this is a real recoverability gap or a cry-wolf tripwire, then propose or apply the fix.
Paste into an AI coding agent to dispatch an investigation. Ok assets show no panel — the CTA appears only where there's something to fix.
Where it applies
- Any status or ops board with per-asset detail pages — the panel lives on the detail page for a single failing asset, where there's room for the attributed-failure line and the full brief. It first earned its keep on status.gf.cx/core, the recoverability surface, on per-asset pages like
fleet_status_report.py. - Recoverability and health dashboards — anywhere a check produces a red verdict that a human then has to diagnose. The panel is the bridge from "the audit flagged it" to "an agent is on it."
- Skip it on ok/green assets. No panel appears where there's nothing to fix — the CTA stays meaningful precisely because it's warn/risk-only. A green tile that also offered "investigate" would train the operator to ignore the button.
- Scope the brief tightly. The dispatched agent should need no follow-up questions: class, state, attributed check, signature, restore verdict, and the detail-page URL all travel in the prompt. A brief that makes the agent ask "which asset? which check?" has failed its one job.
Reusable elements
- Native-
<details>accordion with a::beforechevron — the reveal is pure HTML, no JavaScript, so it survives Cloudflare Rocket Loader untouched. The house accordion idiom: a rotating chevron on[open], marker suppressed, keyboard-focusable summary. - Attributed-failure line — the one-row
check · signature · restore verdictcomposition. The "make the failure legible" primitive: it turns a raw red state into a sentence an operator (or an agent) can act on. - Scoped agent-brief
<pre>+ one-click copy — the pre-filled prompt block and its copy button, using the Clipboard API with a select-rangeexecCommandfallback for older or permission-restricted contexts. The only JS on the panel, and only for the clipboard. - Warn/risk-only gating — the rule that the panel renders only on failing assets. The CTA appears exactly where it's actionable, and nowhere else — the same "meaningful signal, not noise" discipline the status hub applies throughout.
Reference
- Source
- Dan, 2026-08-05 — "Every day I ask you to fix a broken script, it's really setting up a boundary of independent actions." The daily notice-RED → prompt → fix loop is Dan marking the boundary of what an agent may do autonomously; this affordance is where the operator flags an agent across that boundary. It's the "flag an agent to investigate" half of the gf.cx Ops Medic north-star.
- In use · example
- status.gf.cx/core per-asset pages — the recoverability surface, where a failing asset such as
fleet_status_report.pycarries the panel with its attributed-failure line and copy-ready brief. A static page can't dispatch an agent itself yet; v1 hands you the exact brief to paste, and the panel is the clean slot to wire a live dispatch endpoint into later. - Reusable elements
- Native-
<details>accordion (zero-JS, Rocket-Loader-safe) · attributed-failure line (check · signature · restore verdict) · scoped agent-brief<pre>+ one-click copy (Clipboard API w/ select-range fallback) · warn/risk-only gating. - Origin
- status.gf.cx/core recoverability surface, 2026-08-05 — first shipped on the per-asset detail pages of the /core registry of recoverability classes, turning a cold RED into a one-click path to a dispatched investigation.