conflict command
Stop everything and surface a rule conflict — persona vs. docs vs. code. Present both sides and the conflict-hierarchy level; the user resolves.
/ca:conflict$ca-conflict/ca-conflictAvailability is read from each shipped host catalog. Preview-only commands are marked on the page.
What it does
Section titled “What it does”The protocol for a rule conflict — not a skill route, an orchestrator-level halt. When two sources
disagree (the persona vs. a .codearbiter/ document, a doc vs. code, or two docs against each
other), everything in progress stops, both passages are quoted exactly, and the tension is
classified against the conflict-resolution hierarchy so you can see which level it sits at. The
orchestrator never picks a side, and recency alone never decides it — a more-recently-updated
source is noted as informational, not determinative. It also fires automatically whenever the
orchestrator detects this class of contradiction on its own, not just when invoked directly.
/ca:conflictTakes no arguments — it presents whatever conflict triggered it (or the most recent one it detected).
Example
Section titled “Example”> /ca:conflict
## Conflict detected — work halted
### Source AFile: plugins/ca/arbiter.md · Last updated: 2026-06-10> Direct commit to a protected branch is prohibited.
### Source BFile: .codearbiter/decisions/0004-fast-forward-hotfix-branch.md · Last updated: 2026-07-01> Hotfix commits may land directly on main under the fast-forward exception.
### Nature of conflictADR-0004 appears to carve an exception into a hard rule the persona states as absolute.
### Conflict-hierarchy levelLevel 1 — a hard rule vs. an accepted ADR.
### To resolveUpdate ADR-0004 to route through commit-gate, or supersede the hard rule via a new ADR.
---Work is halted. Resolve before the orchestrator proceeds.When to reach for it
Section titled “When to reach for it”You rarely invoke this directly — it’s usually the orchestrator surfacing a contradiction it found.
For a gate you’ve decided to bypass rather than a contradiction to resolve, that’s /ca:override.
| Gate | When | Effect |
|---|---|---|
| halt on detection | the persona, a .codearbiter/ document, and code contradict each other — or two docs contradict each other | all other work stops, both sides are quoted side by side and classified against the conflict-resolution hierarchy, and work resumes only after you resolve it explicitly |
Related
Section titled “Related”Route context
Section titled “Route context”Find this entry in the workflow atlas. Compare its related teaching maps, host spelling and context inputs. The exact procedure below remains the owner.
Source
Section titled “Source”Source — plugins/ca/commands/conflict.md (v3.7.0)
---description: Stop everything and surface a rule conflict — persona vs. docs vs. code. Present both sides and the conflict-hierarchy level; the user resolves. No silent reconciliation.argument-hint: (none)---
# /ca:conflict — conflict protocol
Orchestrator protocol, not a skill route. When a rule conflict surfaces — the persona, a `.codearbiter/` document, and code contradict each other, or two docs contradict each other — all other work STOPs and the conflict is presented for the user to resolve. The orchestrator never picks a side.
## Flow
1. **Halt** — suspend the in-progress task. No partial progress.2. **Identify** the conflicting sources (A and B): which document, file, or rule each is.3. **Quote** the exact passages side by side.4. **Classify** the conflict against the §2 conflict-resolution hierarchy and name the level the tension sits at. Note which source was more recently updated — informational, not determinative.5. **Present** and wait. Work resumes only after the user explicitly resolves.
## Output
```## Conflict detected — work halted
### Source AFile: <path> · Last updated: <date>> <exact quoted text>
### Source BFile: <path> · Last updated: <date>> <exact quoted text>
### Nature of conflict<what the two sources disagree about>
### Conflict-hierarchy levelLevel N — <why the tension sits here>
### To resolve<options — update A, update B, or supersede one via an ADR>
---Work is halted. Resolve before the orchestrator proceeds.```
## When routed automatically
The orchestrator surfaces a conflict on its own when the persona and a `.codearbiter/` doc contradicteach other, two docs contradict, code contradicts an accepted ADR, a new ADR contradicts an acceptedone, or a task instruction contradicts a hard gate.
## After resolution
The orchestrator records the resolution; if the user authorized a doc update, it makes that update(the one sanctioned side effect) and resumes from the suspension point.
## Hard gate
MUST stop ALL other work. MUST NOT pick a side without explicit user instruction. MUST NOT decide byrecency alone. MUST NOT silently continue past a detected conflict. If the conflict involves a guessedor auto-resolved `[CONFIRM-NN]`, flag that as a separate critical finding.