CLI Reference

Proposals & Conflicts

Spiral catches contradictions, stale references, and constraint violations automatically. When issues are found, they surface as conflicts or proposals that you can resolve from the CLI, the dashboard, or via MCP.

Proposals

When an AI agent infers a fact that needs human review — or when you edit a projection file locally — the change enters the Proposals queue instead of being applied directly.

$ spiral proposals

ID: prop_71x
[stack] Redis
Source: deep extraction
“Found in package.json but no usage detected in /src”
$ spiral proposals accept prop_71x
$ spiral proposals reject prop_71x

Conflicts

Conflicts are raised when Spiral detects contradictory facts, stale dependencies, lock collisions, or constraint violations. They appear in real-time across all connected clients.

$ spiral conflicts

CRITICAL Contradiction: decision.auth_strategy
Fact A: “Using JWT for auth”
Fact B: “Using session cookies for auth”

WARNING Stale reference: feature.billing
Depends on api.payments which was removed
$ spiral conflicts resolve <id> --keep A

Where conflicts appear

  • CLI — spiral conflicts
  • Dashboard — Conflict panel with full details and resolution options
  • IDE — Via MCP tools (list_conflicts_v1, resolve_conflict_v1)
  • Real-time — Notifications are pushed to all connected clients as they happen