Skip to content

reorg(1-formats): move the estate's read/write formats under 1-formats/ - #827

Merged
hyperpolymath merged 2 commits into
mainfrom
chore/reorg-1-formats
Sep 17, 2026
Merged

hyperpolymath merged 2 commits into
mainfrom
chore/reorg-1-formats

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

What

District 1 of the canon reorg, taken end-to-end like 0-canon before it: 11 moves, 261 inbound references rewritten, the map updated, GATE D green at entry_count 120.

did-you-actually-do-that -> 1-formats/sub-specs/did-you-actually-do-that/
a2ml-templates           -> 1-formats/templates/
inline-annotations       -> 1-formats/sub-specs/inline-annotations/
contractiles             -> 1-formats/contractiles/          [COUPLED to the spine]
deed                     -> 1-formats/deed/                  [COUPLED to the spine]
panll-panels             -> 1-formats/sub-specs/panll-panels/
ensaid-config            -> 1-formats/sub-specs/ensaid-config/
cartridges               -> 1-formats/sub-specs/cartridges/
A2ML-REPO-TEMPLATE.adoc  -> 1-formats/A2ML-REPO-TEMPLATE.adoc
SATELLITES.a2ml          -> 1-formats/SATELLITES.a2ml
bindings-haskell         -> 1-formats/sub-specs/bindings-haskell/

No version bump

None of the five [canon.artifacts] bytes changed; GATE A assertion 1 confirms all five hashes still match, and the lock's own recorded precedent is that a relocation whose sha256 values are unchanged needs no bump. Assertion 2 reports the no-change case rather than a violation.

The 8 (pointer) entries are deliberately NOT in this PR

k9-svc -> 1-formats/k9/ and the seven *-a2ml profile dirs -> 1-formats/a2ml/. The map annotates them (pointer): the standard relocates and the old path keeps a stub. No pointer artefact exists in this repo to copy — a2ml/ was evicted outright on 2026-08-28 by 24a12d6f (the map's own note: "finish the eviction or revert it") and no stub convention is defined anywhere in the tree. Rather than invent one, their paths are left exactly as they are: they still resolve, so this PR leaves no dangling state. A convention proposal follows separately.

canon.lock, hand-edited — two lines

The mover protects this file because it mixes identifiers with paths (a sweep rewrites the slot key and doubles the slash — district 0 proved that). [canon.split-candidates] path values follow the move:

deed-grammar      path -> 1-formats/deed/spec/DEED-GRAMMAR-SPEC.adoc
contractile-spec  path -> 1-formats/contractiles/README.adoc

Key names, slot names and sha256 values untouched.

One more fix, because the move exposed it

The ecosystem-a2ml scorecard named .machine_readable/6a2/ECOSYSTEM.a2ml. That directory no longer exists (it is .machine_readable/descriptiles/), and since this move rewrites another path on the same line, the line counts as added — which scripts/check-canonical-names.sh correctly flags as reintroducing a deprecated name. The stale path is corrected to the real one rather than grandfathered.

Gates, all run in this tree

gate result
scripts/check-standards-map.sh (GATE D) PASSED, entry_count = 120
scripts/check-canon-lockstep.sh (GATE A) 8 passed / 0 failed / 2 skipped (4+5: no gh, no hypatia — the script advertises what did not run)
check-canonical-names.sh rc=0 (rc=1 before the scorecard fix)
check-manifest-ply.sh rc=0 (control rc=1: the moved manifest declared a ply deeper than its home)
every other scripts/check-*.sh identical rc to a pristine 176d1f7 control, except the two above, both explained

Reference rewriting is path-shaped only — a bare word is never rewritten, so constitution the canon.lock slot key and loop variables stay identifiers. Audit: 2647 files scanned, 0 references left pointing at an old path.

The map gains a district-root record

GATE D assertion 2 requires every top-level entry to appear as some record's from, and a district move creates a new top-level entry. entry_count moves 119 → 120 with it (assertion 5 counts records).

District 1 of the canon reorg — the second district taken end-to-end, after
0-canon (2.0.3). 11 plain moves, 261 inbound references rewritten, the map
updated, GATE D green at entry_count 120.

MOVED (11)
  did-you-actually-do-that -> 1-formats/sub-specs/did-you-actually-do-that/
  a2ml-templates           -> 1-formats/templates/
  inline-annotations       -> 1-formats/sub-specs/inline-annotations/
  contractiles             -> 1-formats/contractiles/          [COUPLED to the spine]
  deed                     -> 1-formats/deed/                  [COUPLED to the spine]
  panll-panels             -> 1-formats/sub-specs/panll-panels/
  ensaid-config            -> 1-formats/sub-specs/ensaid-config/
  cartridges               -> 1-formats/sub-specs/cartridges/
  A2ML-REPO-TEMPLATE.adoc  -> 1-formats/A2ML-REPO-TEMPLATE.adoc
  SATELLITES.a2ml          -> 1-formats/SATELLITES.a2ml
  bindings-haskell         -> 1-formats/sub-specs/bindings-haskell/

NO POINTERS YET (8, deliberately untouched): k9-svc -> 1-formats/k9/ and the
seven *-a2ml profile dirs -> 1-formats/a2ml/. The map annotates these
"(pointer)" — the standard relocates and the old path keeps a stub — but no
pointer artefact exists in this repo to copy: a2ml/ was evicted outright on
2026-08-28 by 24a12d6 (the map's note says "finish the eviction or revert it")
and no stub convention is defined anywhere in this tree. The mover reports and
skips them rather than inventing one. Their paths are unchanged and still
resolve, so this commit leaves no dangling state.

NO VERSION BUMP. None of the five [canon.artifacts] bytes changed; GATE A
assertion 1 confirms all five hashes still match, and the lock's own recorded
precedent is that a relocation whose sha256 values are unchanged needs no bump.
GATE A assertion 2 reports the no-change case rather than a violation.

canon.lock: hand-edited, two lines (the mover protects this file because it
mixes identifiers with paths — a sweep rewrites the slot KEY and doubles the
slash; district 0 proved that). [canon.split-candidates] path values follow the
move:
  deed-grammar      path -> 1-formats/deed/spec/DEED-GRAMMAR-SPEC.adoc
  contractile-spec  path -> 1-formats/contractiles/README.adoc
Key names, slot names and sha256 values are untouched.

Also fixed here, because the move exposed it: the ecosystem-a2ml scorecard
named `.machine_readable/6a2/ECOSYSTEM.a2ml`. That directory no longer exists
(it is `.machine_readable/descriptiles/`), and because this move rewrites
another path on the same line, the line counts as ADDED — which
scripts/check-canonical-names.sh correctly flags as reintroducing a deprecated
name. The stale path is corrected to the real one rather than grandfathered.

GATES (all run in this tree)
  scripts/check-standards-map.sh      PASSED, entry_count 120
  scripts/check-canon-lockstep.sh     8 passed / 0 failed / 2 skipped
                                      (4+5 skipped: no gh, no hypatia — advertised)
  check-canonical-names.sh            rc=0   (rc=1 before the scorecard fix)
  check-manifest-ply.sh               rc=0   (control rc=1: the moved manifest's
                                      declared ply was deeper than its home)
  every other scripts/check-*.sh      identical rc to the pristine control at
                                      176d1f7 except the two above, both explained

The map gains a record for the district root itself: GATE D assertion 2 requires
every TOP-LEVEL entry to appear as some record's `from`, and a district move
creates a new top-level entry. entry_count moves 119 -> 120 with it (assertion 5
counts records).

Reference rewrite is path-shaped only: a bare word is never rewritten, so
identifiers (`constitution` the canon.lock slot key, loop variables) are safe.
Audit: 2647 files scanned, 0 references left pointing at an old path.
@coderabbitai

coderabbitai Bot commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 143 files, which is 43 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

Check out review usage here.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: af482b40-115f-475e-9cd9-284cb7ac3cd9

📥 Commits

Reviewing files that changed from the base of the PR and between 7521a15 and 0718580.

⛔ Files ignored due to path filters (1)
  • canon.lock is excluded by !**/*.lock
📒 Files selected for processing (143)
  • .github/CODEOWNERS
  • .github/workflows/dyadt-verify.yml
  • .gitignore
  • .hypatia-baseline.json
  • .machine_readable/INTENT.contractile
  • .machine_readable/MUST.contractile
  • .machine_readable/REGISTRY.a2ml
  • .machine_readable/descriptiles/PLAYBOOK.a2ml
  • .machine_readable/licensing-policy.toml
  • .machine_readable/migrations/contractile-layout-2026-04-18.a2ml
  • .machine_readable/scorecards/a2ml-templates.scorecard.a2ml
  • .machine_readable/scorecards/agentic-a2ml.scorecard.a2ml
  • .machine_readable/scorecards/anchor-a2ml.scorecard.a2ml
  • .machine_readable/scorecards/contractiles.scorecard.a2ml
  • .machine_readable/scorecards/did-you-actually-do-that.scorecard.a2ml
  • .machine_readable/scorecards/ecosystem-a2ml.scorecard.a2ml
  • .machine_readable/scorecards/ensaid-config.scorecard.a2ml
  • .verisimdb/config.toml
  • 0-AI-MANIFEST.a2ml
  • 0-ai-gatekeeper-protocol/contractiles/README.adoc
  • 0-canon/CANONICAL-NAMES.adoc
  • 1-formats/A2ML-REPO-TEMPLATE.adoc
  • 1-formats/SATELLITES.a2ml
  • 1-formats/contractiles/CANONICAL-TEMPLATES.adoc
  • 1-formats/contractiles/README.adoc
  • 1-formats/contractiles/dust/Dustfile
  • 1-formats/contractiles/intend/Intentfile.a2ml
  • 1-formats/contractiles/must/Mustfile
  • 1-formats/contractiles/trust/Trustfile.a2ml
  • 1-formats/deed/README.adoc
  • 1-formats/deed/docs/iana/application-vnd.deed-registration.txt
  • 1-formats/deed/spec/DEED-GRAMMAR-SPEC.adoc
  • 1-formats/deed/spec/DEED-GRAMMAR-SPEC_v0.1.adoc
  • 1-formats/deed/spec/abnf/deed.abnf_v1.0
  • 1-formats/deed/spec/abnf/deed.anbf
  • 1-formats/sub-specs/bindings-haskell/.devcontainer/Containerfile
  • 1-formats/sub-specs/cartridges/0.2-AI-MANIFEST.a2ml
  • 1-formats/sub-specs/cartridges/CARTRIDGE-FORMAT.adoc
  • 1-formats/sub-specs/cartridges/cartridge-v1.json
  • 1-formats/sub-specs/did-you-actually-do-that/README.adoc
  • 1-formats/sub-specs/did-you-actually-do-that/docs/NAMING-RESOLUTION.adoc
  • 1-formats/sub-specs/did-you-actually-do-that/spec/CLAIM-FORMAT.adoc
  • 1-formats/sub-specs/did-you-actually-do-that/spec/CONSEQUENCE-LEDGER.adoc
  • 1-formats/sub-specs/did-you-actually-do-that/spec/VERIFICATION-PROTOCOL.adoc
  • 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/README.adoc
  • 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/always-match.a2ml
  • 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/always-match.expected
  • 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/confirmed-command.a2ml
  • 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/confirmed-command.expected
  • 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/contains-fixture.a2ml
  • 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/contains-fixture.expected
  • 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/fixture.txt
  • 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/incompatible-verifier.a2ml
  • 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/incompatible-verifier.expected
  • 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/licence-in-statement.a2ml
  • 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/licence-in-statement.expected
  • 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/manual-licence.a2ml
  • 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/manual-licence.expected
  • 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/missing-field.a2ml
  • 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/missing-field.expected
  • 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/refuted-command.a2ml
  • 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/refuted-command.expected
  • 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/run-conformance.sh
  • 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/unsafe-path.a2ml
  • 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/unsafe-path.expected
  • 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/unverifiable-network.a2ml
  • 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/unverifiable-network.expected
  • 1-formats/sub-specs/ensaid-config/0-AI-MANIFEST.a2ml
  • 1-formats/sub-specs/ensaid-config/README.adoc
  • 1-formats/sub-specs/ensaid-config/spec/ENSAID-CONFIG-SPEC.adoc
  • 1-formats/sub-specs/ensaid-config/spec/README.adoc
  • 1-formats/sub-specs/inline-annotations/README.adoc
  • 1-formats/sub-specs/inline-annotations/SPEC.adoc
  • 1-formats/sub-specs/inline-annotations/examples/octad-mapping.a2ml
  • 1-formats/sub-specs/inline-annotations/examples/output.a2ml
  • 1-formats/sub-specs/inline-annotations/examples/sources.adoc
  • 1-formats/sub-specs/inline-annotations/extractor/Cargo.toml
  • 1-formats/sub-specs/inline-annotations/extractor/batch-extract.sh
  • 1-formats/sub-specs/inline-annotations/extractor/src/main.rs
  • 1-formats/sub-specs/panll-panels/README.adoc
  • 1-formats/sub-specs/panll-panels/manifest.json
  • 1-formats/sub-specs/panll-panels/src/ComplianceMonitor.affine
  • 1-formats/sub-specs/panll-panels/src/CrgDashboard.affine
  • 1-formats/sub-specs/panll-panels/src/ProofHub.affine
  • 1-formats/sub-specs/panll-panels/src/VcldbClient.affine
  • 1-formats/templates/AGENTIC.a2ml.template
  • 1-formats/templates/ECOSYSTEM.a2ml.template
  • 1-formats/templates/META.a2ml.template
  • 1-formats/templates/NEUROSYM.a2ml.template
  • 1-formats/templates/PLAYBOOK.a2ml.template
  • 1-formats/templates/STATE.a2ml.template
  • 1-formats/templates/STATE.a2ml.v2.spec.adoc
  • 1-formats/templates/STATE.a2ml.v2.template
  • 1-formats/templates/state-migrate-v1-to-v2.sh
  • 1-formats/templates/state-scm-to-v2.jl
  • CLAIMS.a2ml
  • EXPLAINME.adoc
  • Justfile
  • LICENCE-POLICY.adoc
  • QUICKSTART-USER.adoc
  • README.adoc
  • REORGANIZATION-PLAN.adoc
  • TOOLING-VERSION-INTEGRITY-POLICY.adoc
  • TOPOLOGY.adoc
  • agentic-a2ml/contractiles/README.adoc
  • ai-instruction/README.adoc
  • anchor-a2ml/contractiles/README.adoc
  • audits/assail-classifications.a2ml
  • audits/licence-flags-2026-07.adoc
  • axel-protocol/contractiles/README.adoc
  • docs/ADR-001-k9-relocation-to-svc.adoc
  • docs/AUDIT.adoc
  • docs/CONTRACTILE-SPEC.adoc
  • docs/DESCRIPTILE-SPEC.adoc
  • docs/INNERVATION.adoc
  • docs/STANDARDS-CRITICAL-PATH.adoc
  • docs/archive/provenance/coord-mcp/COORD-MCP-TODO.adoc
  • docs/archive/scaffolding/contractile.just
  • docs/audits/2026-03-30/STATISTEASE-PLAN.adoc
  • docs/audits/dogfooding-matrix-2026-04-04.adoc
  • docs/proofs/spec-templates/T2-high/boj-server.adoc
  • docs/reorg/STREAM-PROMPTS.adoc
  • docs/wikis/developers/index.adoc
  • docs/wikis/maintainers/index.adoc
  • docs/wikis/users/index.adoc
  • ecosystem-a2ml/README.adoc
  • ecosystem-a2ml/contractiles/README.adoc
  • immaculate-guide/IMMACULATE-GUIDE.adoc
  • k9-svc/DOGFOODING-OPPORTUNITIES.adoc
  • llm-warmup-user.adoc
  • meta-a2ml/README.adoc
  • playbook-a2ml/README.adoc
  • rhodium-standard-repositories/CLAUDE.md
  • rhodium-standard-repositories/contractiles/README.adoc
  • rhodium-standard-repositories/templates/MUST.contractile.template
  • scripts/build-registry.sh
  • scripts/verify-claims.sh
  • session-management-standards/verify/substantial-completion/CHECKLIST.adoc
  • standards-map.toml
  • standards-update/README.adoc
  • state-a2ml/README.adoc
  • state-a2ml/spec/STATE-FORMAT-SPEC.adoc
  • templates/CODEOWNERS

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


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.

@hyperpolymath
hyperpolymath merged commit cfbb662 into main Sep 17, 2026
1 check passed
@hyperpolymath
hyperpolymath deleted the chore/reorg-1-formats branch September 17, 2026 20:08
@sonarqubecloud

Copy link
Copy Markdown

hyperpolymath added a commit to hyperpolymath/rsr-template-repo that referenced this pull request Sep 17, 2026
## What

Four references to the canon's DEED grammar, following the move in
**hyperpolymath/standards#827**:

```
deed/spec/DEED-GRAMMAR-SPEC.adoc  ->  1-formats/deed/spec/DEED-GRAMMAR-SPEC.adoc
```

| file | line |
|---|---|
| `.machine_readable/README.adoc` | 13 |
| `.machine_readable/contractiles/README.adoc` | 16 |
| `.machine_readable/descriptiles/README.adoc` | 14 |
| `.machine_readable/rsr-profile.a2ml` | 11 |

## Why these four and not the other hits

Each names the path as the **normative source *in
hyperpolymath/standards*** — the coupling is in the sentence, not in the
word. A name-match pass is not enough: the district-0 pass flagged
`GOVERNANCE.adoc` as coupled when all nine hits turned out to be this
repo's own file, a relative link, historical audit text, or
`validate-template.sh` checking the *target* repo.

The `contractiles/` hits in this repo (`.machine_readable/README.adoc`,
`coaptation/verify.sh`, `Dustfile.a2ml`, `descriptiles/PLAYBOOK.a2ml`,
`Justfile`, `build/just/assess.just`) are **not** coupling: they are
this repo's own `.machine_readable/contractiles/` directory — its
Mustfile/Dustfile — never the canon's.

## Verification

* Every occurrence of `deed/spec/DEED-GRAMMAR-SPEC.adoc` in the tree is
one of these four files (checked with `git grep -l`), and each
occurrence is attributed to `hyperpolymath/standards` in its surrounding
text.
* `scripts/validate-template.sh` → **rc=0, 6 warnings — byte-identical
to a pristine `origin/main` control** (both are the pre-existing
placeholder/SPDX/compiler-absent warnings).
* Diff is exactly 4 lines, one per file.

## Ordering

`canon.lock [canon.lockstep].order` is
`spine-adopts-then-canon-releases`, so this may land either side of
#827. The referenced path only becomes live when #827 merges; until then
it points at a path the canon has not yet published, which is the same
window the ordering rule already tolerates for the pins.

No version bump is involved on either side: district 1 changed none of
the five `[canon.artifacts]` bytes, so the spine's `criteria_sha256` /
`gates_sha256` pins are untouched and `Canon lockstep` stays green.
hyperpolymath added a commit that referenced this pull request Sep 17, 2026
## What

The **remainder of district 1** — the 8 `(pointer)` entries. #827 merged
at 20:08:21Z from the branch's first commit; this commit was pushed
moments later, so it never reached `main`. Cherry-picked onto current
`main` cleanly (`15af5b0`), no conflicts.

`1-formats/deed` and `1-formats/contractiles` are in `main`;
`1-formats/k9/` and `1-formats/a2ml/` are not, and there are no
`POINTER.adoc` stubs yet. This PR supplies them.

## The convention (owner ruling, 2026-09-17)

Each old path keeps ONE `POINTER.adoc` — SPDX lines, title, a relative
link to the new home, and a stable, greppable TOML block:

```toml
moved-to = "1-formats/a2ml/meta/"
pointer  = true
district = "1-formats"
```

Nothing in it is normative. No other content remains in the old
directory.

```
k9-svc         41 -> 1-formats/k9/              meta-a2ml      38 -> 1-formats/a2ml/meta/
agentic-a2ml   37 -> 1-formats/a2ml/agentic/    state-a2ml     30 -> 1-formats/a2ml/state/
anchor-a2ml    25 -> 1-formats/a2ml/anchor/     ecosystem-a2ml 23 -> 1-formats/a2ml/ecosystem/
neurosym-a2ml  23 -> 1-formats/a2ml/neurosym/   playbook-a2ml  15 -> 1-formats/a2ml/playbook/
```

**232 files relocated, 183 references rewritten, 8 stubs.**

## Two things the map is silent on — resolved and recorded, not decided
silently

1. **All seven `*-a2ml` dirs carried the same target,
`1-formats/a2ml/`.** Taken literally that merges seven directories into
one, and **34 relative paths collide**: seven `README.adoc`, seven
`.editorconfig`, seven `.gitattributes`, seven `.gitignore`, seven
`.machine_readable/descriptiles/*.a2ml`, and 28 more.
`docs/reorg/STREAM-PROMPTS.adoc` names the seven homes normatively —
*"the descriptiles family becomes A2ML profiles: a2ml/state, a2ml/meta,
a2ml/ecosystem, a2ml/agentic, a2ml/neurosym, a2ml/playbook,
a2ml/anchor"* — so each profile becomes a subdirectory and each record's
`target` records the refinement. `k9-svc`'s target already named its own
directory and is unchanged.

2. **A pointer entry's `from` is NOT rewritten**, unlike a plain move.
The old path still exists — it holds the stub — so GATE D assertions 1
and 2 keep holding, and the record keeps stating where the migration
started. A plain move rewrites `from` because there the old path stops
existing.

## Also here

Three re-added scorecard lines named `.machine_readable/6a2/`, a
directory that has not existed since the rename to
`.machine_readable/descriptiles/` (`playbook-a2ml` ×2, `state-a2ml` ×3).
Corrected — added lines only, so the chartered wider migration is
untouched. `check-canonical-names.sh` rc=1 → **rc=0**.

## Gates, run in this tree against current `main`

| gate | result |
|---|---|
| `scripts/check-standards-map.sh` | **PASSED**, `entry_count = 120`, 8
records annotated with the stub |
| `scripts/check-canon-lockstep.sh` | **8 passed / 0 failed / 2
skipped** — assertion 3 confirms the spine's merged pins still match
(`37cb5f67…`) |
| `check-canonical-names.sh` | rc=0 |
| every other `scripts/check-*.sh` | identical rc to the `3cdaa69`
control |
hyperpolymath added a commit that referenced this pull request Sep 17, 2026
## What

District 2 — the third district taken end-to-end, after `0-canon`
(2.0.3) and `1-formats` (#827 + #829). **7 plain moves, 162 inbound
references rewritten, map updated, GATE D green at `entry_count` 121.**

```
axel-protocol             110 files -> 2-protocols/axel/
0-ai-gatekeeper-protocol   50 files -> 2-protocols/0-ai-gatekeeper/
k9-coordination-protocol   19 files -> 2-protocols/k9-coordination/
overlay-protocol           10 files -> 2-protocols/overlay/
groove-protocol             2 files -> 2-protocols/groove/
chora                       2 files -> 2-protocols/chora/
avow-protocol               1 file  -> 2-protocols/avow/
```

No `(pointer)` entries in this district and no unintelligible entries —
all seven are plain moves, so nothing needed a convention call.

## No version bump, and `canon.lock` is untouched

None of the five `[canon.artifacts]` bytes changed (GATE A assertion 1
confirms all five hashes still match the lock), and no
`[canon.split-candidates]` path pointed into any of these directories —
so there is nothing to hand-edit this time. Assertion 3 confirms the
spine's merged pins still agree.

## References reach further than the directory names

`.hypatia-baseline.json`, `.machine_readable/REGISTRY.a2ml`, six
scorecards, `.well-known/ai.txt`, `.gitignore` / `.gitleaksignore`,
`.claude/CLAUDE.md`, the `Justfile`, `TOPOLOGY.adoc`, and two workflow
files (`echidna-verify.yml`, `secret-scanner-reusable.yml`).

The workflow edits are **path rewrites only** — no `uses:` line moved,
which is what the lock keys — and `scripts/lock-selfcheck.sh` on this
commit returns **SELF-CONSISTENT (rc=0)**, i.e. this commit is safe to
pin to.

## One stale path fixed, same class as districts 0 and 1

Rewriting a path in `overlay-protocol.scorecard.a2ml` makes that line
**added**, and the line named
`.machine_readable/6a2/{META,STATE,ECOSYSTEM}.a2ml` — a directory that
has not existed since the rename to `.machine_readable/descriptiles/`.
Corrected in place; `check-canonical-names.sh` rc=1 → rc=0. The bare
`6a2/PLAYBOOK.a2ml` in prose about sibling repos is left alone
deliberately (the gate treats a line describing the deprecation as
descriptive).

## Gates, run in this tree against a clean copy of `main` (`92e25e2`)

| gate | result |
|---|---|
| `scripts/check-standards-map.sh` | **PASSED**, `entry_count = 121` |
| `scripts/check-canon-lockstep.sh` | **8 passed / 0 failed / 2
skipped** |
| `scripts/check-canonical-names.sh` | rc=0 |
| `scripts/lock-selfcheck.sh` | **SELF-CONSISTENT** rc=0 |
| every `scripts/check-*.sh` | **rc identical to the control — all of
them, no exceptions to explain** |
| stale-reference audit | 7 moved-away sources, **0 leftovers** (2655
files scanned) |

The control was a real copy of `main`, not a linked worktree — a linked
worktree makes `check-workflow-staleness.sh` report false failures,
because `.git` there is a file and the script's `[ -d "$REPO_ROOT/.git"
]` fallback never runs.
hyperpolymath added a commit that referenced this pull request Sep 18, 2026
Bring main at 6054f0f (feat deed conformance lane) into PR #833.

Resolved:
- .gitignore, INTENT, scorecards, CRG, QUICKSTART-DEV, README, TOPOLOGY,
  INNERVATION, developers/index, build-registry, standards-map: took
  origin/main (theirs) — it reflects the 2-protocols (2-protocols/) and
  3-practice reorgs that landed after PR branched at 176d1f7.
- 1-formats/a2ml/*/.editorconfig etc (AA): both added identical RSR template
  files at same destination — kept theirs (identical to ours).
- agentic/anchor/ecosystem/k9/meta/neurosym/playbook old dirs (DD): both
  deleted after move — removed.
- 2-protocols/* (UA): added by origin/main — kept (the 7 plain moves of
  district 2).

The 1-formats district itself (11 plain moves in 0718580/cfbb66 and 8
pointer moves in 6358451/92e25e2) is already on main via #827 and #829, so
this merge is a no-op for that district except for the 2-protocols gap.

After this, PR #833 is mergeable via squash (merge commits are forbidden).
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