You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: instantiate the RSR template for contractiles (#21)
## Summary
Contractiles was scaffolded from the RSR template but never
instantiated: `{{PLACEHOLDER}}` tokens (and the literal string
`rsr-template-repo`) survived across ~100 files, including the Zig FFI
source, which genuinely failed to parse (`export fn
{{project}}_init()`).
- Substituted identity placeholders with this repo's real values,
derived from its own SPDX headers, GitHub metadata, and what
"contractiles" (the normative half of the contractile/descriptile
pattern in the A2ML/K9 ecosystem) actually is.
- De-clobbered `CODE_OF_CONDUCT.md`, which an unrelated estate-wide
sweep had stamped with a different project's identity ("Squisher
Corpus").
- Fixed real Zig bugs beyond substitution: `Handle` was an `opaque` type
with fields (invalid — opaque types can't have fields), `callconv(.C)`
isn't valid under Zig 0.16 (`.c` is), and `std.heap.c_allocator` needs
libc, which `build.zig` never linked. Rewrote `build.zig` to produce a
real static-library artifact and wire `zig build test` to both the
inline unit tests and a genuine `integration_test.zig` (was a
fully-commented placeholder).
- Replaced Justfile fake-gate stubs
(`build`/`test`/`e2e`/`aspect`/`bench`/`lint`/`deps`/`install` — all
unconditional `echo`) with real `idris2`/`zig` invocations; deleted
recipes with nothing real to do.
- Removed template-only machinery: `scripts/validate-template.sh`,
`tests/e2e/template_instantiation_test.sh`,
`.machine_readable/ai/PLACEHOLDERS.adoc`, and the corresponding sections
of `benches/template_bench.sh`.
- Rewrote `README.adoc`, `SECURITY.md`, `CODE_OF_CONDUCT.md`,
`security.txt`, and `docs/status/TEST-NEEDS.adoc` to describe this repo
truthfully; dropped fabricated-risk fields (PGP fingerprint/key URL,
hiring line) rather than invent them.
## Verification (literal exit codes)
```
zig fmt --check . → 0
zig build (in ffi dir) → 0
zig build test → 0 (11/11 tests passing)
just --list → 0 (Justfile parses)
just build / just test → 0
```
## Known residue (left deliberately)
`container/*`,
`machine-readable-design/canonical-directory-structure/*`, and
`.machine_readable/configs/{selur-compose,stapeln}.toml` still carry
`{{SERVICE_NAME}}`/`{{PORT}}`/etc. — these are a legitimate *recurring*
template substituted by `just container-init`, not one-time
instantiation artifacts (documented in `container/README.adoc`).
`docs/governance/*-AUDIT-TEMPLATE.adoc`,
`.machine_readable/contractiles/Justfile` (a stale duplicate of the root
Justfile), and `build/just/init.just` (the now-vestigial bootstrap
wizard) were not touched.
## Test plan
- [x] `zig fmt --check .` exits 0
- [x] `zig build` exits 0 in `src/interface/ffi`
- [x] `zig build test` exits 0, 11/11 tests pass
- [x] `just --list` parses the Justfile
- [x] `bash tests/e2e.sh` and `bash tests/aspect_tests.sh` run for real
(aspect currently reports one known false-positive, documented in
`docs/status/TEST-NEEDS.adoc`)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: .devcontainer/README.adoc
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
// SPDX-License-Identifier: CC-BY-SA-4.0
2
2
// Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
3
3
= Dev Container Usage
4
-
:author: {{AUTHOR}} <{{AUTHOR_EMAIL}}>
4
+
:author: Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
5
5
6
6
== Overview
7
7
@@ -25,4 +25,4 @@ This dev container uses `cgr.dev/chainguard/wolfi-base` with git, curl, bash, an
25
25
26
26
== Customization
27
27
28
-
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.
28
+
Replace `Contractiles` placeholders in both `devcontainer.json` and `Containerfile` with your actual project name. Run `just deps` to verify the environment after first launch.
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.
9
+
We as members, contributors, and leaders pledge to make participation in Contractiles 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.
30
10
31
11
We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
32
12
@@ -140,7 +120,7 @@ If you experience or witness unacceptable behaviour, or have any other concerns,
0 commit comments