Skip to main content

M1ndError

Enum M1ndError 

Source
pub enum M1ndError {
Show 51 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, }, PatternTooBroad { specificity: f32, minimum: f32, }, AntibodyNotFound { id: String, }, AntibodyLimitExceeded { current: usize, limit: usize, }, EpidemicBurnout { infected_pct: f32, iteration: u32, }, NoValidInfectedNodes, NoEntryPoints, LayerNotFound { level: u8, }, IngestError(String), Io(Error), Serde(Error), PersistenceFailed(String),
}
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.

Fields

§edge: EdgeIdx
§node: NodeId
§

GraphGenerationMismatch

FM-PL-006: Graph structure changed since engine was initialised.

Fields

§expected: Generation
§actual: Generation
§

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.

Fields

§node: NodeId
§value: f32
§

ParameterOutOfRange

FM-ACT-012: A tuneable parameter is outside its valid range.

Fields

§name: &'static str
§value: f64
§range: &'static str
§

NonPositiveResonanceParam

FM-RES-001: Zero or negative wavelength/frequency supplied.

Fields

§name: &'static str
§value: f32
§

PulseBudgetExhausted

FM-RES-004: Pulse propagation exceeded budget.

Fields

§budget: u64
§

ChainBudgetExhausted

FM-TMP-005: Causal chain DFS exceeded budget.

Fields

§budget: u64
§

MatrixBudgetExhausted

FM-TMP-001: Co-change sparse matrix exceeded entry budget.

Fields

§budget: u64
§

IngestionTimeout

FM-ING-002: Ingestion exceeded timeout.

Fields

§elapsed_s: f64
§

IngestionNodeBudget

FM-ING-002: Ingestion exceeded node count budget.

Fields

§budget: u64
§

FingerprintPairBudget

FM-TOP-014: Fingerprint pair budget exceeded.

Fields

§budget: u64
§

XlrOverCancellation

FM-XLR-010: XLR cancelled all signal — fallback to hot-only.

§

LouvainNonConvergence

FM-TOP-003: Louvain community detection did not converge.

Fields

§passes: u32
§

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.

Fields

§edge: EdgeIdx
§limit: u32
§

EncodingDetectionFailed

FM-ING-003: File encoding could not be determined.

Fields

§path: String
§confidence: f32
§

BinaryFileSkipped

FM-ING-004: Binary file detected and skipped.

Fields

§path: String
§

LabelCollision

FM-ING-008: Label collision — multiple nodes share a label.

Fields

§label: String
§count: usize
§

CorruptState

FM-PL-007: Corrupt state file on load.

Fields

§reason: String
§

SchemaDrift

FM-PL-009: Schema drift — edge identity mismatch on import.

Fields

§reason: String
§

CounterfactualSeedOverlap

FM-CF-001: Seed node was in the removal set.

Fields

§node: NodeId
§

UnknownTool

Theme 3: Unknown tool name in dispatch.

Fields

§name: String
§

InvalidParams

Theme 3: Invalid parameters for a tool call.

Fields

§tool: String
§detail: String
§

PerspectiveNotFound

Theme 3: Perspective does not exist for agent.

Fields

§perspective_id: String
§agent_id: String
§

PerspectiveStale

Theme 3: Perspective route set is stale (generation mismatch).

Fields

§perspective_id: String
§expected_gen: u64
§actual_gen: u64
§

PerspectiveLimitExceeded

Theme 3: Agent exceeded max perspective count.

Fields

§agent_id: String
§current: usize
§limit: usize
§

RouteSetStale

Theme 3: Route set version mismatch (stale cached routes).

Fields

§route_set_version: u64
§current_version: u64
§

RouteNotFound

Theme 3: Route not found in perspective.

Fields

§route_id: String
§perspective_id: String
§

NavigationAtRoot

Theme 3: Cannot navigate back — already at root.

Fields

§perspective_id: String
§

BranchDepthExceeded

Theme 3: Branch depth limit exceeded.

Fields

§perspective_id: String
§depth: usize
§limit: usize
§

LockNotFound

Theme 3: Lock not found.

Fields

§lock_id: String
§

LockOwnership

Theme 3: Lock ownership violation.

Fields

§lock_id: String
§owner: String
§caller: String
§

LockScopeTooLarge

Theme 3: Lock scope too large (BFS budget exceeded).

Fields

§node_count: usize
§cap: usize
§

LockLimitExceeded

Theme 3: Agent exceeded max lock count.

Fields

§agent_id: String
§current: usize
§limit: usize
§

WatchStrategyNotSupported

Theme 3: Watcher strategy not supported (e.g. Periodic in V1).

Fields

§strategy: String
§

AffinityTimeout

Theme 3: Affinity computation exceeded time budget.

Fields

§elapsed_ms: f64
§budget_ms: f64
§

PatternTooBroad

FM-AB-001: Antibody pattern specificity below minimum threshold.

Fields

§specificity: f32
§minimum: f32
§

AntibodyNotFound

Antibody not found by ID.

Fields

§

AntibodyLimitExceeded

Antibody storage limit exceeded.

Fields

§current: usize
§limit: usize
§

EpidemicBurnout

Epidemic burnout: too many nodes infected too fast.

Fields

§infected_pct: f32
§iteration: u32
§

NoValidInfectedNodes

No valid infected nodes provided for epidemic simulation.

§

NoEntryPoints

No entry points found for flow simulation.

§

LayerNotFound

Layer level not found in detection result.

Fields

§level: u8
§

IngestError(String)

Tree-sitter or extractor runtime error.

§

Io(Error)

§

Serde(Error)

§

PersistenceFailed(String)

Trait Implementations§

Source§

impl Debug for M1ndError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for M1ndError

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for M1ndError

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<Error> for M1ndError

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for M1ndError

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.