Skip to content

Commit 6ed4283

Browse files
docs(readme): convert README.adoc -> Markdown (renders on Glama/profile/community-health) (#28)
README was AsciiDoc → renders as raw markup in Markdown consumers (Glama MCP directory, GitHub community-health, GitHub profile). pandoc asciidoc→GFM (badges → clickable), SPDX header kept, duplicate `.adoc` removed. Part of the estate README-format fix. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 49a492a commit 6ed4283

2 files changed

Lines changed: 49 additions & 110 deletions

File tree

README.adoc

Lines changed: 0 additions & 66 deletions
This file was deleted.

README.md

Lines changed: 49 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,73 @@
1-
[![Sponsor](https://img.shields.io/badge/Sponsor-%E2%9D%A4-pink?logo=github)](https://github.com/sponsors/hyperpolymath)
2-
3-
// SPDX-License-Identifier: CC-BY-SA-4.0
4-
= a2ml-rs
5-
Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
6-
:toc:
7-
:toc-placement: preamble
1+
<!--
2+
SPDX-License-Identifier: CC-BY-SA-4.0
3+
SPDX-FileCopyrightText: 2025-2026 Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
4+
-->
85

96
Rust parser and renderer for A2ML (Attested Markup Language) — the
10-
structured markup format used across the hyperpolymath estate for AI-agent
11-
communication, machine state files, and provenance-tracked documentation.
7+
structured markup format used across the hyperpolymath estate for
8+
AI-agent communication, machine state files, and provenance-tracked
9+
documentation.
10+
11+
# Overview
1212

13-
== Overview
13+
A2ML extends a Markdown-like surface syntax with two first-class
14+
constructs:
1415

15-
A2ML extends a Markdown-like surface syntax with two first-class constructs:
16+
- `@directives` — single-line machine-readable metadata prefixed with
17+
`@`
1618

17-
* `@directives` — single-line machine-readable metadata prefixed with `@`
18-
* `!attest` blocks — record identity, role, and trust-level on any piece
19-
of content, enabling provenance tracking across AI-agent and human review chains
19+
- `!attest` blocks — record identity, role, and trust-level on any piece
20+
of content, enabling provenance tracking across AI-agent and human
21+
review chains
2022

2123
`a2ml-rs` implements:
2224

23-
* `src/parser.rs` — line-oriented state machine: headings, directives,
24-
attestation blocks, fenced code, block quotes, ordered/unordered lists.
25-
Entry points: `parse()` and `parse_file()`.
26-
* `src/renderer.rs` — serialises a `Document` AST back to canonical A2ML,
27-
making round-trips deterministic.
28-
* `src/types.rs` — core types: `Document`, `Block`, `Inline`, `Directive`,
29-
`Attestation`, `TrustLevel` (Unverified → Automated → Reviewed → Verified),
30-
`Manifest`.
31-
* `src/error.rs``A2mlError`: `ParseError`, `Io`, `RenderError`.
25+
- `src/parser.rs` — line-oriented state machine: headings, directives,
26+
attestation blocks, fenced code, block quotes, ordered/unordered
27+
lists. Entry points: `parse()` and `parse_file()`.
28+
29+
- `src/renderer.rs` — serialises a `Document` AST back to canonical
30+
A2ML, making round-trips deterministic.
31+
32+
- `src/types.rs` — core types: `Document`, `Block`, `Inline`,
33+
`Directive`, `Attestation`, `TrustLevel` (Unverified → Automated →
34+
Reviewed → Verified), `Manifest`.
3235

33-
The crate root is `#![forbid(unsafe_code)]`. Dependencies: `serde`/`serde_derive`
34-
for serialisation, `thiserror` for error types, `criterion` for benchmarks only.
36+
- `src/error.rs``A2mlError`: `ParseError`, `Io`, `RenderError`.
3537

36-
== Usage
38+
The crate root is `#![forbid(unsafe_code)]`. Dependencies:
39+
`serde`/`serde_derive` for serialisation, `thiserror` for error types,
40+
`criterion` for benchmarks only.
3741

38-
[source,rust]
39-
----
42+
# Usage
43+
44+
```rust
4045
use a2ml::{parse, render};
4146

4247
let doc = parse(input_str)?;
4348
let output = render(&doc)?;
44-
----
45-
46-
== Attestation Trust Levels
49+
```
4750

48-
[cols="1,3"]
49-
|===
50-
| Level | Meaning
51+
# Attestation Trust Levels
5152

52-
| `Unverified` | No review — raw agent or tool output
53-
| `Automated` | Processed by a pipeline without human review
54-
| `Reviewed` | Human-reviewed (claimed, not cryptographically proved)
55-
| `Verified` | Formally verified or cryptographically attested
56-
|===
53+
| Level | Meaning |
54+
|--------------|--------------------------------------------------------|
55+
| `Unverified` | No review — raw agent or tool output |
56+
| `Automated` | Processed by a pipeline without human review |
57+
| `Reviewed` | Human-reviewed (claimed, not cryptographically proved) |
58+
| `Verified` | Formally verified or cryptographically attested |
5759

5860
Attestations are syntactic declarations, not cryptographic signatures.
5961
Signature verification belongs in the Groove protocol stack.
6062

61-
== Related
63+
# Related
64+
65+
- [pandoc-a2ml](https://github.com/hyperpolymath/pandoc-a2ml) — Pandoc
66+
reader/writer for A2ML
6267

63-
* link:https://github.com/hyperpolymath/pandoc-a2ml[pandoc-a2ml] — Pandoc reader/writer for A2ML
64-
* link:https://github.com/hyperpolymath/a2ml-haskell[a2ml-haskell] Haskell implementation
68+
- [a2ml-haskell](https://github.com/hyperpolymath/a2ml-haskell)
69+
Haskell implementation
6570

66-
== License
71+
# License
6772

68-
MPL-2.0. See link:LICENSE[LICENSE].
73+
MPL-2.0. See [LICENSE](LICENSE).

0 commit comments

Comments
 (0)