Every error Springtale surfaces has a stable ID. The CLI's
springtale fix <id> command prints causes, suggestions, and — for a
handful of high-leverage errors — runs an automated fix.
| Prefix | Scope | Examples |
|---|---|---|
E001–E009 |
Operational (runtime, storage, daemon) | E001 store, E003 connector, E009 init |
COOP-1001…COOP-9003 |
Cooperation layer (formations, tiers, rally, recovery) | COOP-2003 not viable, COOP-8001 rally exhausted |
Everything routes through the same command:
springtale fix E001
springtale fix COOP-2003| ID | Title | Auto-fix? |
|---|---|---|
| E001 | Store error — database access failure | ✓ (permission + init) |
| E002 | Rule error — invalid rule definition | — |
| E003 | Connector error — execution failure | — |
| E004 | Formation error — multi-agent group issue | — |
| E005 | Not found — missing resource | — |
| E006 | Validation error — invalid input | — |
| E007 | Serialization — JSON/TOML parsing failure | — |
| E008 | AI error — adapter failure | — |
| E009 | Initialization — startup failure | ✓ (diagnostics) |
IDs are grouped by module:
COOP-1001tick bus channel closedCOOP-1002tick sequence wrappedCOOP-1003subscriber lagged
COOP-2001agent not foundCOOP-2002empty formationCOOP-2003formation not viableCOOP-2004missing required capabilityCOOP-2005formation context not initialized
COOP-3001momentum insufficient (need Hot, have Cold)COOP-3002capability locked at current tier
COOP-4001stale neighborCOOP-4002gossip bridge disconnected
COOP-5001no override tokens remainingCOOP-5002consensus deadline expiredCOOP-5003vote not found
COOP-6001commit barrier failedCOOP-6002prepare timed outCOOP-6003participant droppedCOOP-6004agent not a participant in this barrierCOOP-6005execution phase failed
COOP-7001cross-agent conflict detected (ResourceConflict / ActionNegation)
COOP-8001rally exhausted (no tokens remaining)COOP-8002cascade threshold exceededCOOP-8003rally supervisor panicked
COOP-9001no recovery pathCOOP-9002recovery cost exceeds budgetCOOP-9003terminal failure (max quick-fixes reached)
Each guide reports four things:
- Title — one-line summary of what the error class means.
- Causes — specific things that typically produce this error.
- Suggestions — what you can do. Cheap first, expensive last.
- Auto-fix — if present,
springtale fix <id>will run it and print success/no-change.
Example:
$ springtale fix COOP-8001
─── COOP-8001: Rally — no tokens remaining ─────────────────
Causes:
· The formation has exhausted its rally budget (Monster Hunter
cart threshold).
Suggestions:
1. The formation will escalate to orchestrator intervention.
2. Check `springtale trace` for the cascade reason.
Auto-fix: none for this error.
springtale fix is a triage tool. When it doesn't have anything
useful to say, two fallbacks:
springtale doctorruns full diagnostics (store integrity, connector reachability, vault key presence, daemon liveness).springtale tracestreams live execution — every trigger, action dispatch, and sentinel verdict with the connector, rule, and duration.springtale eventslists what already happened.
Both are read-only and safe to run on a live bot.
If you hit an error with no corresponding guide, file an issue at
https://github.com/anthropics/springtale/issues with:
- The exact error ID.
- The last 200 lines of
springtale trace(orspringtale events --limit 200). - What you were doing when it fired.
We add new guides to crates/springtale-runtime/src/operations/error_fixes.rs
on request. Every new error variant is expected to ship with a
FixGuide entry — the tests enforce it.