Skip to content

Commit d0d4da2

Browse files
hyperpolymathclaude
andcommitted
feat: add a2ml.net and k9-svc.net front-door sites
Rebuild both estate sites for casket-ssg -> Cloudflare Pages: - a2ml/site/: A2ML (Attested Markup Language) landing, spec and getting-started pages; public/ ships .well-known/security.txt, CNAME (a2ml.net), robots.txt, favicon.svg. - k9-svc/site/: K9-SVC (self-validating Nickel components) equivalent set; public/ ships .well-known/security.txt, CNAME (k9-svc.net), robots, favicon. security.txt files close the Cloudflare 'missing security.txt' insight on both domains. Site prose is licensed CC-BY-SA-4.0 (estate Rule 1: prose docs); committed with --no-verify (owner-approved) because the license-enforcer hook hard-codes MPL-2.0 for all .md and would mislabel prose. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 09e7023 commit d0d4da2

14 files changed

Lines changed: 355 additions & 0 deletions

File tree

a2ml/site/index.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
<!-- SPDX-License-Identifier: CC-BY-SA-4.0 -->
2+
---
3+
title: A2ML
4+
site: A2ML
5+
date: 2026-06-22
6+
---
7+
8+
# A2ML — Attested Markup Language
9+
10+
<p class="lede">A lightweight, Djot-like markup that compiles into a typed, attested core. Authoring stays simple; structural guarantees switch on when you want them.</p>
11+
12+
<div class="badges">
13+
<span class="badge">Spec v1.1.0</span>
14+
<span class="badge">Typed core</span>
15+
<span class="badge">Progressive strictness</span>
16+
<span class="badge">Byte-for-byte payloads</span>
17+
<span class="badge">MPL-2.0 / CC-BY-SA-4.0</span>
18+
</div>
19+
20+
<div class="btn-row">
21+
<a class="btn btn-primary" href="/start.html">Get started</a>
22+
<a class="btn btn-ghost" href="/spec.html">Read the spec</a>
23+
<a class="btn btn-ghost" href="https://github.com/hyperpolymath/a2ml-ecosystem">GitHub</a>
24+
</div>
25+
26+
## What it does
27+
28+
<div class="cards">
29+
<div class="card">
30+
<h3>Readable surface</h3>
31+
<p>Write a clean, Djot-like format. No ceremony when you don't need it.</p>
32+
</div>
33+
<div class="card">
34+
<h3>Typed, attested core</h3>
35+
<p>Required sections, resolved references and unique IDs — verified, not hoped for.</p>
36+
</div>
37+
<div class="card">
38+
<h3>Faithful payloads</h3>
39+
<p>Opaque content is preserved byte-for-byte for reliable embedding.</p>
40+
</div>
41+
<div class="card">
42+
<h3>Portable rendering</h3>
43+
<p>One source, many targets — HTML, Markdown and PDF pipelines.</p>
44+
</div>
45+
</div>
46+
47+
## Progressive strictness
48+
49+
A2ML lets you dial guarantees up as a document matures:
50+
51+
| Mode | Guarantee |
52+
|------|-----------|
53+
| **lax** | Parse and render; no structural enforcement. |
54+
| **checked** | Required sections exist, references resolve, IDs are unique. |
55+
| **attested** | Checked, plus a verifiable attestation over the typed core. |
56+
57+
## A taste
58+
59+
```a2ml
60+
# A2ML Overview
61+
62+
@abstract:
63+
A2ML is a typed, attested markup format. It verifies structure and references.
64+
@end
65+
66+
## Claims
67+
- Required sections must exist.
68+
- References must resolve.
69+
70+
@refs:
71+
[1] Attested Markup Language Spec (draft)
72+
@end
73+
```
74+
75+
## Part of the standards estate
76+
77+
A2ML is a satellite of the [Hyperpolymath standards hub](https://github.com/hyperpolymath/standards). The normative specification, conformance vectors and profiles live there; this site is the front door.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Security contact for a2ml.net — RFC 9116
2+
# https://a2ml.net/.well-known/security.txt
3+
4+
Contact: mailto:j.d.a.jewell@open.ac.uk
5+
Expires: 2027-06-21T00:00:00Z
6+
Preferred-Languages: en
7+
Canonical: https://a2ml.net/.well-known/security.txt
8+
Policy: https://github.com/hyperpolymath/a2ml-ecosystem/security/policy
9+
Acknowledgments: https://github.com/hyperpolymath/a2ml-ecosystem/security/advisories
10+
11+
# Encryption: add a URL to a published PGP key to make this fully complete,
12+
# and PGP-sign this file (clearsign) once the key is in place.

a2ml/site/public/CNAME

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
a2ml.net

a2ml/site/public/favicon.svg

Lines changed: 10 additions & 0 deletions
Loading

a2ml/site/public/robots.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
User-agent: *
2+
Allow: /
3+
4+
Sitemap: https://a2ml.net/sitemap.xml

a2ml/site/spec.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<!-- SPDX-License-Identifier: CC-BY-SA-4.0 -->
2+
---
3+
title: A2ML specification
4+
site: A2ML
5+
date: 2026-06-22
6+
---
7+
8+
# Specification
9+
10+
The current normative specification is **A2ML v1.1.0** — Surface Grammar + Typed Core + Profiles.
11+
12+
## Documents
13+
14+
- **Spec (normative, v1.1.0)** — surface grammar, typed core, profiles
15+
- **Specification lineage** — versions and era
16+
- **Module 0 quickstart + FAQ**
17+
- **Syntax modules** (opt-in)
18+
- **Grammar appendix**
19+
- **Conformance + test vectors**
20+
- **IANA media type draft**`application/a2ml`
21+
- **Comparison matrix**
22+
- **Citation guide**
23+
24+
All specification documents are maintained in the [standards](https://github.com/hyperpolymath/standards) repository under `a2ml/`. This page links the front door; the repository is the source of truth.
25+
26+
## Profiles
27+
28+
Profiles layer domain-specific validation on top of the base vocabulary. A2ML v1.1 introduced profiles, an expanded base vocabulary, citation support and content hashing.
29+
30+
## Conformance
31+
32+
Conformance is defined by published test vectors (positive and negative fixtures). Implementations validate against these to claim a given strictness level.

a2ml/site/start.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<!-- SPDX-License-Identifier: CC-BY-SA-4.0 -->
2+
---
3+
title: Get started with A2ML
4+
site: A2ML
5+
date: 2026-06-22
6+
---
7+
8+
# Get started
9+
10+
A2ML is authored as plain text and validated in progressive modes. Start lax, tighten to checked, attest when ready.
11+
12+
## 1. Write a document
13+
14+
```a2ml
15+
# Release Notes
16+
17+
@abstract:
18+
What changed in this release, in one paragraph.
19+
@end
20+
21+
## Changes
22+
- Added profiles for domain validation.
23+
- Resolved all cross-references.
24+
25+
@refs:
26+
[1] A2ML Spec v1.1.0
27+
@end
28+
```
29+
30+
## 2. Validate
31+
32+
Run the validator over your document. In **checked** mode it confirms that required sections exist, references resolve, and IDs are unique. In **attested** mode it additionally produces a verifiable attestation over the typed core.
33+
34+
## 3. Render
35+
36+
The typed core is renderer-portable: emit HTML, Markdown or feed a PDF pipeline from a single source, with opaque payloads preserved byte-for-byte.
37+
38+
## Tooling
39+
40+
Implementations, editor support and CI actions are coordinated in the [a2ml-ecosystem](https://github.com/hyperpolymath/a2ml-ecosystem) hub. The normative spec and conformance vectors live in [standards](https://github.com/hyperpolymath/standards).

k9-svc/site/index.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
<!-- SPDX-License-Identifier: CC-BY-SA-4.0 -->
2+
---
3+
title: K9-SVC
4+
site: K9-SVC
5+
date: 2026-06-22
6+
---
7+
8+
# K9-SVC — Self-Validating Components
9+
10+
<p class="lede">A Nickel-based format for configuration and contractiles that carries its own guarantees. Components validate themselves, with a trust model that scales from inert data to cryptographically signed execution.</p>
11+
12+
<div class="badges">
13+
<span class="badge">v1.0.0-alpha</span>
14+
<span class="badge">Nickel contractiles</span>
15+
<span class="badge">.k9 / .k9.ncl</span>
16+
<span class="badge">application/vnd.k9+nickel</span>
17+
<span class="badge">MPL-2.0 / CC-BY-SA-4.0</span>
18+
</div>
19+
20+
<div class="btn-row">
21+
<a class="btn btn-primary" href="/start.html">Get started</a>
22+
<a class="btn btn-ghost" href="/spec.html">Read the spec</a>
23+
<a class="btn btn-ghost" href="https://github.com/hyperpolymath/k9-ecosystem">GitHub</a>
24+
</div>
25+
26+
## The three-level trust model
27+
28+
K9-SVC is safe by construction: a component declares how much trust it requires, and the environment grants no more.
29+
30+
| Level | Name | What's permitted |
31+
|-------|------|------------------|
32+
| **1** | Data | Pure data, no execution — safe in all environments. |
33+
| **2** | Validation | Nickel contract evaluation permitted. |
34+
| **3** | Execution | Full execution — requires a cryptographic signature. |
35+
36+
## What it does
37+
38+
<div class="cards">
39+
<div class="card">
40+
<h3>Self-validating</h3>
41+
<p>A component states its own contract. Validation is intrinsic, not bolted on.</p>
42+
</div>
43+
<div class="card">
44+
<h3>Contractiles in Nickel</h3>
45+
<p>Contracts are written in Nickel — composable, evaluable, and precise.</p>
46+
</div>
47+
<div class="card">
48+
<h3>Signed execution</h3>
49+
<p>Anything beyond validation requires a cryptographic signature. No silent escalation.</p>
50+
</div>
51+
<div class="card">
52+
<h3>First-class media type</h3>
53+
<p><code>application/vnd.k9+nickel</code> — registered, addressable, toolable.</p>
54+
</div>
55+
</div>
56+
57+
## A taste
58+
59+
```nickel
60+
# greeting.k9.ncl — a level-2 self-validating component
61+
{
62+
trust_level = 2,
63+
contract = fun value => value | { name | String, repeat | Number },
64+
data = { name = "world", repeat = 3 },
65+
}
66+
```
67+
68+
## Part of the standards estate
69+
70+
K9-SVC is coordinated through the [k9-ecosystem](https://github.com/hyperpolymath/k9-ecosystem) hub — implementations (`k9-rs`, `k9_ex`, `k9_gleam`, `k9-deno`, `k9-haskell`), tooling and CI. The normative specification lives in [standards](https://github.com/hyperpolymath/standards).
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Security contact for k9-svc.net — RFC 9116
2+
# https://k9-svc.net/.well-known/security.txt
3+
4+
Contact: mailto:j.d.a.jewell@open.ac.uk
5+
Expires: 2027-06-21T00:00:00Z
6+
Preferred-Languages: en
7+
Canonical: https://k9-svc.net/.well-known/security.txt
8+
Policy: https://github.com/hyperpolymath/k9-ecosystem/security/policy
9+
Acknowledgments: https://github.com/hyperpolymath/k9-ecosystem/security/advisories
10+
11+
# Encryption: add a URL to a published PGP key to make this fully complete,
12+
# and PGP-sign this file (clearsign) once the key is in place.

k9-svc/site/public/CNAME

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
k9-svc.net

0 commit comments

Comments
 (0)