From 11bdf7bdb670947b5a7221a29ea959de3eecf2a4 Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Wed, 5 Aug 2026 10:26:51 +0100 Subject: [PATCH 1/3] chore: fill derivable placeholders, drop false ARCHITECTURE, surface the rest MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Estate top-up pass. Three separate things, none of which invents a value. FILLED β€” every token with a single mechanical answer: OWNER, REPO, FORGE, PROJECT, PACKAGE_NAME, PROJECT_NAME, AUTHOR, AUTHOR_EMAIL, CONDUCT_EMAIL, AUTHOR_FIRST/LAST/INITIALS, CURRENT_YEAR, CURRENT_DATE, DATE, MAIN_BRANCH. Identity comes from the git remote, dates from the clock, project name from the README H1 where there is one. Deliberately NOT filled, because more than one defensible answer exists and a confident wrong value is worse than a visible gap: SECURITY_EMAIL (two competing addresses are in use across the estate), RESPONSE_TIME, CONDUCT_TEAM (which substitutes into "a {{CONDUCT_TEAM}} member", not English), WEBSITE, PROJECT_DESCRIPTION, LANG_STACK. DELETED β€” ARCHITECTURE.md, where it is byte-identical to the 346-copy estate boilerplate (blob 607e3d8c). Those 33 lines describe a src/ tests/ docs/ scripts/ config/ tree that this repo does not have, so the file is not merely uninformative, it is wrong. Genuinely written ARCHITECTURE files are matched by hash and left alone. No file beats a confidently false one. CODEOWNERS β€” rewritten to the solo form mandated by hyperpolymath/standards CODEOWNERS-POLICY.adoc Rule 1, which forbids a catch-all line where the only owner is the sole maintainer. The estate's own templates/CODEOWNERS contradicts that policy; the policy is versioned, dated and resolves standards#55, so it wins. Files naming a genuine co-owner are Rule 2 and are untouched. Note @hyperpolymath and @metadatastician are the same person, so a file naming the other account is a copy artifact that silently routed review requests to the wrong account. SURFACED β€” REQUIRES_INITIALISATION.md, and a priority action in 0-AI-MANIFEST.a2ml. Tokens that need a decision no script can make are left visibly unfilled rather than faked or quietly deleted. The marker says what each one is, which files it belongs in, why it was not done already, and that it must be deleted only once the work is genuinely finished. --- .devcontainer/Containerfile | 8 +- .devcontainer/README.adoc | 2 +- .devcontainer/devcontainer.json | 4 +- .envrc | 2 +- .github/.mailmap | 2 +- .github/CODEOWNERS | 16 +- .github/CODE_OF_CONDUCT.md | 12 +- .github/CONTRIBUTING.md | 2 +- .github/GOVERNANCE.md | 4 +- .github/MAINTAINERS | 2 +- .github/SECURITY.md | 6 +- .github/SUPPORT | 4 +- .guix-channel | 10 +- .machine_readable/ENSAID_CONFIG.a2ml | 4 +- .../agent_instructions/methodology.a2ml | 2 +- .machine_readable/ai/.clinerules | 4 +- .machine_readable/ai/.cursorrules | 4 +- .machine_readable/ai/.windsurfrules | 4 +- .machine_readable/anchors/ANCHOR.a2ml | 4 +- .machine_readable/compliance/reuse/dep5 | 28 +- .../policies/MAINTENANCE-AXES.a2ml | 2 +- .well-known/humans.txt | 2 +- 0-AI-MANIFEST.a2ml | 17 ++ Containerfile | 4 +- REQUIRES_INITIALISATION.md | 275 ++++++++++++++++++ container/.gatekeeper.yaml | 2 +- container/Containerfile | 12 +- container/README.adoc | 2 +- container/compose.toml | 2 +- container/ct-build.sh | 4 +- container/deploy.k9.ncl | 4 +- container/entrypoint.sh | 2 +- container/manifest.toml | 8 +- container/vordr.toml | 4 +- docs/architecture/THREAT-MODEL.adoc | 8 +- docs/attribution/CITATION.cff | 12 +- docs/attribution/CITATIONS.adoc | 18 +- docs/developer/ABI-FFI-README.adoc | 4 +- guix.scm | 8 +- 39 files changed, 398 insertions(+), 116 deletions(-) create mode 100644 REQUIRES_INITIALISATION.md diff --git a/.devcontainer/Containerfile b/.devcontainer/Containerfile index b0a6fd1..489f5ca 100644 --- a/.devcontainer/Containerfile +++ b/.devcontainer/Containerfile @@ -1,9 +1,9 @@ # SPDX-License-Identifier: MPL-2.0 -# Copyright (c) {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) # -# Dev Container image for {{PROJECT_NAME}} +# Dev Container image for What Is This? # Base: Chainguard Wolfi (minimal, supply-chain-secure) -# Build: podman build -t {{PROJECT_NAME}}-dev -f .devcontainer/Containerfile . +# Build: podman build -t What Is This?-dev -f .devcontainer/Containerfile . FROM cgr.dev/chainguard/wolfi-base:latest @@ -24,7 +24,7 @@ RUN groupadd -g 1000 nonroot || true \ && useradd -m -u 1000 -g 1000 -s /bin/bash nonroot || true # Set workspace directory -WORKDIR /workspaces/{{PROJECT_NAME}} +WORKDIR /workspaces/What Is This? # Default shell ENV SHELL=/bin/bash diff --git a/.devcontainer/README.adoc b/.devcontainer/README.adoc index 8ca43ef..f3563cd 100644 --- a/.devcontainer/README.adoc +++ b/.devcontainer/README.adoc @@ -24,4 +24,4 @@ This dev container uses `cgr.dev/chainguard/wolfi-base` with git, curl, bash, an == Customization -Replace `{{PROJECT_NAME}}` placeholders in both `devcontainer.json` and `Containerfile` with your actual project name. Run `just deps` to verify the environment after first launch. +Replace `What Is This?` placeholders in both `devcontainer.json` and `Containerfile` with your actual project name. Run `just deps` to verify the environment after first launch. diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 866dcb8..afa665f 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,11 +1,11 @@ // SPDX-License-Identifier: MPL-2.0 // Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) // -// Dev Container configuration for {{PROJECT_NAME}} +// Dev Container configuration for What Is This? // Works with: VS Code Dev Containers, GitHub Codespaces, Gitpod // Container runtime: Podman (recommended) or any OCI-compliant runtime { - "name": "{{PROJECT_NAME}}", + "name": "What Is This?", "build": { "dockerfile": "Containerfile", diff --git a/.envrc b/.envrc index 0b5b702..6e82cb8 100644 --- a/.envrc +++ b/.envrc @@ -18,7 +18,7 @@ if has nix && [ -f flake.nix ]; then fi # Project environment variables -export PROJECT_NAME="{{PROJECT_NAME}}" +export PROJECT_NAME="What Is This?" export RSR_TIER="infrastructure" # export DATABASE_URL="..." # export API_KEY="..." diff --git a/.github/.mailmap b/.github/.mailmap index 0ada9de..38c8dda 100644 --- a/.github/.mailmap +++ b/.github/.mailmap @@ -1 +1 @@ -{{AUTHOR}} <{{AUTHOR_EMAIL}}> <{{AUTHOR_EMAIL_ALT}}> +Jonathan D.A. Jewell <{{AUTHOR_EMAIL_ALT}}> diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 8d339b7..4714ad5 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,14 +1,4 @@ # SPDX-License-Identifier: MPL-2.0 -# CODEOWNERS - Define code review assignments -# See: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners -# -# Replace hyperpolymath with your GitHub username or team - -# Default owners for everything -* @hyperpolymath - -# Security-sensitive files require explicit review -SECURITY.md @hyperpolymath -.github/workflows/ @hyperpolymath -Trustfile.a2ml @hyperpolymath -.machine_readable/ @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/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md index 017dba1..345c91d 100644 --- a/.github/CODE_OF_CONDUCT.md +++ b/.github/CODE_OF_CONDUCT.md @@ -5,10 +5,10 @@ TEMPLATE INSTRUCTIONS (delete this block before publishing) ============================================================================ Replace all {{PLACEHOLDER}} values: - {{PROJECT_NAME}} - Your project name + What Is This? - Your project name hyperpolymath - GitHub/GitLab username or org bqniser - Repository name - {{CONDUCT_EMAIL}} - Email for conduct reports + j.d.a.jewell@open.ac.uk - Email for conduct reports {{CONDUCT_TEAM}} - Name of conduct team/committee {{RESPONSE_TIME}} - Initial response SLA (e.g., 48 hours) 2026 - Current year @@ -22,7 +22,7 @@ Review and customise: ## Our Pledge -We as members, contributors, and leaders pledge to make participation in {{PROJECT_NAME}} a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, colour, religion, or sexual identity and orientation. +We as members, contributors, and leaders pledge to make participation in What Is This? a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, colour, religion, or sexual identity and orientation. We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. @@ -136,7 +136,7 @@ If you experience or witness unacceptable behaviour, or have any other concerns, | Method | Details | Best For | |--------|---------|----------| -| **Email** | {{CONDUCT_EMAIL}} | Detailed reports, sensitive matters | +| **Email** | j.d.a.jewell@open.ac.uk | Detailed reports, sensitive matters | | **Private Message** | Contact any maintainer directly | Quick questions, minor issues | | **Anonymous Form** | [Link to form if available] | When you need anonymity | @@ -231,7 +231,7 @@ For contributors with elevated access (Perimeter 2 or 1): If you believe an enforcement decision was made in error: 1. **Wait 7 days** after the decision (cooling-off period) -2. **Email** {{CONDUCT_EMAIL}} with subject line "Appeal: [Original Report ID]" +2. **Email** j.d.a.jewell@open.ac.uk with subject line "Appeal: [Original Report ID]" 3. **Explain** why you believe the decision should be reconsidered 4. **Provide** any new information not previously available @@ -311,7 +311,7 @@ We thank these communities for their leadership in creating welcoming spaces. If you have questions about this Code of Conduct: - Open a [Discussion](https://github.com/hyperpolymath/bqniser/discussions) (for general questions) -- Email {{CONDUCT_EMAIL}} (for private questions) +- Email j.d.a.jewell@open.ac.uk (for private questions) - Contact any maintainer directly --- diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 7b83a01..e84a5b6 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -58,7 +58,7 @@ bqniser/ **Before reporting**: 1. Search existing issues -2. Check if it's already fixed in `{{MAIN_BRANCH}}` +2. Check if it's already fixed in `main` 3. Determine which perimeter the bug affects **When reporting**: diff --git a/.github/GOVERNANCE.md b/.github/GOVERNANCE.md index 44b79e8..62089b2 100644 --- a/.github/GOVERNANCE.md +++ b/.github/GOVERNANCE.md @@ -2,13 +2,13 @@ # Project Governance -This document describes the governance model for **{{PROJECT_NAME}}**. +This document describes the governance model for **What Is This?**. --- ## Project Governance Model -{{PROJECT_NAME}} follows a **Benevolent Dictator For Life (BDFL)** governance model. +What Is This? follows a **Benevolent Dictator For Life (BDFL)** governance model. This model is well-suited for solo maintainers and small project teams where rapid, consistent decision-making is more valuable than formal consensus processes. diff --git a/.github/MAINTAINERS b/.github/MAINTAINERS index 145c4e9..63989c7 100644 --- a/.github/MAINTAINERS +++ b/.github/MAINTAINERS @@ -4,7 +4,7 @@ # Format: Name (role) # Replace placeholders with actual maintainer information. -{{AUTHOR}} <{{AUTHOR_EMAIL}}> (Lead Maintainer) +Jonathan D.A. Jewell (Lead Maintainer) # Additional maintainers: # Name (role) diff --git a/.github/SECURITY.md b/.github/SECURITY.md index f86b09c..b21ff74 100644 --- a/.github/SECURITY.md +++ b/.github/SECURITY.md @@ -5,7 +5,7 @@ TEMPLATE INSTRUCTIONS (delete this block before publishing) ============================================================================ Replace all {{PLACEHOLDER}} values with your information: - {{PROJECT_NAME}} - Your project name + What Is This? - Your project name hyperpolymath - GitHub username or org (e.g., hyperpolymath) bqniser - Repository name {{SECURITY_EMAIL}} - Security contact email @@ -348,7 +348,7 @@ To stay informed about security updates: ## Security Best Practices -When using {{PROJECT_NAME}}, we recommend: +When using What Is This?, we recommend: ### General @@ -399,7 +399,7 @@ This security policy may be updated from time to time. Significant changes will --- -*Thank you for helping keep {{PROJECT_NAME}} and its users safe.* πŸ›‘οΈ +*Thank you for helping keep What Is This? and its users safe.* πŸ›‘οΈ --- diff --git a/.github/SUPPORT b/.github/SUPPORT index b06c59a..45a6e11 100644 --- a/.github/SUPPORT +++ b/.github/SUPPORT @@ -2,6 +2,6 @@ For questions, help, and community discussion: -- GitHub Discussions: https://github.com/{{OWNER}}/{{REPO}}/discussions -- GitHub Issues: https://github.com/{{OWNER}}/{{REPO}}/issues +- GitHub Discussions: https://github.com/hyperpolymath/bqniser/discussions +- GitHub Issues: https://github.com/hyperpolymath/bqniser/issues - Documentation: See README.adoc in the root directory. diff --git a/.guix-channel b/.guix-channel index f9bdf68..65cc363 100644 --- a/.guix-channel +++ b/.guix-channel @@ -1,20 +1,20 @@ ;; SPDX-License-Identifier: MPL-2.0 -;; Copyright (c) {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> +;; Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) ;; -;; Guix channel definition for {{PROJECT_NAME}} +;; Guix channel definition for What Is This? ;; ;; To use this channel, add to ~/.config/guix/channels.scm: ;; ;; (channel -;; (name '{{PROJECT_NAME}}) -;; (url "https://github.com/{{OWNER}}/{{PROJECT_NAME}}") +;; (name 'What Is This?) +;; (url "https://github.com/hyperpolymath/What Is This?") ;; (branch "main")) ;; ;; Then: guix pull (channel (version 0) - (url "https://github.com/{{OWNER}}/{{PROJECT_NAME}}") + (url "https://github.com/hyperpolymath/What Is This?") (dependencies (channel (name 'guix) diff --git a/.machine_readable/ENSAID_CONFIG.a2ml b/.machine_readable/ENSAID_CONFIG.a2ml index 2068cc1..8208e4f 100644 --- a/.machine_readable/ENSAID_CONFIG.a2ml +++ b/.machine_readable/ENSAID_CONFIG.a2ml @@ -90,7 +90,7 @@ version = "1.0.0" # Example: a custom portfolio for this project # [[portfolios.custom]] # id = "{{project}}-dev" -# name = "{{PROJECT_NAME}} Development" -# description = "Panels for {{PROJECT_NAME}} development" +# name = "What Is This? Development" +# description = "Panels for What Is This? development" # panels = ["valence-shell", "editor-bridge", "build-dashboard"] # default-isolation = "native" diff --git a/.machine_readable/agent_instructions/methodology.a2ml b/.machine_readable/agent_instructions/methodology.a2ml index 754f357..d68e5df 100644 --- a/.machine_readable/agent_instructions/methodology.a2ml +++ b/.machine_readable/agent_instructions/methodology.a2ml @@ -101,7 +101,7 @@ constraints = [ # These rules detect corrupt/template/stale state files. [methodology.state-validation] -reject-if-contains = ["{{PLACEHOLDER}}", "{{PROJECT}}", "rsr-template-repo"] +reject-if-contains = ["{{PLACEHOLDER}}", "BQNISER", "rsr-template-repo"] reject-if-project-name-mismatch = true staleness-threshold-days = 90 fallback-files = ["TODO.md", "TODO.adoc", "ROADMAP.adoc", "README.adoc"] diff --git a/.machine_readable/ai/.clinerules b/.machine_readable/ai/.clinerules index a29ed5f..eb95175 100644 --- a/.machine_readable/ai/.clinerules +++ b/.machine_readable/ai/.clinerules @@ -1,5 +1,5 @@ # SPDX-License-Identifier: MPL-2.0 -# Copyright (c) {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) # Authoritative source: docs/AI-CONVENTIONS.md # STARTUP: Read 0-AI-MANIFEST.a2ml first, then .machine_readable/STATE.a2ml. @@ -8,7 +8,7 @@ # All original code: MPL-2.0. # Never AGPL-3.0. MPL-2.0 only as platform-required fallback. # SPDX header required on every source file. -# Copyright: {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> +# Copyright: Jonathan D.A. Jewell (hyperpolymath) # STATE FILES (.machine_readable/ ONLY) # Never create in repo root: STATE.a2ml, META.a2ml, ECOSYSTEM.a2ml, diff --git a/.machine_readable/ai/.cursorrules b/.machine_readable/ai/.cursorrules index c13b393..5255a80 100644 --- a/.machine_readable/ai/.cursorrules +++ b/.machine_readable/ai/.cursorrules @@ -1,5 +1,5 @@ # SPDX-License-Identifier: MPL-2.0 -# Copyright (c) {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) # Authoritative source: docs/AI-CONVENTIONS.md # Read 0-AI-MANIFEST.a2ml in the repo root FIRST for canonical file locations. @@ -7,7 +7,7 @@ # LICENSE # All original code: MPL-2.0 (SPDX header required on every file). # Never use AGPL-3.0. Fallback to MPL-2.0 only when platform requires it. -# Copyright: {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> +# Copyright: Jonathan D.A. Jewell (hyperpolymath) # STATE FILES # .a2ml metadata files go in .machine_readable/ ONLY. diff --git a/.machine_readable/ai/.windsurfrules b/.machine_readable/ai/.windsurfrules index a29ed5f..eb95175 100644 --- a/.machine_readable/ai/.windsurfrules +++ b/.machine_readable/ai/.windsurfrules @@ -1,5 +1,5 @@ # SPDX-License-Identifier: MPL-2.0 -# Copyright (c) {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) # Authoritative source: docs/AI-CONVENTIONS.md # STARTUP: Read 0-AI-MANIFEST.a2ml first, then .machine_readable/STATE.a2ml. @@ -8,7 +8,7 @@ # All original code: MPL-2.0. # Never AGPL-3.0. MPL-2.0 only as platform-required fallback. # SPDX header required on every source file. -# Copyright: {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> +# Copyright: Jonathan D.A. Jewell (hyperpolymath) # STATE FILES (.machine_readable/ ONLY) # Never create in repo root: STATE.a2ml, META.a2ml, ECOSYSTEM.a2ml, diff --git a/.machine_readable/anchors/ANCHOR.a2ml b/.machine_readable/anchors/ANCHOR.a2ml index 34a6ef4..1a66a30 100644 --- a/.machine_readable/anchors/ANCHOR.a2ml +++ b/.machine_readable/anchors/ANCHOR.a2ml @@ -5,7 +5,7 @@ [metadata] version = "1.0.0" -last-updated = "{{CURRENT_DATE}}" +last-updated = "2026-08-05" [anchor] schema = "hyperpolymath.anchor/1" @@ -19,7 +19,7 @@ purpose = [ ] [identity] -project = "{{PROJECT_NAME}}" +project = "What Is This?" kind = "{{PROJECT_KIND}}" # language | library | service | tool one-sentence = "{{PROJECT_PURPOSE}}" domain = "{{PROJECT_DOMAIN}}" diff --git a/.machine_readable/compliance/reuse/dep5 b/.machine_readable/compliance/reuse/dep5 index bead9ed..4288170 100644 --- a/.machine_readable/compliance/reuse/dep5 +++ b/.machine_readable/compliance/reuse/dep5 @@ -1,61 +1,61 @@ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Name: {{PROJECT_NAME}} -Upstream-Contact: {{AUTHOR}} <{{AUTHOR_EMAIL}}> -Source: https://github.com/{{OWNER}}/{{REPO}} +Upstream-Name: What Is This? +Upstream-Contact: Jonathan D.A. Jewell +Source: https://github.com/hyperpolymath/bqniser # Default: all files are MPL-2.0 Files: * -Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> +Copyright: 2026 Jonathan D.A. Jewell (hyperpolymath) License: MPL-2.0 # Configuration files that cannot carry headers Files: .editorconfig .gitignore .gitattributes .tool-versions .mailmap -Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> +Copyright: 2026 Jonathan D.A. Jewell (hyperpolymath) License: MPL-2.0 # Machine-readable state files Files: .machine_readable/*.a2ml -Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> +Copyright: 2026 Jonathan D.A. Jewell (hyperpolymath) License: MPL-2.0 # Bot directives Files: .machine_readable/bot_directives/* -Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> +Copyright: 2026 Jonathan D.A. Jewell (hyperpolymath) License: MPL-2.0 # Contractiles Files: .machine_readable/contractiles/* -Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> +Copyright: 2026 Jonathan D.A. Jewell (hyperpolymath) License: MPL-2.0 # GitHub/CI configuration Files: .github/* .github/**/* -Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> +Copyright: 2026 Jonathan D.A. Jewell (hyperpolymath) License: MPL-2.0 # Generated files Files: generated/* -Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> +Copyright: 2026 Jonathan D.A. Jewell (hyperpolymath) License: MPL-2.0 # Lockfiles and auto-generated Files: *.lock Cargo.lock flake.lock -Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> +Copyright: 2026 Jonathan D.A. Jewell (hyperpolymath) License: MPL-2.0 # Devcontainer config (JSON, no comments) Files: .devcontainer/*.json -Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> +Copyright: 2026 Jonathan D.A. Jewell (hyperpolymath) License: MPL-2.0 # Git-cliff config Files: cliff.toml -Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> +Copyright: 2026 Jonathan D.A. Jewell (hyperpolymath) License: MPL-2.0 # Documentation prose is CC-BY-SA-4.0 (code/config is MPL-2.0). # Last-match-wins in the Debian copyright format, so this overrides the # `Files: *` default above for prose docs. Files: *.adoc *.md docs/* docs/**/* -Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> +Copyright: 2026 Jonathan D.A. Jewell (hyperpolymath) License: CC-BY-SA-4.0 diff --git a/.machine_readable/policies/MAINTENANCE-AXES.a2ml b/.machine_readable/policies/MAINTENANCE-AXES.a2ml index 8cc906f..011df3d 100644 --- a/.machine_readable/policies/MAINTENANCE-AXES.a2ml +++ b/.machine_readable/policies/MAINTENANCE-AXES.a2ml @@ -5,7 +5,7 @@ [metadata] version = "1.0.0" -last-updated = "{{CURRENT_DATE}}" +last-updated = "2026-08-05" scope = "repo" [discovery] diff --git a/.well-known/humans.txt b/.well-known/humans.txt index 9a98458..105f211 100644 --- a/.well-known/humans.txt +++ b/.well-known/humans.txt @@ -7,7 +7,7 @@ Contact: j.d.a.jewell@open.ac.uk From: United Kingdom /* SITE */ -Last update: {{CURRENT_DATE}} +Last update: 2026-08-05 Standards: RSR (Rhodium Standard Repository) License: MPL-2.0 (Palimpsest MPL) Components: Idris2 ABI, Zig FFI diff --git a/0-AI-MANIFEST.a2ml b/0-AI-MANIFEST.a2ml index 7f1a8bb..aa8f65b 100644 --- a/0-AI-MANIFEST.a2ml +++ b/0-AI-MANIFEST.a2ml @@ -143,3 +143,20 @@ State understanding of canonical locations ## ATTESTATION PROOF **"I have read the AI manifest for bqniser. All machine-readable content (state files, anchors, policies, bot directives, contractiles, AI guides) is located in `.machine_readable/` ONLY, and community metadata is in `.github/`. I will not create duplicate files in the root directory. BQN rewrites require Idris2 equivalence proofs. CBQN access is via Zig FFI only."** + + + +## PRIORITY ACTION β€” this repository is not fully initialised + +26 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/Containerfile b/Containerfile index d7266bc..b68a383 100644 --- a/Containerfile +++ b/Containerfile @@ -1,7 +1,7 @@ # SPDX-License-Identifier: MPL-2.0 -# Copyright (c) {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) # -# Containerfile for {{PROJECT_NAME}} +# Containerfile for What Is This? # Build: podman build -t {{project}}:latest -f Containerfile . # Run: podman run --rm -it {{project}}:latest # Seal: selur seal {{project}}:latest diff --git a/REQUIRES_INITIALISATION.md b/REQUIRES_INITIALISATION.md new file mode 100644 index 0000000..e9e24fa --- /dev/null +++ b/REQUIRES_INITIALISATION.md @@ -0,0 +1,275 @@ + + +# REQUIRES INITIALISATION + +**This repository is not finished being set up.** 26 substitution token(s) across 19 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 + +### `{{ARGS}}` + +Arguments for the justfile recipe this appears in. + +Appears in: + +- `Justfile` + +### `{{AUTHOR_EMAIL_ALT}}` + +Appears in: + +- `.github/.mailmap` + +### `{{AUTHOR_ORG}}` + +Author's organisation. NOTE: no filled instance of this exists anywhere in the estate β€” consider deleting the field instead. + +Appears in: + +- `.machine_readable/contractiles/k9/examples/project-metadata.k9.ncl` + +### `{{CONDUCT_TEAM}}` + +Name of the conduct body. If there is no committee, rewrite the sentence rather than substituting a plural noun into 'a {{CONDUCT_TEAM}} member'. + +Appears in: + +- `.github/CODE_OF_CONDUCT.md` + +### `{{CONSUMER1}}` + +A downstream repo that consumes this one. + +Appears in: + +- `.machine_readable/INTENT.contractile` + +### `{{CONSUMER2}}` + +A second downstream consumer. + +Appears in: + +- `.machine_readable/INTENT.contractile` + +### `{{DEP1}}` + +First named dependency, in .machine_readable/INTENT.contractile. + +Appears in: + +- `.machine_readable/INTENT.contractile` + +### `{{DEP2}}` + +Second named dependency, in .machine_readable/INTENT.contractile. + +Appears in: + +- `.machine_readable/INTENT.contractile` + +### `{{LICENSE}}` + +SPDX identifier for this repo's licence. + +Appears in: + +- `container/Containerfile` +- `container/manifest.toml` +- `docs/developer/ABI-FFI-README.adoc` + +### `{{MONOREPO_OR_STANDALONE}}` + +Literally 'monorepo' or 'standalone'. + +Appears in: + +- `.machine_readable/INTENT.contractile` + +### `{{ONE_PARAGRAPH_ANTI_PURPOSE}}` + +A paragraph on what this deliberately is NOT for. + +Appears in: + +- `.machine_readable/INTENT.contractile` + +### `{{ONE_PARAGRAPH_PURPOSE}}` + +A paragraph on what this is for. + +Appears in: + +- `.machine_readable/INTENT.contractile` + +### `{{PGP_FINGERPRINT}}` + +Full fingerprint of the security-contact PGP key. NOTE: no key is published anywhere in this estate β€” if none is held, delete the PGP block rather than inventing one. + +Appears in: + +- `.github/SECURITY.md` + +### `{{PGP_KEY_URL}}` + +Public URL the PGP key can be fetched from. Same caveat as PGP_FINGERPRINT. + +Appears in: + +- `.github/SECURITY.md` +- `.well-known/security.txt` + +### `{{PORT}}` + +Port the container service listens on. + +Appears in: + +- `container/Containerfile` +- `container/compose.toml` +- `container/deploy.k9.ncl` +- `container/entrypoint.sh` +- `container/manifest.toml` +- `container/vordr.toml` + +### `{{PROJECT_DESCRIPTION}}` + +One-line description, matching the forge description. + +Appears in: + +- `container/Containerfile` +- `container/manifest.toml` + +### `{{PROJECT_DOMAIN}}` + +Taxonomy value for the subject domain. + +Appears in: + +- `.machine_readable/anchors/ANCHOR.a2ml` + +### `{{PROJECT_KIND}}` + +Taxonomy value (library, service, tool, lab…). + +Appears in: + +- `.machine_readable/anchors/ANCHOR.a2ml` + +### `{{PROJECT_PURPOSE}}` + +One line: what this exists to do. + +Appears in: + +- `.machine_readable/anchors/ANCHOR.a2ml` +- `guix.scm` + +### `{{PROJECT_UNIQUE_STRENGTH}}` + +What this does that its alternatives do not. + +Appears in: + +- `.machine_readable/agent_instructions/methodology.a2ml` + +### `{{REGISTRY}}` + +Container registry to publish to. + +Appears in: + +- `container/compose.toml` +- `container/ct-build.sh` +- `container/deploy.k9.ncl` + +### `{{RESPONSE_TIME}}` + +Initial-response SLA for a security or conduct report. Promise only what a solo maintainer can actually meet. + +Appears in: + +- `.github/CODE_OF_CONDUCT.md` + +### `{{SECURITY_EMAIL}}` + +Address for private vulnerability reports. Two competing values exist in the estate (`6759885+hyperpolymath@users.noreply.github.com` and `security@hyperpolymath.org`) β€” pick one deliberately. + +Appears in: + +- `.github/SECURITY.md` +- `.well-known/security.txt` + +### `{{SERVICE_NAME}}` + +Container service name. + +Appears in: + +- `container/.gatekeeper.yaml` +- `container/Containerfile` +- `container/compose.toml` +- `container/ct-build.sh` +- `container/deploy.k9.ncl` +- `container/entrypoint.sh` +- `container/manifest.toml` +- `container/vordr.toml` + +### `{{VERSION}}` + +Version/tag for the container image. + +Appears in: + +- `container/deploy.k9.ncl` +- `container/manifest.toml` +- `container/vordr.toml` + +### `{{WEBSITE}}` + +Project homepage URL, or delete the field if there is none. + +Appears in: + +- `.github/SECURITY.md` +- `.well-known/security.txt` + +--- + +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/container/.gatekeeper.yaml b/container/.gatekeeper.yaml index 4aac671..58a84f2 100644 --- a/container/.gatekeeper.yaml +++ b/container/.gatekeeper.yaml @@ -1,6 +1,6 @@ # SPDX-License-Identifier: MPL-2.0 # -# Svalinn gatekeeper policy for {{PROJECT_NAME}} +# Svalinn gatekeeper policy for What Is This? # # Controls which operations are permitted through the edge gateway. # This template provides moderate security defaults β€” not wide-open test diff --git a/container/Containerfile b/container/Containerfile index ba85260..00c152a 100644 --- a/container/Containerfile +++ b/container/Containerfile @@ -1,5 +1,5 @@ # SPDX-License-Identifier: MPL-2.0 -# {{PROJECT_NAME}} Container Image +# What Is This? Container Image # # Multi-stage build template for Chainguard Wolfi base images. # Customise the builder stage for your language and copy the @@ -69,13 +69,13 @@ COPY . . FROM cgr.dev/chainguard/wolfi-base:latest # OCI image labels (compatible with cerro-torre .ctp bundle metadata) -LABEL org.opencontainers.image.title="{{PROJECT_NAME}}" \ +LABEL org.opencontainers.image.title="What Is This?" \ org.opencontainers.image.description="{{PROJECT_DESCRIPTION}}" \ - org.opencontainers.image.url="https://{{FORGE}}/{{OWNER}}/{{REPO}}" \ - org.opencontainers.image.source="https://{{FORGE}}/{{OWNER}}/{{REPO}}" \ - org.opencontainers.image.vendor="{{OWNER}}" \ + org.opencontainers.image.url="https://github.com/hyperpolymath/bqniser" \ + org.opencontainers.image.source="https://github.com/hyperpolymath/bqniser" \ + org.opencontainers.image.vendor="hyperpolymath" \ org.opencontainers.image.licenses="{{LICENSE}}" \ - org.opencontainers.image.authors="{{AUTHOR}} <{{AUTHOR_EMAIL}}>" \ + org.opencontainers.image.authors="Jonathan D.A. Jewell " \ dev.cerrotorre.manifest="container/manifest.toml" \ dev.cerrotorre.gatekeeper="container/.gatekeeper.yaml" \ dev.stapeln.compose="container/compose.toml" diff --git a/container/README.adoc b/container/README.adoc index 7a2ef6c..baf9326 100644 --- a/container/README.adoc +++ b/container/README.adoc @@ -1,6 +1,6 @@ // SPDX-License-Identifier: CC-BY-SA-4.0 // Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) -= {{PROJECT_NAME}} Container Templates += What Is This? Container Templates :toc: left :toclevels: 3 :sectnums: diff --git a/container/compose.toml b/container/compose.toml index a14f8a0..32bbab0 100644 --- a/container/compose.toml +++ b/container/compose.toml @@ -1,6 +1,6 @@ # SPDX-License-Identifier: MPL-2.0 # -# {{PROJECT_NAME}} selur-compose configuration +# What Is This? selur-compose configuration # # Orchestrates the container stack as verified container bundles (.ctp). # Uses selur zero-copy IPC between services on the same host. diff --git a/container/ct-build.sh b/container/ct-build.sh index a54a541..47c7424 100755 --- a/container/ct-build.sh +++ b/container/ct-build.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: MPL-2.0 # -# {{PROJECT_NAME}} β€” Cerro Torre build, sign, and verify pipeline +# What Is This? β€” Cerro Torre build, sign, and verify pipeline # # Builds the container image, packages it as a verified .ctp bundle, # signs it with Ed25519, and verifies the result. Gracefully degrades @@ -46,7 +46,7 @@ IMAGE_NAME="{{SERVICE_NAME}}" FULL_IMAGE="${CT_REGISTRY}/${IMAGE_NAME}:${CT_TAG}" CTP_FILE="${SCRIPT_DIR}/${IMAGE_NAME}-${CT_TAG}.ctp" -echo "=== {{PROJECT_NAME}} Cerro Torre Build Pipeline ===" +echo "=== What Is This? Cerro Torre Build Pipeline ===" echo " Image: ${FULL_IMAGE}" echo " Key: ${CT_KEY_ID}" echo " Bundle: ${CTP_FILE}" diff --git a/container/deploy.k9.ncl b/container/deploy.k9.ncl index 0ad0d04..3e814e6 100644 --- a/container/deploy.k9.ncl +++ b/container/deploy.k9.ncl @@ -1,5 +1,5 @@ # SPDX-License-Identifier: MPL-2.0 -# deploy.k9.ncl β€” {{PROJECT_NAME}} deployment component (Hunt level) +# deploy.k9.ncl β€” What Is This? deployment component (Hunt level) # # k9-svc deployment specification with full pedigree (L1-L5). # Security Level: 'Hunt (requires cryptographic handshake for execution). @@ -22,7 +22,7 @@ let component_pedigree = { version = "{{VERSION}}", breed = "application/vnd.k9+nickel", magic_number = "K9!", - description = "{{PROJECT_NAME}} deployment component (Hunt level)", + description = "What Is This? deployment component (Hunt level)", }, # ───────────────────────────────────────────────────────────── diff --git a/container/entrypoint.sh b/container/entrypoint.sh index a7a0369..a0790d8 100755 --- a/container/entrypoint.sh +++ b/container/entrypoint.sh @@ -1,6 +1,6 @@ #!/bin/sh # SPDX-License-Identifier: MPL-2.0 -# {{PROJECT_NAME}} container entrypoint +# What Is This? container entrypoint # # Handles signal propagation, startup logging, and health check # preparation before exec-ing into the main application process. diff --git a/container/manifest.toml b/container/manifest.toml index 6cb1985..9e8c859 100644 --- a/container/manifest.toml +++ b/container/manifest.toml @@ -1,6 +1,6 @@ # SPDX-License-Identifier: MPL-2.0 # -# Cerro Torre manifest for {{PROJECT_NAME}} .ctp bundle +# Cerro Torre manifest for What Is This? .ctp bundle # # This manifest describes the container image for verified # container packaging. Used by `ct pack` to create .ctp bundles. @@ -11,17 +11,17 @@ version = "{{VERSION}}" revision = 1 summary = "{{PROJECT_DESCRIPTION}}" description = """ -{{PROJECT_NAME}} β€” containerised service packaged as a verified +What Is This? β€” containerised service packaged as a verified cerro-torre .ctp bundle with Ed25519 signing and full provenance tracking. """ license = "{{LICENSE}}" homepage = "https://github.com/hyperpolymath/bqniser" -maintainer = "Jonathan D.A. Jewell <{{EMAIL}}>" +maintainer = "Jonathan D.A. Jewell " [provenance] upstream = "https://github.com/hyperpolymath/bqniser" -import_date = {{CURRENT_DATE}}T00:00:00Z +import_date = 2026-08-05T00:00:00Z [dependencies] runtime = ["ca-certificates", "curl"] diff --git a/container/vordr.toml b/container/vordr.toml index af38fc5..65197d0 100644 --- a/container/vordr.toml +++ b/container/vordr.toml @@ -1,6 +1,6 @@ # SPDX-License-Identifier: MPL-2.0 # -# Vordr runtime monitoring configuration for {{PROJECT_NAME}} +# Vordr runtime monitoring configuration for What Is This? # # Vordr watches container health, detects crashes, tracks resource usage, # and emits structured logs. It runs alongside the application stack and @@ -94,7 +94,7 @@ output = "stdout" # on = ["failure", "recovery", "resource_critical"] # [notifications.email] -# to = "{{EMAIL}}" +# to = "j.d.a.jewell@open.ac.uk" # from = "vordr@{{SERVICE_NAME}}.local" # smtp = "smtp://localhost:25" # on = ["failure", "resource_critical"] diff --git a/docs/architecture/THREAT-MODEL.adoc b/docs/architecture/THREAT-MODEL.adoc index 4e24d3c..802cbac 100644 --- a/docs/architecture/THREAT-MODEL.adoc +++ b/docs/architecture/THREAT-MODEL.adoc @@ -2,15 +2,15 @@ -# Threat Model: {{PROJECT_NAME}} +# Threat Model: What Is This? ## Document Info | Field | Value | |---------------|--------------------------------| -| Project | {{PROJECT_NAME}} | +| Project | What Is This? | | Version | 1.0 | -| Last Reviewed | {{DATE}} | +| Last Reviewed | 2026-08-05 | | Author | Jonathan D.A. Jewell | | Methodology | STRIDE | @@ -34,7 +34,7 @@ ## System Overview -Brief description of {{PROJECT_NAME}} and its architecture. +Brief description of What Is This? and its architecture. > See [STATE-VISUALIZER.adoc](../STATE-VISUALIZER.adoc) for the full architecture diagram and completion dashboard. diff --git a/docs/attribution/CITATION.cff b/docs/attribution/CITATION.cff index 05d36d9..55ce6dd 100644 --- a/docs/attribution/CITATION.cff +++ b/docs/attribution/CITATION.cff @@ -1,14 +1,14 @@ cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: -- family-names: "{{AUTHOR_LAST}}" - given-names: "{{AUTHOR_FIRST}}" +- family-names: "Jewell" + given-names: "Jonathan" orcid: "https://orcid.org/0000-0000-0000-0000" # Placeholder -title: "{{PROJECT_NAME}}" +title: "What Is This?" version: 0.1.0 -date-released: {{CURRENT_DATE}} -url: "https://{{FORGE}}/{{OWNER}}/{{REPO}}" -repository-code: "https://{{FORGE}}/{{OWNER}}/{{REPO}}" +date-released: 2026-08-05 +url: "https://github.com/hyperpolymath/bqniser" +repository-code: "https://github.com/hyperpolymath/bqniser" license: MPL-2.0 keywords: - "rsr" diff --git a/docs/attribution/CITATIONS.adoc b/docs/attribution/CITATIONS.adoc index 3d483a9..8dec874 100644 --- a/docs/attribution/CITATIONS.adoc +++ b/docs/attribution/CITATIONS.adoc @@ -1,34 +1,34 @@ -= {{PROJECT_NAME}} - Citation Guide += What Is This? - Citation Guide :toc: == BibTeX [source,bibtex] ---- -@software{{{PROJECT_NAME}}_2026, - author = {{{AUTHOR_LAST}}, {{AUTHOR_FIRST}}}, - title = {{{PROJECT_NAME}}}, +@software{What Is This?_2026, + author = {Jewell, Jonathan}, + title = {What Is This?}, year = {2026}, - url = {https://github.com/hyperpolymath/{{PROJECT_NAME}}}, + url = {https://github.com/hyperpolymath/What Is This?}, license = {MPL-2.0} } ---- == Harvard Style -{{AUTHOR_LAST}}, {{AUTHOR_INITIALS}} (2026) _{{PROJECT_NAME}}_ [Computer software]. Available at: https://github.com/hyperpolymath/{{PROJECT_NAME}} +Jewell, JDJ (2026) _What Is This?_ [Computer software]. Available at: https://github.com/hyperpolymath/What Is This? == OSCOLA -Jonathan D.A. Jewell, '{{PROJECT_NAME}}' (2026) +Jonathan D.A. Jewell, 'What Is This?' (2026) == MLA -{{AUTHOR_LAST}}, {{AUTHOR_FIRST}} "{{PROJECT_NAME}}." 2026, github.com/hyperpolymath/{{PROJECT_NAME}}. +Jewell, Jonathan "What Is This?." 2026, github.com/hyperpolymath/What Is This?. == APA 7 -{{AUTHOR_LAST}}, {{AUTHOR_INITIALS}} (2026). _{{PROJECT_NAME}}_ [Computer software]. GitHub. https://github.com/hyperpolymath/{{PROJECT_NAME}} +Jewell, JDJ (2026). _What Is This?_ [Computer software]. GitHub. https://github.com/hyperpolymath/What Is This? == See Also diff --git a/docs/developer/ABI-FFI-README.adoc b/docs/developer/ABI-FFI-README.adoc index fe01f12..53c8db3 100644 --- a/docs/developer/ABI-FFI-README.adoc +++ b/docs/developer/ABI-FFI-README.adoc @@ -1,7 +1,7 @@ = ABI/FFI Standards {{~ Aditionally delete this line and fill out the template below ~}} -# {{PROJECT}} ABI/FFI Documentation +# BQNISER ABI/FFI Documentation ## Overview @@ -248,7 +248,7 @@ gcc -o example example.c -l{{project}} -L./zig-out/lib ### From Idris2 ```idris -import {{PROJECT}}.ABI.Foreign +import BQNISER.ABI.Foreign main : IO () main = do diff --git a/guix.scm b/guix.scm index cdf73ef..f0547a4 100644 --- a/guix.scm +++ b/guix.scm @@ -1,13 +1,13 @@ ;; SPDX-License-Identifier: MPL-2.0 ;; Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) ;; -;; Guix package definition for {{PROJECT_NAME}} +;; Guix package definition for What Is This? ;; ;; Usage: ;; guix shell -D -f guix.scm # Enter development shell ;; guix build -f guix.scm # Build package ;; -;; TODO: Replace {{PROJECT_NAME}} and customize inputs for your language/stack. +;; TODO: Replace What Is This? and customize inputs for your language/stack. ;; See: https://guix.gnu.org/manual/en/html_node/Defining-Packages.html (use-modules (guix packages) @@ -18,7 +18,7 @@ (gnu packages base)) (package - (name "{{PROJECT_NAME}}") + (name "What Is This?") (version "0.1.0") (source (local-file "." "source" #:recursive? #t @@ -63,7 +63,7 @@ (list ;; TODO: Add runtime dependencies )) - (home-page "https://github.com/hyperpolymath/{{PROJECT_NAME}}") + (home-page "https://github.com/hyperpolymath/What Is This?") (synopsis "{{PROJECT_PURPOSE}}") (description "RSR-compliant project. See README.adoc for details.") (license (list From 735787a0ea4c461da7d8d42b4296476edec198c1 Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Wed, 5 Aug 2026 14:13:16 +0100 Subject: [PATCH 2/3] =?UTF-8?q?fix:=20restore=20{{PROJECT}}=20in=20reject-?= =?UTF-8?q?if-contains=20=E2=80=94=20it=20is=20a=20detector,=20not=20a=20v?= =?UTF-8?q?alue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The estate top-up sweep substituted {{PROJECT}} here along with every other token. This line is a DETECTOR list: the comment above it says these rules detect corrupt/template/stale state files, so the tokens named in it are the ones whose PRESENCE means a state file is broken. Substituting it did two things. It blinded the {{PROJECT}} leak detector, and it made the detector reject any state file containing this repo's own uppercased name β€” the opposite of what the rule is for. Same failure class as a template recipe rewriting the incident record that documents its own bug: substituting tokens inside a thing that is ABOUT tokens. Nothing else in this PR changes. Co-Authored-By: Claude Opus 5 --- .machine_readable/agent_instructions/methodology.a2ml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.machine_readable/agent_instructions/methodology.a2ml b/.machine_readable/agent_instructions/methodology.a2ml index d68e5df..9701e77 100644 --- a/.machine_readable/agent_instructions/methodology.a2ml +++ b/.machine_readable/agent_instructions/methodology.a2ml @@ -101,7 +101,7 @@ constraints = [ # These rules detect corrupt/template/stale state files. [methodology.state-validation] -reject-if-contains = ["{{PLACEHOLDER}}", "BQNISER", "rsr-template-repo"] +reject-if-contains = ["{{PLACEHOLDER}}", "{{PROJECT}}", "rsr-template-repo"] reject-if-project-name-mismatch = true staleness-threshold-days = 90 -fallback-files = ["TODO.md", "TODO.adoc", "ROADMAP.adoc", "README.adoc"] +fallback-files = ["TODO.md", "TODO.adoc", "ROADMAP.adoc", "README.adoc"] \ No newline at end of file From e866768965bb984d32234c2d8bc7e0b365049213 Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Wed, 5 Aug 2026 14:26:57 +0100 Subject: [PATCH 3/3] fix: restore the trailing newline The previous commit on this branch was written by a script that read the file through a shell command substitution. $(...) strips trailing newlines and printf '%s' does not put one back, so the file lost its final newline and the diff showed "\ No newline at end of file". Content is otherwise byte-identical to that commit. Co-Authored-By: Claude Opus 5 --- .machine_readable/agent_instructions/methodology.a2ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.machine_readable/agent_instructions/methodology.a2ml b/.machine_readable/agent_instructions/methodology.a2ml index 9701e77..754f357 100644 --- a/.machine_readable/agent_instructions/methodology.a2ml +++ b/.machine_readable/agent_instructions/methodology.a2ml @@ -104,4 +104,4 @@ constraints = [ reject-if-contains = ["{{PLACEHOLDER}}", "{{PROJECT}}", "rsr-template-repo"] reject-if-project-name-mismatch = true staleness-threshold-days = 90 -fallback-files = ["TODO.md", "TODO.adoc", "ROADMAP.adoc", "README.adoc"] \ No newline at end of file +fallback-files = ["TODO.md", "TODO.adoc", "ROADMAP.adoc", "README.adoc"]