Skip to content

Commit e3d0791

Browse files
chore(rsr): declare capability profile (rsr-profile.a2ml, preset rust-cli) (#11)
## Summary The **worked example** for the estate template-applicability policy (companion to `hyperpolymath/standards#391`). Adds `.machine_readable/rsr-profile.a2ml` declaring arghda-core's capabilities — `preset = rust-cli` (rust, cli, library) — with a `[rationale]` block recording why it declines the maximal template's gated modules: - **no `abi`/`ffi`** — language-agnostic engine, no C-ABI seam / Idris2 ABI proofs; - **no `formal-proofs`** — it *consumes* Agda (shells out to `agda`/`agda-unused`) but contains **no in-tree proofs**; - **no `container`/`reproducible-build`/`affinescript`/`governance-tier`**. This turns arghda-core's already-lean shape from a judgement call into a rule: the reference checker (`standards/scripts/check-rsr-profile.sh`) reports **OK** against this profile, and flags a planted `abi.ipkg` / `container/` as **VESTIGIAL**. ## Verification - `bash scripts/check-spdx.sh` ✓ (new `.a2ml` carries `MPL-2.0`). - `check-rsr-profile.sh /path/to/arghda-core` → OK (effective caps: rust, cli, library). - `STATE.a2ml` updated to point at `standards#391`; wiring the profile check into arghda CI is a follow-up once that policy lands. Depends on: hyperpolymath/standards#391 (defines the preset + gate model this profile references). 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_019GiSiEfgZCte35dyykgBHs --- _Generated by [Claude Code](https://claude.ai/code/session_019GiSiEfgZCte35dyykgBHs)_
2 parents e253289 + 644c339 commit e3d0791

2 files changed

Lines changed: 25 additions & 1 deletion

File tree

.machine_readable/6a2/STATE.a2ml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ milestones = [
4040

4141
[critical-next-actions]
4242
actions = [
43-
"Formalise template-applicability rules (capability-gated RSR profile: carry a template module iff the repo declares the capability it serves) — estate-wide, candidate for hyperpolymath/standards",
43+
"Template-applicability: rsr-profile.a2ml declares preset rust-cli (landed); estate policy + gate model + reference checker filed in hyperpolymath/standards#391. Follow-up: wire scripts/check-rsr-profile.sh into CI once standards#391 lands.",
4444
"Extend content-hash invalidation to cover transitive imports (needs include-root tracking)",
4545
"Serve /.well-known/groove for PanLL discovery (Groove protocol)",
4646
"Scaffold arghda-studio (AffineScript visual layer consuming the dag JSON)",

.machine_readable/rsr-profile.a2ml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# SPDX-License-Identifier: MPL-2.0
2+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
3+
#
4+
# rsr-profile.a2ml — RSR template-applicability profile for arghda-core.
5+
#
6+
# Declares which template capabilities this repo has, so its scaffold can be
7+
# checked against the gate model instead of a fixed "one shape fits all".
8+
# Policy: hyperpolymath/standards TEMPLATE-APPLICABILITY-POLICY.adoc
9+
# Data: hyperpolymath/standards .machine_readable/template-capability-gates.toml
10+
# Checker: hyperpolymath/standards scripts/check-rsr-profile.sh
11+
12+
[profile]
13+
preset = "rust-cli"
14+
add = [] # extra capabilities beyond the preset
15+
remove = [] # preset capabilities this repo does NOT have
16+
17+
[rationale]
18+
# Why arghda-core declines the maximal template's gated modules:
19+
no-abi = "language-agnostic engine; no C-ABI/FFI seam, no Idris2 ABI proofs (no abi.ipkg / src/interface/)"
20+
no-formal-proofs = "consumes Agda — shells out to agda / agda-unused — but contains no in-tree proofs (no verification/proofs/)"
21+
no-container = "ships a CLI binary, not a container image"
22+
no-reproducible-build = "cargo build only for now; guix.scm / flake.nix are a future addition, not present"
23+
no-affinescript = "pure Rust; the planned AffineScript visual layer is a separate repo (arghda-studio)"
24+
no-governance-tier = "leaf tool; declines the full AUDIT / AFFIRMATION / GOVERNANCE / MAINTAINERS trio"

0 commit comments

Comments
 (0)