Skip to content

dogfood-gate.yml: the no-manifest guidance names .deed while the Mustfile critical rule requires .a2ml #98

Open

Description

@hyperpolymath

Recorded per the owner's stopping rule of 2026-09-15 — a new scanner finding
does not block a merge; it becomes an issue with acceptance criteria.

CodeRabbit posted CHANGES_REQUESTED on PR #94 (head 9ca8338, 09:36Z) with
one actionable comment, on .github/workflows/dogfood-gate.yml:32-51. PR #94
merged anyway as 3e7c585; all three required contexts (CodeQL, CodeRabbit,
governance / Code quality + docs) were green.

The finding, verified against the tree

CodeRabbit's claim: the manifest requirement disagrees between the dogfood
workflow and the Mustfile contract.

Measured, at 9ca8338:

  • .github/workflows/dogfood-gate.yml detects *.a2ml or *.deed and sets
    count. It emits ::warning::No .deed manifest files found. Every RSR repo should have 0-AI-MANIFEST.deed — but only inside if [ "$COUNT" -eq 0 ].
  • The step summary has a matching .deed-naming branch, also only under
    A2ML_COUNT -eq 0.
  • The repo root holds 0-AI-MANIFEST.a2ml (7530 bytes) and no .deed, so
    count >= 1 and neither .deed-naming branch can execute in this repo.
  • .machine_readable/contractiles/Mustfile.a2ml:33-34 requires
    test -f 0-AI-MANIFEST.a2ml. That file exists, so the critical rule passes
    before and after the merge.

Therefore the disagreement is between two pieces of guidance text, one of which
is unreachable.
It is a dormant-code finding, not a live-on-merge defect:
nothing fails, and nothing changed at the merge. That is precisely the category
the owner's rule routes to an issue.

Note also that the warning, were it ever to fire, would advise authoring a
.deed manifest while the repo's own critical Mustfile rule demands an .a2ml
one — so a reader who followed the workflow's advice would break the Mustfile.
The text is not merely redundant; it is contradictory.

Acceptance criteria

  • The count == 0 warning and the step-summary text name the same
    manifest filename the Mustfile critical rule requires, so following the
    workflow's advice cannot break the contract.
  • If the intended long-term requirement is 0-AI-MANIFEST.deed, then the
    Mustfile rule, the checked-in manifest and the workflow guidance change
    together, in one commit — not the guidance alone.
  • A positive control: with no manifest file present, the workflow's advice,
    followed literally, produces a tree that passes the Mustfile.

⚠ Scope guard, per the standing ruling: hands off .a2ml grammar. No bulk
rename of the 19,477 .a2ml files, and 0-AI-MANIFEST.a2ml is not renamed here.
Any change to a manifest is a value string only, via sed. This issue is
about the two guidance texts agreeing with the contract, nothing more.

Routing

Folds into the follow-up PR that already carries the issue #95 items
(F2, F4, F6 and the four Minors). It is a text-only change to one workflow file.

Activity

  1. added a commit that references this issue on Sep 29, 2026
  2. added
    documentationDocs, prose, diagrams, READMEs, ADRs
    scope:repoConfined to this repository
    status:readyFully specified and ready to be picked up
    on Sep 30, 2026
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

    documentationDocs, prose, diagrams, READMEs, ADRspriority:p3Low - nice to havescope:repoConfined to this repositorystatus:readyFully specified and ready to be picked up

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions