diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 3a3b7f2..4714ad5 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,34 +1,4 @@ # SPDX-License-Identifier: MPL-2.0 -# CODEOWNERS - Define code review assignments for GitHub -# See: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners - -# Default: sole maintainer for all files -* @hyperpolymath - -# Security-sensitive files require explicit ownership -SECURITY.md @hyperpolymath -.github/workflows/ @hyperpolymath -.machine_readable/ @hyperpolymath -contractiles/ @hyperpolymath - -# License files -LICENSE @hyperpolymath -LICENSES/ @hyperpolymath - -# Configuration -.gitignore @hyperpolymath -.github/ @hyperpolymath - -# Documentation -README* @hyperpolymath -CONTRIBUTING* @hyperpolymath -CODE_OF_CONDUCT* @hyperpolymath -GOVERNANCE* @hyperpolymath -MAINTAINERS* @hyperpolymath -CHANGELOG* @hyperpolymath -ROADMAP* @hyperpolymath - -# Build and CI -Justfile @hyperpolymath -Makefile @hyperpolymath -*.sh @hyperpolymath +# Solo-maintained hyperpolymath repo: no owner lines by policy. +# See hyperpolymath/standards CODEOWNERS-POLICY.adoc (Rule 1). +# Sole-maintainer review is moot; SPDX headers carry attribution. diff --git a/.machine_readable/contractiles/dust/Dustfile.a2ml b/.machine_readable/contractiles/dust/Dustfile.a2ml index fb25603..6837b2d 100644 --- a/.machine_readable/contractiles/dust/Dustfile.a2ml +++ b/.machine_readable/contractiles/dust/Dustfile.a2ml @@ -54,7 +54,7 @@ to new repositories. - description: No references to betlang in generic template files - run: test -z "$(grep -r 'betlang' machine-readable-design/ 2>/dev/null)" - severity: warning -- notes: Generic templates should use {{PROJECT_NAME}} or similar placeholders +- notes: Generic templates should use BetLang or similar placeholders ### version-sync-checked - description: Version in canonical-directory-structure matches .machine_readable/contractiles diff --git a/0-AI-MANIFEST.a2ml b/0-AI-MANIFEST.a2ml index 94d5360..fff3ca4 100644 --- a/0-AI-MANIFEST.a2ml +++ b/0-AI-MANIFEST.a2ml @@ -67,3 +67,20 @@ license: MPL-2.0 2. Read `.machine_readable/STATE.scm` for current progress 3. Read `.machine_readable/META.scm` for architecture decisions 4. Read `.machine_readable/ECOSYSTEM.scm` for ecosystem context + + + +## PRIORITY ACTION — this repository is not fully initialised + +4 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/ABI-FFI-README.md b/ABI-FFI-README.md index ada05ff..87ffbc7 100644 --- a/ABI-FFI-README.md +++ b/ABI-FFI-README.md @@ -4,7 +4,7 @@ Copyright (c) Jonathan D.A. Jewell --> {{~ Aditionally delete this line and fill out the template below ~}} -# {{PROJECT}} ABI/FFI Documentation +# BETLANG ABI/FFI Documentation ## Overview @@ -251,7 +251,7 @@ gcc -o example example.c -l{{project}} -L./zig-out/lib ### From Idris2 ```idris -import {{PROJECT}}.ABI.Foreign +import BETLANG.ABI.Foreign main : IO () main = do diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md deleted file mode 100644 index 607e3d8..0000000 --- a/ARCHITECTURE.md +++ /dev/null @@ -1,47 +0,0 @@ -# Architecture - -## Overview - -This repository follows a modular, maintainable architecture designed for clarity, scalability, and long-term sustainability. - -## Directory Structure - -``` -. -├── src/ # Source code -├── tests/ # Test suites -├── docs/ # Documentation -├── scripts/ # Utility scripts -├── config/ # Configuration files -├── LICENSE # License file -├── LICENSES/ # Full license texts -└── README.adoc # Project documentation -``` - -## Design Principles - -- **Separation of Concerns**: Each module has a single responsibility -- **Testability**: Code is written to be easily testable -- **Documentation**: All public APIs are documented -- **Configuration**: Environment-specific settings are externalized - -## Dependencies - -- External dependencies are minimized and clearly declared -- Version pinning is used for reproducibility - -## Security Considerations - -- Sensitive data is never committed to the repository -- Secrets are managed through environment variables or secure vaults -- Regular dependency audits are performed - -## Maintainability - -- Code follows consistent style guidelines -- Pull requests require review and CI checks -- Issues and discussions are tracked transparently - ---- - -*Last updated: 2026-07-18* diff --git a/PROOF-NEEDS.md b/PROOF-NEEDS.md index 10d9e30..863c116 100644 --- a/PROOF-NEEDS.md +++ b/PROOF-NEEDS.md @@ -66,7 +66,7 @@ trusted-base-reduction policy and must be registered in Template ABI removed — 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 domain-specific proofs. +`BETLANG`/`Jonathan D.A. Jewell` placeholders and no domain-specific proofs. When this project needs formal ABI verification (obligations **ABI-1..5** above, Phase 3), create domain-specific Idris2 proofs following the diff --git a/REQUIRES_INITIALISATION.md b/REQUIRES_INITIALISATION.md new file mode 100644 index 0000000..f4d58e8 --- /dev/null +++ b/REQUIRES_INITIALISATION.md @@ -0,0 +1,70 @@ + + +# REQUIRES INITIALISATION + +**This repository is not finished being set up.** 4 substitution token(s) across 2 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 + +### `{{FILE}}` + +Appears in: + +- `Justfile` + +### `{{INPUT}}` + +Appears in: + +- `julia-backend/Justfile` + +### `{{OUTPUT}}` + +Appears in: + +- `julia-backend/Justfile` + +### `{{TARGET}}` + +Appears in: + +- `Justfile` + +--- + +Generated by the estate top-up pass. Rationale and the governing rulings are +in `hyperpolymath/standards`; the token vocabulary is +`.machine_readable/ai/PLACEHOLDERS.adoc` in `rsr-template-repo`. diff --git a/ffi/zig/build.zig b/ffi/zig/build.zig index c02617f..0328e4c 100644 --- a/ffi/zig/build.zig +++ b/ffi/zig/build.zig @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MPL-2.0 // Copyright (c) Jonathan D.A. Jewell -// {{PROJECT}} FFI Build Configuration +// BETLANG FFI Build Configuration const std = @import("std"); diff --git a/ffi/zig/src/main.zig b/ffi/zig/src/main.zig index f1b2633..c646656 100644 --- a/ffi/zig/src/main.zig +++ b/ffi/zig/src/main.zig @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MPL-2.0 // Copyright (c) Jonathan D.A. Jewell -// {{PROJECT}} FFI Implementation +// BETLANG 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. @@ -10,7 +10,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 = "BETLANG 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 e481508..c3678f2 100644 --- a/ffi/zig/test/integration_test.zig +++ b/ffi/zig/test/integration_test.zig @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MPL-2.0 // Copyright (c) Jonathan D.A. Jewell -// {{PROJECT}} Integration Tests +// BETLANG Integration Tests // // These tests verify that the Zig FFI correctly implements the Idris2 ABI diff --git a/playground/ffi/zig/build.zig b/playground/ffi/zig/build.zig index c02617f..0328e4c 100644 --- a/playground/ffi/zig/build.zig +++ b/playground/ffi/zig/build.zig @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MPL-2.0 // Copyright (c) Jonathan D.A. Jewell -// {{PROJECT}} FFI Build Configuration +// BETLANG FFI Build Configuration const std = @import("std"); diff --git a/playground/ffi/zig/src/main.zig b/playground/ffi/zig/src/main.zig index f1b2633..c646656 100644 --- a/playground/ffi/zig/src/main.zig +++ b/playground/ffi/zig/src/main.zig @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MPL-2.0 // Copyright (c) Jonathan D.A. Jewell -// {{PROJECT}} FFI Implementation +// BETLANG 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. @@ -10,7 +10,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 = "BETLANG built with Zig " ++ @import("builtin").zig_version_string; /// Thread-local error storage threadlocal var last_error: ?[]const u8 = null; diff --git a/playground/ffi/zig/test/integration_test.zig b/playground/ffi/zig/test/integration_test.zig index e481508..c3678f2 100644 --- a/playground/ffi/zig/test/integration_test.zig +++ b/playground/ffi/zig/test/integration_test.zig @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MPL-2.0 // Copyright (c) Jonathan D.A. Jewell -// {{PROJECT}} Integration Tests +// BETLANG Integration Tests // // These tests verify that the Zig FFI correctly implements the Idris2 ABI