From 4fc46b946ae3ebee51870da0dbc3c65a73c5ce0d Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Sat, 19 Sep 2026 09:20:54 +0000 Subject: [PATCH] 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. * .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 * QUICKSTART-MAINTAINER.adoc * build/guix.scm (from guix.scm) -> build/guix.scm * .github/CONTRIBUTING.md (new) * CONTRIBUTING.adoc (deleted) * docs/accessibility/README.adoc * tests/validate-documentation.sh Verified with `git apply --check` against current main before committing; no behaviour change intended, the Justfile entry points keep working. --- .github/CONTRIBUTING.md | 71 +++++++++++++++++++ {.githooks => .github/hooks}/validate-a2ml.sh | 0 {.githooks => .github/hooks}/validate-k9.sh | 0 .github/workflows/dogfood-gate.yml | 4 +- CONTRIBUTING.adoc | 71 ------------------- QUICKSTART-MAINTAINER.adoc | 2 +- docs/accessibility/README.adoc | 2 +- guix.scm | 28 -------- tests/validate-documentation.sh | 2 +- 9 files changed, 76 insertions(+), 104 deletions(-) create mode 100644 .github/CONTRIBUTING.md rename {.githooks => .github/hooks}/validate-a2ml.sh (100%) rename {.githooks => .github/hooks}/validate-k9.sh (100%) delete mode 100644 CONTRIBUTING.adoc delete mode 100644 guix.scm diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000..20bc837 --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,71 @@ +# Contributing + +Thank you for your interest in contributing! We follow a “Dual-Track” +architecture where human-readable documentation lives in the root and +machine-readable policies live in `.machine_readable/`. + +## How to Contribute + +We welcome contributions in many forms: + +- **Code:** Improving the core stack or extensions + +- **Documentation:** Enhancing docs or AI manifests + +- **Testing:** Adding property-based tests or formal proofs + +- **Bug reports:** Filing clear, reproducible issues + +## Getting Started + +1. **Read the AI Manifest:** Start with `0-AI-MANIFEST.a2ml` (if + present) to understand the repository structure. + +2. **Environment:** Use `nix` `develop` or `direnv` `allow` to set up + your tools. + +3. **Task Runner:** Use `just` to see available commands (`just` + `--list`). + +## Development Workflow + +### Branch Naming + + docs/short-description # Documentation + test/what-added # Test additions + feat/short-description # New features + fix/issue-number-description # Bug fixes + refactor/what-changed # Code improvements + security/what-fixed # Security fixes + +### Commit Messages + +We follow [Conventional Commits](https://www.conventionalcommits.org/): + + (): + + [optional body] + + [optional footer] + +Types: `feat`, `fix`, `docs`, `test`, `refactor`, `ci`, `chore`, +`security` + +## Reporting Bugs + +Before reporting: 1. Search existing issues 2. Check if it’s already +fixed in `main` + +When reporting, include: - Clear, descriptive title - Environment +details (OS, versions, toolchain) - Steps to reproduce - Expected vs +actual behaviour + +## Code of Conduct + +All contributors are expected to adhere to our [Code of +Conduct](CODE_OF_CONDUCT.md). + +## License + +By contributing, you agree that your contributions will be licensed +under the same license as the project (see LICENSE). diff --git a/.githooks/validate-a2ml.sh b/.github/hooks/validate-a2ml.sh similarity index 100% rename from .githooks/validate-a2ml.sh rename to .github/hooks/validate-a2ml.sh diff --git a/.githooks/validate-k9.sh b/.github/hooks/validate-k9.sh similarity index 100% rename from .githooks/validate-k9.sh rename to .github/hooks/validate-k9.sh diff --git a/.github/workflows/dogfood-gate.yml b/.github/workflows/dogfood-gate.yml index d180101..66ba348 100644 --- a/.github/workflows/dogfood-gate.yml +++ b/.github/workflows/dogfood-gate.yml @@ -34,7 +34,7 @@ jobs: fi - name: Validate A2ML manifests if: steps.detect.outputs.count > 0 - run: bash .githooks/validate-a2ml.sh + run: bash .github/hooks/validate-a2ml.sh - name: Write summary run: | A2ML_COUNT="${{ steps.detect.outputs.count }}" @@ -75,7 +75,7 @@ jobs: fi - name: Validate K9 contracts if: steps.detect.outputs.k9_count > 0 - run: bash .githooks/validate-k9.sh + run: bash .github/hooks/validate-k9.sh - name: Write summary run: | K9_COUNT="${{ steps.detect.outputs.k9_count }}" diff --git a/CONTRIBUTING.adoc b/CONTRIBUTING.adoc deleted file mode 100644 index 858f44f..0000000 --- a/CONTRIBUTING.adoc +++ /dev/null @@ -1,71 +0,0 @@ -== Contributing - -Thank you for your interest in contributing! We follow a "`Dual-Track`" -architecture where human-readable documentation lives in the root and -machine-readable policies live in `+.machine_readable/+`. - -=== How to Contribute - -We welcome contributions in many forms: - -* *Code:* Improving the core stack or extensions -* *Documentation:* Enhancing docs or AI manifests -* *Testing:* Adding property-based tests or formal proofs -* *Bug reports:* Filing clear, reproducible issues - -=== Getting Started - -[arabic] -. *Read the AI Manifest:* Start with `+0-AI-MANIFEST.a2ml+` (if present) -to understand the repository structure. -. *Environment:* Use `+nix develop+` or `+direnv allow+` to set up your -tools. -. *Task Runner:* Use `+just+` to see available commands -(`+just --list+`). - -=== Development Workflow - -==== Branch Naming - -.... -docs/short-description # Documentation -test/what-added # Test additions -feat/short-description # New features -fix/issue-number-description # Bug fixes -refactor/what-changed # Code improvements -security/what-fixed # Security fixes -.... - -==== Commit Messages - -We follow https://www.conventionalcommits.org/[Conventional Commits]: - -.... -(): - -[optional body] - -[optional footer] -.... - -Types: `+feat+`, `+fix+`, `+docs+`, `+test+`, `+refactor+`, `+ci+`, -`+chore+`, `+security+` - -=== Reporting Bugs - -Before reporting: 1. Search existing issues 2. Check if it’s already -fixed in `+main+` - -When reporting, include: - Clear, descriptive title - Environment -details (OS, versions, toolchain) - Steps to reproduce - Expected vs -actual behaviour - -=== Code of Conduct - -All contributors are expected to adhere to our -link:CODE_OF_CONDUCT.md[Code of Conduct]. - -=== License - -By contributing, you agree that your contributions will be licensed -under the same license as the project (see LICENSE). diff --git a/QUICKSTART-MAINTAINER.adoc b/QUICKSTART-MAINTAINER.adoc index 2b90107..399c599 100644 --- a/QUICKSTART-MAINTAINER.adoc +++ b/QUICKSTART-MAINTAINER.adoc @@ -32,7 +32,7 @@ Output: `{{BUILD_OUTPUT_PATH}}` [source,bash] ---- -guix build -f guix.scm +guix build -f build/guix.scm ---- === Nix diff --git a/docs/accessibility/README.adoc b/docs/accessibility/README.adoc index de58834..5ce4633 100644 --- a/docs/accessibility/README.adoc +++ b/docs/accessibility/README.adoc @@ -244,7 +244,7 @@ Burble is committed to: * Supporting screen readers and other assistive technologies * Continuous improvement based on user feedback -We welcome contributions to improve accessibility. See our link:../CONTRIBUTING.adoc[Contributing Guide] for details. +We welcome contributions to improve accessibility. See our link:../../.github/CONTRIBUTING.md[Contributing Guide] for details. == Related Documents diff --git a/guix.scm b/guix.scm deleted file mode 100644 index 1cc10d3..0000000 --- a/guix.scm +++ /dev/null @@ -1,28 +0,0 @@ -;; SPDX-License-Identifier: MPL-2.0 -;; Guix development environment. -;; Usage: guix shell -D -f guix.scm - -(use-modules (guix packages) - (guix build-system gnu) - (guix licenses) - (gnu packages base) - (gnu packages bash) - (gnu packages base) - (gnu packages java) - (gnu packages rust) - (gnu packages cmake) - (gnu packages zig) - (gnu packages golang) - (gnu packages node) - (gnu packages python)) - -(package - (name "im-docs") - (version "0.1.0") - (source #f) - (build-system gnu-build-system) - (inputs (list coreutils bash make openjdk rust cmake zig go node python)) - (synopsis "im-docs") - (description "im-docs — part of the hyperpolymath ecosystem.") - (home-page "https://github.com/hyperpolymath/im-docs") - (license ((@@ (guix licenses) license) "MPL-2.0" "https://github.com/hyperpolymath/palimpsest-license"))) diff --git a/tests/validate-documentation.sh b/tests/validate-documentation.sh index b8854b9..8c8ed03 100755 --- a/tests/validate-documentation.sh +++ b/tests/validate-documentation.sh @@ -33,7 +33,7 @@ done # Test 4: Required documentation files echo "✓ Checking required documentation files..." -REQUIRED_DOCS=("README.adoc" "CHANGELOG.adoc" "ROADMAP.adoc" "CONTRIBUTING.adoc" +REQUIRED_DOCS=("README.adoc" "CHANGELOG.adoc" "ROADMAP.adoc" "../.github/CONTRIBUTING.md" "CODE_OF_CONDUCT.md" "SECURITY.md" "LICENSE") for doc in "${REQUIRED_DOCS[@]}"; do if [ ! -f "$doc" ]; then