From 8cdb2de7a18df5223145db1ff301cff60a02f07b Mon Sep 17 00:00:00 2001 From: Arena Agent Date: Mon, 21 Sep 2026 11:07:11 +0000 Subject: [PATCH] fix(dogfood-gate): validate DEED via deed-ecosystem, not the dead a2ml-ecosystem MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The gate's manifest job failed at 'Set up job' on every run: it called hyperpolymath/a2ml-ecosystem/validate-action@main, and that repo was renamed to deed-ecosystem (a2ml is retired — owner ruling R-H3, standards #836/#837). Now: job id deed-validate / name 'Validate DEED manifests'; detection counts .deed and legacy .a2ml; the validator call is hyperpolymath/deed-ecosystem/validate-action@main; summary and scorecard name the repo deed (_chora.deed) and cite standards #837; the summary job's needs: chain follows the new job id. actions.lock: a2ml-ecosystem@main -> deed-ecosystem@main with the commit the rename merged at (fedffb3c) — spliced text-surgically so the 8 transitive pins for the reusable workflows are preserved (a full regeneration prunes them). gh actions-lock --verify: rc=0, 13 workflows scanned. --- .github/workflows/actions.lock | 6 ++--- .github/workflows/dogfood-gate.yml | 40 +++++++++++++++--------------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/.github/workflows/actions.lock b/.github/workflows/actions.lock index 573eaca..04c24b5 100644 --- a/.github/workflows/actions.lock +++ b/.github/workflows/actions.lock @@ -15,7 +15,7 @@ workflows: - 'github/codeql-action@v4.34.0' '.github/workflows/dogfood-gate.yml': - 'actions/checkout@v4.3.1' - - 'hyperpolymath/a2ml-ecosystem@main' + - 'hyperpolymath/deed-ecosystem@main' - 'hyperpolymath/k9-ecosystem@main' '.github/workflows/governance.yml': [] '.github/workflows/hypatia-scan.yml': [] @@ -91,9 +91,9 @@ dependencies: commit: 'sha1-ec49483bfc012387b227434aba94f59a6ecd0900' owner_id: 75048950 repo_id: 623796603 - 'hyperpolymath/a2ml-ecosystem@main': + 'hyperpolymath/deed-ecosystem@main': ref: 'main' - commit: 'sha1-ed83d6927e8fb21431e403dbf6d7a4af96772746' + commit: 'sha1-fedffb3cf5ccb74d83f7768f64e65e2c7bec1fc1' owner_id: 6759885 repo_id: 1275649586 'hyperpolymath/k9-ecosystem@main': diff --git a/.github/workflows/dogfood-gate.yml b/.github/workflows/dogfood-gate.yml index 680e8d7..3dda55a 100644 --- a/.github/workflows/dogfood-gate.yml +++ b/.github/workflows/dogfood-gate.yml @@ -20,47 +20,47 @@ permissions: jobs: # --------------------------------------------------------------------------- - # Job 1: A2ML manifest validation + # Job 1: DEED manifest validation # --------------------------------------------------------------------------- - a2ml-validate: - name: Validate A2ML manifests + deed-validate: + name: Validate DEED manifests runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4.3.1 - - name: Check for A2ML files + - name: Check for manifest files (.a2ml/.deed) id: detect run: | - COUNT=$(find . -name '*.a2ml' -not -path './.git/*' | wc -l) + COUNT=$(find . \( -name '*.a2ml' -o -name '*.deed' \) -not -path './.git/*' | wc -l) echo "count=$COUNT" >> "$GITHUB_OUTPUT" if [ "$COUNT" -eq 0 ]; then - echo "::warning::No .a2ml manifest files found. Every RSR repo should have 0-AI-MANIFEST.a2ml" + echo "::warning::No .a2ml/.deed manifest files found. Every RSR repo should have a repo deed (_chora.deed); legacy 0-AI-MANIFEST.a2ml accepted mid-migration — a2ml retired: standards #837" fi - - name: Validate A2ML manifests + - name: Validate DEED manifests if: steps.detect.outputs.count > 0 - uses: hyperpolymath/a2ml-ecosystem/validate-action@main + uses: hyperpolymath/deed-ecosystem/validate-action@main with: path: '.' strict: 'false' - name: Write summary run: | - A2ML_COUNT="${{ steps.detect.outputs.count }}" - if [ "$A2ML_COUNT" -eq 0 ]; then + MANIFEST_COUNT="${{ steps.detect.outputs.count }}" + if [ "$MANIFEST_COUNT" -eq 0 ]; then cat <<'EOF' >> "$GITHUB_STEP_SUMMARY" - ## A2ML Validation + ## DEED Manifest Validation - :warning: **No .a2ml files found.** Every RSR-compliant repo should have at least `0-AI-MANIFEST.a2ml`. + :warning: **No .a2ml/.deed manifest files found.** Every RSR-compliant repo should have a repo deed (`_chora.deed`) at its root. - Create one with: `a2mliser init` or copy from [rsr-template-repo](https://github.com/hyperpolymath/rsr-template-repo). + Copy it from [rsr-template-repo](https://github.com/hyperpolymath/rsr-template-repo). Manifests are validated against the DEED grammar (standards `1-formats/deed/`); the `.a2ml` → `.deed` extension migration is tracked in standards #837 — the deed validator scans both. EOF else - echo "## A2ML Validation" >> "$GITHUB_STEP_SUMMARY" + echo "## DEED Manifest Validation" >> "$GITHUB_STEP_SUMMARY" echo "" >> "$GITHUB_STEP_SUMMARY" - echo "Scanned **${A2ML_COUNT}** .a2ml file(s). See step output for details." >> "$GITHUB_STEP_SUMMARY" + echo "Scanned **${MANIFEST_COUNT}** .a2ml/.deed manifest(s). See step output for details." >> "$GITHUB_STEP_SUMMARY" fi # --------------------------------------------------------------------------- @@ -240,7 +240,7 @@ jobs: dogfood-summary: name: Dogfooding compliance summary runs-on: ubuntu-latest - needs: [a2ml-validate, k9-validate, empty-lint, groove-check] + needs: [deed-validate, k9-validate, empty-lint, groove-check] if: always() steps: @@ -252,12 +252,12 @@ jobs: SCORE=0 MAX=5 - # A2ML manifest present? + # DEED manifest present? if find . -name '*.a2ml' -not -path './.git/*' | head -1 | grep -q .; then SCORE=$((SCORE + 1)) - A2ML_STATUS=":white_check_mark:" + DEED_STATUS=":white_check_mark:" else - A2ML_STATUS=":x:" + DEED_STATUS=":x:" fi # K9 contracts present? @@ -299,7 +299,7 @@ jobs: | Tool/Format | Status | Notes | |-------------|--------|-------| - | A2ML manifest (0-AI-MANIFEST.a2ml) | ${A2ML_STATUS} | Required for all RSR repos | + | DEED manifest (_chora.deed, or legacy .a2ml) | ${DEED_STATUS} | Required for all RSR repos | | K9 contracts | ${K9_STATUS} | Required for repos with config files | | .editorconfig | ${EC_STATUS} | Required for all repos | | Groove endpoint | ${GROOVE_STATUS} | Required for service repos |