Skip to content

Commit 08eff5a

Browse files
hyperpolymathclaude
andcommitted
docs: bespoke architecture, roadmap, topology, and ABI definitions for a2mliser
Replace all template placeholders with a2mliser-specific content. Architecture: A2ML attestation engine for markup/config signing. Update STATE/META/ECOSYSTEM with attestation-specific project state. Replace generic FFI integration tests with attestation operation tests. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 8dd32d7 commit 08eff5a

4 files changed

Lines changed: 212 additions & 144 deletions

File tree

.machine_readable/6a2/ECOSYSTEM.a2ml

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,34 +5,37 @@
55
(ecosystem
66
(version "0.1.0")
77
(name "a2mliser")
8-
(type "tool")
9-
(purpose "Add cryptographic attestation to any markup via A2ML")
8+
(type "attestation-tool")
9+
(purpose "Cryptographic attestation engine — signs markup and config files with A2ML envelopes, providing provenance chains and tamper detection")
1010

1111
(position-in-ecosystem
1212
(family "-iser acceleration frameworks")
1313
(meta-framework "iseriser")
14-
(relationship "sibling")
15-
(top-3 ("typedqliser" "chapeliser" "verisimiser")))
14+
(relationship "sibling — unique role as the attestation/trust layer")
15+
(distinguishing-trait "Other -isers generate code; a2mliser generates cryptographic trust. It can attest the output of any other -iser."))
1616

1717
(related-projects
1818
(project "iseriser"
1919
(relationship "meta-framework")
2020
(description "Generates new -iser project scaffolding"))
21+
(project "k9iser"
22+
(relationship "upstream-consumer")
23+
(description "K9 contract validation. a2mliser attests files after K9 validation passes, proving both conformance and integrity."))
2124
(project "typedqliser"
22-
(relationship "sibling-priority-1")
23-
(description "Formal type safety for any query language"))
24-
(project "chapeliser"
25-
(relationship "sibling-priority-2")
26-
(description "Chapel distributed computing acceleration"))
25+
(relationship "upstream-consumer")
26+
(description "Type-safe query generation. a2mliser attests generated query wrappers, proving they came from a specific schema version."))
2727
(project "verisimiser"
28-
(relationship "sibling-priority-3")
29-
(description "VeriSimDB octad database augmentation"))
30-
(project "squeakwell"
31-
(relationship "sibling")
32-
(description "Database recovery via constraint propagation"))
28+
(relationship "downstream-store")
29+
(description "VeriSimDB augmentation. Attestation records can be persisted as octads for tamper-evident audit trails."))
3330
(project "proven"
3431
(relationship "dependency")
35-
(description "Shared Idris2 verified library"))
32+
(description "Shared Idris2 verified library — provides common proof infrastructure used by a2mliser's ABI layer."))
3633
(project "typell"
3734
(relationship "dependency")
38-
(description "Type theory engine"))))
35+
(description "Type theory engine — potential future integration for typed attestation predicates."))
36+
(project "boj-server"
37+
(relationship "distribution")
38+
(description "BoJ cartridge for a2mliser exposes attestation as an MCP tool."))
39+
(project "panll"
40+
(relationship "visualisation")
41+
(description "PanLL panel for attestation status dashboard — shows chain health, recent attestations, key expiry."))))

.machine_readable/6a2/META.a2ml

Lines changed: 40 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,38 +4,56 @@
44

55
(meta
66
(version "0.1.0")
7-
(last-updated "2026-03-20")
7+
(last-updated "2026-03-21")
88

99
(architecture-decisions
10-
(adr "001-iser-pattern"
10+
(adr "001-attestation-envelope"
1111
(status "accepted")
12-
(context "Need to make powerful languages accessible without steep learning curves")
13-
(decision "Use manifest-driven code generation: user describes WHAT, tool generates HOW")
14-
(consequences "Users write zero target language code; all complexity in the -iser"))
12+
(context "Need a standard format for cryptographic attestation of arbitrary files")
13+
(decision "A2ML envelope: sidecar .a2ml file containing hash algorithm, digest, signature, timestamp, and optional parent reference for provenance chains")
14+
(consequences "Any file format can be attested without modification; verification is independent of file type"))
1515

16-
(adr "002-abi-ffi-standard"
16+
(adr "002-hash-algorithms"
1717
(status "accepted")
18-
(context "Need verified interop between Rust CLI, target language, and user code")
19-
(decision "Idris2 ABI for formal proofs, Zig FFI for C-ABI bridge")
20-
(consequences "Compile-time correctness guarantees; zero runtime overhead from proofs"))
18+
(context "Need fast and secure digest computation for attestation")
19+
(decision "Support BLAKE3 (default, faster) and SHA-256 (widely trusted). Both produce 32-byte digests.")
20+
(consequences "Uniform digest size simplifies envelope layout; BLAKE3 gives 3-10x speedup over SHA-256"))
2121

22-
(adr "003-rsr-template"
22+
(adr "003-signature-algorithm"
2323
(status "accepted")
24-
(context "Need consistent project structure across 29+ -iser repos")
25-
(decision "All repos cloned from rsr-template-repo with full CI/CD and governance")
26-
(consequences "17 workflows, SECURITY.md, CONTRIBUTING, bot directives from day one")))
24+
(context "Need a modern, secure signing algorithm for attestation envelopes")
25+
(decision "Ed25519 as primary (32-byte keys, 64-byte signatures). Ed448 reserved for future high-security mode.")
26+
(consequences "Small keys and signatures keep envelopes compact; Ed25519 is widely supported"))
27+
28+
(adr "004-abi-ffi-standard"
29+
(status "accepted")
30+
(context "Need verified interop between Rust CLI and crypto primitives")
31+
(decision "Idris2 ABI for formal proofs of signature correctness and chain validity; Zig FFI for C-ABI crypto implementation")
32+
(consequences "Compile-time correctness guarantees; zero runtime overhead from proofs; Zig gives access to std.crypto"))
33+
34+
(adr "005-structure-aware-signing"
35+
(status "proposed")
36+
(context "Opaque-blob signing loses granularity — cannot attest individual config sections")
37+
(decision "Parse files into structural units (TOML tables, YAML documents, JSON objects) and sign at chosen granularity")
38+
(consequences "More complex implementation but enables partial verification and selective re-attestation"))
39+
40+
(adr "006-provenance-chains"
41+
(status "proposed")
42+
(context "Single attestations cannot express chain-of-custody or successive modifications")
43+
(decision "Each envelope may reference a parent envelope hash, forming a DAG of trust from leaf to root")
44+
(consequences "Full audit trail for config evolution; can verify entire history or just latest state")))
2745

2846
(development-practices
29-
(language "Rust" (purpose "CLI and orchestration"))
30-
(language "Idris2" (purpose "ABI formal proofs"))
31-
(language "Zig" (purpose "FFI C-ABI bridge"))
47+
(language "Rust" (purpose "CLI orchestration, manifest parsing, codegen"))
48+
(language "Idris2" (purpose "ABI formal proofs — signature correctness, chain validity, memory layout"))
49+
(language "Zig" (purpose "FFI C-ABI bridge — crypto primitives (BLAKE3, SHA-256, Ed25519)"))
3250
(build-tool "cargo")
3351
(ci "GitHub Actions (17 workflows)"))
3452

3553
(design-rationale
36-
(principle "Manifest-driven"
37-
(explanation "User intent captured in TOML; all generation is deterministic and reproducible"))
38-
(principle "Formally verified bridges"
39-
(explanation "Idris2 dependent types prove interface correctness at compile time"))
40-
(principle "Zero target language exposure"
41-
(explanation "Users never write Chapel/Julia/Futhark/etc. — the -iser handles everything"))))
54+
(principle "Attestation is orthogonal to format"
55+
(explanation "Any file type can be attested. Format handlers parse structure; the attestation engine is format-agnostic."))
56+
(principle "Formally verified crypto boundary"
57+
(explanation "Idris2 dependent types prove that signing and verification are consistent. The proof is erased at runtime."))
58+
(principle "Provenance over point-in-time"
59+
(explanation "A single signature proves current state. A provenance chain proves history. Both are first-class."))))

.machine_readable/6a2/STATE.a2ml

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,31 +5,35 @@
55
(state
66
(metadata
77
(version "0.1.0")
8-
(last-updated "2026-03-20")
8+
(last-updated "2026-03-21")
99
(author "Jonathan D.A. Jewell"))
1010

1111
(project-context
1212
(name "a2mliser")
13-
(description "Add cryptographic attestation to any markup via A2ML")
14-
(status "scaffold")
15-
(priority "")
13+
(description "Cryptographic attestation engine for markup and configuration files via A2ML envelopes")
14+
(status "scaffold-documented")
15+
(priority "mid-tier -iser — foundational for supply chain security")
1616
(ecosystem "-iser family (https://github.com/hyperpolymath/iseriser)"))
1717

1818
(current-position
19-
(phase "initial-scaffold")
20-
(completion-percentage 5)
21-
(milestone "Architecture defined, CLI scaffolded, RSR template complete"))
19+
(phase "phase-0-complete")
20+
(completion-percentage 10)
21+
(milestone "Architecture documented, CLI scaffolded, ABI/FFI definitions written with attestation-specific types"))
2222

2323
(route-to-mvp
24-
(step 1 "Replace codegen stubs with target-language-specific generation")
25-
(step 2 "Implement Idris2 ABI proofs for core invariants")
26-
(step 3 "Build Zig FFI bridge")
27-
(step 4 "Integration tests with real-world examples")
28-
(step 5 "Documentation and examples"))
24+
(step 1 "Implement BLAKE3 and SHA-256 hashing in Zig FFI (crypto primitives)")
25+
(step 2 "Implement Ed25519 signing/verification in Zig FFI")
26+
(step 3 "Wire Rust codegen to call Zig FFI via generated C headers")
27+
(step 4 "Produce .a2ml sidecar attestation envelopes for TOML files")
28+
(step 5 "Implement envelope verification (recompute digest, verify signature)")
29+
(step 6 "Add provenance chain support (parent references, chain walking)")
30+
(step 7 "YAML and JSON format handlers")
31+
(step 8 "Idris2 formal proofs for signature correctness and chain validity"))
2932

3033
(blockers-and-issues
31-
(none "Project is in scaffold phase — no blockers yet"))
34+
(none "Project is in scaffold phase with documentation complete — no blockers"))
3235

3336
(critical-next-actions
34-
(action "Implement codegen for primary use case")
35-
(action "Write first working example end-to-end")))
37+
(action "Implement BLAKE3 hashing in Zig FFI src/interface/ffi/src/main.zig")
38+
(action "Implement Ed25519 signing in Zig FFI")
39+
(action "Wire a2mliser generate command to produce real .a2ml envelopes")))

0 commit comments

Comments
 (0)