You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
a2ml-validate flags design-rationale/example .a2ml for "missing identity field" #435
a2ml-validate-action (source a2ml/actions/validate/…) errors "Missing required identity field (agent-id, name, or project)" on illustrative / design-rationale.a2ml files that aren't identity-bearing manifests — e.g. machine-readable-design/canonical-directory-structure/{Adjustfile,Intentfile,Mustfile,Trustfile,bust/Bustfile,dust/Dustfile}.a2ml.
Evidence
On hermeneia: 34 A2ML errors across 126 scanned files, all the "missing identity field" pattern (+ "missing version/schema_version" warnings), concentrated in the machine-readable-design/ design tree and per-directory 0.x-AI-MANIFEST.a2ml files. These describe structure/rationale, not a manifested identity.
Fix options
(a, recommended) Exempt design-rationale/example trees (machine-readable-design/, self-validating/examples/) from identity validation.
(b) Add an identity field only where a file is a genuine manifest.
Also
SHA-pin the a2ml-validate-action@<sha> # main ref (currently moving).
Targets / acceptance
a2ml (validator source) + hyperpolymath/a2ml-validate-action; propagate to rsr-template-repo. Acceptance: dogfood-gate "Validate A2ML manifests" passes on a clean RSR repo.
Filed from a Claude Code session working on hermeneia. Add to the master scheduler.
Fixed at source in #521 (a2ml/actions/validate/validate-a2ml.sh), option (a). The file-level identity error had no basis in the SPEC (identity is per-@record: author/tool/kind, §7) and flagged 465 of 1550 canonical files. It is now a lint warning checked against the shapes the estate actually uses (spec_id, [metadata]/[scorecard] sections, @abstract directive), with identity-free-by-design classes exempted: AI manifests, templates (basename or {{PLACEHOLDER}} body), and design-rationale trees via INPUT_DESIGN_TREES (default machine-readable-design/ self-validating/examples/ docs/templates/). Repo-wide: 465 → 0 errors. Also fixed a GITHUB_OUTPUT: unbound variable abort outside Actions. Residual, not done here: SHA-pin the a2ml-validate-action@main ref + propagate to the published action + rsr-template-repo.
Status: validator source fixed and merged (#521); propagation to the published action is the remaining acceptance bar.
a2ml/actions/validate/validate-a2ml.sh no longer errors on design-rationale/example .a2ml files — option (a) as recommended. The file-level identity check (which had no SPEC basis — identity is per-@record, §7) is now a lint warning against the shapes the estate actually uses (spec_id, [metadata]/[scorecard] sections, @abstract), with exemptions for AI manifests, templates ({{PLACEHOLDER}} bodies), and design trees via INPUT_DESIGN_TREES (default machine-readable-design/ self-validating/examples/ docs/templates/). Repo-wide: 465 → 0 errors. Also fixed a GITHUB_OUTPUT: unbound variable abort outside Actions.
Remaining for acceptance:
Propagate to the publishedhyperpolymath/a2ml-validate-action.
Propagate to rsr-template-repo.
SHA-pin the a2ml-validate-action@main ref.
Keeping open until the published action carries the fix.
Acceptance is now met on the live renamed action/template path. The published action is hyperpolymath/a2ml-ecosystem/validate-action; its main-branch validator carries the non-Actions GITHUB_OUTPUT fallback and treats missing file-level identity as a warning with structural/template exemptions rather than the former hard error. rsr-template-repo consumes hyperpolymath/a2ml-ecosystem/validate-action@main through actions.lock, which resolves it immutably to aa4b836bd969df2bc58128cb8e3d20bbc88d5e79. The live Validate A2ML manifests dogfood job passed on rsr-template-repo#38. Thus source, published action, template consumption, immutable resolution, and clean-template dogfood acceptance are all present.
Activity
hyperpolymath commentedon Jul 21, 2026
Fixed at source in #521 (
a2ml/actions/validate/validate-a2ml.sh), option (a). The file-level identity error had no basis in the SPEC (identity is per-@record: author/tool/kind, §7) and flagged 465 of 1550 canonical files. It is now a lint warning checked against the shapes the estate actually uses (spec_id,[metadata]/[scorecard]sections,@abstractdirective), with identity-free-by-design classes exempted: AI manifests, templates (basename or{{PLACEHOLDER}}body), and design-rationale trees viaINPUT_DESIGN_TREES(defaultmachine-readable-design/ self-validating/examples/ docs/templates/). Repo-wide: 465 → 0 errors. Also fixed aGITHUB_OUTPUT: unbound variableabort outside Actions. Residual, not done here: SHA-pin thea2ml-validate-action@mainref + propagate to the published action + rsr-template-repo.fix(ci): honest validators + Hypatia baseline from full 195-finding t…
hyperpolymath commentedon Jul 27, 2026
Status: validator source fixed and merged (#521); propagation to the published action is the remaining acceptance bar.
a2ml/actions/validate/validate-a2ml.shno longer errors on design-rationale/example.a2mlfiles — option (a) as recommended. The file-level identity check (which had no SPEC basis — identity is per-@record, §7) is now a lint warning against the shapes the estate actually uses (spec_id,[metadata]/[scorecard]sections,@abstract), with exemptions for AI manifests, templates ({{PLACEHOLDER}}bodies), and design trees viaINPUT_DESIGN_TREES(defaultmachine-readable-design/ self-validating/examples/ docs/templates/). Repo-wide: 465 → 0 errors. Also fixed aGITHUB_OUTPUT: unbound variableabort outside Actions.Remaining for acceptance:
hyperpolymath/a2ml-validate-action.rsr-template-repo.a2ml-validate-action@mainref.Keeping open until the published action carries the fix.
hyperpolymath commentedon Aug 24, 2026
Acceptance is now met on the live renamed action/template path. The published action is hyperpolymath/a2ml-ecosystem/validate-action; its main-branch validator carries the non-Actions GITHUB_OUTPUT fallback and treats missing file-level identity as a warning with structural/template exemptions rather than the former hard error. rsr-template-repo consumes hyperpolymath/a2ml-ecosystem/validate-action@main through actions.lock, which resolves it immutably to aa4b836bd969df2bc58128cb8e3d20bbc88d5e79. The live Validate A2ML manifests dogfood job passed on rsr-template-repo#38. Thus source, published action, template consumption, immutable resolution, and clean-template dogfood acceptance are all present.