Rust parser and renderer for A2ML (Attested Markup Language) — the structured markup format used across the hyperpolymath estate for AI-agent communication, machine state files, and provenance-tracked documentation.
A2ML extends a Markdown-like surface syntax with two first-class constructs:
-
@directives— single-line machine-readable metadata prefixed with@ -
!attestblocks — record identity, role, and trust-level on any piece of content, enabling provenance tracking across AI-agent and human review chains
a2ml-rs implements:
-
src/parser.rs— line-oriented state machine: headings, directives, attestation blocks, fenced code, block quotes, ordered/unordered lists. Entry points:parse()andparse_file(). -
src/renderer.rs— serialises aDocumentAST back to canonical A2ML, making round-trips deterministic. -
src/types.rs— core types:Document,Block,Inline,Directive,Attestation,TrustLevel(Unverified → Automated → Reviewed → Verified),Manifest. -
src/error.rs—A2mlError:ParseError,Io,RenderError.
The crate root is #![forbid(unsafe_code)]. Dependencies: serde/serde_derive
for serialisation, thiserror for error types, criterion for benchmarks only.
| Level | Meaning |
|---|---|
|
No review — raw agent or tool output |
|
Processed by a pipeline without human review |
|
Human-reviewed (claimed, not cryptographically proved) |
|
Formally verified or cryptographically attested |
Attestations are syntactic declarations, not cryptographic signatures. Signature verification belongs in the Groove protocol stack.
-
pandoc-a2ml — Pandoc reader/writer for A2ML
-
a2ml-haskell — Haskell implementation
PMPL-1.0-or-later. See LICENSE.