Incident Triage — Lower Entropy Response
The "don't panic, don't guess, lower machine entropy" playbook for federation incidents.
Overview
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.
Core Principles
- Structured logs: every action emits
{who, what, why, result} — readable by humans and machines
- Backoff + circuit breaker: stop noisy retries before they become noise (headscale style)
- Verification is terminal: never stop at "I changed it" — only at "it's fixed and confirmed"
- One owner per incident: one agent handles the entire triage; no parallel patches
- One change at a time: record every mutation, verify before the next
arifOS-ACT Embedding
Before using this skill on any mutating, irreversible, or high-blast-radius task:
- ART — Attune (what is the real task?), Recognize (what class of power?), Test (fit · authority · evidence · blast · reversible).
- Kernel — Route to arifOS for F1–F13 judgment if action class is Maker/Messenger/Mutator/Destroyer/Sovereign.
- ACT — Apply narrow, Constrain scope, Trace witness, STOP before corruption.
- Receipt — Leave evidence of what changed, why, and under whose authority.
When to Use
- A federation organ is red, unreachable, or failing health checks.
- A VAULT999 entry, memory record, or constitutional artifact looks wrong.
- A constitutional floor (F1–F13) trips or is suspected to be breached.
- Arif reports a bug, anomaly, or service impact.
- A runtime alert requires immediate structured response.
When NOT to Use
- Do not use for curiosity or "what if" probes. This skill is for confirmed or strongly suspected incidents only.
- Do not use to bypass the arifOS kernel for mutating, irreversible, or sovereign-class actions.
- Do not apply patches without containment, reversible staging, and kernel SEAL when required.
- If the root cause is upstream (cloud provider, OS, network), escalate instead of patching locally.
Inputs
| 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? |
Procedure
Step 0: Detect Restart Loop (Circuit Breaker)
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:
- If
NRestarts > 5 in 5 minutes → STOP THE LOOP immediately: systemctl stop <service>
- If
NRestarts > 20 in 1 hour → escalate to 888_HOLD — the service is masking a serious failure
- Log the circuit breaker event:
{who, what: "circuit breaker opened", why: "restart loop detected: NRestarts=<N>", result: "service stopped"}
- Do NOT restart until root cause is found
Step 1: Sense
Establish observable facts before interpreting.
- Run organ health probes:
systemctl status <unit> and journalctl -u <unit> --since '5m ago'.
- Use
mcp__arifos__arif_observe mode=vitals or mode=search for federation-wide signals.
- Use
mcp__arifos__arif_measure mode=health for thermodynamic and resource state.
- Capture timestamps, error lines, and affected service names verbatim.
- Log every probe:
{who: <agent>, what: "sense", why: <incident>, result: <findings>}
Step 2: Scope
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.
Step 3: Contain
Protect recoverability before changing anything.
- If data-loss risk exists: snapshot DB / vault / git state / config before any patch.
- If no data-loss risk: document current state and defer containment.
- For irreversible changes: route through arifOS kernel and obtain SEAL or sovereign ack.
- Apply the minimum change that stops active damage (e.g., restart, scale, toggle feature flag).
Step 4: Diagnose
Read, recall, and correlate. Stop hypothesizing when evidence explains the symptom.
- Read recent logs and config diffs with
Read and Grep.
- Recall prior incidents and deployments with
mcp__arifos__arif_memory mode=recall.
- Check recent git commits, deploys, and dependency changes.
- Check for patterns: same symptom in last 7 days? If yes → partial-fix, not new incident.
- Name the root cause with confidence level and supporting evidence.
- Log diagnosis:
{who: <agent>, what: "diagnose", why: <incident>, result: <root cause>}
Step 5: Patch — One Change at a Time
Minimum reversible change, committed and verified.
- Draft the smallest fix that addresses the root cause.
- One mutation per step. Never batch 3 fixes and restart — you won't know which one worked.
- Prefer commits over manual edits. Include a clear commit message.
- Deploy through the organ's standard path (systemd restart, service reload, etc.).
- Verify after EVERY change — if the fix didn't work, revert and try the next hypothesis.
- Backoff strategy: if a fix triggers a restart loop, apply exponential backoff before retrying:
- 1st retry: wait 5s
- 2nd retry: wait 30s
- 3rd retry: wait 120s (escalate)
- If the patch is irreversible, apply 888 HOLD before continuing.
- Log the change:
{who: <agent>, what: "patch", why: <root cause>, result: <outcome>}
Step 6: Postmortem + Structure Log
Close the loop with institutional memory.
- If a floor was breached, seal the postmortem to VAULT999 as witness.
- Write postmortem to
/root/INCIDENTS/<YYYY-MM-DD>-<slug>.md with:
- Trigger
- Scope classification
- Root cause and evidence
- Fix applied (one change only)
- Verification result
- Prevention measures
- If the same symptom recurs within 7 days, treat it as a partial-fix pattern, not a new incident.
- Final structured log:
{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"
}}
Allowed Tools
| 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 |
Forbidden Actions
- NEVER patch a production organ without first sensing, scoping, and containing.
- NEVER apply an irreversible patch without 888 HOLD / sovereign ack and kernel SEAL.
- NEVER skip the postmortem for constitutional or repeated incidents.
- NEVER treat scope creep as normal; STOP and re-scope.
- NEVER suppress or omit Ω₀ (uncertainty) in incident receipts.
- Escalate to arifOS 888_JUDGE if a constitutional floor is breached or two floors disagree.
Output Format
## 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>
Escalation Path
| 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 |
Fire-Time Reauthorization (WAJIB 5 — added 2026-07-19)
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.
Affected surfaces
- Cron jobs
- Queued workers
- Renovate / dependency-update PRs
- Scheduled deployments
- Delayed shell jobs
- Retry queues
- Event-triggered automation (watchers firing on condition)
- Long-running MCP tasks
- PR-bot comments → actions
The required invariant
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 |
Failure behavior
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
- Reason:
"DEFERRED_FIRE_TIME_AUTH_EXPIRED — wrote <timestamp>, expires <timestamp>, now <timestamp>"
Required implementation pattern
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);
}
Tests required
- Cron job queued today with
expires_at = today + 1h → tomorrow HOLD
- Scheduled deployment after upstream service became unavailable → HOLD with explicit reason
- Revoked session → all queued actions in that session become HOLD
- Branch changed between queue and fire → re-judge blast radius, may HOLD
- Retry queue after original action's rollback path broken → HOLD
Authority scope
WAJIB 5 is T3 (F13 ratification required). This skill section documents the protocol. Implementation requires scheduler integration with the kernel judgment pipeline.
Organ Disagreement Doctrine (WAJIB 7 — added 2026-07-19)
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.
Resolution order (mandatory)
- Hard veto conditions (any organ may trigger HOLD with evidence)
- Blast-radius precedence (organ owning dominant irreversible consequence receives higher weight)
- Pareto search (seek alternative satisfying all hard constraints before escalation)
- F13 escalation (if no acceptable option → escalate to Arif, never silently fall back to execution order)
Hard veto table
| 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.
Blast-radius precedence
| Dominant irreversible consequence |
Owner |
| Subsurface irreversibility |
GEOX |
| Capital survival / sovereign financial exposure |
WEALTH |
| Human safety, dignity, organizational collapse |
WELL |
| Constitutional / authority conflict |
arifOS |
Pareto search before escalation
Before escalating to F13, attempt:
- Smaller scope
- Delayed decision
- More evidence
- Pilot programme
- Reduced capital
- Different staffing
- Reversible experiment
F13 escalation payload
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.
Authority scope
WAJIB 7 is T3 (F13 ratification required). Doctrine documentation is T1.
Skill version 1.0.0 — AAA Skill Library
1---2name: forge-incident-triage3description: Six-step incident response playbook with structured logging, backoff/circuit-breaker for restart loops, and verification-as-terminal-state. Lower machine entropy.4---56# Incident Triage — Lower Entropy Response78The "don't panic, don't guess, lower machine entropy" playbook for federation incidents.910## Overview1112This 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.1314### Core Principles151. **Structured logs**: every action emits `{who, what, why, result}` — readable by humans and machines162. **Backoff + circuit breaker**: stop noisy retries before they become noise (headscale style)173. **Verification is terminal**: never stop at "I changed it" — only at "it's fixed and confirmed"184. **One owner per incident**: one agent handles the entire triage; no parallel patches195. **One change at a time**: record every mutation, verify before the next2021## arifOS-ACT Embedding2223Before using this skill on any mutating, irreversible, or high-blast-radius task:241. **ART** — Attune (what is the real task?), Recognize (what class of power?), Test (fit · authority · evidence · blast · reversible).252. **Kernel** — Route to arifOS for F1–F13 judgment if action class is Maker/Messenger/Mutator/Destroyer/Sovereign.263. **ACT** — Apply narrow, Constrain scope, Trace witness, STOP before corruption.274. **Receipt** — Leave evidence of what changed, why, and under whose authority.2829## When to Use3031- A federation organ is red, unreachable, or failing health checks.32- A VAULT999 entry, memory record, or constitutional artifact looks wrong.33- A constitutional floor (F1–F13) trips or is suspected to be breached.34- Arif reports a bug, anomaly, or service impact.35- A runtime alert requires immediate structured response.3637## When NOT to Use3839- **Do not use for curiosity or "what if" probes.** This skill is for confirmed or strongly suspected incidents only.40- **Do not use to bypass the arifOS kernel** for mutating, irreversible, or sovereign-class actions.41- **Do not apply patches** without containment, reversible staging, and kernel SEAL when required.42- If the root cause is upstream (cloud provider, OS, network), escalate instead of patching locally.4344## Inputs4546| Input | Required | Description |47|-------|----------|-------------|48| incident_signal | yes | What failed, tripped, or was reported (service name, floor, symptom) |49| affected_organ | yes | One or more federation organs involved |50| blast_radius | yes | organ-only / federation-wide / constitutional / sovereign |51| evidence_so_far | no | Logs, screenshots, alerts, or memory references already available |52| reversibility | yes | Can the suspected change be undone safely? |5354## Procedure5556### Step 0: Detect Restart Loop (Circuit Breaker)5758Before doing anything else, check if the service is in a restart loop.5960```bash61# Check restart count62systemctl show <service> -p NRestarts 2>/dev/null63# If >5 in 5 minutes: STOP. Circuit breaker open.64```6566**Circuit breaker rules:**67- If `NRestarts > 5` in 5 minutes → **STOP THE LOOP** immediately: `systemctl stop <service>`68- If `NRestarts > 20` in 1 hour → escalate to 888_HOLD — the service is masking a serious failure69- Log the circuit breaker event: `{who, what: "circuit breaker opened", why: "restart loop detected: NRestarts=<N>", result: "service stopped"}`70- Do NOT restart until root cause is found7172### Step 1: Sense7374Establish observable facts before interpreting.7576- Run organ health probes: `systemctl status <unit>` and `journalctl -u <unit> --since '5m ago'`.77- Use `mcp__arifos__arif_observe` mode=vitals or mode=search for federation-wide signals.78- Use `mcp__arifos__arif_measure` mode=health for thermodynamic and resource state.79- Capture timestamps, error lines, and affected service names verbatim.80- **Log every probe**: `{who: <agent>, what: "sense", why: <incident>, result: <findings>}`8182### Step 2: Scope8384Classify the incident to prevent scope creep.8586| Scope | Definition | Response |87|-------|------------|----------|88| Organ-only | One service or repo affected | Local containment + organ owner |89| Federation-wide | Multiple organs or A2A/MCP transport impacted | Federation ops + kernel notice |90| Constitutional | F-floor tripped or governance invariant violated | arifOS 888_JUDGE + witness |91| Sovereign | Human authority, safety, or dignity at risk | 888 HOLD + Arif |9293Stop if scope starts expanding mid-diagnosis. Re-scope and re-authorize.9495### Step 3: Contain9697Protect recoverability before changing anything.9899- If data-loss risk exists: snapshot DB / vault / git state / config before any patch.100- If no data-loss risk: document current state and defer containment.101- For irreversible changes: route through arifOS kernel and obtain SEAL or sovereign ack.102- Apply the minimum change that stops active damage (e.g., restart, scale, toggle feature flag).103104### Step 4: Diagnose105106Read, recall, and correlate. Stop hypothesizing when evidence explains the symptom.107108- Read recent logs and config diffs with `Read` and `Grep`.109- Recall prior incidents and deployments with `mcp__arifos__arif_memory` mode=recall.110- Check recent git commits, deploys, and dependency changes.111- **Check for patterns**: same symptom in last 7 days? If yes → partial-fix, not new incident.112- Name the root cause with confidence level and supporting evidence.113- **Log diagnosis**: `{who: <agent>, what: "diagnose", why: <incident>, result: <root cause>}`114115### Step 5: Patch — One Change at a Time116117Minimum reversible change, committed and verified.118119- Draft the smallest fix that addresses the root cause.120- **One mutation per step.** Never batch 3 fixes and restart — you won't know which one worked.121- Prefer commits over manual edits. Include a clear commit message.122- Deploy through the organ's standard path (systemd restart, service reload, etc.).123- **Verify after EVERY change** — if the fix didn't work, revert and try the next hypothesis.124- **Backoff strategy**: if a fix triggers a restart loop, apply exponential backoff before retrying:125 - 1st retry: wait 5s126 - 2nd retry: wait 30s 127 - 3rd retry: wait 120s (escalate)128- If the patch is irreversible, apply 888 HOLD before continuing.129- Log the change: `{who: <agent>, what: "patch", why: <root cause>, result: <outcome>}`130131### Step 6: Postmortem + Structure Log132133Close the loop with institutional memory.134135- If a floor was breached, seal the postmortem to VAULT999 as witness.136- Write postmortem to `/root/INCIDENTS/<YYYY-MM-DD>-<slug>.md` with:137 - Trigger138 - Scope classification139 - Root cause and evidence140 - Fix applied (one change only)141 - Verification result142 - Prevention measures143- If the same symptom recurs within 7 days, treat it as a partial-fix pattern, not a new incident.144- **Final structured log**:145 ```146 {who: <agent>, what: "postmortem", why: <incident>, result: {147 trigger: <symptom>,148 root_cause: <finding>,149 fix: <change applied>,150 verified: <true/false>,151 prevention: <measure>,152 escrow_location: "/root/INCIDENTS/<file>.md"153 }}154 ```155156## Allowed Tools157158| Tool | Purpose |159|------|---------|160| `Bash` | Run system commands, health scripts, and log inspection |161| `Read` | Inspect config files, unit files, and incident logs |162| `Grep` | Search code, logs, and configs for root-cause signals |163| `mcp__arifos__arif_observe` | Federation vitals, web/entropy signals, repository state |164| `mcp__arifos__arif_memory` | Recall prior incidents, deploys, and decisions |165| `mcp__arifos__arif_measure` | Health, cost, drift, and topology checks |166| `mcp__arifos__arif_init` | Start governed constitutional session before high-risk actions |167| `mcp__arifos__arif_judge` | Request SEAL / SABAR / VOID verdict from arifOS |168| `mcp__arifos__arif_forge` | Execute bounded, SEAL-authorized changes |169| `mcp__arifos__arif_seal` | Append incident witness receipt to VAULT999 |170171## Forbidden Actions172173- **NEVER** patch a production organ without first sensing, scoping, and containing.174- **NEVER** apply an irreversible patch without 888 HOLD / sovereign ack and kernel SEAL.175- **NEVER** skip the postmortem for constitutional or repeated incidents.176- **NEVER** treat scope creep as normal; STOP and re-scope.177- **NEVER** suppress or omit Ω₀ (uncertainty) in incident receipts.178- Escalate to **arifOS 888_JUDGE** if a constitutional floor is breached or two floors disagree.179180## Output Format181182```markdown183## Skill Result: incident-triage184185### Summary186One-paragraph summary of the incident, scope, root cause, and current status.187188### Evidence189- Symptom: <what failed>190- Scope: <organ-only / federation-wide / constitutional / sovereign>191- Root cause: <finding with confidence>192- Containment: <what was preserved>193- Patch: <change applied or deferred>194195### Recommendations196- Immediate verification step197- Prevention or monitoring improvement198199### Escalations200- None / <list with owner and method>201```202203## Escalation Path204205| Condition | Escalate To | Method |206|-----------|-------------|--------|207| Constitutional floor tripped | arifOS 888_JUDGE | A2A verdict_request / MCP arif_judge |208| Irreversible action needed | Arif (F13 SOVEREIGN) | 888 HOLD |209| Root cause upstream (provider/OS/network) | Federation ops + A-FORGE | A2A ops channel |210| Scope creep during response | STOP + re-authorize via kernel | new ART cycle |211| Same incident within 7 days | Senior ops + postmortem review | incident registry |212213---214215## Fire-Time Reauthorization (WAJIB 5 — added 2026-07-19)216217A 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.218219### Affected surfaces220221- Cron jobs222- Queued workers223- Renovate / dependency-update PRs224- Scheduled deployments225- Delayed shell jobs226- Retry queues227- Event-triggered automation (watchers firing on condition)228- Long-running MCP tasks229- PR-bot comments → actions230231### The required invariant232233Every deferred mutation must be judged TWICE:234235```236write-time authorization237 +238fire-time authorization (re-judged at execution)239```240241At fire time, the system MUST re-check:242243| Check | Why |244|---|---|245| Identity and session validity | Session may have expired or been revoked |246| Lease expiry | Lease may have lapsed |247| Current branch / commit | Source of truth may have changed |248| Current target state | The world the action was queued against may have moved |249| Changed blast radius | Conditions may have widened the impact |250| New evidence | A new finding may invalidate the original decision |251| Human approval validity | Aprover may have rescinded |252| Dependency health | A package update may have failed |253| Rollback availability | The rollback path may now be broken |254| Whether the request has been revoked | Revocation must propagate to all queued instances |255256### Failure behavior257258A scheduled action with **expired authority MUST become HOLD, not "continue because it was approved yesterday."**259260This is a **HARD kernel rule**:261- `write_time_authorization.expiry < now()` → return 888_HOLD at fire time262- Reason: `"DEFERRED_FIRE_TIME_AUTH_EXPIRED — wrote <timestamp>, expires <timestamp>, now <timestamp>"`263264### Required implementation pattern265266```ts267async function fireDeferredAction(deferred: DeferredEnvelope): Promise<FireResult> {268 const authCheck = await reauthorizeAtFireTime(deferred);269 if (!authCheck.valid) {270 return {271 state: "HOLD",272 reason: authCheck.reason,273 receipt: await vault.append({ type: "deferred_fire_hold", ... })274 };275 }276 return forgeExecute(authCheck.scope);277}278```279280### Tests required281282- Cron job queued today with `expires_at = today + 1h` → tomorrow HOLD283- Scheduled deployment after upstream service became unavailable → HOLD with explicit reason284- Revoked session → all queued actions in that session become HOLD285- Branch changed between queue and fire → re-judge blast radius, may HOLD286- Retry queue after original action's rollback path broken → HOLD287288### Authority scope289290WAJIB 5 is **T3 (F13 ratification required)**. This skill section documents the protocol. Implementation requires scheduler integration with the kernel judgment pipeline.291292---293294## Organ Disagreement Doctrine (WAJIB 7 — added 2026-07-19)295296When 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.297298### Resolution order (mandatory)2993001. **Hard veto conditions** (any organ may trigger HOLD with evidence)3012. **Blast-radius precedence** (organ owning dominant irreversible consequence receives higher weight)3023. **Pareto search** (seek alternative satisfying all hard constraints before escalation)3034. **F13 escalation** (if no acceptable option → escalate to Arif, never silently fall back to execution order)304305### Hard veto table306307| Organ | May veto when | Release condition |308|---|---|---|309| GEOX | Physical infeasibility OR unacceptable earth uncertainty | New data or revised interpretation that resolves the issue |310| WELL | Unsafe human or operational readiness | Confirmed safe capacity + witness |311| WEALTH | Insolvency, unaffordable exposure, prohibited capital risk | Restructured deal OR capital limit raised |312| arifOS | Authority, law, or constitutional violation | Ratified exception OR constitutional amendment |313314A veto MUST include evidence + defined release condition. Rhetorical veto is not permitted.315316### Blast-radius precedence317318| Dominant irreversible consequence | Owner |319|---|---|320| Subsurface irreversibility | GEOX |321| Capital survival / sovereign financial exposure | WEALTH |322| Human safety, dignity, organizational collapse | WELL |323| Constitutional / authority conflict | arifOS |324325### Pareto search before escalation326327Before escalating to F13, attempt:328- Smaller scope329- Delayed decision330- More evidence331- Pilot programme332- Reduced capital333- Different staffing334- Reversible experiment335336### F13 escalation payload337338If no acceptable Pareto option exists:339340```yaml341unresolved_conflict:342 intent: <original request>343 vetoes: [{organ, reason, evidence, release_condition}, ...]344 competing_actions:345 - path: <GEOX recommendation>346 evidence: <refs>347 consequences: <list>348 reversibility: <class>349 - path: <WEALTH recommendation>350 ...351 - path: <WELL recommendation>352 ...353 recommended_least_regret: <one path with justification>354 explicit_unknowns: <list>355```356357The kernel does NOT manufacture consensus. It escalates with full disagreement visible.358359### Authority scope360361WAJIB 7 is **T3 (F13 ratification required)**. Doctrine documentation is T1.362363---364365*Skill version 1.0.0 — AAA Skill Library*