Skip to content

Commit b87ecbc

Browse files
committed
docs: add TOPOLOGY.md
1 parent 9dcf569 commit b87ecbc

1 file changed

Lines changed: 31 additions & 0 deletions

File tree

TOPOLOGY.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<!-- SPDX-License-Identifier: PMPL-1.0-or-later -->
2+
<!-- Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk> -->
3+
# TOPOLOGY.md — a2ml-rs
4+
5+
## Purpose
6+
7+
Rust parser and renderer for A2ML (Attested Markup Language), a structured markup format with built-in attestation provenance, directive metadata, and trust-level tracking. Provides a complete parse-render round-trip with typed AST. Intended for use in CI tooling, validators, and server-side pipelines.
8+
9+
## Module Map
10+
11+
```
12+
a2ml-rs/
13+
├── src/
14+
│ ├── lib.rs # Public crate API
15+
│ ├── types.rs # AST types (blocks, inlines, directives, attestations)
16+
│ ├── parser.rs # A2ML document parser
17+
│ ├── renderer.rs # AST-to-A2ML surface syntax renderer
18+
│ └── error.rs # Error types
19+
├── benches/ # Criterion benchmarks
20+
├── examples/ # Usage examples
21+
├── Cargo.toml
22+
└── container/ # Containerfile for CI
23+
```
24+
25+
## Data Flow
26+
27+
```
28+
[A2ML text] ──► [parser.rs] ──► [Typed AST] ──► [renderer.rs] ──► [A2ML text]
29+
30+
[types.rs / error.rs]
31+
```

0 commit comments

Comments
 (0)