pub enum M1ndError {
Show 43 variants
DanglingEdge {
edge: EdgeIdx,
node: NodeId,
},
GraphGenerationMismatch {
expected: Generation,
actual: Generation,
},
DuplicateNode(NodeId),
GraphNotFinalized,
EmptyGraph,
NonFiniteActivation {
node: NodeId,
value: f32,
},
ParameterOutOfRange {
name: &'static str,
value: f64,
range: &'static str,
},
NonPositiveResonanceParam {
name: &'static str,
value: f32,
},
PulseBudgetExhausted {
budget: u64,
},
ChainBudgetExhausted {
budget: u64,
},
MatrixBudgetExhausted {
budget: u64,
},
IngestionTimeout {
elapsed_s: f64,
},
IngestionNodeBudget {
budget: u64,
},
FingerprintPairBudget {
budget: u64,
},
XlrOverCancellation,
LouvainNonConvergence {
passes: u32,
},
SpectralDivergence,
ResonanceZeroAmplitude,
CasRetryExhausted {
edge: EdgeIdx,
limit: u32,
},
EncodingDetectionFailed {
path: String,
confidence: f32,
},
BinaryFileSkipped {
path: String,
},
LabelCollision {
label: String,
count: usize,
},
CorruptState {
reason: String,
},
SchemaDrift {
reason: String,
},
CounterfactualSeedOverlap {
node: NodeId,
},
UnknownTool {
name: String,
},
InvalidParams {
tool: String,
detail: String,
},
PerspectiveNotFound {
perspective_id: String,
agent_id: String,
},
PerspectiveStale {
perspective_id: String,
expected_gen: u64,
actual_gen: u64,
},
PerspectiveLimitExceeded {
agent_id: String,
current: usize,
limit: usize,
},
RouteSetStale {
route_set_version: u64,
current_version: u64,
},
RouteNotFound {
route_id: String,
perspective_id: String,
},
NavigationAtRoot {
perspective_id: String,
},
BranchDepthExceeded {
perspective_id: String,
depth: usize,
limit: usize,
},
LockNotFound {
lock_id: String,
},
LockOwnership {
lock_id: String,
owner: String,
caller: String,
},
LockScopeTooLarge {
node_count: usize,
cap: usize,
},
LockLimitExceeded {
agent_id: String,
current: usize,
limit: usize,
},
WatchStrategyNotSupported {
strategy: String,
},
AffinityTimeout {
elapsed_ms: f64,
budget_ms: f64,
},
IngestError(String),
Io(Error),
Serde(Error),
}Expand description
Central error type covering all failure modes from 05-HARDENING-SYNTHESIS. Each variant references its FM-ID for traceability.
Variants§
DanglingEdge
FM-ACT-011: Edge references a node index that does not exist.
GraphGenerationMismatch
FM-PL-006: Graph structure changed since engine was initialised.
DuplicateNode(NodeId)
FM-ACT-016: Attempted to add a node whose interned ID already exists.
GraphNotFinalized
Graph not finalised — CSR not built yet.
EmptyGraph
Graph is empty (zero nodes).
NonFiniteActivation
FM-PL-001: Non-finite value detected at a NaN firewall boundary.
ParameterOutOfRange
FM-ACT-012: A tuneable parameter is outside its valid range.
NonPositiveResonanceParam
FM-RES-001: Zero or negative wavelength/frequency supplied.
PulseBudgetExhausted
FM-RES-004: Pulse propagation exceeded budget.
ChainBudgetExhausted
FM-TMP-005: Causal chain DFS exceeded budget.
MatrixBudgetExhausted
FM-TMP-001: Co-change sparse matrix exceeded entry budget.
IngestionTimeout
FM-ING-002: Ingestion exceeded timeout.
IngestionNodeBudget
FM-ING-002: Ingestion exceeded node count budget.
FingerprintPairBudget
FM-TOP-014: Fingerprint pair budget exceeded.
XlrOverCancellation
FM-XLR-010: XLR cancelled all signal — fallback to hot-only.
LouvainNonConvergence
FM-TOP-003: Louvain community detection did not converge.
SpectralDivergence
FM-TOP-010: Power iteration may have diverged.
ResonanceZeroAmplitude
FM-RES-020: Division by zero in normalization (max_amp == 0).
CasRetryExhausted
FM-ACT-019: Atomic CAS retry limit exceeded during concurrent weight update.
EncodingDetectionFailed
FM-ING-003: File encoding could not be determined.
BinaryFileSkipped
FM-ING-004: Binary file detected and skipped.
LabelCollision
FM-ING-008: Label collision — multiple nodes share a label.
CorruptState
FM-PL-007: Corrupt state file on load.
SchemaDrift
FM-PL-009: Schema drift — edge identity mismatch on import.
CounterfactualSeedOverlap
FM-CF-001: Seed node was in the removal set.
UnknownTool
Theme 3: Unknown tool name in dispatch.
InvalidParams
Theme 3: Invalid parameters for a tool call.
PerspectiveNotFound
Theme 3: Perspective does not exist for agent.
PerspectiveStale
Theme 3: Perspective route set is stale (generation mismatch).
PerspectiveLimitExceeded
Theme 3: Agent exceeded max perspective count.
RouteSetStale
Theme 3: Route set version mismatch (stale cached routes).
RouteNotFound
Theme 3: Route not found in perspective.
Theme 3: Cannot navigate back — already at root.
BranchDepthExceeded
Theme 3: Branch depth limit exceeded.
LockNotFound
Theme 3: Lock not found.
LockOwnership
Theme 3: Lock ownership violation.
LockScopeTooLarge
Theme 3: Lock scope too large (BFS budget exceeded).
LockLimitExceeded
Theme 3: Agent exceeded max lock count.
WatchStrategyNotSupported
Theme 3: Watcher strategy not supported (e.g. Periodic in V1).
AffinityTimeout
Theme 3: Affinity computation exceeded time budget.
IngestError(String)
Tree-sitter or extractor runtime error.
Io(Error)
Serde(Error)
Trait Implementations§
Source§impl Error for M1ndError
impl Error for M1ndError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()