diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 3a3b7f2..4714ad5 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,34 +1,4 @@ # SPDX-License-Identifier: MPL-2.0 -# CODEOWNERS - Define code review assignments for GitHub -# See: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners - -# Default: sole maintainer for all files -* @hyperpolymath - -# Security-sensitive files require explicit ownership -SECURITY.md @hyperpolymath -.github/workflows/ @hyperpolymath -.machine_readable/ @hyperpolymath -contractiles/ @hyperpolymath - -# License files -LICENSE @hyperpolymath -LICENSES/ @hyperpolymath - -# Configuration -.gitignore @hyperpolymath -.github/ @hyperpolymath - -# Documentation -README* @hyperpolymath -CONTRIBUTING* @hyperpolymath -CODE_OF_CONDUCT* @hyperpolymath -GOVERNANCE* @hyperpolymath -MAINTAINERS* @hyperpolymath -CHANGELOG* @hyperpolymath -ROADMAP* @hyperpolymath - -# Build and CI -Justfile @hyperpolymath -Makefile @hyperpolymath -*.sh @hyperpolymath +# Solo-maintained hyperpolymath repo: no owner lines by policy. +# See hyperpolymath/standards CODEOWNERS-POLICY.adoc (Rule 1). +# Sole-maintainer review is moot; SPDX headers carry attribution. diff --git a/.github/workflows/governance.yml b/.github/workflows/governance.yml index f6e8fcf..2f986b5 100644 --- a/.github/workflows/governance.yml +++ b/.github/workflows/governance.yml @@ -32,4 +32,4 @@ permissions: jobs: governance: - uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@81dbf2dd854b1444fd6236fa2352474383b2c2b9 + uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@7fdc2705df74b4e352d2a1cde3e87a5923fdf329 diff --git a/.github/workflows/main-estate-audit.yml b/.github/workflows/main-estate-audit.yml new file mode 100755 index 0000000..b602e97 --- /dev/null +++ b/.github/workflows/main-estate-audit.yml @@ -0,0 +1,91 @@ +name: Central Estate CI/CD Audit + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + estate-audit: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Required Files Gate + uses: hyperpolymath/cicd-suite/actions/required-files-check@main + + - name: Code Hygiene Gate + uses: hyperpolymath/cicd-suite/actions/code-hygiene-check@main + + - name: Manifest Validation Gate + uses: hyperpolymath/cicd-suite/actions/manifest-check@main + + - name: Idris2 ABI Purity Gate + uses: hyperpolymath/cicd-suite/actions/idris2-abi-check@main + + - name: Zig Hexadeca API Gate + uses: hyperpolymath/cicd-suite/actions/zig-hexadeca-check@main + + - name: Contractile Validation Gate + uses: hyperpolymath/cicd-suite/actions/contractile-validation-check@main + + - name: Recipes Set Validation Gate + uses: hyperpolymath/cicd-suite/actions/recipes-set-check@main + + - name: Affirmation Document Gate + uses: hyperpolymath/cicd-suite/actions/affirmation-check@main + + - name: Academic Referencing Gate + uses: hyperpolymath/cicd-suite/actions/referencing-check@main + + - name: Semantic Audit Gate + uses: hyperpolymath/cicd-suite/actions/semantic-audit-check@main + + - name: SPDX License Gate + uses: hyperpolymath/cicd-suite/actions/spdx-license-check@main + + - name: Proof Runner Gate + uses: hyperpolymath/cicd-suite/actions/proof-runner-check@main + + - name: PRAT Testing Gate + uses: hyperpolymath/cicd-suite/actions/prat-check@main + + - name: Panic Attack & Pons Gate + uses: hyperpolymath/cicd-suite/actions/custom-tools-check@main + + - name: WWW & Well-Known Compliance Gate + uses: hyperpolymath/cicd-suite/actions/www-compliance-check@main + + - name: BoJ Cartridge Validation Gate + uses: hyperpolymath/cicd-suite/actions/boj-cartridge-check@main + + - name: Formatting Validation Gate + uses: hyperpolymath/cicd-suite/actions/formatting-check@main + + - name: Accreditations & Badges Gate + uses: hyperpolymath/cicd-suite/actions/badges-check@main + + - name: Metrics Extraction Gate + uses: hyperpolymath/cicd-suite/actions/metrics-check@main + + - name: Linguist & Banned Languages Gate + uses: hyperpolymath/cicd-suite/actions/linguist-check@main + + - name: Test & Benchmarks Dashboard Gate + uses: hyperpolymath/cicd-suite/actions/tests-benches-check@main + + - name: Hosting & Site Status Gate + uses: hyperpolymath/cicd-suite/actions/hosting-check@main + + - name: Git-Sea Analytics Gate + uses: hyperpolymath/cicd-suite/actions/gitsea-check@main + + - name: Trust & Humans Validation Gate + uses: hyperpolymath/cicd-suite/actions/trust-humans-check@main + + - name: Are We UnAPI Gate (Secret Scanning) + uses: hyperpolymath/cicd-suite/actions/secrets-check@main + + - name: Reasonably Good Token Validation Gate + uses: hyperpolymath/cicd-suite/actions/vaulted-tokens-check@main diff --git a/.github/workflows/mirror.yml b/.github/workflows/mirror.yml index c25d3bc..72824fb 100644 --- a/.github/workflows/mirror.yml +++ b/.github/workflows/mirror.yml @@ -12,5 +12,5 @@ permissions: jobs: mirror: - uses: hyperpolymath/standards/.github/workflows/mirror-reusable.yml@d135b05bfc647d0c0fbfedc7e80f37ea50f49236 + uses: hyperpolymath/standards/.github/workflows/mirror-reusable.yml@7fdc2705df74b4e352d2a1cde3e87a5923fdf329 secrets: inherit diff --git a/.github/workflows/rust-ci.yml b/.github/workflows/rust-ci.yml index 53ac973..e7b3810 100644 --- a/.github/workflows/rust-ci.yml +++ b/.github/workflows/rust-ci.yml @@ -24,5 +24,5 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 30 steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - run: cargo test --features git-integration diff --git a/.github/workflows/spark-theatre-gate.yml b/.github/workflows/spark-theatre-gate.yml index 651e420..6449e46 100644 --- a/.github/workflows/spark-theatre-gate.yml +++ b/.github/workflows/spark-theatre-gate.yml @@ -16,7 +16,7 @@ permissions: jobs: spark-theatre-gate: - uses: hyperpolymath/standards/.github/workflows/spark-theatre-gate.yml@d135b05bfc647d0c0fbfedc7e80f37ea50f49236 + uses: hyperpolymath/standards/.github/workflows/spark-theatre-gate.yml@7fdc2705df74b4e352d2a1cde3e87a5923fdf329 with: paths: "." enforce_zero_contract: false diff --git a/.machine_readable/6a2/STATE.a2ml b/.machine_readable/6a2/STATE.a2ml index 5346153..99d09db 100644 --- a/.machine_readable/6a2/STATE.a2ml +++ b/.machine_readable/6a2/STATE.a2ml @@ -57,7 +57,7 @@ blockers = [ "'lattice' is a meet-semilattice + digraph; meet/zoom tested not proved (severity: medium; PROOF-NEEDS.md)", ] template-debt = [ - "RESOLVED 2026-06-03: 0-AI-MANIFEST.a2ml had [YOUR-REPO-NAME]/{{AUTHOR}} placeholders", + "RESOLVED 2026-06-03: 0-AI-MANIFEST.a2ml had [YOUR-REPO-NAME]/Jonathan D.A. Jewell placeholders", "RESOLVED 2026-06-03: 6a2 metadata set created (was missing entirely)", "RESOLVED 2026-06-03: NEUROSYM.a2ml/PLAYBOOK.a2ml were empty commented stubs", "RESOLVED 2026-06-03: methodology.a2ml had {{...}} placeholders (would reject itself)", diff --git a/.mise.toml b/.mise.toml new file mode 100644 index 0000000..3156a04 --- /dev/null +++ b/.mise.toml @@ -0,0 +1,2 @@ +[tools] +rust = "stable" diff --git a/.tool-versions b/.tool-versions deleted file mode 100644 index 3cd07d4..0000000 --- a/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -rust stable diff --git a/0-AI-MANIFEST.a2ml b/0-AI-MANIFEST.a2ml index a5aab44..14aeb3a 100644 --- a/0-AI-MANIFEST.a2ml +++ b/0-AI-MANIFEST.a2ml @@ -102,3 +102,20 @@ git-reticulator/ "I have read the manifest. State lives in `.machine_readable/6a2/` only. I will mark SKELETON/ASPIRATIONAL honestly, will not claim 'lattice' algebra without discharging PROOF-NEEDS.md P1/P2, and will not commit template placeholders." + + + +## PRIORITY ACTION — this repository is not fully initialised + +1 substitution token(s) still have no value. **Read +`REQUIRES_INITIALISATION.md` in the repository root before doing anything +else here** — it lists every outstanding token, what it means, and which +files it belongs in. + +Do not fabricate values for them, and do not delete the sections that +contain them to quiet a gate. They are unfilled because they need a +decision, not because they were overlooked. Resolve what you legitimately +can, leave the rest, and delete `REQUIRES_INITIALISATION.md` only when +nothing outstanding remains. + + diff --git a/REQUIRES_INITIALISATION.md b/REQUIRES_INITIALISATION.md new file mode 100644 index 0000000..9a3dadb --- /dev/null +++ b/REQUIRES_INITIALISATION.md @@ -0,0 +1,52 @@ + + +# REQUIRES INITIALISATION + +**This repository is not finished being set up.** 1 substitution token(s) across 1 file(s) still have no value. + +## Why this is not already done + +This repo was created from `hyperpolymath/rsr-template-repo`. The mint +(`just repo-init`) fills every token that has a single mechanical answer — +owner, repo, author, dates, licence, branch — and it has done so here. + +The tokens below are the ones it *deliberately cannot* answer. They need a +decision or a fact that exists only in your head: what this project is for, +what command builds it, which port the service listens on, whether a PGP key +is held at all. The template's own token vocabulary says as much — you cannot +sensibly answer "required invariants" in a thirty-second bootstrap. + +They were left **visibly unfilled on purpose**. The alternatives were both +worse: inventing plausible values would put confident falsehoods into a +security policy and an architecture document, and silently deleting the +sections would hide the fact that a decision is owed. A visible gap is +honest; a fabricated answer is not. + +## Do not delete this file until every item below is resolved + +This file is the only marker that the work is outstanding. Deleting it early +does not finish the setup, it just conceals it — and the next person or agent +to arrive will reasonably assume the repo is complete. + +- **If you are a person:** delete this file yourself once the last item is done. +- **If you are an agent:** resolve what you legitimately can, leave the rest, + and delete this file only when no token below remains anywhere in the tree. + Do not delete it to make a gate go green. + +Re-running the estate top-up tool will remove this file automatically once +nothing is outstanding, so the safest way to finish is to fix the tokens and +let the check confirm it. + +## What is needed, and where it goes + +### `{{DB_URL}}` + +Appears in: + +- `Justfile` + +--- + +Generated by the estate top-up pass. Rationale and the governing rulings are +in `hyperpolymath/standards`; the token vocabulary is +`.machine_readable/ai/PLACEHOLDERS.adoc` in `rsr-template-repo`. diff --git a/docs/DOGFOOD.adoc b/docs/DOGFOOD.adoc index a7774ad..b433f2f 100644 --- a/docs/DOGFOOD.adoc +++ b/docs/DOGFOOD.adoc @@ -64,16 +64,31 @@ heuristic), not more infrastructure. bridge lands (ADR-006, tracked in the `affinescript` repo). * *Proofs* — PROOF-NEEDS.md governs the "lattice" claim, not the dogfood loop. -== Path to production-ready (proposed order) - -1. *Dogfood loop* (this document) — DONE: persistence + budgeted query. -2. *Measurement* — the experiment above; publish numbers in this file. -3. *Ingestion quality* — tree-sitter (or per-language) definition extraction; - `calls`/`imports` edges, not just containment + co-change. -4. *Freshness* — record the HEAD commit in the lattice file; `query` warns - when the lattice is stale relative to the repo. -5. *Agent surface* — a Claude Code skill (estate-wide) that fronts `reticulate - query`; optionally the REST API for non-CLI consumers. +== Path to production-ready (owner-ratified 2026-07-07) + +Order and shape reflect the owner's decisions D1–D4 (recorded in agent memory +`project_git_reticulator_dogfood_loop_2026_07_07`). + +1. *Dogfood loop* (this document) — DONE: persistence + budgeted query (PR #62). +2. *Measurement (D2: run it first)* — the A/B experiment above, run against the + current heuristic loop to get a baseline, then re-run after step 3. Publish + the input-token deltas + files-found accuracy in this file. This is the gate: + it proves (or kills) the premise before deeper investment. +3. *Ingestion quality (D3: tree-sitter now)* — replace the line-prefix extractor + with tree-sitter per-language symbol extraction; add `calls`/`imports` edges, + not just containment + co-change. This is the biggest single lever on pack + quality and its own focused PR. +4. *Freshness (D4: warn, still answer)* — record the HEAD commit in the lattice + file; `query` prints a staleness warning when the lattice was built at a + different HEAD, but still returns the pack. Small, own PR (extends the + FileStore envelope + a query-time check). +5. *Agent surface (D1: MCP server)* — expose `query` as an MCP tool + (`reticulate_query(topic, level, budget) -> context pack JSON`) so any + MCP-capable client can consume it, not just Claude Code. Own PR. 6. *CRG B* — lint/fmt/doc-coverage targets per READINESS.md. -7. *The neuro-symbolic stack* — embeddings, VeriSimDB, proof-carrying - retrieval — only after steps 1–5 prove the symbolic half pays for itself. +7. *The neuro-symbolic stack* — embeddings, VeriSimDB, proof-carrying retrieval + — only after steps 2–5 prove the symbolic half pays for itself. + +Each of steps 3–5 is a separate reviewable PR; do not bundle them. Step 2 +(measurement) precedes 3 so the tree-sitter investment is made against a known +baseline, not on faith.