Skip to content

Commit dda8c07

Browse files
committed
chore(rsr): adopt 6a2 scaffolding + contractiles, retire STATE.scm
The WP-edition fork moved off the legacy STATE.scm to the canonical 6a2 set (per memory rule "6a2 = six a2ml files"). Bringing that forward as the standalone's RSR scaffolding. - .machine_readable/6a2/{STATE,META,ECOSYSTEM,AGENTIC,NEUROSYM,PLAYBOOK}.a2ml (replaces single-file STATE.scm) - contractiles/{dust,must,k9}/ — contractile system; k9 templates for yacht-config, template-hunt, template-kennel, template-yard - .claude/CLAUDE.md — project-specific Claude instructions STATE.scm removed (superseded). The contractiles/k9/ location is the WP-edition's path; per the 2026-04-18 ADR-001 K9 belongs at .machine_readable/svc/k9/ — that re-shape is a separate follow-up. Per the 2026-04-26 graduation plan (AI-WORK-todo.md item -4).
1 parent 3496e97 commit dda8c07

21 files changed

Lines changed: 1342 additions & 483 deletions

.claude/CLAUDE.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# CLAUDE.md - AI Assistant Instructions
2+
3+
## Language Policy (Hyperpolymath Standard)
4+
5+
### ALLOWED Languages & Tools
6+
7+
| Language/Tool | Use Case | Notes |
8+
|---------------|----------|-------|
9+
| **ReScript** | Primary application code | Compiles to JS, type-safe |
10+
| **Deno** | Runtime & package management | Replaces Node/npm/bun |
11+
| **Rust** | Performance-critical, systems, WASM | Preferred for CLI tools |
12+
| **Tauri 2.0+** | Mobile apps (iOS/Android) | Rust backend + web UI |
13+
| **Dioxus** | Mobile apps (native UI) | Pure Rust, React-like |
14+
| **Gleam** | Backend services | Runs on BEAM or compiles to JS |
15+
| **Bash/POSIX Shell** | Scripts, automation | Keep minimal |
16+
| **JavaScript** | Only where ReScript cannot | MCP protocol glue, Deno APIs |
17+
| **Python** | SaltStack only | No other Python permitted |
18+
| **Nickel** | Configuration language | For complex configs |
19+
| **Guile Scheme** | State/meta files | STATE.scm, META.scm, ECOSYSTEM.scm |
20+
| **Julia** | Batch scripts, data processing | Per RSR |
21+
| **OCaml** | AffineScript compiler | Language-specific |
22+
| **Ada** | Safety-critical systems | Where required |
23+
24+
### BANNED - Do Not Use
25+
26+
| Banned | Replacement |
27+
|--------|-------------|
28+
| TypeScript | ReScript |
29+
| Node.js | Deno |
30+
| npm | Deno |
31+
| Bun | Deno |
32+
| pnpm/yarn | Deno |
33+
| Go | Rust |
34+
| Python (general) | ReScript/Rust |
35+
| Java/Kotlin | Rust/Tauri/Dioxus |
36+
| Swift | Tauri/Dioxus |
37+
| React Native | Tauri/Dioxus |
38+
| Flutter/Dart | Tauri/Dioxus |
39+
40+
### Mobile Development
41+
42+
**No exceptions for Kotlin/Swift** - use Rust-first approach:
43+
44+
1. **Tauri 2.0+** - Web UI (ReScript) + Rust backend, MIT/Apache-2.0
45+
2. **Dioxus** - Pure Rust native UI, MIT/Apache-2.0
46+
47+
Both are FOSS with independent governance (no Big Tech).
48+
49+
### Enforcement Rules
50+
51+
1. **No new TypeScript files** - Convert existing TS to ReScript
52+
2. **No package.json for runtime deps** - Use deno.json imports
53+
3. **No node_modules in production** - Deno caches deps automatically
54+
4. **No Go code** - Use Rust instead
55+
5. **Python only for SaltStack** - All other Python must be rewritten
56+
6. **No Kotlin/Swift for mobile** - Use Tauri 2.0+ or Dioxus
57+
58+
### Package Management
59+
60+
- **Primary**: Guix (guix.scm)
61+
- **Fallback**: Nix (flake.nix)
62+
- **JS deps**: Deno (deno.json imports)
63+
64+
### Security Requirements
65+
66+
- No MD5/SHA1 for security (use SHA256+)
67+
- HTTPS only (no HTTP URLs)
68+
- No hardcoded secrets
69+
- SHA-pinned dependencies
70+
- SPDX license headers on all files

.machine_readable/6a2/AGENTIC.a2ml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
3+
#
4+
# AGENTIC.a2ml — AI agent constraints and capabilities
5+
[metadata]
6+
version = "0.1.0"
7+
last-updated = "2026-04-11"
8+
9+
[agent-permissions]
10+
can-edit-source = true
11+
can-edit-tests = true
12+
can-edit-docs = true
13+
can-edit-config = true
14+
can-create-files = true
15+
16+
[agent-constraints]
17+
# What AI agents must NOT do:
18+
# - Never use banned language patterns (believe_me, unsafeCoerce, etc.)
19+
# - Never commit secrets or credentials
20+
# - Never use banned languages (TypeScript, Python, Go, etc.)
21+
# - Never place state files in repository root (must be in .machine_readable/)
22+
# - Never use AGPL license (use PMPL-1.0-or-later)
23+
24+
[maintenance-integrity]
25+
fail-closed = true
26+
require-evidence-per-step = true
27+
allow-silent-skip = false
28+
require-rerun-after-fix = true
29+
release-claim-requires-hard-pass = true
30+
31+
[automation-hooks]
32+
# on-enter: Read 0-AI-MANIFEST.a2ml, then STATE.a2ml
33+
# on-exit: Update STATE.a2ml with session outcomes
34+
# on-commit: Run just validate-rsr
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
3+
#
4+
# ECOSYSTEM.a2ml — Project Wharf ecosystem position
5+
[metadata]
6+
version = "1.0"
7+
last-updated = "2026-04-11"
8+
9+
[project]
10+
name = "Project Wharf"
11+
purpose = "Sovereign web hypervisor providing database virtual sharding and file integrity for CMS platforms"
12+
role = "security-infrastructure"
13+
14+
[position-in-ecosystem]
15+
category = ""
16+
17+
[related-projects]
18+
projects = [
19+
# No related projects recorded
20+
]

.machine_readable/6a2/META.a2ml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
3+
#
4+
# META.a2ml — Project Wharf meta-level information
5+
[metadata]
6+
version = "1.0.0"
7+
last-updated = "2026-04-11"
8+
9+
[project-info]
10+
license = "PMPL-1.0-or-later"
11+
author = "Jonathan D.A. Jewell (hyperpolymath)"
12+
13+
[architecture-decisions]
14+
decisions = [
15+
# No ADRs recorded
16+
]
17+
18+
[development-practices]
19+
versioning = "SemVer"
20+
documentation = "AsciiDoc"
21+
build-tool = "just"
22+
23+
[maintenance-axes]
24+
scoping-first = true
25+
axis-1 = "must > intend > like"
26+
axis-2 = "corrective > adaptive > perfective"
27+
axis-3 = "systems > compliance > effects"
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
3+
#
4+
# NEUROSYM.a2ml — Neurosymbolic integration metadata
5+
[metadata]
6+
version = "0.1.0"
7+
last-updated = "2026-04-11"
8+
9+
[hypatia-config]
10+
scan-enabled = true
11+
scan-depth = "standard" # quick | standard | deep
12+
report-format = "logtalk"
13+
14+
[symbolic-rules]
15+
# Custom symbolic rules for this project
16+
# - { name = "no-unsafe-ffi", pattern = "believe_me|unsafeCoerce", severity = "critical" }
17+
18+
[neural-config]
19+
# Neural pattern detection settings
20+
# confidence-threshold = 0.85
21+
# model = "hypatia-v2"
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
3+
#
4+
# PLAYBOOK.a2ml — Operational playbook
5+
[metadata]
6+
version = "0.1.0"
7+
last-updated = "2026-04-11"
8+
9+
[deployment]
10+
# method = "gitops" # gitops | manual | ci-triggered
11+
# target = "container" # container | binary | library | wasm
12+
13+
[incident-response]
14+
# 1. Check .machine_readable/STATE.a2ml for current status
15+
# 2. Review recent commits and CI results
16+
# 3. Run `just validate` to check compliance
17+
# 4. Run `just security` to audit for vulnerabilities
18+
19+
[release-process]
20+
# 1. Update version in STATE.a2ml, META.a2ml
21+
# 2. Run `just release-preflight` (validate + quality + security + maint-hard-pass)
22+
# 3. Tag and push
23+
24+
[maintenance-operations]
25+
# Baseline audit: just maint-audit
26+
# Hard release gate: just maint-hard-pass

.machine_readable/6a2/STATE.a2ml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
3+
#
4+
# STATE.a2ml — Project Wharf project state
5+
[metadata]
6+
project = "project-wharf"
7+
version = "1.0.0"
8+
last-updated = "2025-01-12T09:00:00+00:00"
9+
status = "active"
10+
session = "converted from scheme — 2026-04-11"
11+
12+
[project-context]
13+
name = "Project Wharf"
14+
purpose = """Sovereign Web Hypervisor - Database Virtual Sharding"""
15+
completion-percentage = 70
16+
17+
[position]
18+
phase = "Alpha Development" # design | implementation | testing | maintenance | archived
19+
maturity = "experimental" # experimental | alpha | beta | production | lts
20+
21+
[route-to-mvp]
22+
milestones = [
23+
{ name = "Project Wharf", completion = 75 },
24+
]
25+
26+
[blockers-and-issues]
27+
issues = [
28+
# No blockers recorded
29+
]
30+
31+
[critical-next-actions]
32+
actions = [
33+
"Wire mooring protocol to CLI",
34+
"Add config loading to wharf-cli",
35+
"Test nftables on production system",
36+
"Test eBPF compilation with bpf-linker",
37+
"Begin Nebula mesh VPN coordination",
38+
"Complete Nebula integration",
39+
"Performance optimization",
40+
]
41+
42+
[maintenance-status]
43+
last-run-utc = "2025-01-12T09:00:00+00:00T00:00:00Z"
44+
last-result = "unknown" # unknown | pass | warn | fail

0 commit comments

Comments
 (0)