Skip to content

Re-adopt hyperpolymath/a2ml-validate-action once upstream HEAD is fixed (vendored workaround in place) #44

@hyperpolymath

Description

@hyperpolymath

Context

.github/workflows/dogfood-gate.yml no longer uses hyperpolymath/a2ml-validate-action. It now runs an in-repo vendored copy at .github/scripts/validate-a2ml.sh (added in #41) because no upstream SHA of the action validates this repo correctly:

Upstream commit Result on stapeln
b2f28c3 (#4) — the SHA this repo previously pinned 26 false "missing identity" errors (predates typed-manifest / contractile-shape exemptions)
fd7b2d8 (#9) — adds is_contractile_shape still ~33 errors (no typed-manifest exemption)
86c6da6 (#8, current main/HEAD) — adds typed-manifest + *file.a2ml exemptions script aborts (see upstream bug below)

Upstream bug to file against hyperpolymath/a2ml-validate-action

validate-a2ml.sh aborts under set -euo pipefail due to a stray newline splitting a comment

At 86c6da6 (current main), validate-a2ml.sh contains a corrupted comment. The intended line is:

    # own name/project and continue to be validated normally.

but a literal newline was injected after # own and the n of name was dropped, producing two physical lines:

    # own
ame/project and continue to be validated normally.

The second line is not a comment, so bash executes ame/project ...ame/project: No such file or directory. With set -euo pipefail the script exits non-zero on the first .a2ml file, so the composite action fails for every consumer regardless of their content.

Repro: run the action (or bash validate-a2ml.sh) at 86c6da6 against any repo containing ≥1 .a2ml file.
Fix: restore the single comment line # own name/project and continue to be validated normally. (this is the only change needed; the surrounding exemption logic is correct and, once repaired, validates stapeln with 0 errors).

(Optional, lower priority) Even with the newline repaired, clade-declaration files (CLADE.a2ml), YAML-style anchor files (.machine_readable/anchors/*.a2ml), and agent-instruction session configs (.machine_readable/agent_instructions/*.a2ml) are still flagged as missing a TOML name/version. These are legitimately distinct A2ML doc-types (identity is structural, per the action's own hypatia#243 rationale). Consider first-class recognition or documenting the paths-ignore carve-out as the expected pattern.

Acceptance criteria for this (stapeln) issue

  • Upstream issue filed against hyperpolymath/a2ml-validate-action (bug text above is copy-paste ready)
  • Upstream main ships the newline fix (and ideally the doc-type recognition)
  • dogfood-gate.yml re-pinned to the fixed upstream SHA; .github/scripts/validate-a2ml.sh removed
  • Validate A2ML manifests stays green after re-adoption

References

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions