Skip to content

Commit ee60079

Browse files
committed
docs: add TOPOLOGY.md
1 parent 00d6b4c commit ee60079

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-deno
4+
5+
## Purpose
6+
7+
Deno-native parser and renderer for A2ML (Attested Markup Language), written in ReScript and compiled to JavaScript ES modules. Provides parse-render round-trip support for A2ML documents with trust-level hierarchy and directive blocks. Consumed by Deno runtimes and published to JSR.
8+
9+
## Module Map
10+
11+
```
12+
a2ml-deno/
13+
├── src/
14+
│ ├── A2ML.res # Main public API
15+
│ ├── A2ML_Types.res # AST types (ReScript variants)
16+
│ ├── A2ML_Parser.res # Document parser
17+
│ ├── A2ML_Renderer.res # AST-to-surface renderer
18+
│ └── (compiled .mjs files co-located)
19+
├── examples/ # Usage examples
20+
├── deno.json # Deno module config
21+
├── jsr.json # JSR publication config
22+
└── container/ # Containerfile for CI
23+
```
24+
25+
## Data Flow
26+
27+
```
28+
[A2ML text] ──► [A2ML_Parser] ──► [Typed AST] ──► [A2ML_Renderer] ──► [A2ML text]
29+
30+
[A2ML_Types]
31+
```

0 commit comments

Comments
 (0)