Skip to content

refactor(root): complete the root cleanup migration - #51

Merged
hyperpolymath merged 4 commits into
mainfrom
refactor/root-cleanup-c4
Sep 18, 2026
Merged

hyperpolymath merged 4 commits into
mainfrom
refactor/root-cleanup-c4

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Completes the half-finished root cleanup (C4). scripts/check-root-shape.sh was reporting 5 off-allowlist root entries; this takes it to 2, and the 2 that remain are files awaiting an owner ruling (below).

What changes:

  1. .githooks/ → .github/hooks/ — matches the template's layout. The directory held only the two A2ML/K9 validators called by dogfood-gate.yml; both call sites updated.
  2. abi.ipkg → src/interface/abi.ipkg — one source of truth for the ABI seam: the package file now sits beside the modules it declares, exactly as in rsr-template-repo. sourcedir becomes . because the package resolves modules relative to its own directory. All 19 references updated: the Justfile, tests/e2e.sh, four onboarding/status docs, the .gitignore comment, and the allowlist entry (dropped, since the file is no longer at root).
  3. www/ allowlisted — created by the estate-wide .well-known migration, never listed.
  4. CHANGELOG entry corrected — the allowlist named CHANGELOG.md; this repo ships CHANGELOG.adoc.

What is deliberately left alone — these need your ruling, not a patch:

  • CONTRIBUTING.adoc — openssf-compliance.yml:52 hard-requires a guide at root (exit 1, no .github/ fallback), and this repo's own allowlist comment already says dedupe is an owner decision.
  • SECURITY.adoc — same shape; the estate tracks .github/SECURITY.md as the signposting copy.

Verified by running this repository's own check-root-shape.sh before and after.

…ub/hooks/

scripts/check-root-shape.sh flags .githooks/ as root drift — it is not on
.machine_readable/root-allow.txt. The estate canon keeps versioned hooks under
.github/ (rsr-template-repo made the same move), so the directory is not added
to the allowlist; the hooks simply move.

Updated the two dogfood-gate invocations that call them, and the .github/
comment in the allowlist to mention hooks/.
Establishes one source of truth for the ABI seam: the package file now sits
beside the modules it declares, as in rsr-template-repo.

sourcedir is now "." because the package file resolves modules relative to its
own directory, which is already src/interface/.

Updated every reference (19 total, all accounted for): the Justfile targets,
tests/e2e.sh, the four onboarding/status docs, the .gitignore comment, and the
allowlist entry — which is dropped, since the file is no longer at root.
…ration

The estate-wide migration moved root .well-known/ into www/.well-known/, which
creates a tracked www/ directory at the repository root. rsr-template-repo
allowlists www/ for exactly this reason (issue #53); this repository's copy of
the allowlist was not updated by the migration, so check-root-shape.sh reports
it as drift.

Entry copied verbatim from the template's allowlist.
…xists

The allowlist listed CHANGELOG.md; this repository ships CHANGELOG.adoc.
AsciiDoc is the estate-standard documentation format, and the template's own
allowlist names CHANGELOG.adoc, so the entry is corrected to match the file on
disk rather than the file being renamed.
@coderabbitai

coderabbitai Bot commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

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: 5cb24605-7117-49bd-8a7b-510ea7efc479

📥 Commits

Reviewing files that changed from the base of the PR and between 2ab5996 and 78c7ae4.

📒 Files selected for processing (12)
  • .github/hooks/validate-a2ml.sh
  • .github/hooks/validate-k9.sh
  • .github/workflows/dogfood-gate.yml
  • .gitignore
  • .machine_readable/root-allow.txt
  • Justfile
  • docs/onboarding/QUICKSTART-DEV.adoc
  • docs/onboarding/QUICKSTART-MAINTAINER.adoc
  • docs/onboarding/QUICKSTART-USER.adoc
  • docs/status/TEST-NEEDS.adoc
  • src/interface/abi.ipkg
  • tests/e2e.sh
 _____________________________________________________________________________________________________________________________________
< Prototype to learn. Prototyping is a learning experience. Its value lies not in the code you produce, but in the lessons you learn. >
 -------------------------------------------------------------------------------------------------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR

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 5f60110 into main Sep 18, 2026
3 of 40 checks passed
@hyperpolymath
hyperpolymath deleted the refactor/root-cleanup-c4 branch September 18, 2026 16:22
hyperpolymath added a commit that referenced this pull request Sep 18, 2026
Follow-up to #51, applying the same correction the other repos received.

`CONTRIBUTING.adoc` and `SECURITY.adoc` are **hard-required at the repo
root** by `openssf-compliance.yml` (`test -f`, `exit 1`, no `.github/`
fallback) — so they cannot be relocated without weakening that check.
The allowlist simply named the `.md` forms instead of the `.adoc` files
that exist on disk.

Additions only; no files moved. Takes `check-root-shape.sh` from 2 items
to green.
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