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/.machine_readable/contractiles/Justfile b/.machine_readable/contractiles/Justfile index e572789..92519b1 100644 --- a/.machine_readable/contractiles/Justfile +++ b/.machine_readable/contractiles/Justfile @@ -867,8 +867,8 @@ container-init: read -rp "Primary port [8080]: " _PORT PORT="${_PORT:-8080}" - read -rp "Container registry [ghcr.io/${OWNER:-{{OWNER}}}]: " _REGISTRY - REGISTRY="${_REGISTRY:-ghcr.io/${OWNER:-{{OWNER}}}}" + read -rp "Container registry [ghcr.io/${OWNER:-hyperpolymath}]: " _REGISTRY + REGISTRY="${_REGISTRY:-ghcr.io/${OWNER:-hyperpolymath}}" echo "" echo " Service: $SERVICE_NAME" @@ -1197,7 +1197,7 @@ test-matrix suite="unit" verbosity="normal" parallel="true": @echo "Test matrix: suite={{suite}} verbosity={{verbosity}} parallel={{parallel}}" # Container matrix: [build|run|push|shell|scan] x [registry] x [tag] -container-matrix action="build" registry="ghcr.io/{{OWNER}}" tag="latest": +container-matrix action="build" registry="ghcr.io/hyperpolymath" tag="latest": @echo "Container matrix: action={{action}} registry={{registry}} tag={{tag}}" # CI matrix: [lint|test|build|security|all] x [quick|full] diff --git a/0-AI-MANIFEST.a2ml b/0-AI-MANIFEST.a2ml index 197eb0d..505254e 100644 --- a/0-AI-MANIFEST.a2ml +++ b/0-AI-MANIFEST.a2ml @@ -13,3 +13,20 @@ ## Delivery Promises - Mention in summaries whether STATE, `contractiles/`, or `.bot_directives/` changed. - Keep this file in sync with the repository’s status; update it if the governance changes. + + + +## PRIORITY ACTION — this repository is not fully initialised + +23 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/ARCHITECTURE.md b/ARCHITECTURE.md deleted file mode 100644 index 607e3d8..0000000 --- a/ARCHITECTURE.md +++ /dev/null @@ -1,47 +0,0 @@ -# Architecture - -## Overview - -This repository follows a modular, maintainable architecture designed for clarity, scalability, and long-term sustainability. - -## Directory Structure - -``` -. -├── src/ # Source code -├── tests/ # Test suites -├── docs/ # Documentation -├── scripts/ # Utility scripts -├── config/ # Configuration files -├── LICENSE # License file -├── LICENSES/ # Full license texts -└── README.adoc # Project documentation -``` - -## Design Principles - -- **Separation of Concerns**: Each module has a single responsibility -- **Testability**: Code is written to be easily testable -- **Documentation**: All public APIs are documented -- **Configuration**: Environment-specific settings are externalized - -## Dependencies - -- External dependencies are minimized and clearly declared -- Version pinning is used for reproducibility - -## Security Considerations - -- Sensitive data is never committed to the repository -- Secrets are managed through environment variables or secure vaults -- Regular dependency audits are performed - -## Maintainability - -- Code follows consistent style guidelines -- Pull requests require review and CI checks -- Issues and discussions are tracked transparently - ---- - -*Last updated: 2026-07-18* diff --git a/Justfile b/Justfile index e572789..92519b1 100644 --- a/Justfile +++ b/Justfile @@ -867,8 +867,8 @@ container-init: read -rp "Primary port [8080]: " _PORT PORT="${_PORT:-8080}" - read -rp "Container registry [ghcr.io/${OWNER:-{{OWNER}}}]: " _REGISTRY - REGISTRY="${_REGISTRY:-ghcr.io/${OWNER:-{{OWNER}}}}" + read -rp "Container registry [ghcr.io/${OWNER:-hyperpolymath}]: " _REGISTRY + REGISTRY="${_REGISTRY:-ghcr.io/${OWNER:-hyperpolymath}}" echo "" echo " Service: $SERVICE_NAME" @@ -1197,7 +1197,7 @@ test-matrix suite="unit" verbosity="normal" parallel="true": @echo "Test matrix: suite={{suite}} verbosity={{verbosity}} parallel={{parallel}}" # Container matrix: [build|run|push|shell|scan] x [registry] x [tag] -container-matrix action="build" registry="ghcr.io/{{OWNER}}" tag="latest": +container-matrix action="build" registry="ghcr.io/hyperpolymath" tag="latest": @echo "Container matrix: action={{action}} registry={{registry}} tag={{tag}}" # CI matrix: [lint|test|build|security|all] x [quick|full] diff --git a/REQUIRES_INITIALISATION.md b/REQUIRES_INITIALISATION.md new file mode 100644 index 0000000..c79d0f3 --- /dev/null +++ b/REQUIRES_INITIALISATION.md @@ -0,0 +1,193 @@ + + +# REQUIRES INITIALISATION + +**This repository is not finished being set up.** 23 substitution token(s) across 5 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 + +### `{{ACCENT_COLOR}}` + +Appears in: + +- `scripts/mass-apply-templates.sh` + +### `{{ARGS}}` + +Arguments for the justfile recipe this appears in. + +Appears in: + +- `scripts/apply-justfiles.sh` + +### `{{BG_COLOR}}` + +Appears in: + +- `scripts/mass-apply-templates.sh` + +### `{{BINARY_NAME}}` + +Appears in: + +- `scripts/deploy-templates.sh` + +### `{{BORDER_COLOR}}` + +Appears in: + +- `scripts/mass-apply-templates.sh` + +### `{{COLOR_SCHEME}}` + +Appears in: + +- `scripts/mass-apply-templates.sh` + +### `{{CONTACT_EMAIL}}` + +Appears in: + +- `scripts/mass-apply-templates.sh` + +### `{{DESCRIPTION}}` + +One-line description used in .github/settings.yml. HIGH PRIORITY: settings.yml is applied by a GitHub App, so an unfilled token here can be written into forge metadata verbatim. + +Appears in: + +- `scripts/mass-apply-templates.sh` + +### `{{DOMAIN}}` + +Appears in: + +- `docs/MAAF_INTEGRATION.adoc` +- `scripts/mass-apply-templates.sh` + +### `{{LANGUAGE}}` + +Appears in: + +- `scripts/deploy-templates.sh` + +### `{{NAME}}` + +Appears in: + +- `scripts/apply-justfiles.sh` + +### `{{PRIMARY_COLOR}}` + +Appears in: + +- `scripts/mass-apply-templates.sh` + +### `{{PROJECT_NAME_SNAKE}}` + +Appears in: + +- `scripts/deploy-templates.sh` + +### `{{PROJECT_SLUG}}` + +Appears in: + +- `scripts/mass-apply-templates.sh` + +### `{{PROJECT_UNIQUE_STRENGTH}}` + +What this does that its alternatives do not. + +Appears in: + +- `.machine_readable/bot_directives/methodology.a2ml` + +### `{{RSR_TIER}}` + +Appears in: + +- `scripts/mass-apply-templates.sh` + +### `{{SECONDARY_COLOR}}` + +Appears in: + +- `scripts/mass-apply-templates.sh` + +### `{{TEXT_COLOR}}` + +Appears in: + +- `scripts/mass-apply-templates.sh` + +### `{{TEXT_MUTED_COLOR}}` + +Appears in: + +- `scripts/mass-apply-templates.sh` + +### `{{TIER}}` + +Appears in: + +- `scripts/deploy-templates.sh` + +### `{{TRAINING_POLICY}}` + +Appears in: + +- `scripts/mass-apply-templates.sh` + +### `{{VERSION}}` + +Version/tag for the container image. + +Appears in: + +- `scripts/mass-apply-templates.sh` + +### `{{YEAR}}` + +Appears in: + +- `scripts/mass-apply-templates.sh` + +--- + +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/ffi/zig/build.zig b/ffi/zig/build.zig index c02617f..9295336 100644 --- a/ffi/zig/build.zig +++ b/ffi/zig/build.zig @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MPL-2.0 // Copyright (c) Jonathan D.A. Jewell -// {{PROJECT}} FFI Build Configuration +// CONATIVE_GATING FFI Build Configuration const std = @import("std"); diff --git a/ffi/zig/test/integration_test.zig b/ffi/zig/test/integration_test.zig index e481508..da63c84 100644 --- a/ffi/zig/test/integration_test.zig +++ b/ffi/zig/test/integration_test.zig @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MPL-2.0 // Copyright (c) Jonathan D.A. Jewell -// {{PROJECT}} Integration Tests +// CONATIVE_GATING Integration Tests // // These tests verify that the Zig FFI correctly implements the Idris2 ABI diff --git a/scripts/apply-common-files.sh b/scripts/apply-common-files.sh index 5f7390f..17a4892 100755 --- a/scripts/apply-common-files.sh +++ b/scripts/apply-common-files.sh @@ -60,7 +60,7 @@ for repo in */; do if $DRY_RUN; then log "[DRY] Would add .editorconfig to $name" else - sed "s/{{PROJECT_NAME}}/$name/g" "$TEMPLATES_DIR/.editorconfig.template" > "$repo/.editorconfig" + sed "s/Conative Gating/$name/g" "$TEMPLATES_DIR/.editorconfig.template" > "$repo/.editorconfig" log "Added .editorconfig to $name" fi ((ec_added++)) || true @@ -74,25 +74,25 @@ for repo in */; do mkdir -p "$repo/.well-known" # ai.txt - sed -e "s/{{PROJECT_NAME}}/$name/g" \ - -e "s/{{DATE}}/$DATE/g" \ + sed -e "s/Conative Gating/$name/g" \ + -e "s/2026-08-05/$DATE/g" \ "$TEMPLATES_DIR/.well-known/ai.txt.template" > "$repo/.well-known/ai.txt" 2>/dev/null || true # security.txt - sed -e "s/{{PROJECT_NAME}}/$name/g" \ - -e "s/{{DATE}}/$DATE/g" \ + sed -e "s/Conative Gating/$name/g" \ + -e "s/2026-08-05/$DATE/g" \ "$TEMPLATES_DIR/.well-known/security.txt.template" > "$repo/.well-known/security.txt" 2>/dev/null || true # humans.txt - sed -e "s/{{PROJECT_NAME}}/$name/g" \ + sed -e "s/Conative Gating/$name/g" \ "$TEMPLATES_DIR/.well-known/humans.txt.template" > "$repo/.well-known/humans.txt" 2>/dev/null || true # consent-required.txt cp "$TEMPLATES_DIR/.well-known/consent-required.txt.template" "$repo/.well-known/consent-required.txt" 2>/dev/null || true # provenance.json - sed -e "s/{{PROJECT_NAME}}/$name/g" \ - -e "s/{{DATE}}/$DATE/g" \ + sed -e "s/Conative Gating/$name/g" \ + -e "s/2026-08-05/$DATE/g" \ "$TEMPLATES_DIR/.well-known/provenance.json.template" > "$repo/.well-known/provenance.json" 2>/dev/null || true log "Added .well-known/ to $name" diff --git a/scripts/deploy-templates.sh b/scripts/deploy-templates.sh index c821d7a..0bdf5cd 100644 --- a/scripts/deploy-templates.sh +++ b/scripts/deploy-templates.sh @@ -22,7 +22,7 @@ substitute() { local template="$1" local output="$2" - sed -e "s/{{PROJECT_NAME}}/$PROJECT_NAME/g" \ + sed -e "s/Conative Gating/$PROJECT_NAME/g" \ -e "s/{{PROJECT_NAME_SNAKE}}/$(echo "$PROJECT_NAME" | tr '-' '_')/g" \ -e "s/{{LANGUAGE}}/$LANGUAGE/g" \ -e "s/{{TIER}}/$TIER/g" \ diff --git a/scripts/mass-apply-templates.sh b/scripts/mass-apply-templates.sh index e592a88..feb3f4d 100755 --- a/scripts/mass-apply-templates.sh +++ b/scripts/mass-apply-templates.sh @@ -149,7 +149,7 @@ substitute_vars() { ;; esac - sed -e "s|{{PROJECT_NAME}}|$project_name|g" \ + sed -e "s|Conative Gating|$project_name|g" \ -e "s|{{PROJECT_SLUG}}|$project_slug|g" \ -e "s|{{COLOR_SCHEME}}|$color_scheme|g" \ -e "s|{{PRIMARY_COLOR}}|$primary_color|g" \ @@ -161,8 +161,8 @@ substitute_vars() { -e "s|{{BORDER_COLOR}}|#dfe6e9|g" \ -e "s|{{DOMAIN}}|${domain:-$project_slug}|g" \ -e "s|{{DESCRIPTION}}|$description|g" \ - -e "s|{{AUTHOR}}|$AUTHOR|g" \ - -e "s|{{AUTHOR_EMAIL}}|$AUTHOR_EMAIL|g" \ + -e "s|Jonathan D.A. Jewell|$AUTHOR|g" \ + -e "s|j.d.a.jewell@open.ac.uk|$AUTHOR_EMAIL|g" \ -e "s|{{YEAR}}|$YEAR|g" \ -e "s|{{RSR_TIER}}|1|g" \ -e "s|{{VERSION}}|0.1.0|g" \