| Error | Cause | Fix |
Io: Permission denied | Cannot create ~/.taba/ | Check home directory permissions, or use --state-dir |
Security: KeyError | Key generation failed | Ensure rand crate is available (Linux: /dev/urandom) |
| Error | Cause | Fix |
TomlParse | Invalid TOML syntax | Validate with taba unit validate <file> |
Core: MalformedUnit | Missing required fields | Check the unit authoring guide |
Graph: SignatureRejected | Signature verification failed | Ensure the unit is signed by a known author |
Graph: ScopeViolation | Author lacks scope | Check role assignments in governance units |
Graph: MemoryLimitExceeded | Graph at capacity | Run taba compose to trigger compaction, or increase memory limit |
| Cause | Fix |
| No units in graph | Run taba unit list to verify |
| All units unplaceable | Check unplaceable section in output for reasons |
| Solver version mismatch | All nodes must agree on solver version (FM-12) |
| Reason | Action |
ErasureThresholdExceeded | Add nodes or reduce resilience_pct |
MemoryLimitExceeded | Run compaction or increase graph_memory_limit_bytes |
WalFailure | Check disk space, verify WAL directory |
OperatorTriggered | Run taba node normal to clear |
If the WAL is corrupted (CRC mismatch on replay):
- The node stops replay at the corrupted position
- Returns
NodeError::WalCorrupted { position, reason }
- Entries before the corruption are intact
- Entries after may be lost
- Recovery: delete the corrupted segment, restart the node
- Check seed node addresses in
NodeConfig
- Verify network connectivity (gossip uses UDP port 7946)
- Check attestation requirements (
require_tpm in config)
- Verify the node’s keypair is valid (not revoked)
RUST_LOG=debug taba status
RUST_LOG=trace cargo test -p taba-graph