Commit 86c6da6
authored
fix(validate-a2ml): exempt canonical typed manifests + *file.a2ml from identity check (#8)
The identity check (`agent-id`/`name`/`project`) is appropriate for
manifests that genuinely declare a subject, but two families of A2ML files
carry identity by convention rather than by in-file field:
1. **Canonical typed manifests under `.machine_readable/6a2/`** —
`AGENTIC.a2ml`, `META.a2ml`, `NEUROSYM.a2ml`, `PLAYBOOK.a2ml`.
These hold typed *aspects* of the enclosing project (agent permissions,
metadata, neurosymbolic invariants, playbook recipes). Identity is the
parent directory; the filename indicates the aspect. Sibling files
`ECOSYSTEM.a2ml` and `STATE.a2ml` already declare `[project] name`
or `[metadata] project` and continue to be validated normally.
2. **Dockerfile-style top-level typed manifests** — `Intentfile.a2ml`,
`Trustfile.a2ml`, etc. These use markdown-flavoured A2ML
(`@abstract:` blocks, `## headers`) rather than TOML-style fields,
so the identity-field regex cannot match by construction. Identity is
the parent repo, exactly as with a `Dockerfile` or `Makefile`.
Adds both patterns to the existing `*AI-MANIFEST*` exemption. The check
remains active for any other `*.a2ml` filename, so genuinely-missing-
identity bugs are still surfaced.
Without this, `Validate A2ML manifests` reports 40+ errors across every
estate consumer that ships a complete 6a2 manifest set.
🤖 Generated with [Claude Code](https://claude.com/claude-code)1 parent fd7b2d8 commit 86c6da6
1 file changed
Lines changed: 15 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
145 | 145 | | |
146 | 146 | | |
147 | 147 | | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
148 | 163 | | |
149 | 164 | | |
150 | 165 | | |
| |||
0 commit comments