From cf3cb1cd31d91dd510681ddc0ebafd15260d75ad Mon Sep 17 00:00:00 2001
From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com>
Date: Wed, 5 Aug 2026 10:24:16 +0100
Subject: [PATCH] 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.
---
.github/CODEOWNERS | 13 +--
0-AI-MANIFEST.a2ml | 17 +++
ARCHITECTURE.md | 47 --------
REQUIRES_INITIALISATION.md | 120 ++++++++++++++++++++
SECURITY.md | 26 ++---
audits/assail-classifications.a2ml | 2 +-
docs/PROOF-NEEDS.adoc | 2 +-
docs/reference/ABI-FFI.md | 4 +-
docs/reports/TIDY-UP-LEDGER-2026-06-16.adoc | 8 +-
ffi/zig/build.zig | 2 +-
ffi/zig/src/main.zig | 4 +-
ffi/zig/test/integration_test.zig | 2 +-
12 files changed, 166 insertions(+), 81 deletions(-)
delete mode 100644 ARCHITECTURE.md
create mode 100644 REQUIRES_INITIALISATION.md
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 7f60a0ce..4714ad52 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -1,9 +1,4 @@
-# Code Owners
-
-# Default: All contributors with write access are code owners
-* @metadatastician
-
-# For specific paths, add explicit owners below
-# Example:
-# /src/* @team-lead
-# /docs/* @docs-maintainer
+# SPDX-License-Identifier: MPL-2.0
+# 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/0-AI-MANIFEST.a2ml b/0-AI-MANIFEST.a2ml
index c361cad3..8040e26d 100644
--- a/0-AI-MANIFEST.a2ml
+++ b/0-AI-MANIFEST.a2ml
@@ -35,3 +35,20 @@ Project metadata and AI agent configuration files live under `.machine_readable/
4. Follow methodology gates from `agent_instructions/methodology.a2ml`
5. Update `STATE.a2ml` after completing work
6. Sync to database: `~/sync-language-tracker.sh`
+
+
+
+## PRIORITY ACTION — this repository is not fully initialised
+
+9 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 607e3d8c..00000000
--- 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/REQUIRES_INITIALISATION.md b/REQUIRES_INITIALISATION.md
new file mode 100644
index 00000000..c857a77a
--- /dev/null
+++ b/REQUIRES_INITIALISATION.md
@@ -0,0 +1,120 @@
+
+
+# REQUIRES INITIALISATION
+
+**This repository is not finished being set up.** 9 substitution token(s) across 6 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
+
+### `{{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/svc/k9/examples/project-metadata.k9.ncl`
+
+### `{{FILE}}`
+
+Appears in:
+
+- `.build/justfile`
+- `justfile`
+
+### `{{LICENSE}}`
+
+SPDX identifier for this repo's licence.
+
+Appears in:
+
+- `docs/reference/ABI-FFI.md`
+
+### `{{OUT}}`
+
+Appears in:
+
+- `justfile`
+
+### `{{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:
+
+- `SECURITY.md`
+- `docs/reports/TIDY-UP-LEDGER-2026-06-16.adoc`
+
+### `{{PGP_KEY_URL}}`
+
+Public URL the PGP key can be fetched from. Same caveat as PGP_FINGERPRINT.
+
+Appears in:
+
+- `SECURITY.md`
+- `docs/reports/TIDY-UP-LEDGER-2026-06-16.adoc`
+
+### `{{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:
+
+- `SECURITY.md`
+- `docs/reports/TIDY-UP-LEDGER-2026-06-16.adoc`
+
+### `{{VERSION}}`
+
+Version/tag for the container image.
+
+Appears in:
+
+- `.build/justfile`
+- `justfile`
+
+### `{{WEBSITE}}`
+
+Project homepage URL, or delete the field if there is none.
+
+Appears in:
+
+- `SECURITY.md`
+- `docs/reports/TIDY-UP-LEDGER-2026-06-16.adoc`
+
+---
+
+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/SECURITY.md b/SECURITY.md
index 7dd7b29e..1d9842ae 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -5,14 +5,14 @@
TEMPLATE INSTRUCTIONS (delete this block before publishing)
============================================================================
Replace all {{PLACEHOLDER}} values with your information:
- {{PROJECT_NAME}} - Your project name
- {{OWNER}} - GitHub username or org (e.g., hyperpolymath)
- {{REPO}} - Repository name
+ AffineScript - Your project name
+ hyperpolymath - GitHub username or org (e.g., hyperpolymath)
+ affinescript - Repository name
{{SECURITY_EMAIL}} - Security contact email
{{PGP_FINGERPRINT}} - Your PGP key fingerprint (40 chars, no spaces)
{{PGP_KEY_URL}} - URL to your public PGP key
{{WEBSITE}} - Your website/domain
- {{CURRENT_YEAR}} - Current year for copyright
+ 2026 - Current year for copyright
Optional: Remove sections that don't apply (e.g., PGP if you don't use it)
============================================================================
@@ -40,7 +40,7 @@ We take security seriously. We appreciate your efforts to responsibly disclose v
The preferred method for reporting security vulnerabilities is through GitHub's Security Advisory feature:
-1. Navigate to [Report a Vulnerability](https://github.com/{{OWNER}}/{{REPO}}/security/advisories/new)
+1. Navigate to [Report a Vulnerability](https://github.com/hyperpolymath/affinescript/security/advisories/new)
2. Click **"Report a vulnerability"**
3. Complete the form with as much detail as possible
4. Submit — we'll receive a private notification
@@ -203,7 +203,7 @@ If we cannot reach agreement on disclosure timing, we default to 90 days from yo
The following are within scope for security research:
-- This repository (`{{OWNER}}/{{REPO}}`) and all its code
+- This repository (`hyperpolymath/affinescript`) and all its code
- Official releases and packages published from this repository
- Documentation that could lead to security issues
- Build and deployment configurations in this repository
@@ -322,7 +322,7 @@ Recognition includes:
To stay informed about security updates:
- **Watch this repository**: Click "Watch" → "Custom" → Select "Security alerts"
-- **GitHub Security Advisories**: Published at [Security Advisories](https://github.com/{{OWNER}}/{{REPO}}/security/advisories)
+- **GitHub Security Advisories**: Published at [Security Advisories](https://github.com/hyperpolymath/affinescript/security/advisories)
- **Release notes**: Security fixes noted in [CHANGELOG](CHANGELOG.md)
### Update Policy
@@ -348,7 +348,7 @@ To stay informed about security updates:
## Security Best Practices
-When using {{PROJECT_NAME}}, we recommend:
+When using AffineScript, we recommend:
### General
@@ -371,7 +371,7 @@ When using {{PROJECT_NAME}}, we recommend:
## Additional Resources
- [Our PGP Public Key]({{PGP_KEY_URL}})
-- [Security Advisories](https://github.com/{{OWNER}}/{{REPO}}/security/advisories)
+- [Security Advisories](https://github.com/hyperpolymath/affinescript/security/advisories)
- [Changelog](CHANGELOG.md)
- [Contributing Guidelines](CONTRIBUTING.md)
- [CVE Database](https://cve.mitre.org/)
@@ -383,8 +383,8 @@ When using {{PROJECT_NAME}}, we recommend:
| Purpose | Contact |
|---------|---------|
-| **Security issues** | [Report via GitHub](https://github.com/{{OWNER}}/{{REPO}}/security/advisories/new) or {{SECURITY_EMAIL}} |
-| **General questions** | [GitHub Discussions](https://github.com/{{OWNER}}/{{REPO}}/discussions) |
+| **Security issues** | [Report via GitHub](https://github.com/hyperpolymath/affinescript/security/advisories/new) or {{SECURITY_EMAIL}} |
+| **General questions** | [GitHub Discussions](https://github.com/hyperpolymath/affinescript/discussions) |
| **Other enquiries** | See [README](README.md) for contact information |
---
@@ -399,8 +399,8 @@ 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 AffineScript and its users safe.* 🛡️
---
-Last updated: {{CURRENT_YEAR}} · Policy version: 1.0.0
+Last updated: 2026 · Policy version: 1.0.0
diff --git a/audits/assail-classifications.a2ml b/audits/assail-classifications.a2ml
index d26f4438..fdd2bf6d 100644
--- a/audits/assail-classifications.a2ml
+++ b/audits/assail-classifications.a2ml
@@ -67,7 +67,7 @@ schema_version = "1.0.0"
;
; The two flake.nix files below live in vendored subtrees with their
; own upstream repos. The affinescriptiser/flake.nix that panic-attack
- ; ALSO flagged was an unfilled scaffold leftover (had {{PROJECT_NAME}}
+ ; ALSO flagged was an unfilled scaffold leftover (had AffineScript
; placeholders) — deleted in this PR rather than suppressed.
(classification
diff --git a/docs/PROOF-NEEDS.adoc b/docs/PROOF-NEEDS.adoc
index fc43a258..5c3e8b03 100644
--- a/docs/PROOF-NEEDS.adoc
+++ b/docs/PROOF-NEEDS.adoc
@@ -456,7 +456,7 @@ F-1 (full transformer preservation) is non-trivial rather than a formality.
*Template ABI Cleanup (2026-03-29).* The template ABI was removed — it was
creating a false impression of formal verification. The removed files
(`Types.idr`, `Layout.idr`, `Foreign.idr`) contained only RSR template
-scaffolding with unresolved `{{PROJECT}}`/`{{AUTHOR}}` placeholders and no
+scaffolding with unresolved `AFFINESCRIPT`/`Jonathan D.A. Jewell` placeholders and no
domain-specific proofs. When this project needs formal ABI verification, create
domain-specific Idris2 proofs following the pattern in repos like `typed-wasm`,
`proven`, `echidna`, or `boj-server`. (The same caution applies to the
diff --git a/docs/reference/ABI-FFI.md b/docs/reference/ABI-FFI.md
index 08d35da6..ec5fb116 100644
--- a/docs/reference/ABI-FFI.md
+++ b/docs/reference/ABI-FFI.md
@@ -1,6 +1,6 @@
{{~ Aditionally delete this line and fill out the template below ~}}
-# {{PROJECT}} ABI/FFI Documentation
+# AFFINESCRIPT ABI/FFI Documentation
## Overview
@@ -247,7 +247,7 @@ gcc -o example example.c -l{{project}} -L./zig-out/lib
### From Idris2
```idris
-import {{PROJECT}}.ABI.Foreign
+import AFFINESCRIPT.ABI.Foreign
main : IO ()
main = do
diff --git a/docs/reports/TIDY-UP-LEDGER-2026-06-16.adoc b/docs/reports/TIDY-UP-LEDGER-2026-06-16.adoc
index ce535fba..b6f24438 100644
--- a/docs/reports/TIDY-UP-LEDGER-2026-06-16.adoc
+++ b/docs/reports/TIDY-UP-LEDGER-2026-06-16.adoc
@@ -48,7 +48,7 @@ repointed `.md` → `.adoc`.
| `docs/PROOF-NEEDS.md` | Owner-gated / parked (modified in working tree;
never commit without owner SPDX + sign).
-| `docs/reference/ABI-FFI.md` | Uninstantiated RSR template (`{{PROJECT}}`
+| `docs/reference/ABI-FFI.md` | Uninstantiated RSR template (`AFFINESCRIPT`
placeholders, "delete this line" instruction). Format-converting broken
placeholder content forward would mask that it needs instantiation.
| `docs/governance/LICENSING-GUIDE.md` | Licence-adjacent. Owner-only per
@@ -84,11 +84,11 @@ drift remains owner-only / manual.
== Open owner-gated flags (not actioned)
* `SECURITY.md` (both `docs/governance/SECURITY.md` and the repo-root copy)
- is an *uninstantiated* RSR template — `{{OWNER}}`, `{{REPO}}`,
+ is an *uninstantiated* RSR template — `hyperpolymath`, `affinescript`,
`{{SECURITY_EMAIL}}`, `{{PGP_FINGERPRINT}}`, `{{PGP_KEY_URL}}`,
- `{{WEBSITE}}`, `{{CURRENT_YEAR}}` are still literal placeholders. Needs
+ `{{WEBSITE}}`, `2026` are still literal placeholders. Needs
instantiation or an explicit "leave as template" decision.
-* `docs/reference/ABI-FFI.md` — `{{PROJECT}}` template; instantiate or
+* `docs/reference/ABI-FFI.md` — `AFFINESCRIPT` template; instantiate or
remove.
* `docs/governance/LICENSING-GUIDE.md` — awaiting owner manual format pass.
* `SECURITY.md:388` links to `README.md` for contact info — that root
diff --git a/ffi/zig/build.zig b/ffi/zig/build.zig
index 4a2e049a..aedd5e8f 100644
--- a/ffi/zig/build.zig
+++ b/ffi/zig/build.zig
@@ -1,4 +1,4 @@
-// {{PROJECT}} FFI Build Configuration
+// AFFINESCRIPT FFI Build Configuration
// SPDX-License-Identifier: MPL-2.0
const std = @import("std");
diff --git a/ffi/zig/src/main.zig b/ffi/zig/src/main.zig
index 6b233bc7..6d5c3af9 100644
--- a/ffi/zig/src/main.zig
+++ b/ffi/zig/src/main.zig
@@ -1,4 +1,4 @@
-// {{PROJECT}} FFI Implementation
+// AFFINESCRIPT FFI Implementation
//
// This module implements the C-compatible FFI declared in src/abi/Foreign.idr
// All types and layouts must match the Idris2 ABI definitions.
@@ -9,7 +9,7 @@ const std = @import("std");
// Version information (keep in sync with project)
const VERSION = "0.1.0";
-const BUILD_INFO = "{{PROJECT}} built with Zig " ++ @import("builtin").zig_version_string;
+const BUILD_INFO = "AFFINESCRIPT built with Zig " ++ @import("builtin").zig_version_string;
/// Thread-local error storage
threadlocal var last_error: ?[]const u8 = null;
diff --git a/ffi/zig/test/integration_test.zig b/ffi/zig/test/integration_test.zig
index 03419949..81693e01 100644
--- a/ffi/zig/test/integration_test.zig
+++ b/ffi/zig/test/integration_test.zig
@@ -1,4 +1,4 @@
-// {{PROJECT}} Integration Tests
+// AFFINESCRIPT Integration Tests
// SPDX-License-Identifier: MPL-2.0
//
// These tests verify that the Zig FFI correctly implements the Idris2 ABI