conflict
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.
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/ORCHESTRATOR.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”Source
Section titled “Source”Source — plugins/ca/commands/conflict.md (v2.9.1)
---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.