Skip to content

fix(gates): gate on the DEED grammar, per the template and standards#837 - #70

Merged
hyperpolymath merged 2 commits into
mainfrom
fix/deed-gate-grammar
Sep 21, 2026
Merged

hyperpolymath merged 2 commits into
mainfrom
fix/deed-gate-grammar

Conversation

@hyperpolymath

@hyperpolymath hyperpolymath commented Sep 21, 2026

Copy link
Copy Markdown
Owner

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.

The guard counted `.a2ml` files only, so a repo carrying just a `.deed` document was told it had
no manifest at all:

  - find \. -name '\*\.a2ml' -not -path '\./\.git/\*'
  + find . -type f \( -name '*.a2ml' -o -name '*.deed' \) -not -path './.git/*'

The validator already reads both grammars; the caller's predicate was the bug. Wording follows the
estate's own migrated copy and `deed-ecosystem/README.adoc`: `.deed` is final, `.a2ml` is legacy and
no longer authored, and the template bootstraps with `just repo-init` (so the `a2mliser init`
instruction is removed). Retained `.machine_readable/*.a2ml` inputs are untouched.
@coderabbitai

coderabbitai Bot commented Sep 21, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: f4db5e50-a3e6-46ec-9c71-a912274e2e08

📥 Commits

Reviewing files that changed from the base of the PR and between 842ca0a and e30edc9.

📒 Files selected for processing (1)
  • .github/workflows/dogfood-gate.yml
 ______________________________________________________________________________________________________________________________________________________________________________________________________________
< Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves. - Alan Kay >
 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Mirrors `rsr-template-repo/.github/workflows/deed-validate.yml` and standards#837 step 4. No
`.a2ml` document is translated and no retained-input gate is touched.
@hyperpolymath hyperpolymath changed the title fix(gates): require .deed, not the deprecated .a2ml fix(gates): gate on the DEED grammar, per the template and standards#837 Sep 21, 2026
@hyperpolymath
hyperpolymath merged commit 62bd0d2 into main Sep 21, 2026
20 of 25 checks passed
@hyperpolymath
hyperpolymath deleted the fix/deed-gate-grammar branch September 21, 2026 11:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant