Commit db22cd5
feat: canonical A2ML dialect = TOML (warn-by-default, enforce flag) (#53)
Estate decision (2026-07-06): **one canonical `.a2ml` dialect = TOML**
(`key = value` / `[section]`). The validator was deliberately polyglot
(accepted TOML, S-expr, *and* YAML-ish identity) — which is exactly how
the estate drifted into three dialects under one extension.
## Change
- **Check 5 (canonical dialect):** flags repo-specific files still
written as YAML (`key:`) or S-expression (`(form ...)`). **Warning by
default** so the estate migrates incrementally; **error** when the new
input `enforce-canonical-dialect: true`.
- AI-manifest templates are **exempt** (they're template-sourced;
converted upstream in `rsr-template-repo`/`standards`, not per-repo —
otherwise every repo drowns in warnings for files it can't fix locally).
- README now **declares TOML canonical**.
Verified: `bash -n` clean, `action.yml` parses, env var wired
(`INPUT_ENFORCE_CANONICAL_DIALECT`).
## The ratchet
1. **This PR** — warn on non-TOML, canon documented. Non-breaking. ✅
2. Convert the `*-AI-MANIFEST.a2ml` + `contractiles/*` templates in
`rsr-template-repo`/`standards` to TOML.
3. Propagate templates to repos.
4. Flip `enforce-canonical-dialect: true` estate-wide → hard
enforcement, one type everywhere.
First consumer already converted its own files:
`hybrid-automation-router` (PR #82).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 7e1cd7e commit db22cd5
3 files changed
Lines changed: 46 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
15 | 25 | | |
16 | 26 | | |
17 | 27 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
32 | 40 | | |
33 | 41 | | |
34 | 42 | | |
| |||
69 | 77 | | |
70 | 78 | | |
71 | 79 | | |
| 80 | + | |
72 | 81 | | |
73 | 82 | | |
74 | 83 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| 29 | + | |
29 | 30 | | |
30 | 31 | | |
31 | 32 | | |
| |||
278 | 279 | | |
279 | 280 | | |
280 | 281 | | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
281 | 308 | | |
282 | 309 | | |
283 | 310 | | |
| |||
0 commit comments