Skip to main content

Crate statum_graph

Crate statum_graph 

Source
Expand description

Static graph export built directly from statum::MachineIntrospection::GRAPH.

This crate is authoritative only for machine-local topology: machine identity, states, transition sites, exact legal targets, and graph roots derivable from the static graph itself.

For linked-build codebase export, use codebase::CodebaseDoc. That surface combines every linked compiled machine family, declared validator-entry surfaces emitted by compiled #[validators] impls, direct construction availability per state, legacy direct payload links, and exact static relations inferred from supported type syntax plus nominal #[machine_ref(...)] declarations. When the source machine is marked role = composition and the exact relation comes from direct child-machine type syntax, the codebase export also classifies it as composition-owned direct-child semantics for renderer and inspector projection. Validator node labels use the impl self type as written in source, so they are display syntax rather than canonical Rust type identity. Method-level #[cfg] and #[cfg_attr] on validator methods are rejected at the macro layer. include!()-generated validator impls are also rejected. The linked codebase surface also carries source rustdoc separately as docs on machines, states, transitions, and validator-entry surfaces.

Use MachineDoc::from_machine for Statum-generated machine families and MachineDoc::try_from_graph when you need to validate an externally supplied MachineGraph before rendering or traversal.

This crate does not model orchestration order across machines or runtime-selected branches for one run. Optional presentation metadata may be joined onto the validated machine graph for renderer output, but it does not change the authoritative structural surface. Use #[present(description = ...)] for concise renderer copy and ordinary outer rustdoc comments (///) for fuller codebase/inspector detail.

Re-exports§

pub use codebase::CodebaseAttestedRoute;
pub use codebase::CodebaseDoc;
pub use codebase::CodebaseDocError;
pub use codebase::CodebaseMachine;
pub use codebase::CodebaseMachineRelationGroup;
pub use codebase::CodebaseMachineRelationGroupSemantic;
pub use codebase::CodebaseRelation;
pub use codebase::CodebaseRelationBasis;
pub use codebase::CodebaseRelationCount;
pub use codebase::CodebaseRelationDetail;
pub use codebase::CodebaseRelationKind;
pub use codebase::CodebaseRelationSemantic;
pub use codebase::CodebaseRelationSource;
pub use codebase::CodebaseState;
pub use codebase::CodebaseTransition;
pub use codebase::CodebaseValidatorEntry;

Modules§

codebase
render

Structs§

EdgeDoc
Exported transition metadata for one graph edge site.
ExportDoc
Stable export model for one validated machine graph.
ExportMachine
Machine metadata preserved in the stable export surface.
ExportState
State metadata preserved in the stable export surface.
ExportTransition
Transition-site metadata preserved in the stable export surface.
MachineDoc
Static machine graph exported directly from MachineIntrospection::GRAPH.
StateDoc
Exported state metadata for one graph node.

Enums§

ExportDocError
Error returned when presentation metadata cannot be joined onto a validated machine graph.
MachineDocError
Error returned when a MachineGraph cannot be exported into a MachineDoc.

Traits§

ExportSource