Skip to content

Commit b441a01

Browse files
refactor(root): move root artefacts to their canonical locations (#96)
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 * .github/workflows/placement-guard.yml * QUICKSTART-MAINTAINER.adoc * build/guix.scm (from guix.scm) -> build/guix.scm * .github/CONTRIBUTING.md (new) * CLAUDE.md * CONTRIBUTING.adoc (deleted) * REGISTRY.adoc * SECURITY.adoc * docs/accessibility/README.adoc Verified with `git apply --check` against current main before committing; no behaviour change intended, the Justfile entry points keep working.
1 parent f969dd4 commit b441a01

12 files changed

Lines changed: 124 additions & 151 deletions

File tree

‎.github/CONTRIBUTING.md‎

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# Clone the repository
2+
3+
git clone <https://github.com/hyperpolymath/nextgen-databases.git> cd
4+
nextgen-databases
5+
6+
# Using Nix (recommended for reproducibility)
7+
8+
nix develop
9+
10+
# Or using toolbox/distrobox
11+
12+
toolbox create nextgen-databases-dev toolbox enter nextgen-databases-dev
13+
\# Install dependencies manually
14+
15+
# Verify setup
16+
17+
just check \# or: cargo check / mix compile / etc. just test \# Run test
18+
suite
19+
20+
21+
### Repository Structure
22+
23+
`nextgen-databases` is a **coordination repo** — it does not hold database
24+
implementations. Each database and query language has its own repo (see `REGISTRY.adoc`).
25+
26+
nextgen-databases/ ├── README.adoc / EXPLAINME.adoc / TOPOLOGY.adoc /
27+
ROADMAP.adoc \# Portfolio docs ├── REGISTRY.adoc \# Authoritative map:
28+
database/language → its own repo ├── CLAUDE.md / AGENTS.md /
29+
0-AI-MANIFEST.a2ml \# Agent guardrails ├── docs/ \# Coordination docs
30+
(incl. migration runbooks) ├── tests/ \# CROSS-database integration
31+
tests only ├── .machine_readable/ \# Canonical SCM metadata ├── .github/
32+
\# CI/CD, issue templates, governance ├── .well-known/ LICENSES/ └──
33+
flake.nix / Justfile / stapeln.toml / opsm.toml \# Shared env &
34+
orchestration
35+
36+
37+
#### What belongs here vs. in a database repo
38+
39+
- ✅ **Here**: portfolio docs, the registry, cross-database integration tests, shared
40+
infrastructure/orchestration, governance and machine-readable metadata.
41+
- ❌ **Not here — use the database's own repo**: per-database source code, schemas,
42+
migrations, storage engines, query-language implementations, per-database design docs,
43+
whitepapers, benchmarks, and datasets. See `REGISTRY.adoc` for the destination repo.
44+
45+
A CI guard (`.github/workflows/placement-guard.yml`) and a local pre-write hook
46+
(`.claude/hooks/block-db-writes.sh`) enforce this.
47+
48+
---
49+
50+
## How to Contribute
51+
52+
### Reporting Bugs
53+
54+
**Before reporting**:
55+
1. Search existing issues
56+
2. Check if it's already fixed in `main`
57+
3. Determine which perimeter the bug affects
58+
59+
**When reporting**:
60+
61+
Use the [bug report template](.github/ISSUE_TEMPLATE/bug_report.md) and include:
62+
63+
- Clear, descriptive title
64+
- Environment details (OS, versions, toolchain)
65+
- Steps to reproduce
66+
- Expected vs actual behaviour
67+
- Logs, screenshots, or minimal reproduction
68+
69+
### Suggesting Features
70+
71+
**Before suggesting**:
72+
1. Check the [roadmap](ROADMAP.md) if available
73+
2. Search existing issues and discussions
74+
3. Consider which perimeter the feature belongs to
75+
76+
**When suggesting**:
77+
78+
Use the [feature request template](.github/ISSUE_TEMPLATE/feature_request.md) and include:
79+
80+
- Problem statement (what pain point does this solve?)
81+
- Proposed solution
82+
- Alternatives considered
83+
- Which perimeter this affects
84+
85+
### Your First Contribution
86+
87+
Look for issues labelled:
88+
89+
- [`good first issue`](https://github.com/hyperpolymath/nextgen-databases/labels/good%20first%20issue) — Simple Perimeter 3 tasks
90+
- [`help wanted`](https://github.com/hyperpolymath/nextgen-databases/labels/help%20wanted) — Community help needed
91+
- [`documentation`](https://github.com/hyperpolymath/nextgen-databases/labels/documentation) — Docs improvements
92+
- [`perimeter-3`](https://github.com/hyperpolymath/nextgen-databases/labels/perimeter-3) — Community sandbox scope
93+
94+
---
95+
96+
## Development Workflow
97+
98+
### Branch Naming
99+
100+
docs/short-description \# Documentation (P3) test/what-added \# Test
101+
additions (P3) feat/short-description \# New features (P2)
102+
fix/issue-number-description \# Bug fixes (P2) refactor/what-changed \#
103+
Code improvements (P2) security/what-fixed \# Security fixes (P1-2)
104+
105+
106+
### Commit Messages
107+
108+
We follow [Conventional Commits](https://www.conventionalcommits.org/):
109+
110+
():
111+
112+
\[optional body\]
113+
114+
\[optional footer\]

‎.github/workflows/dogfood-gate.yml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,12 @@ jobs:
4444
# In-repo validator. hyperpolymath/a2ml-validate-action does not exist —
4545
# `gh api repos/...` returns 404 and the job failed at "Set up job" with
4646
# "Unable to resolve action ..., repository not found", so it never ran.
47-
# .githooks/validate-a2ml.sh is the canonical RSR implementation (identical
47+
# .github/hooks/validate-a2ml.sh is the canonical RSR implementation (identical
4848
# to the copy in rsr-template-repo) and takes the same INPUT_* interface.
4949
env:
5050
INPUT_PATH: '.'
5151
INPUT_STRICT: 'false'
52-
run: bash .githooks/validate-a2ml.sh
52+
run: bash .github/hooks/validate-a2ml.sh
5353

5454
- name: Write summary
5555
run: |
@@ -98,7 +98,7 @@ jobs:
9898
env:
9999
INPUT_PATH: '.'
100100
INPUT_STRICT: 'false'
101-
run: bash .githooks/validate-k9.sh
101+
run: bash .github/hooks/validate-k9.sh
102102

103103
- name: Write summary
104104
run: |

‎.github/workflows/placement-guard.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,12 @@ jobs:
5555
5656
# Allowed coordination paths (regex, anchored at repo root).
5757
ALLOW='^(README|EXPLAINME|TOPOLOGY|ROADMAP|TOOLING-STATUS|REGISTRY|CONTRIBUTING|CODE_OF_CONDUCT|SECURITY|MAINTAINERS|NOTICE|LICENSE|PROOF-NEEDS|TEST-NEEDS|QUICKSTART-[A-Z]+|0-AI-MANIFEST|CLAUDE|GEMINI|AGENTS|llm-warmup-[a-z]+)\.[A-Za-z0-9]+$'
58-
# `.githooks` added 2026-07-27. It is repo infrastructure, not database
58+
# `.github/hooks` added 2026-07-27. It is repo infrastructure, not database
5959
# content — git resolves core.hooksPath relative to the worktree root,
6060
# so it must live there, exactly like .github/ and .claude/ which were
6161
# already allowed.
6262
#
63-
# This became load-bearing when #59 landed .githooks/validate-a2ml.sh and
63+
# This became load-bearing when #59 landed .github/hooks/validate-a2ml.sh and
6464
# validate-k9.sh: those files are tracked on main today, so the next PR
6565
# touching either one is flagged "Misplaced content" and fails the guard.
6666
#

‎CLAUDE.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ own repo.
2929
3. **Cross-database** integration tests (`tests/`) and shared infrastructure
3030
(`flake.nix`, `Justfile`, `stapeln.toml`, `opsm.toml`).
3131
4. **Governance & metadata**: `.github/`, `.machine_readable/`, `.well-known/`,
32-
`LICENSES/`, `CONTRIBUTING.adoc`, `SECURITY.adoc`, `0-AI-MANIFEST.a2ml`.
32+
`LICENSES/`, `.github/CONTRIBUTING.md`, `SECURITY.adoc`, `0-AI-MANIFEST.a2ml`.
3333

3434
### Where database content goes
3535

‎CONTRIBUTING.adoc‎

Lines changed: 0 additions & 120 deletions
This file was deleted.

‎QUICKSTART-MAINTAINER.adoc‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Output: `{{BUILD_OUTPUT_PATH}}`
3131

3232
[source,bash]
3333
----
34-
guix build -f guix.scm
34+
guix build -f build/guix.scm
3535
----
3636

3737
=== Nix

‎REGISTRY.adoc‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ were removed once each extraction completed (2026-07-27 and 2026-08-03).
8383
* Cross-database integration tests (`tests/`)
8484
* Shared infra & environment (`flake.nix`, `guix.scm`, `Justfile`, `stapeln.toml`, `opsm.toml`)
8585
* Governance & metadata (`.github/`, `.machine_readable/`, `.well-known/`, `LICENSES/`,
86-
`CONTRIBUTING.adoc`, `SECURITY.adoc`, `0-AI-MANIFEST.a2ml`)
86+
`.github/CONTRIBUTING.md`, `SECURITY.adoc`, `0-AI-MANIFEST.a2ml`)
8787

8888
[NOTE]
8989
====

‎SECURITY.adoc‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,7 @@ When using Nextgen Databases, we recommend:
395395
* https://github.com/hyperpolymath/nextgen-databases/security/advisories[Security
396396
Advisories]
397397
* link:CHANGELOG.md[Changelog]
398-
* link:CONTRIBUTING.adoc[Contributing Guidelines]
398+
* link:.github/CONTRIBUTING.md[Contributing Guidelines]
399399
* https://cve.mitre.org/[CVE Database]
400400
* https://www.first.org/cvss/calculator/3.1[CVSS Calculator]
401401

0 commit comments

Comments
 (0)