skills/FORGE-incident-triage/SKILL.md
Six-step incident response playbook with structured logging, backoff/circuit-breaker for restart loops, and verification-as-terminal-state. Lower machine entropy.
npx skillsauth add ariffazil/openclaw-workspace FORGE-incident-triageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The "don't panic, don't guess, lower machine entropy" playbook for federation incidents.
This skill provides a disciplined six-step response for incidents affecting federation organs, constitutional floors, or sovereign-reported faults. It forces sensing and scoping before action, containment before diagnosis, and verification before closure. Every step leaves evidence suitable for VAULT999 witness.
{who, what, why, result} — readable by humans and machinesBefore using this skill on any mutating, irreversible, or high-blast-radius task:
| Input | Required | Description | |-------|----------|-------------| | incident_signal | yes | What failed, tripped, or was reported (service name, floor, symptom) | | affected_organ | yes | One or more federation organs involved | | blast_radius | yes | organ-only / federation-wide / constitutional / sovereign | | evidence_so_far | no | Logs, screenshots, alerts, or memory references already available | | reversibility | yes | Can the suspected change be undone safely? |
Before doing anything else, check if the service is in a restart loop.
# Check restart count
systemctl show <service> -p NRestarts 2>/dev/null
# If >5 in 5 minutes: STOP. Circuit breaker open.
Circuit breaker rules:
NRestarts > 5 in 5 minutes → STOP THE LOOP immediately: systemctl stop <service>NRestarts > 20 in 1 hour → escalate to 888_HOLD — the service is masking a serious failure{who, what: "circuit breaker opened", why: "restart loop detected: NRestarts=<N>", result: "service stopped"}Establish observable facts before interpreting.
systemctl status <unit> and journalctl -u <unit> --since '5m ago'.mcp__arifos__arif_observe mode=vitals or mode=search for federation-wide signals.mcp__arifos__arif_measure mode=health for thermodynamic and resource state.{who: <agent>, what: "sense", why: <incident>, result: <findings>}Classify the incident to prevent scope creep.
| Scope | Definition | Response | |-------|------------|----------| | Organ-only | One service or repo affected | Local containment + organ owner | | Federation-wide | Multiple organs or A2A/MCP transport impacted | Federation ops + kernel notice | | Constitutional | F-floor tripped or governance invariant violated | arifOS 888_JUDGE + witness | | Sovereign | Human authority, safety, or dignity at risk | 888 HOLD + Arif |
Stop if scope starts expanding mid-diagnosis. Re-scope and re-authorize.
Protect recoverability before changing anything.
Read, recall, and correlate. Stop hypothesizing when evidence explains the symptom.
Read and Grep.mcp__arifos__arif_memory mode=recall.{who: <agent>, what: "diagnose", why: <incident>, result: <root cause>}Minimum reversible change, committed and verified.
{who: <agent>, what: "patch", why: <root cause>, result: <outcome>}Close the loop with institutional memory.
/root/INCIDENTS/<YYYY-MM-DD>-<slug>.md with:
{who: <agent>, what: "postmortem", why: <incident>, result: {
trigger: <symptom>,
root_cause: <finding>,
fix: <change applied>,
verified: <true/false>,
prevention: <measure>,
escrow_location: "/root/INCIDENTS/<file>.md"
}}
| Tool | Purpose |
|------|---------|
| Bash | Run system commands, health scripts, and log inspection |
| Read | Inspect config files, unit files, and incident logs |
| Grep | Search code, logs, and configs for root-cause signals |
| mcp__arifos__arif_observe | Federation vitals, web/entropy signals, repository state |
| mcp__arifos__arif_memory | Recall prior incidents, deploys, and decisions |
| mcp__arifos__arif_measure | Health, cost, drift, and topology checks |
| mcp__arifos__arif_init | Start governed constitutional session before high-risk actions |
| mcp__arifos__arif_judge | Request SEAL / SABAR / VOID verdict from arifOS |
| mcp__arifos__arif_forge | Execute bounded, SEAL-authorized changes |
| mcp__arifos__arif_seal | Append incident witness receipt to VAULT999 |
## Skill Result: incident-triage
### Summary
One-paragraph summary of the incident, scope, root cause, and current status.
### Evidence
- Symptom: <what failed>
- Scope: <organ-only / federation-wide / constitutional / sovereign>
- Root cause: <finding with confidence>
- Containment: <what was preserved>
- Patch: <change applied or deferred>
### Recommendations
- Immediate verification step
- Prevention or monitoring improvement
### Escalations
- None / <list with owner and method>
| Condition | Escalate To | Method | |-----------|-------------|--------| | Constitutional floor tripped | arifOS 888_JUDGE | A2A verdict_request / MCP arif_judge | | Irreversible action needed | Arif (F13 SOVEREIGN) | 888 HOLD | | Root cause upstream (provider/OS/network) | Federation ops + A-FORGE | A2A ops channel | | Scope creep during response | STOP + re-authorize via kernel | new ART cycle | | Same incident within 7 days | Senior ops + postmortem review | incident registry |
A decision made at write-time (job creation, cron entry, queue submission) is NOT automatically valid at fire-time (when the job runs). The world changes between scheduling and execution. Authorization must be re-judged.
Every deferred mutation must be judged TWICE:
write-time authorization
+
fire-time authorization (re-judged at execution)
At fire time, the system MUST re-check:
| Check | Why | |---|---| | Identity and session validity | Session may have expired or been revoked | | Lease expiry | Lease may have lapsed | | Current branch / commit | Source of truth may have changed | | Current target state | The world the action was queued against may have moved | | Changed blast radius | Conditions may have widened the impact | | New evidence | A new finding may invalidate the original decision | | Human approval validity | Aprover may have rescinded | | Dependency health | A package update may have failed | | Rollback availability | The rollback path may now be broken | | Whether the request has been revoked | Revocation must propagate to all queued instances |
A scheduled action with expired authority MUST become HOLD, not "continue because it was approved yesterday."
This is a HARD kernel rule:
write_time_authorization.expiry < now() → return 888_HOLD at fire time"DEFERRED_FIRE_TIME_AUTH_EXPIRED — wrote <timestamp>, expires <timestamp>, now <timestamp>"async function fireDeferredAction(deferred: DeferredEnvelope): Promise<FireResult> {
const authCheck = await reauthorizeAtFireTime(deferred);
if (!authCheck.valid) {
return {
state: "HOLD",
reason: authCheck.reason,
receipt: await vault.append({ type: "deferred_fire_hold", ... })
};
}
return forgeExecute(authCheck.scope);
}
expires_at = today + 1h → tomorrow HOLDWAJIB 5 is T3 (F13 ratification required). This skill section documents the protocol. Implementation requires scheduler integration with the kernel judgment pipeline.
When GEOX, WEALTH, and WELL recommend incompatible actions — all internally valid — the federation needs a binding resolution order. Majority vote does not apply; three organs are not interchangeable voters.
| Organ | May veto when | Release condition | |---|---|---| | GEOX | Physical infeasibility OR unacceptable earth uncertainty | New data or revised interpretation that resolves the issue | | WELL | Unsafe human or operational readiness | Confirmed safe capacity + witness | | WEALTH | Insolvency, unaffordable exposure, prohibited capital risk | Restructured deal OR capital limit raised | | arifOS | Authority, law, or constitutional violation | Ratified exception OR constitutional amendment |
A veto MUST include evidence + defined release condition. Rhetorical veto is not permitted.
| Dominant irreversible consequence | Owner | |---|---| | Subsurface irreversibility | GEOX | | Capital survival / sovereign financial exposure | WEALTH | | Human safety, dignity, organizational collapse | WELL | | Constitutional / authority conflict | arifOS |
Before escalating to F13, attempt:
If no acceptable Pareto option exists:
unresolved_conflict:
intent: <original request>
vetoes: [{organ, reason, evidence, release_condition}, ...]
competing_actions:
- path: <GEOX recommendation>
evidence: <refs>
consequences: <list>
reversibility: <class>
- path: <WEALTH recommendation>
...
- path: <WELL recommendation>
...
recommended_least_regret: <one path with justification>
explicit_unknowns: <list>
The kernel does NOT manufacture consensus. It escalates with full disagreement visible.
WAJIB 7 is T3 (F13 ratification required). Doctrine documentation is T1.
Skill version 1.0.0 — AAA Skill Library
development
Federation-wide gold (XAUUSD) trading capability. Python stack, OANDA broker, backtesting, macro signals, RSI strategy. Every organ has a role.
development
Capital claim state management — tracks claim lifecycle across WEALTH organ.
development
Archived constitutional warga placeholder retained only for audit provenance. Do not use for active work; use the live arifOS governance and constitutional skills instead.
testing
Warga (citizen) agent skills for AAA federation members. See subdirectories for specialized warga skills.