Skip to content

refactor(root): move root artefacts to their canonical locations - #327

Merged
hyperpolymath merged 1 commit into
mainfrom
refactor/root-shape-rollout
Sep 19, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
refactor/root-shape-rollout

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

refactor(root): move root artefacts to their canonical locations

Applies the estate root-shape rollout: files that are not root-level by
necessity move to where their tooling and the estate canon expect them, and
every reference to them is updated in the same change.

  • .envrc
  • .github/hooks/validate-a2ml.sh
    (from .githooks/validate-a2ml.sh)
    -> .github/hooks/validate-a2ml.sh
  • .github/hooks/validate-k9.sh
    (from .githooks/validate-k9.sh)
    -> .github/hooks/validate-k9.sh
  • .github/workflows/dogfood-gate.yml
  • CONTRIBUTING.adoc
    (deleted)
  • Justfile
  • build/guix.scm
    (from guix.scm)
    -> build/guix.scm
  • docs/RSR_OUTLINE.adoc
  • docs/quickstarts/DEV.adoc
  • docs/wikis/Developer-Guide.adoc

Verified with git apply --check against current main before committing; no
behaviour change intended, the Justfile entry points keep working.

Applies the estate root-shape rollout: files that are not root-level by
necessity move to where their tooling and the estate canon expect them, and
every reference to them is updated in the same change.

  * .envrc
  * .github/hooks/validate-a2ml.sh
      (from .githooks/validate-a2ml.sh)
      ->   .github/hooks/validate-a2ml.sh
  * .github/hooks/validate-k9.sh
      (from .githooks/validate-k9.sh)
      ->   .github/hooks/validate-k9.sh
  * .github/workflows/dogfood-gate.yml
  * CONTRIBUTING.adoc
      (deleted)
  * Justfile
  * build/guix.scm
      (from guix.scm)
      ->   build/guix.scm
  * docs/RSR_OUTLINE.adoc
  * docs/quickstarts/DEV.adoc
  * docs/wikis/Developer-Guide.adoc

Verified with `git apply --check` against current main before committing; no
behaviour change intended, the Justfile entry points keep working.
@hyperpolymath
hyperpolymath merged commit 97665d0 into main Sep 19, 2026
@hyperpolymath
hyperpolymath deleted the refactor/root-shape-rollout branch September 19, 2026 09:07
@coderabbitai

coderabbitai Bot commented Sep 19, 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: b7d5f312-81c7-462b-b8ea-37f06bb6c85a

📥 Commits

Reviewing files that changed from the base of the PR and between dd3ec56 and e6a3ecf.

📒 Files selected for processing (10)
  • .envrc
  • .github/hooks/validate-a2ml.sh
  • .github/hooks/validate-k9.sh
  • .github/workflows/dogfood-gate.yml
  • CONTRIBUTING.adoc
  • Justfile
  • docs/RSR_OUTLINE.adoc
  • docs/quickstarts/DEV.adoc
  • docs/wikis/Developer-Guide.adoc
  • guix.scm
 ___________________________________________________________________________________________________
< Test your software, or your users will. Test ruthlessly. Don't make your users find bugs for you. >
 ---------------------------------------------------------------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ

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.

@github-actions

Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 107 issues detected

Severity Count
🔴 Critical 11
🟠 High 15
🟡 Medium 81

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Job `sonarqube` in build.yml has no `timeout-minutes:` declaration. Default is 6 hours — a stuck codeload fetch or runner hang can burn budget. Add `timeout-minutes: 10` (or proportional).",
    "type": "missing_timeout_minutes",
    "file": "build.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium",
    "recipe_id": "recipe-add-workflow-timeout-minutes",
    "job": "sonarqube"
  },
  {
    "reason": "Job `triage` in label-triage.yml has no `timeout-minutes:` declaration. Default is 6 hours — a stuck codeload fetch or runner hang can burn budget. Add `timeout-minutes: 10` (or proportional).",
    "type": "missing_timeout_minutes",
    "file": "label-triage.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium",
    "recipe_id": "recipe-add-workflow-timeout-minutes",
    "job": "triage"
  },
  {
    "reason": "Job `sync` in labels.yml has no `timeout-minutes:` declaration. Default is 6 hours — a stuck codeload fetch or runner hang can burn budget. Add `timeout-minutes: 10` (or proportional).",
    "type": "missing_timeout_minutes",
    "file": "labels.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium",
    "recipe_id": "recipe-add-workflow-timeout-minutes",
    "job": "sync"
  },
  {
    "reason": "Job `deploy` in pages-deploy.yml has no `timeout-minutes:` declaration. Default is 6 hours — a stuck codeload fetch or runner hang can burn budget. Add `timeout-minutes: 10` (or proportional).",
    "type": "missing_timeout_minutes",
    "file": "pages-deploy.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium",
    "recipe_id": "recipe-add-workflow-timeout-minutes",
    "job": "deploy"
  },
  {
    "reason": "Step uses `peter-evans/repository-dispatch` with `token: ${{ secrets.FARM_DISPATCH_TOKEN }}` but has no `if: secrets.FARM_DISPATCH_TOKEN != ''` gate. On repos where the secret hasn't been propagated the action fails on every push, red-maining the repo. Add the step-level gate (or env+if pattern) so the missing-secret path is a clean skip instead of a red.",
    "type": "secret_action_without_presence_gate",
    "file": "instant-sync.yml",
    "action": "peter-evans/repository-dispatch",
    "rule_module": "workflow_audit",
    "severity": "high",
    "fix_recipe": "add_secret_presence_gate"
  },
  {
    "reason": "codeql.yml does not list `language: actions` in its matrix, but the repo has workflow files. CodeQL's `actions` language scans workflow YAML for injection and other CI/CD-specific weaknesses — every repo with workflows benefits. Add an entry to `matrix.include` with `language: actions` + `build-mode: none`.",
    "type": "codeql_missing_actions_language",
    "file": "codeql.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium",
    "fix_recipe": "add_codeql_actions_language"
  },
  {
    "line": 31,
    "reason": "job in .github/workflows/build.yml references `secrets.*` but does not install `step-security/harden-runner` — review outbound-egress monitoring",
    "type": "RE001",
    "file": ".github/workflows/build.yml",
    "action": "report",
    "rule_module": "research_extensions",
    "severity": "warn"
  },
  {
    "line": 45,
    "reason": "job in .github/workflows/push-email-notify.yml references `secrets.*` but does not install `step-security/harden-runner` — review outbound-egress monitoring",
    "type": "RE001",
    "file": ".github/workflows/push-email-notify.yml",
    "action": "report",
    "rule_module": "research_extensions",
    "severity": "warn"
  },
  {
    "line": 157,
    "reason": "job in .github/workflows/release.yml references `secrets.*` but does not install `step-security/harden-runner` — review outbound-egress monitoring",
    "type": "RE001",
    "file": ".github/workflows/release.yml",
    "action": "report",
    "rule_module": "research_extensions",
    "severity": "warn"
  },
  {
    "line": 48,
    "reason": "job in .github/workflows/publish.yml references `secrets.*` but does not install `step-security/harden-runner` — review outbound-egress monitoring",
    "type": "RE001",
    "file": ".github/workflows/publish.yml",
    "action": "report",
    "rule_module": "research_extensions",
    "severity": "warn"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

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