Skip to main content

Crate ev

Crate ev 

Source

Modules§

canonical
Canonical-JSON (RFC 8785 / JCS) + content-addressed identity. For our string-only payload, serde_json’s default output (sorted BTreeMap keys, compact separators, raw non-ASCII, no /-escape) IS JCS — verified by the golden vectors. Liveness arrays are sorted+deduped here so set-valued fields are order-insensitive; grounds[] keeps authored order.
capture
ev decide — walk the trailing args left-to-right into a draft, validate, append a child.
cmd
guard
ev guard "<selector>" <id> [<ground>] — attach an existing test to a ground as a data check (after the fact). Because check is hashed, this writes a NEW CHILD.
lint
Best-effort lexical lints over built-in, deterministic word lists. R3: the subject of self-evolve/self-improve language must be a human, not the system. R5: no auto-close / auto-prune / self-stop op language. Honest limit: a re-wording evades these — they are heuristics, not semantic guarantees.
store
The .evolving/ store: a committed hashed chain + a non-hashed results cache.
tick
The decision tick and its parts. No serde derives: canonical and on-disk encodings are built by hand (tick.rs / canonical.rs) for exact byte control.
verify
ev verify: R1 (closed schema), R2 (check shape), R4/R6 (id == hash + chain integrity), R3 (self-evolve subject) + R5 (blame present + forbidden-op).