Expand description
Aristo proc-macros.
Intentionally thin: this crate runs during downstream compile time, so
heavy work (project-wide cycle detection, B5b signature validation,
index IO) lives in aristo-cli. The macros here do single-annotation
validation (when the aristo_check cargo feature is on — default) and
include_str! injection (aristo_doc, slice 30).
The macros parse their arguments into IntentArgs / AssumeArgs, run
validation per validate.rs, and (on success) emit the wrapped item
unchanged — they have no runtime effect, only compile-time signal. The
argument shape mirrors the subset of aristo_core::index::IntentEntry /
AssumeEntry that the developer writes by hand (text, verify, parent,
id) — aristo stamp populates the rest from source position.
Macros§
- assume_
stmt aristo::assume_stmt!("...", parent = ..., id = ...);- intent_
stmt aristo::intent_stmt!("...", verify = ..., parent = ..., id = ...);