Skip to content

a2ml-validate flags design-rationale/example .a2ml for "missing identity field" #435

Closed

Description

@hyperpolymath

Problem

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.

Activity

  1. hyperpolymath commented on Jul 21, 2026

    @hyperpolymath
    OwnerAuthor

    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.

  2. hyperpolymath commented on Jul 27, 2026

    @hyperpolymath
    OwnerAuthor

    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:

    1. Propagate to the published hyperpolymath/a2ml-validate-action.
    2. Propagate to rsr-template-repo.
    3. SHA-pin the a2ml-validate-action@main ref.

    Keeping open until the published action carries the fix.

  3. added
    designDesign of an interface, protocol, grammar, or type theory
    on Aug 24, 2026
  4. hyperpolymath commented on Aug 24, 2026

    @hyperpolymath
    OwnerAuthor

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    designDesign of an interface, protocol, grammar, or type theory

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions