Skip to content

Commit 56f45c5

Browse files
fix(gates): gate on the DEED grammar, per the template and standards#837 (#60)
## Why The guard in `dogfood-gate.yml` counted `.a2ml` files only: ``` COUNT=$(find . -name '*.a2ml' -not -path './.git/*' | wc -l) ``` so a repo whose manifest is written in the current grammar is reported as having none, and the summary/compliance row is skipped by the same predicate (`if find . -name '*.a2ml' ... | grep -q .`). The validator itself has scanned both grammars for a while -- the caller's predicate is the bug. ## Authority - `rsr-template-repo/.github/workflows/deed-validate.yml` (the mint source) is what this wording is copied from, byte for byte, including `-type f`-free `find` and the dual-accept stance. - `standards#837` — "DEED conversion campaign", campaign step 4: *"flip ... RSR gates from `.a2ml` presence to `.deed` presence alongside". Gate predicates, not document contents. - `deed-ecosystem/README.adoc`: *"The DEED format name and `.deed` extension are final, not A2ML."* ## Deliberately not done - No `.a2ml` file is translated or renamed. #837 makes classification into the four DEED forms and per-family mapping specs a prerequisite for mass translation; that is not this PR. - No gate that *reads* a retained file is touched (`CLAIMS.a2ml`, `.machine_readable/Debtfile.a2ml`, `contractiles/INDEX.a2ml`); rewriting those would fail gates that currently pass. - No job-id or shell-var renames (`a2ml-validate`, `A2ML_COUNT`): they are referenced from `needs:` and `${{ needs.*.outputs }}`. The Checks-UI label is updated, as it has no references. _Estate-wide `.deed` gate convergence, 2026-09-21. Script: `estate-audit/engine/deed_gate_migration.py`._
1 parent 552c680 commit 56f45c5

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

‎.github/workflows/dogfood-gate.yml‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
COUNT=$(find . \( -name '*.a2ml' -o -name '*.deed' \) -not -path './.git/*' | wc -l)
3131
echo "count=$COUNT" >> "$GITHUB_OUTPUT"
3232
if [ "$COUNT" -eq 0 ]; then
33-
echo "::warning::No .a2ml/.deed manifest files found. Every RSR repo should have a repo deed (<reponame>_chora.deed); legacy 0-AI-MANIFEST.a2ml accepted mid-migration — a2ml retired: standards #837"
33+
echo "::warning::No .a2ml/.deed manifest files found. Every RSR repo should have a repo deed (<reponame>_chora.deed); legacy 0-AI-MANIFEST.a2ml accepted mid-migration — standards #837"
3434
fi
3535
- name: Validate DEED manifests
3636
if: steps.detect.outputs.count > 0
@@ -45,7 +45,7 @@ jobs:
4545
cat <<'EOF' >> "$GITHUB_STEP_SUMMARY"
4646
## DEED Manifest Validation
4747
48-
:warning: **No .a2ml files found.** Every RSR-compliant repo should have at least `0-AI-MANIFEST.a2ml`.
48+
:warning: **No .a2ml/.deed manifest files found.** Every RSR-compliant repo should have a repo deed (`<reponame>_chora.deed`) at its root.
4949
5050
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.
5151
EOF
@@ -90,7 +90,7 @@ jobs:
9090
cat <<'EOF' >> "$GITHUB_STEP_SUMMARY"
9191
## K9 Contract Validation
9292
93-
:warning: **No K9 contract files found.** Repos with configuration files should have K9 contracts.
93+
:warning: **No .a2ml/.deed manifest files found.** Every RSR-compliant repo should have a repo deed (`<reponame>_chora.deed`) at its root.
9494
9595
Generate contracts with: `k9iser generate .`
9696
EOF
@@ -346,7 +346,7 @@ jobs:
346346
347347
| Tool/Format | Status | Notes |
348348
|-------------|--------|-------|
349-
| DEED manifest (<reponame>_chora.deed, or legacy .a2ml) | ${DEED_STATUS} | Required for all RSR repos |
349+
| DEED repo deed (`<reponame>_chora.deed`) | ${DEED_STATUS} | Required for all RSR repos |
350350
| K9 contracts | ${K9_STATUS} | Required for repos with config files |
351351
| .editorconfig | ${EC_STATUS} | Required for all repos |
352352
| Groove endpoint | ${GROOVE_STATUS} | Required for service repos |

0 commit comments

Comments
 (0)