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/.machine_readable/svc/k9/examples/ci-config.k9.ncl b/.machine_readable/svc/k9/examples/ci-config.k9.ncl index 1f38e2dc..9fe314e2 100644 --- a/.machine_readable/svc/k9/examples/ci-config.k9.ncl +++ b/.machine_readable/svc/k9/examples/ci-config.k9.ncl @@ -19,7 +19,7 @@ K9! name = "ci-config", version = "1.0.0", description = "CI/CD configuration with runtime validation", - author = "{{AUTHOR}} <{{AUTHOR_EMAIL}}>", + author = "Jonathan D.A. Jewell ", }, }, diff --git a/.machine_readable/svc/k9/examples/project-metadata.k9.ncl b/.machine_readable/svc/k9/examples/project-metadata.k9.ncl index 7bc6941d..3f59d9e4 100644 --- a/.machine_readable/svc/k9/examples/project-metadata.k9.ncl +++ b/.machine_readable/svc/k9/examples/project-metadata.k9.ncl @@ -19,7 +19,7 @@ K9! name = "project-metadata", version = "1.0.0", description = "Pure data configuration for project metadata", - author = "{{AUTHOR}} <{{AUTHOR_EMAIL}}>", + author = "Jonathan D.A. Jewell ", }, }, @@ -35,8 +35,8 @@ K9! }, author = { - name = "{{AUTHOR}}", - email = "{{AUTHOR_EMAIL}}", + name = "Jonathan D.A. Jewell", + email = "j.d.a.jewell@open.ac.uk", organization = "{{AUTHOR_ORG}}", }, diff --git a/.machine_readable/svc/k9/examples/setup-repo.k9.ncl b/.machine_readable/svc/k9/examples/setup-repo.k9.ncl index 523e8176..d1fc8bbe 100644 --- a/.machine_readable/svc/k9/examples/setup-repo.k9.ncl +++ b/.machine_readable/svc/k9/examples/setup-repo.k9.ncl @@ -20,7 +20,7 @@ K9! name = "setup-repo", version = "1.0.0", description = "Automated repository setup with RSR standards", - author = "{{AUTHOR}} <{{AUTHOR_EMAIL}}>", + author = "Jonathan D.A. Jewell ", }, warnings = [ "This component has full system access", @@ -104,8 +104,8 @@ K9! description = "Initialize Git repository", commands = [ "git init -b %{config.git.default_branch}", - "git config user.name '{{AUTHOR}}'", - "git config user.email '{{AUTHOR_EMAIL}}'", + "git config user.name 'Jonathan D.A. Jewell'", + "git config user.email 'j.d.a.jewell@open.ac.uk'", "echo '✓ Git initialized'", ], }, diff --git a/.machine_readable/svc/k9/template-hunt.k9.ncl b/.machine_readable/svc/k9/template-hunt.k9.ncl index a9cc350e..b3fcb475 100644 --- a/.machine_readable/svc/k9/template-hunt.k9.ncl +++ b/.machine_readable/svc/k9/template-hunt.k9.ncl @@ -20,7 +20,7 @@ K9! name = "TODO: component-name", version = "1.0.0", description = "TODO: Detailed description of what this component does", - author = "{{AUTHOR}} <{{AUTHOR_EMAIL}}>", + author = "Jonathan D.A. Jewell ", }, warnings = [ "This component has full system access", diff --git a/.machine_readable/svc/k9/template-kennel.k9.ncl b/.machine_readable/svc/k9/template-kennel.k9.ncl index fa7e3f35..4228b26c 100644 --- a/.machine_readable/svc/k9/template-kennel.k9.ncl +++ b/.machine_readable/svc/k9/template-kennel.k9.ncl @@ -19,7 +19,7 @@ K9! name = "TODO: component-name", version = "1.0.0", description = "TODO: Brief description of what this component contains", - author = "{{AUTHOR}} <{{AUTHOR_EMAIL}}>", + author = "Jonathan D.A. Jewell ", }, }, diff --git a/.machine_readable/svc/k9/template-yard.k9.ncl b/.machine_readable/svc/k9/template-yard.k9.ncl index 358671cf..a723f5af 100644 --- a/.machine_readable/svc/k9/template-yard.k9.ncl +++ b/.machine_readable/svc/k9/template-yard.k9.ncl @@ -19,7 +19,7 @@ K9! name = "TODO: component-name", version = "1.0.0", description = "TODO: Brief description with validation details", - author = "{{AUTHOR}} <{{AUTHOR_EMAIL}}>", + author = "Jonathan D.A. Jewell ", }, }, diff --git a/0-AI-MANIFEST.a2ml b/0-AI-MANIFEST.a2ml index 5f9cd041..bfb0bf8f 100644 --- a/0-AI-MANIFEST.a2ml +++ b/0-AI-MANIFEST.a2ml @@ -159,3 +159,20 @@ (last-updated "2026-03-24") (maintained-by "Jonathan D.A. Jewell / hyperpolymath") (protocol "https://github.com/hyperpolymath/0-ai-gatekeeper-protocol"))) + + + +## PRIORITY ACTION — this repository is not fully initialised + +45 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/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 74625b4c..7e0ec9c0 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -8,7 +8,7 @@ Replace all panll values: Panll - Your project name hyperpolymath - GitHub/GitLab username or org panll - 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 @@ -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/panll/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/REQUIRES_INITIALISATION.md b/REQUIRES_INITIALISATION.md new file mode 100644 index 00000000..73243296 --- /dev/null +++ b/REQUIRES_INITIALISATION.md @@ -0,0 +1,503 @@ + + +# REQUIRES INITIALISATION + +**This repository is not finished being set up.** 45 substitution token(s) across 33 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: + +- `panel-clades/.mailmap` +- `panel-clades/PLACEHOLDERS.md` + +### `{{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` +- `panel-clades/PLACEHOLDERS.md` + +### `{{CLADE_ID}}` + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/clades/_basics/GenericAi.a2ml` +- `panel-clades/clades/_basics/GenericBridge.a2ml` +- `panel-clades/clades/_basics/GenericBuilder.a2ml` +- `panel-clades/clades/_basics/GenericDatabase.a2ml` +- `panel-clades/clades/_basics/GenericDirective.a2ml` +- `panel-clades/clades/_basics/GenericInspector.a2ml` +- `panel-clades/clades/_basics/GenericLoader.a2ml` +- `panel-clades/clades/_basics/GenericMeta.a2ml` +- `panel-clades/clades/_basics/GenericNetwork.a2ml` +- `panel-clades/clades/_basics/GenericScanner.a2ml` +- `panel-clades/clades/_basics/GenericService.a2ml` +- `panel-clades/clades/_basics/GenericTerminal.a2ml` +- `panel-clades/clades/_basics/GenericViewer.a2ml` +- `panel-clades/clades/_basics/README.adoc` + +### `{{CLADE_NAME}}` + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/clades/_basics/GenericAi.a2ml` +- `panel-clades/clades/_basics/GenericBridge.a2ml` +- `panel-clades/clades/_basics/GenericBuilder.a2ml` +- `panel-clades/clades/_basics/GenericDatabase.a2ml` +- `panel-clades/clades/_basics/GenericDirective.a2ml` +- `panel-clades/clades/_basics/GenericInspector.a2ml` +- `panel-clades/clades/_basics/GenericLoader.a2ml` +- `panel-clades/clades/_basics/GenericMeta.a2ml` +- `panel-clades/clades/_basics/GenericNetwork.a2ml` +- `panel-clades/clades/_basics/GenericScanner.a2ml` +- `panel-clades/clades/_basics/GenericService.a2ml` +- `panel-clades/clades/_basics/GenericTerminal.a2ml` +- `panel-clades/clades/_basics/GenericViewer.a2ml` +- `panel-clades/clades/_basics/README.adoc` + +### `{{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: + +- `CODE_OF_CONDUCT.md` +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/CODE_OF_CONDUCT.md` +- `panel-clades/PLACEHOLDERS.md` + +### `{{DILITHIUM5_PUBLIC_KEY}}` + +Appears in: + +- `panel-clades/.machine_readable/contractiles/trust/Trustfile.a2ml` + +### `{{DOMAIN}}` + +Appears in: + +- `.machine_readable/contractiles/trust/Trustfille.a2ml` +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/.machine_readable/contractiles/trust/Trustfile.a2ml` + +### `{{DS_RECORD}}` + +Appears in: + +- `.machine_readable/contractiles/trust/Trustfille.a2ml` + +### `{{ED448_PUBLIC_KEY}}` + +Appears in: + +- `panel-clades/.machine_readable/contractiles/trust/Trustfile.a2ml` + +### `{{EXPIRES_AT}}` + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/.machine_readable/contractiles/trust/Trustfile.a2ml` + +### `{{FALLBACK_SIGNATURE}}` + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/.machine_readable/contractiles/trust/Trustfile.a2ml` + +### `{{GENERATED_AT}}` + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/.machine_readable/contractiles/trust/Trustfile.a2ml` + +### `{{ICON}}` + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/clades/_basics/GenericAi.a2ml` +- `panel-clades/clades/_basics/GenericBridge.a2ml` +- `panel-clades/clades/_basics/GenericBuilder.a2ml` +- `panel-clades/clades/_basics/GenericDatabase.a2ml` +- `panel-clades/clades/_basics/GenericDirective.a2ml` +- `panel-clades/clades/_basics/GenericInspector.a2ml` +- `panel-clades/clades/_basics/GenericLoader.a2ml` +- `panel-clades/clades/_basics/GenericMeta.a2ml` +- `panel-clades/clades/_basics/GenericNetwork.a2ml` +- `panel-clades/clades/_basics/GenericScanner.a2ml` +- `panel-clades/clades/_basics/GenericService.a2ml` +- `panel-clades/clades/_basics/GenericTerminal.a2ml` +- `panel-clades/clades/_basics/GenericViewer.a2ml` +- `panel-clades/clades/_basics/README.adoc` + +### `{{KEY_TAG}}` + +Appears in: + +- `.machine_readable/contractiles/trust/Trustfille.a2ml` + +### `{{LICENSE}}` + +SPDX identifier for this repo's licence. + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/container/Containerfile` + +### `{{MTA_STS_ID}}` + +Appears in: + +- `.machine_readable/contractiles/trust/Trustfille.a2ml` + +### `{{ONE_LINE_DESCRIPTION}}` + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/clades/_basics/GenericAi.a2ml` +- `panel-clades/clades/_basics/GenericBridge.a2ml` +- `panel-clades/clades/_basics/GenericBuilder.a2ml` +- `panel-clades/clades/_basics/GenericDatabase.a2ml` +- `panel-clades/clades/_basics/GenericDirective.a2ml` +- `panel-clades/clades/_basics/GenericInspector.a2ml` +- `panel-clades/clades/_basics/GenericLoader.a2ml` +- `panel-clades/clades/_basics/GenericMeta.a2ml` +- `panel-clades/clades/_basics/GenericNetwork.a2ml` +- `panel-clades/clades/_basics/GenericScanner.a2ml` +- `panel-clades/clades/_basics/GenericService.a2ml` +- `panel-clades/clades/_basics/GenericTerminal.a2ml` +- `panel-clades/clades/_basics/GenericViewer.a2ml` +- `panel-clades/clades/_basics/README.adoc` + +### `{{ON_DISPOSE_HANDLER}}` + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/clades/_basics/GenericAi.a2ml` +- `panel-clades/clades/_basics/GenericBridge.a2ml` +- `panel-clades/clades/_basics/GenericBuilder.a2ml` +- `panel-clades/clades/_basics/GenericDatabase.a2ml` +- `panel-clades/clades/_basics/GenericDirective.a2ml` +- `panel-clades/clades/_basics/GenericInspector.a2ml` +- `panel-clades/clades/_basics/GenericLoader.a2ml` +- `panel-clades/clades/_basics/GenericMeta.a2ml` +- `panel-clades/clades/_basics/GenericNetwork.a2ml` +- `panel-clades/clades/_basics/GenericScanner.a2ml` +- `panel-clades/clades/_basics/GenericService.a2ml` +- `panel-clades/clades/_basics/GenericTerminal.a2ml` +- `panel-clades/clades/_basics/GenericViewer.a2ml` + +### `{{ON_INIT_HANDLER}}` + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/clades/_basics/GenericAi.a2ml` +- `panel-clades/clades/_basics/GenericBridge.a2ml` +- `panel-clades/clades/_basics/GenericBuilder.a2ml` +- `panel-clades/clades/_basics/GenericDatabase.a2ml` +- `panel-clades/clades/_basics/GenericDirective.a2ml` +- `panel-clades/clades/_basics/GenericInspector.a2ml` +- `panel-clades/clades/_basics/GenericLoader.a2ml` +- `panel-clades/clades/_basics/GenericMeta.a2ml` +- `panel-clades/clades/_basics/GenericNetwork.a2ml` +- `panel-clades/clades/_basics/GenericScanner.a2ml` +- `panel-clades/clades/_basics/GenericService.a2ml` +- `panel-clades/clades/_basics/GenericTerminal.a2ml` +- `panel-clades/clades/_basics/GenericViewer.a2ml` + +### `{{PASCAL_NAME}}` + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/clades/_basics/GenericAi.a2ml` +- `panel-clades/clades/_basics/GenericBridge.a2ml` +- `panel-clades/clades/_basics/GenericBuilder.a2ml` +- `panel-clades/clades/_basics/GenericDatabase.a2ml` +- `panel-clades/clades/_basics/GenericDirective.a2ml` +- `panel-clades/clades/_basics/GenericInspector.a2ml` +- `panel-clades/clades/_basics/GenericLoader.a2ml` +- `panel-clades/clades/_basics/GenericMeta.a2ml` +- `panel-clades/clades/_basics/GenericNetwork.a2ml` +- `panel-clades/clades/_basics/GenericScanner.a2ml` +- `panel-clades/clades/_basics/GenericService.a2ml` +- `panel-clades/clades/_basics/GenericTerminal.a2ml` +- `panel-clades/clades/_basics/GenericViewer.a2ml` +- `panel-clades/clades/_basics/README.adoc` + +### `{{PGP_KEY_URL}}` + +Public URL the PGP key can be fetched from. Same caveat as PGP_FINGERPRINT. + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `docs/reports/audit/pillar-audit-2026-04-15.md` +- `panel-clades/.well-known/security.txt` +- `panel-clades/PLACEHOLDERS.md` +- `panel-clades/SECURITY.md` + +### `{{PLACEHOLDERS}}` + +Appears in: + +- `panel-clades/.machine_readable/contractiles/trust/Trustfile.a2ml` + +### `{{PORT}}` + +Port the container service listens on. + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/container/Containerfile` +- `panel-clades/container/deploy.k9.ncl` +- `panel-clades/container/entrypoint.sh` + +### `{{PRIMARY_SIGNATURE}}` + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/.machine_readable/contractiles/trust/Trustfile.a2ml` + +### `{{PROJECT_DESCRIPTION}}` + +One-line description, matching the forge description. + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/container/Containerfile` +- `panel-clades/flake.nix` + +### `{{PROJECT_DOMAIN}}` + +Taxonomy value for the subject domain. + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/.machine_readable/anchors/ANCHOR.a2ml` + +### `{{PROJECT_KIND}}` + +Taxonomy value (library, service, tool, lab…). + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/.machine_readable/anchors/ANCHOR.a2ml` + +### `{{PROJECT_PURPOSE}}` + +One line: what this exists to do. + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/.machine_readable/anchors/ANCHOR.a2ml` + +### `{{PROJECT_UNIQUE_STRENGTH}}` + +What this does that its alternatives do not. + +Appears in: + +- `.machine_readable/agent_instructions/methodology.a2ml` + +### `{{PROTOCOL}}` + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/clades/_basics/GenericBridge.a2ml` +- `panel-clades/clades/_basics/README.adoc` + +### `{{REGISTRY}}` + +Container registry to publish to. + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/container/ct-build.sh` +- `panel-clades/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: + +- `CODE_OF_CONDUCT.md` +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/CODE_OF_CONDUCT.md` +- `panel-clades/PLACEHOLDERS.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: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/.well-known/security.txt` + +### `{{SECURITY_TXT_EXPIRES}}` + +Appears in: + +- `.machine_readable/contractiles/trust/Trustfille.a2ml` + +### `{{SERVICE_NAME}}` + +Container service name. + +Appears in: + +- `panel-clades/container/Containerfile` +- `panel-clades/container/ct-build.sh` +- `panel-clades/container/deploy.k9.ncl` +- `panel-clades/container/entrypoint.sh` + +### `{{SHA3_512}}` + +Appears in: + +- `panel-clades/.machine_readable/contractiles/trust/Trustfile.a2ml` + +### `{{SHAKE256}}` + +Appears in: + +- `panel-clades/.machine_readable/contractiles/trust/Trustfile.a2ml` + +### `{{SHORT}}` + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/clades/_basics/GenericAi.a2ml` +- `panel-clades/clades/_basics/GenericBridge.a2ml` +- `panel-clades/clades/_basics/GenericBuilder.a2ml` +- `panel-clades/clades/_basics/GenericDatabase.a2ml` +- `panel-clades/clades/_basics/GenericDirective.a2ml` +- `panel-clades/clades/_basics/GenericInspector.a2ml` +- `panel-clades/clades/_basics/GenericLoader.a2ml` +- `panel-clades/clades/_basics/GenericMeta.a2ml` +- `panel-clades/clades/_basics/GenericNetwork.a2ml` +- `panel-clades/clades/_basics/GenericScanner.a2ml` +- `panel-clades/clades/_basics/GenericService.a2ml` +- `panel-clades/clades/_basics/GenericTerminal.a2ml` +- `panel-clades/clades/_basics/GenericViewer.a2ml` +- `panel-clades/clades/_basics/README.adoc` + +### `{{SPHINCS_PLUS_PUBLIC_KEY}}` + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/.machine_readable/contractiles/trust/Trustfile.a2ml` + +### `{{TRUSTFILE_PATH}}` + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/.machine_readable/contractiles/trust/Trustfile.a2ml` + +### `{{TRUSTFILE_VERSION}}` + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/.machine_readable/contractiles/trust/Trustfile.a2ml` + +### `{{VERSION}}` + +Version/tag for the container image. + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/container/deploy.k9.ncl` + +### `{{WEBSITE}}` + +Project homepage URL, or delete the field if there is none. + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `docs/reports/audit/pillar-audit-2026-04-15.md` +- `panel-clades/.well-known/security.txt` +- `panel-clades/PLACEHOLDERS.md` + +### `{{ZONEMD}}` + +Appears in: + +- `docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc` +- `panel-clades/.machine_readable/contractiles/trust/Trustfile.a2ml` + +--- + +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/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc b/docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc index 3ed7c56f..b52a72a3 100644 --- a/docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc +++ b/docs/architecture/P2-COPROCESSOR-CLADE-DESIGN.adoc @@ -111,10 +111,10 @@ Triage of the remaining tokens: [cols="1,3"] |=== | Mechanically derivable (safe to auto-fill) -| `{{AUTHOR}}`=Jonathan D.A. Jewell, `{{AUTHOR_EMAIL}}`=j.d.a.jewell@open.ac.uk, - `{{OWNER}}`=hyperpolymath, `{{FORGE}}`=github.com, `{{REPO}}`=panll, - `{{CURRENT_YEAR}}`=2026, `{{CURRENT_DATE}}`/`{{GENERATED_AT}}`=instantiation date, - `{{VERSION}}`=0.1.0, `{{PASCAL_NAME}}`=PanelClades, `{{PROJECT}}`=PANEL_CLADES, +| `Jonathan D.A. Jewell`=Jonathan D.A. Jewell, `j.d.a.jewell@open.ac.uk`=j.d.a.jewell@open.ac.uk, + `hyperpolymath`=hyperpolymath, `github.com`=github.com, `panll`=panll, + `2026`=2026, `2026-08-05`/`{{GENERATED_AT}}`=instantiation date, + `{{VERSION}}`=0.1.0, `{{PASCAL_NAME}}`=PanelClades, `PANLL`=PANEL_CLADES, `{{project}}`=panel_clades (FFI already done) | Owner decisions (do NOT guess) @@ -122,7 +122,7 @@ Triage of the remaining tokens: `{{PROTOCOL}}`, `{{PROJECT_KIND}}`, `{{DOMAIN}}`/`{{PROJECT_DOMAIN}}`/`{{WEBSITE}}`, `{{CLADE_ID}}`, `{{CLADE_NAME}}`, `{{SHORT}}`, `{{ICON}}`, `{{ONE_LINE_DESCRIPTION}}`/`{{PROJECT_DESCRIPTION}}`/`{{PROJECT_PURPOSE}}`, - `{{REGISTRY}}`, `{{SECURITY_EMAIL}}`/`{{CONDUCT_EMAIL}}`/`{{CONDUCT_TEAM}}`, + `{{REGISTRY}}`, `{{SECURITY_EMAIL}}`/`j.d.a.jewell@open.ac.uk`/`{{CONDUCT_TEAM}}`, `{{RESPONSE_TIME}}`, `{{EXPIRES_AT}}`, `{{ON_INIT_HANDLER}}`/`{{ON_DISPOSE_HANDLER}}` | Real cryptographic material (MUST come from estate key inventory — never fabricate) diff --git a/docs/decisions/ADR-0001-coprocessor-and-panel-clades-pivot.adoc b/docs/decisions/ADR-0001-coprocessor-and-panel-clades-pivot.adoc index a19b07ff..2c84b448 100644 --- a/docs/decisions/ADR-0001-coprocessor-and-panel-clades-pivot.adoc +++ b/docs/decisions/ADR-0001-coprocessor-and-panel-clades-pivot.adoc @@ -24,7 +24,7 @@ divergence ("rot"): panel backends orphaned (declared by no crate root → never compiled). . **`panel-clades/` is spec-complete but implementation-incomplete.** Its container/, `ffi/zig/`, `.devcontainer/` are uninstantiated rsr-template - shells (`{{PROJECT_NAME}}`/`{{project}}` placeholders, `just init` never + shells (`PanLL eNSAID`/`{{project}}` placeholders, `just init` never run). The a2ml clade specs and Idris2 ABI declarations are real; the Zig FFI implementation and concrete build/container are not. . **Coprocessor support is mostly unverified.** Across the estate, coprocessor diff --git a/panel-clades/.clinerules b/panel-clades/.clinerules index 811a7bdc..112dca49 100644 --- a/panel-clades/.clinerules +++ b/panel-clades/.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/panel-clades/.cursorrules b/panel-clades/.cursorrules index ce5bed46..ec7a4fc9 100644 --- a/panel-clades/.cursorrules +++ b/panel-clades/.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/panel-clades/.devcontainer/Containerfile b/panel-clades/.devcontainer/Containerfile index b0a6fd1b..1f633958 100644 --- a/panel-clades/.devcontainer/Containerfile +++ b/panel-clades/.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 PanLL eNSAID # Base: Chainguard Wolfi (minimal, supply-chain-secure) -# Build: podman build -t {{PROJECT_NAME}}-dev -f .devcontainer/Containerfile . +# Build: podman build -t PanLL eNSAID-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/PanLL eNSAID # Default shell ENV SHELL=/bin/bash diff --git a/panel-clades/.devcontainer/devcontainer.json b/panel-clades/.devcontainer/devcontainer.json index a4b33e0a..ed18daf7 100644 --- a/panel-clades/.devcontainer/devcontainer.json +++ b/panel-clades/.devcontainer/devcontainer.json @@ -1,11 +1,11 @@ // SPDX-License-Identifier: MPL-2.0 -// Copyright (c) {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> +// Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) // -// Dev Container configuration for {{PROJECT_NAME}} +// Dev Container configuration for PanLL eNSAID // Works with: VS Code Dev Containers, GitHub Codespaces, Gitpod // Container runtime: Podman (recommended) or any OCI-compliant runtime { - "name": "{{PROJECT_NAME}}", + "name": "PanLL eNSAID", "build": { "dockerfile": "Containerfile", diff --git a/panel-clades/.envrc b/panel-clades/.envrc index 0b5b702f..59c2a0c9 100644 --- a/panel-clades/.envrc +++ b/panel-clades/.envrc @@ -18,7 +18,7 @@ if has nix && [ -f flake.nix ]; then fi # Project environment variables -export PROJECT_NAME="{{PROJECT_NAME}}" +export PROJECT_NAME="PanLL eNSAID" export RSR_TIER="infrastructure" # export DATABASE_URL="..." # export API_KEY="..." diff --git a/panel-clades/.github/CODEOWNERS b/panel-clades/.github/CODEOWNERS index 611b5a84..8d339b77 100644 --- a/panel-clades/.github/CODEOWNERS +++ b/panel-clades/.github/CODEOWNERS @@ -2,13 +2,13 @@ # 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 {{OWNER}} with your GitHub username or team +# Replace hyperpolymath with your GitHub username or team # Default owners for everything -* @{{OWNER}} +* @hyperpolymath # Security-sensitive files require explicit review -SECURITY.md @{{OWNER}} -.github/workflows/ @{{OWNER}} -Trustfile.a2ml @{{OWNER}} -.machine_readable/ @{{OWNER}} +SECURITY.md @hyperpolymath +.github/workflows/ @hyperpolymath +Trustfile.a2ml @hyperpolymath +.machine_readable/ @hyperpolymath diff --git a/panel-clades/.guix-channel b/panel-clades/.guix-channel index f9bdf68f..4ef70d49 100644 --- a/panel-clades/.guix-channel +++ b/panel-clades/.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 PanLL eNSAID ;; ;; To use this channel, add to ~/.config/guix/channels.scm: ;; ;; (channel -;; (name '{{PROJECT_NAME}}) -;; (url "https://github.com/{{OWNER}}/{{PROJECT_NAME}}") +;; (name 'PanLL eNSAID) +;; (url "https://github.com/hyperpolymath/PanLL eNSAID") ;; (branch "main")) ;; ;; Then: guix pull (channel (version 0) - (url "https://github.com/{{OWNER}}/{{PROJECT_NAME}}") + (url "https://github.com/hyperpolymath/PanLL eNSAID") (dependencies (channel (name 'guix) diff --git a/panel-clades/.machine_readable/anchors/ANCHOR.a2ml b/panel-clades/.machine_readable/anchors/ANCHOR.a2ml index 87238998..74a11e62 100644 --- a/panel-clades/.machine_readable/anchors/ANCHOR.a2ml +++ b/panel-clades/.machine_readable/anchors/ANCHOR.a2ml @@ -1,15 +1,15 @@ # SPDX-License-Identifier: MPL-2.0 -# Copyright (c) {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) # # ANCHOR.a2ml - authoritative anchor for this repository [metadata] version = "1.0.0" -last-updated = "{{CURRENT_DATE}}" +last-updated = "2026-08-05" [anchor] schema = "hyperpolymath.anchor/1" -repo = "{{OWNER}}/{{REPO}}" +repo = "hyperpolymath/panll" authority = "upstream-canonical" purpose = [ @@ -19,7 +19,7 @@ purpose = [ ] [identity] -project = "{{PROJECT_NAME}}" +project = "PanLL eNSAID" kind = "{{PROJECT_KIND}}" # language | library | service | tool one-sentence = "{{PROJECT_PURPOSE}}" domain = "{{PROJECT_DOMAIN}}" diff --git a/panel-clades/.machine_readable/contractiles/must/Mustfile b/panel-clades/.machine_readable/contractiles/must/Mustfile index 393c030e..dc7b3be5 100644 --- a/panel-clades/.machine_readable/contractiles/must/Mustfile +++ b/panel-clades/.machine_readable/contractiles/must/Mustfile @@ -1,6 +1,6 @@ # SPDX-License-Identifier: MPL-2.0 # Mustfile - declarative state contract (template) -# See: https://github.com/{{OWNER}}/mustfile +# See: https://github.com/hyperpolymath/mustfile version: 1 diff --git a/panel-clades/.machine_readable/policies/MAINTENANCE-AXES.a2ml b/panel-clades/.machine_readable/policies/MAINTENANCE-AXES.a2ml index eeffd278..011df3dc 100644 --- a/panel-clades/.machine_readable/policies/MAINTENANCE-AXES.a2ml +++ b/panel-clades/.machine_readable/policies/MAINTENANCE-AXES.a2ml @@ -1,11 +1,11 @@ # SPDX-License-Identifier: MPL-2.0 -# Copyright (c) {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) # # Canonical maintenance governance model [metadata] version = "1.0.0" -last-updated = "{{CURRENT_DATE}}" +last-updated = "2026-08-05" scope = "repo" [discovery] diff --git a/panel-clades/.mailmap b/panel-clades/.mailmap index 0ada9de5..38c8dda9 100644 --- a/panel-clades/.mailmap +++ b/panel-clades/.mailmap @@ -1 +1 @@ -{{AUTHOR}} <{{AUTHOR_EMAIL}}> <{{AUTHOR_EMAIL_ALT}}> +Jonathan D.A. Jewell <{{AUTHOR_EMAIL_ALT}}> diff --git a/panel-clades/.reuse/dep5 b/panel-clades/.reuse/dep5 index 49aaed61..a57d8231 100644 --- a/panel-clades/.reuse/dep5 +++ b/panel-clades/.reuse/dep5 @@ -1,54 +1,54 @@ 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: PanLL eNSAID +Upstream-Contact: Jonathan D.A. Jewell +Source: https://github.com/hyperpolymath/panll # 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 diff --git a/panel-clades/.well-known/humans.txt b/panel-clades/.well-known/humans.txt index e062f4b3..105f2110 100644 --- a/panel-clades/.well-known/humans.txt +++ b/panel-clades/.well-known/humans.txt @@ -2,12 +2,12 @@ # humanstxt.org /* TEAM */ -Maintainer: {{AUTHOR}} ({{OWNER}}) -Contact: {{AUTHOR_EMAIL}} +Maintainer: Jonathan D.A. Jewell (hyperpolymath) +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/panel-clades/.well-known/security.txt b/panel-clades/.well-known/security.txt index 5414d508..4d1168d5 100644 --- a/panel-clades/.well-known/security.txt +++ b/panel-clades/.well-known/security.txt @@ -3,9 +3,9 @@ # https://securitytxt.org/ Contact: mailto:{{SECURITY_EMAIL}} -Expires: {{CURRENT_YEAR}}-12-31T23:59:59.000Z +Expires: 2026-12-31T23:59:59.000Z Encryption: {{PGP_KEY_URL}} Preferred-Languages: en -Canonical: https://{{FORGE}}/{{OWNER}}/{{REPO}}/.well-known/security.txt -Policy: https://{{FORGE}}/{{OWNER}}/{{REPO}}/blob/main/SECURITY.md +Canonical: https://github.com/hyperpolymath/panll/.well-known/security.txt +Policy: https://github.com/hyperpolymath/panll/blob/main/SECURITY.md Hiring: https://{{WEBSITE}}/careers diff --git a/panel-clades/.windsurfrules b/panel-clades/.windsurfrules index 811a7bdc..112dca49 100644 --- a/panel-clades/.windsurfrules +++ b/panel-clades/.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/panel-clades/CODEOWNERS b/panel-clades/CODEOWNERS index 611b5a84..8d339b77 100644 --- a/panel-clades/CODEOWNERS +++ b/panel-clades/CODEOWNERS @@ -2,13 +2,13 @@ # 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 {{OWNER}} with your GitHub username or team +# Replace hyperpolymath with your GitHub username or team # Default owners for everything -* @{{OWNER}} +* @hyperpolymath # Security-sensitive files require explicit review -SECURITY.md @{{OWNER}} -.github/workflows/ @{{OWNER}} -Trustfile.a2ml @{{OWNER}} -.machine_readable/ @{{OWNER}} +SECURITY.md @hyperpolymath +.github/workflows/ @hyperpolymath +Trustfile.a2ml @hyperpolymath +.machine_readable/ @hyperpolymath diff --git a/panel-clades/CODE_OF_CONDUCT.md b/panel-clades/CODE_OF_CONDUCT.md index 2487fd31..56d05e14 100644 --- a/panel-clades/CODE_OF_CONDUCT.md +++ b/panel-clades/CODE_OF_CONDUCT.md @@ -8,7 +8,7 @@ Replace all panel-clades values: Panll - Your project name hyperpolymath - GitHub/GitLab username or org panll - 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 @@ -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/panll/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/panel-clades/Containerfile b/panel-clades/Containerfile index d7266bc0..806aae3f 100644 --- a/panel-clades/Containerfile +++ b/panel-clades/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 PanLL eNSAID # Build: podman build -t {{project}}:latest -f Containerfile . # Run: podman run --rm -it {{project}}:latest # Seal: selur seal {{project}}:latest diff --git a/panel-clades/Justfile b/panel-clades/Justfile index cfea27b7..6b10f313 100644 --- a/panel-clades/Justfile +++ b/panel-clades/Justfile @@ -499,8 +499,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" @@ -823,7 +823,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/panel-clades/MAINTAINERS b/panel-clades/MAINTAINERS index 145c4e96..63989c71 100644 --- a/panel-clades/MAINTAINERS +++ b/panel-clades/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/panel-clades/PLACEHOLDERS.md b/panel-clades/PLACEHOLDERS.md index 57dd4ac2..bbd5ce48 100644 --- a/panel-clades/PLACEHOLDERS.md +++ b/panel-clades/PLACEHOLDERS.md @@ -71,7 +71,7 @@ sed -i "s/2026-03-16/$(date +%Y-%m-%d)/g" $(grep -rl '2026-03-16' .) | `[PGP fingerprint not set]` | 40-char PGP fingerprint | `ABCD 1234 ...` | SECURITY.md | | `{{PGP_KEY_URL}}` | URL to public PGP key | `https://keys.openpgp.org/...` | SECURITY.md | | `{{WEBSITE}}` | Project website | `https://example.org` | SECURITY.md | -| `{{CONDUCT_EMAIL}}` | Conduct reports email | `conduct@example.org` | CODE_OF_CONDUCT.md | +| `j.d.a.jewell@open.ac.uk` | Conduct reports email | `conduct@example.org` | CODE_OF_CONDUCT.md | | `{{CONDUCT_TEAM}}` | Conduct committee name | `Code of Conduct Committee` | CODE_OF_CONDUCT.md | | `{{RESPONSE_TIME}}` | SLA for initial response | `48 hours` | CODE_OF_CONDUCT.md | diff --git a/panel-clades/container/Containerfile b/panel-clades/container/Containerfile index ba85260a..aeae05b8 100644 --- a/panel-clades/container/Containerfile +++ b/panel-clades/container/Containerfile @@ -1,5 +1,5 @@ # SPDX-License-Identifier: MPL-2.0 -# {{PROJECT_NAME}} Container Image +# PanLL eNSAID 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="PanLL eNSAID" \ 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/panll" \ + org.opencontainers.image.source="https://github.com/hyperpolymath/panll" \ + 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/panel-clades/container/ct-build.sh b/panel-clades/container/ct-build.sh index a54a5418..e568e1cd 100755 --- a/panel-clades/container/ct-build.sh +++ b/panel-clades/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 +# PanLL eNSAID — 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 "=== PanLL eNSAID Cerro Torre Build Pipeline ===" echo " Image: ${FULL_IMAGE}" echo " Key: ${CT_KEY_ID}" echo " Bundle: ${CTP_FILE}" diff --git a/panel-clades/container/deploy.k9.ncl b/panel-clades/container/deploy.k9.ncl index 0ad0d04a..d7b682dd 100644 --- a/panel-clades/container/deploy.k9.ncl +++ b/panel-clades/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 — PanLL eNSAID 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 = "PanLL eNSAID deployment component (Hunt level)", }, # ───────────────────────────────────────────────────────────── diff --git a/panel-clades/container/entrypoint.sh b/panel-clades/container/entrypoint.sh index a7a03699..4140674d 100755 --- a/panel-clades/container/entrypoint.sh +++ b/panel-clades/container/entrypoint.sh @@ -1,6 +1,6 @@ #!/bin/sh # SPDX-License-Identifier: MPL-2.0 -# {{PROJECT_NAME}} container entrypoint +# PanLL eNSAID container entrypoint # # Handles signal propagation, startup logging, and health check # preparation before exec-ing into the main application process. diff --git a/panel-clades/ffi/zig/build.zig b/panel-clades/ffi/zig/build.zig index 0e0c3766..58c6534a 100644 --- a/panel-clades/ffi/zig/build.zig +++ b/panel-clades/ffi/zig/build.zig @@ -1,4 +1,4 @@ -// {{PROJECT}} FFI Build Configuration +// PANLL FFI Build Configuration // SPDX-License-Identifier: MPL-2.0 const std = @import("std"); diff --git a/panel-clades/ffi/zig/test/integration_test.zig b/panel-clades/ffi/zig/test/integration_test.zig index f163c779..45d194f1 100644 --- a/panel-clades/ffi/zig/test/integration_test.zig +++ b/panel-clades/ffi/zig/test/integration_test.zig @@ -1,4 +1,4 @@ -// {{PROJECT}} Integration Tests +// PANLL Integration Tests // SPDX-License-Identifier: MPL-2.0 // // These tests verify that the Zig FFI correctly implements the Idris2 ABI diff --git a/panel-clades/flake.nix b/panel-clades/flake.nix index df7a0a59..68f86e73 100644 --- a/panel-clades/flake.nix +++ b/panel-clades/flake.nix @@ -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) # -# Nix flake for {{PROJECT_NAME}} +# Nix flake for PanLL eNSAID # # NOTE: guix.scm is the PRIMARY development environment. This flake is provided # as a FALLBACK for contributors who use Nix instead of Guix. The .envrc checks @@ -16,10 +16,10 @@ # With direnv (.envrc already configured): # direnv allow # Auto-enters shell on cd # -# TODO: Replace {{PROJECT_NAME}} and {{PROJECT_DESCRIPTION}} with actual values. +# TODO: Replace PanLL eNSAID and {{PROJECT_DESCRIPTION}} with actual values. { - description = "{{PROJECT_NAME}} — RSR-compliant project"; + description = "PanLL eNSAID — RSR-compliant project"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; @@ -92,19 +92,19 @@ # Development shell — `nix develop` # --------------------------------------------------------------- devShells.default = pkgs.mkShell { - name = "{{PROJECT_NAME}}-dev"; + name = "PanLL eNSAID-dev"; buildInputs = commonTools ++ languageTools; # Environment variables available inside the shell. env = { - PROJECT_NAME = "{{PROJECT_NAME}}"; + PROJECT_NAME = "PanLL eNSAID"; RSR_TIER = "infrastructure"; }; shellHook = '' echo "" - echo " {{PROJECT_NAME}} — development shell" + echo " PanLL eNSAID — development shell" echo " Nix: $(nix --version 2>/dev/null || echo 'unknown')" echo " Just: $(just --version 2>/dev/null || echo 'not found')" echo "" @@ -116,7 +116,7 @@ # consistent whether you enter via 'nix develop' or 'direnv allow'. if [ -z "''${DIRENV_IN_ENVRC:-}" ] && [ -f .envrc ]; then # Only source the non-nix parts to avoid recursion. - export PROJECT_NAME="{{PROJECT_NAME}}" + export PROJECT_NAME="PanLL eNSAID" export RSR_TIER="infrastructure" if [ -f .env ]; then set -a @@ -131,7 +131,7 @@ # Package — `nix build` # --------------------------------------------------------------- packages.default = pkgs.stdenv.mkDerivation { - pname = "{{PROJECT_NAME}}"; + pname = "PanLL eNSAID"; version = "0.1.0"; src = self; @@ -149,7 +149,7 @@ # buildPhase = "zig build -Doptimize=ReleaseSafe"; buildPhase = '' - echo "TODO: Add build commands for {{PROJECT_NAME}}" + echo "TODO: Add build commands for PanLL eNSAID" ''; installPhase = '' @@ -159,7 +159,7 @@ meta = with pkgs.lib; { description = "{{PROJECT_DESCRIPTION}}"; - homepage = "https://github.com/{{OWNER}}/{{PROJECT_NAME}}"; + homepage = "https://github.com/hyperpolymath/PanLL eNSAID"; license = licenses.mpl20; # MPL-2.0 extends MPL-2.0 maintainers = []; platforms = [ "x86_64-linux" "aarch64-linux" ];