Skip to content

chore(canonical-names): migrate the retired 6a2 layout to descriptiles - #269

Merged
hyperpolymath merged 1 commit into
mainfrom
arena/c04d58de-typed-wasm
Oct 10, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
arena/c04d58de-typed-wasm

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

What this fixes

The other half of the Governance red that #266 left behind. After that merge, governance / Workflow security linter fails one step later than it used to — the SPDX step passes now, and what remains is:

::error file=Justfile::Policy requires a retired descriptile path; use
.machine_readable/descriptiles/ and reconcile existing files

This is a pre-existing repo violation the stale pin was masking, not a regression from #266. 0-canon/CANONICAL-NAMES.adoc (owner mandate 2026-06-30) states the old name 6a2 is DEPRECATED and to "migrate it to descriptiles on sight"; check-canonical-names.sh only blocks new occurrences, because the bulk migration was chartered separately. This is that migration.

Changes

Moved .machine_readable/6a2/{STATE,META,ECOSYSTEM,AGENTIC,NEUROSYM,PLAYBOOK}.a2ml → .machine_readable/descriptiles/… (git mv, content unchanged — five of six are R100)
Rewritten 49 path refs across 19 live files: Justfile, 0-AI-MANIFEST.a2ml, AUDIT.adoc, .github/GOVERNANCE.md, the PR template, .machine_readable/ai/*, policies/MAINTENANCE-AXES.a2ml, four docs/ files, spec/async-convergence-abi.adoc, src/abi/README.adoc
Deliberately left 4 refs in CHANGELOG.adoc and docs/reports/maintenance/2026-05-25-phase-0-closure.adoc. The mandate allows the deprecated spelling in historical records, and rewriting a dated report would make it lie about what it referenced that day

The Justfile half is not cosmetic

just info, just validate-rsr and just validate-state tested .machine_readable/STATE.a2ml and …/META.a2ml bare — paths that have never existed in this repo — so their [ -f ] guards made the recipes skip and report success. After retargeting:

META.a2ml axis assertions        -> 5 pass / 0 fail   (previously: not executed at all)
STATE.a2ml phase                 -> 0                 (previously: nothing printed)
STATE [metadata] / project key   -> 1 / 1             (previously: "No …STATE.a2ml found")

No workflow invokes those recipes (checked), so CI behaviour is unchanged and local dev checks stop being theatre.

Verification — the estate's own gates, run locally

check-descriptile-policy.sh             -> exit 0    (exit 1 on main)
check-canonical-names.sh origin/main    -> "✅ no deprecated names reintroduced"
every .machine_readable/descriptiles/*.a2ml referenced anywhere -> exists

Not verified, and not claimable from here: the real CI run (this PR triggers governance / Workflow security linter on pull_request, which is the test), and just itself is absent from the sandbox, so the recipes were exercised by running their shell bodies directly rather than through just.

What this does not fix

  • governance / Actions lockfile verify — needs gh actions.lock re-minted for hyperpolymath/smtp-notify-action@v0.5.0. The lockfile header says "Do not edit by hand; run gh actions-lock to update", and this sandbox cannot fetch the extension (release assets are on release-assets.githubusercontent.com, outside the egress allowlist), so hand-writing the entry was rejected as the wrong move. One command, from a machine that has it: gh extension install github/gh-actions-lock && gh actions-lock. Note CI's own annotation agrees: "Regenerate with scripts/update-actions-lock.sh in the same PR as the uses: change." Useful correction from fix(ci): four red checks on main, one root cause — workflows drifted off actions.lock #266: the lockfile does not record reusable-workflow calls (0 such entries in rsr-template-repo's lock), so the slsa-generator line is not drift and needs no action.
  • E2E Validation / Structural E2E — tests/e2e.sh:68 asserts a LEVEL-STATUS.md containing rows | 1 |…| 12 |; the repo has LEVEL-STATUS.adoc, whose tables are a version matrix and a feature matrix and do not enumerate levels at all. Renaming in the test would turn one honest failure into twelve fake-compliant ones, so the choice (doc gains a level table, or the check retargets at the ranges the doc declares) is a spec decision, not a CI fix.
  • Smoke test, Cargo build + test (typed-wasm-verify), Hypatia neurosymbolic scan, SonarCloud Code Analysis — pre-existing content reds, now genuinely executing.
  • .machine_readable/agent_instructions/ — the other name this mandate retires (→ bot_directives). bot_directives/ already exists here with three byte-identical files and a README differing by one explanatory bullet, so this is a question about whether the two dirs mean the same thing in this repo, not a rename. Filed rather than guessed.
  • ubuntu-latest → Ubuntu 26 lands 2026-10-19, 9 days out; every job here carries the notice. The estate-wide decision is still pending and this PR does not pre-empt it.

`governance / Workflow security linter` has been red since #266 bumped the pin,
but not for the reason it was red before. The SPDX step now passes; what fails is
one step later, `Check descriptile policy consistency`, which reports:

  ::error file=Justfile::Policy requires a retired descriptile path; use
  .machine_readable/descriptiles/ and reconcile existing files

That is a pre-existing repo violation the old pin was masking - #266 exposed it,
this commit fixes it. `0-canon/CANONICAL-NAMES.adoc` (owner mandate 2026-06-30)
says the old name "6a2" is DEPRECATED, "migrate it to descriptiles on sight"; the
gate exists only to stop NEW occurrences, and the bulk migration was chartered
separately. This is that migration, for the six files this repo still kept at
retired paths.

  .machine_readable/6a2/{STATE,META,ECOSYSTEM,AGENTIC,NEUROSYM,PLAYBOOK}.a2ml
    -> .machine_readable/descriptiles/...            (git mv, content unchanged)
  49 path refs rewritten across 19 live files        (Justfile, 0-AI-MANIFEST.a2ml,
    AUDIT.adoc, .github/GOVERNANCE.md, the PR template, .machine_readable/ai/*,
    policies/MAINTENANCE-AXES.a2ml, docs/, spec/async-convergence-abi.adoc,
    src/abi/README.adoc)
  4 references left as they were                    (CHANGELOG.adoc,
    docs/reports/maintenance/2026-05-25-phase-0-closure.adoc - the mandate allows
    the deprecated spelling to survive in historical records, and rewriting a
    dated report would make it lie about what it referenced that day)

The Justfile part is not cosmetic. `just info`, `just validate-rsr` and `just
validate-state` tested `.machine_readable/STATE.a2ml` and `.machine_readable/
META.a2ml` bare, which have NEVER existed in this repo, so their `[ -f ]` guards
made the recipes skip silently and report success. After retargeting, all five
`META.a2ml` axis assertions run and pass, and `STATE.a2ml` yields `phase = 0`
where the recipe printed nothing. No workflow invokes these recipes - checked -
so CI behaviour is unchanged and local dev checks stop being theatre.

Verified with the estate's own scripts rather than by assertion:

  check-descriptile-policy.sh                  -> exit 0   (1 on main)
  check-canonical-names.sh origin/main         -> "no deprecated names reintroduced"
  every .machine_readable/descriptiles/*.a2ml referenced anywhere -> exists

Left alone deliberately: `.machine_readable/agent_instructions/` is the other name
this mandate retires (-> `bot_directives`), and that directory already exists here
with three byte-identical files and a README that differs by one explanatory
bullet. That is a content decision about whether the two dirs mean the same thing
in this repo, not a rename - filed as a follow-up instead of guessed at here.

Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Oct 10, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 50 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 2e2c30a0-8d5e-42bd-a3db-184588faa600

📥 Commits

Reviewing files that changed from the base of the PR and between a6615d6 and 7b6ba7b.


📒 Files selected for processing (25)
  • .github/GOVERNANCE.md
  • .github/pull_request_template.md
  • .machine_readable/ai/.clinerules
  • .machine_readable/ai/.windsurfrules
  • .machine_readable/ai/AI.a2ml
  • .machine_readable/ai/README.adoc
  • .machine_readable/descriptiles/AGENTIC.a2ml
  • .machine_readable/descriptiles/ECOSYSTEM.a2ml
  • .machine_readable/descriptiles/META.a2ml
  • .machine_readable/descriptiles/NEUROSYM.a2ml
  • .machine_readable/descriptiles/PLAYBOOK.a2ml
  • .machine_readable/descriptiles/STATE.a2ml
  • .machine_readable/policies/MAINTENANCE-AXES.a2ml
  • 0-AI-MANIFEST.a2ml
  • AUDIT.adoc
  • CHANGELOG.adoc
  • Justfile
  • docs/RSR_OUTLINE.adoc
  • docs/STATE-VISUALIZER.adoc
  • docs/architecture/ABI-PIPELINE.adoc
  • docs/architecture/AGGREGATE-LIBRARY-VISION.adoc
  • docs/practice/AI-CONVENTIONS.adoc
  • docs/status/README.adoc
  • spec/async-convergence-abi.adoc
  • src/abi/README.adoc

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@sonarqubecloud

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath merged commit 02c904a into main Oct 10, 2026
39 of 43 checks passed
@hyperpolymath
hyperpolymath deleted the arena/c04d58de-typed-wasm branch October 10, 2026 13:44
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