diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 2132109..65789e9 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -29,9 +29,9 @@ Copyright (c) Jonathan D.A. Jewell ### As Applicable -- [ ] `.machine_readable/STATE.a2ml` updated (if project state changed) -- [ ] `.machine_readable/ECOSYSTEM.a2ml` updated (if integrations changed) -- [ ] `.machine_readable/META.a2ml` updated (if architectural decisions changed) +- [ ] `.machine_readable/descriptiles/STATE.a2ml` updated (if project state changed) +- [ ] `.machine_readable/descriptiles/ECOSYSTEM.a2ml` updated (if integrations changed) +- [ ] `.machine_readable/descriptiles/META.a2ml` updated (if architectural decisions changed) - [ ] Documentation updated for user-facing changes - [ ] `TOPOLOGY.md` updated (if architecture changed) - [ ] `CHANGELOG` or release notes updated diff --git a/.github/workflows/openssf-compliance.yml b/.github/workflows/openssf-compliance.yml index 5d7b3d3..b00145a 100644 --- a/.github/workflows/openssf-compliance.yml +++ b/.github/workflows/openssf-compliance.yml @@ -67,11 +67,11 @@ jobs: exit 1 fi - if [ ! -f ".machine_readable/STATE.a2ml" ]; then - echo "::error::.machine_readable/STATE.a2ml is required" + if [ ! -f ".machine_readable/descriptiles/STATE.a2ml" ]; then + echo "::error::.machine_readable/descriptiles/STATE.a2ml is required" exit 1 fi - echo ".machine_readable/STATE.a2ml: OK" + echo ".machine_readable/descriptiles/STATE.a2ml: OK" - name: Check CHANGELOG exists run: | if [ ! -f "CHANGELOG.md" ] && [ ! -f "CHANGELOG.adoc" ] && [ ! -f "CHANGES.md" ]; then @@ -87,8 +87,8 @@ jobs: # Collect all required files that exist for f in SECURITY.md SECURITY.adoc .github/SECURITY.md LICENSE LICENSE.txt \ CONTRIBUTING.md CONTRIBUTING.adoc README.md README.adoc \ - .machine_readable/STATE.a2ml .machine_readable/META.a2ml \ - .machine_readable/ECOSYSTEM.a2ml CHANGELOG.md CHANGELOG.adoc; do + .machine_readable/descriptiles/STATE.a2ml .machine_readable/descriptiles/META.a2ml \ + .machine_readable/descriptiles/ECOSYSTEM.a2ml CHANGELOG.md CHANGELOG.adoc; do [ -f "$f" ] && REQUIRED_FILES="$REQUIRED_FILES $f" done diff --git a/.machine_readable/6a2/0-AI-MANIFEST.a2ml b/.machine_readable/6a2/0-AI-MANIFEST.a2ml deleted file mode 100644 index 6bf1f8c..0000000 --- a/.machine_readable/6a2/0-AI-MANIFEST.a2ml +++ /dev/null @@ -1,31 +0,0 @@ -# AI Manifest for 6a2 Directory - -## Purpose - -This manifest declares the AI-assistant context for the 6a2 machine-readable metadata directory. - -## Canonical Locations - -The 6 core A2ML files MUST exist in this directory: -1. AGENTIC.a2ml -2. ECOSYSTEM.a2ml -3. META.a2ml -4. NEUROSYM.a2ml -5. PLAYBOOK.a2ml -6. STATE.a2ml - -## Invariants - -- No duplicate files in root directory -- Single source of truth: this directory is authoritative -- No stale metadata - -## Protocol - -When multiple agents may write to A2ML files concurrently: -1. Read file and record git-sha-at-read in [provenance] section -2. Lock by creating .lock- -3. Write updated file with new [provenance] metadata -4. Release by removing lock file -5. On conflict: re-read and retry if git-sha-at-read does not match HEAD - diff --git a/.machine_readable/6a2/README.adoc b/.machine_readable/6a2/README.adoc deleted file mode 100644 index 916a702..0000000 --- a/.machine_readable/6a2/README.adoc +++ /dev/null @@ -1,30 +0,0 @@ -// SPDX-License-Identifier: CC-BY-SA-4.0 -// Copyright (c) Jonathan D.A. Jewell -# A2ML 6a2 Directory - -This directory contains the 6 core A2ML machine-readable metadata files for this repository. - -## Files - -- `AGENTIC.a2ml` - AI agent operational gating, safety controls -- `ECOSYSTEM.a2ml` - Project ecosystem position, relationships, explicit boundaries -- `META.a2ml` - Architecture decisions (ADRs), development practices, design rationale -- `NEUROSYM.a2ml` - Symbolic semantics, composition algebra -- `PLAYBOOK.a2ml` - Executable plans, operational runbooks -- `STATE.a2ml` - Project state, phase, milestones, session history - -## Standards Compliance - -These files follow the A2ML Format Family specification from: -https://github.com/hyperpolymath/standards/tree/main/a2ml - -## Generation - -These files may be generated from .scm source files using transpilation tools. -Source .scm files should be removed after successful transpilation. - -## See Also - -- [A2ML Repository Template](https://github.com/hyperpolymath/standards/blob/main/A2ML-REPO-TEMPLATE.adoc) -- [6A2 Format Family](https://github.com/hyperpolymath/standards#a2ml-format-family-7-formats) - diff --git a/.machine_readable/6a2/anchor/0-AI-MANIFEST.a2ml b/.machine_readable/6a2/anchor/0-AI-MANIFEST.a2ml deleted file mode 100644 index 0dd6825..0000000 --- a/.machine_readable/6a2/anchor/0-AI-MANIFEST.a2ml +++ /dev/null @@ -1,21 +0,0 @@ -# AI Manifest for Anchor Directory - -## Purpose - -This manifest declares the AI-assistant context for the anchor machine-readable metadata directory. - -## Canonical Locations - -ANCHOR.a2ml files MUST exist in this directory. - -## Multiple Versions - -Unlike other A2ML files, multiple versions of ANCHOR.a2ml with different dates MAY exist. -Each version represents a specific recalibration point. - -## Invariants - -- Multiple versions with different dates are permitted -- No other A2ML files in this directory -- Single source of truth for anchor documents - diff --git a/.machine_readable/6a2/anchor/README.adoc b/.machine_readable/6a2/anchor/README.adoc deleted file mode 100644 index 13cae63..0000000 --- a/.machine_readable/6a2/anchor/README.adoc +++ /dev/null @@ -1,25 +0,0 @@ -// SPDX-License-Identifier: CC-BY-SA-4.0 -// Copyright (c) Jonathan D.A. Jewell -# A2ML Anchor Directory - -This directory contains ANCHOR.a2ml files for project recalibration and scope intervention. - -## Files - -- `ANCHOR.a2ml` - Project recalibration, scope intervention, canonical authority - -## Multiple Versions - -Unlike other A2ML files, multiple versions of ANCHOR.a2ml with different dates may exist. -Each version represents a specific recalibration point in the project history. - -## Standards Compliance - -These files follow the ANCHOR.a2ml specification from: -https://github.com/hyperpolymath/standards/tree/main/anchor-a2ml - -## See Also - -- [A2ML Repository Template](https://github.com/hyperpolymath/standards/blob/main/A2ML-REPO-TEMPLATE.adoc) -- [Anchor A2ML Spec](https://github.com/hyperpolymath/standards/tree/main/anchor-a2ml) - diff --git a/.machine_readable/ai/.clinerules b/.machine_readable/ai/.clinerules index eb95175..32565bc 100644 --- a/.machine_readable/ai/.clinerules +++ b/.machine_readable/ai/.clinerules @@ -2,7 +2,7 @@ # 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. +# STARTUP: Read 0-AI-MANIFEST.a2ml first, then .machine_readable/descriptiles/STATE.a2ml. # LICENSE # All original code: MPL-2.0. diff --git a/.machine_readable/ai/.windsurfrules b/.machine_readable/ai/.windsurfrules index eb95175..32565bc 100644 --- a/.machine_readable/ai/.windsurfrules +++ b/.machine_readable/ai/.windsurfrules @@ -2,7 +2,7 @@ # 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. +# STARTUP: Read 0-AI-MANIFEST.a2ml first, then .machine_readable/descriptiles/STATE.a2ml. # LICENSE # All original code: MPL-2.0. diff --git a/.machine_readable/ai/AI.a2ml b/.machine_readable/ai/AI.a2ml index c4da8df..ed3cd3c 100644 --- a/.machine_readable/ai/AI.a2ml +++ b/.machine_readable/ai/AI.a2ml @@ -7,8 +7,8 @@ - Prefer to keep generated files out of source control, and regenerate them with the documented commands before committing. ## Workflow -1. Inspect `.machine_readable/STATE.a2ml` for blockers and next actions. -2. Respect any constraints listed inside `.machine_readable/AGENTIC.a2ml` when tooling changes are requested. +1. Inspect `.machine_readable/descriptiles/STATE.a2ml` for blockers and next actions. +2. Respect any constraints listed inside `.machine_readable/descriptiles/AGENTIC.a2ml` when tooling changes are requested. 3. After finishing edits, update STATE with your outcomes and commit with a concise, imperative message. ## Delivery Promises diff --git a/.machine_readable/ai/README.adoc b/.machine_readable/ai/README.adoc index 7d90fea..a41aed1 100644 --- a/.machine_readable/ai/README.adoc +++ b/.machine_readable/ai/README.adoc @@ -20,5 +20,5 @@ Recommended machine read order: * `.machine_readable/policies/MAINTENANCE-AXES.a2ml` * `.machine_readable/policies/MAINTENANCE-CHECKLIST.a2ml` * `.machine_readable/policies/SOFTWARE-DEVELOPMENT-APPROACH.a2ml` -* `.machine_readable/STATE.a2ml` -* `.machine_readable/META.a2ml` +* `.machine_readable/descriptiles/STATE.a2ml` +* `.machine_readable/descriptiles/META.a2ml` diff --git a/.machine_readable/6a2/anchor/ANCHOR.a2ml b/.machine_readable/anchors/ANCHOR.a2ml similarity index 100% rename from .machine_readable/6a2/anchor/ANCHOR.a2ml rename to .machine_readable/anchors/ANCHOR.a2ml diff --git a/.machine_readable/6a2/anchor/ANCHOR_2026_05_21.a2ml b/.machine_readable/anchors/ANCHOR_2026_05_21.a2ml similarity index 100% rename from .machine_readable/6a2/anchor/ANCHOR_2026_05_21.a2ml rename to .machine_readable/anchors/ANCHOR_2026_05_21.a2ml diff --git a/.machine_readable/anchors/README.adoc b/.machine_readable/anchors/README.adoc index 9493b09..13cae63 100644 --- a/.machine_readable/anchors/README.adoc +++ b/.machine_readable/anchors/README.adoc @@ -1,3 +1,25 @@ // SPDX-License-Identifier: CC-BY-SA-4.0 // Copyright (c) Jonathan D.A. Jewell -= anchors Registry +# A2ML Anchor Directory + +This directory contains ANCHOR.a2ml files for project recalibration and scope intervention. + +## Files + +- `ANCHOR.a2ml` - Project recalibration, scope intervention, canonical authority + +## Multiple Versions + +Unlike other A2ML files, multiple versions of ANCHOR.a2ml with different dates may exist. +Each version represents a specific recalibration point in the project history. + +## Standards Compliance + +These files follow the ANCHOR.a2ml specification from: +https://github.com/hyperpolymath/standards/tree/main/anchor-a2ml + +## See Also + +- [A2ML Repository Template](https://github.com/hyperpolymath/standards/blob/main/A2ML-REPO-TEMPLATE.adoc) +- [Anchor A2ML Spec](https://github.com/hyperpolymath/standards/tree/main/anchor-a2ml) + diff --git a/.machine_readable/contractiles/Justfile b/.machine_readable/contractiles/Justfile index daf017a..08a5683 100644 --- a/.machine_readable/contractiles/Justfile +++ b/.machine_readable/contractiles/Justfile @@ -52,7 +52,7 @@ info: @echo "Version: {{version}}" @echo "RSR Tier: {{tier}}" @echo "Recipes: $(just --summary | wc -w)" - @[ -f ".machine_readable/STATE.a2ml" ] && grep -oP 'phase\s*=\s*"\K[^"]+' .machine_readable/STATE.a2ml | head -1 | xargs -I{} echo "Phase: {}" || true + @[ -f ".machine_readable/descriptiles/STATE.a2ml" ] && grep -oP 'phase\s*=\s*"\K[^"]+' .machine_readable/descriptiles/STATE.a2ml | head -1 | xargs -I{} echo "Phase: {}" || true # Run Invariant Path overlay tools for this repository invariant-path *ARGS: @@ -345,7 +345,7 @@ verify-template: fi # Check for empty SCM files - for f in .machine_readable/6a2/STATE.a2ml .machine_readable/6a2/META.a2ml .machine_readable/6a2/ECOSYSTEM.a2ml; do + for f in .machine_readable/descriptiles/STATE.a2ml .machine_readable/descriptiles/META.a2ml .machine_readable/descriptiles/ECOSYSTEM.a2ml; do if [ -f "$f" ] && grep -q '{{'{{'}}' "$f" 2>/dev/null; then echo "⚠ $f still has template placeholders" FOUND=1 @@ -403,10 +403,10 @@ self-assess: fi done - if [ -d ".machine_readable/6a2" ]; then - echo " ✓ .machine_readable/6a2/ — KEEP (SCM checkpoint files)" + if [ -d ".machine_readable" ]; then + echo " ✓ .machine_readable/ — KEEP (SCM checkpoint files)" else - echo " ✗ .machine_readable/6a2/ — MISSING (RSR violation!)" + echo " ✗ .machine_readable/ — MISSING (RSR violation!)" fi if [ -d ".github/workflows" ]; then @@ -559,9 +559,9 @@ verify: check_file "LICENSE" check_either "CONTRIBUTING.md" "CONTRIBUTING.adoc" check_either "README.adoc" "README.md" - check_file ".machine_readable/STATE.a2ml" - check_file ".machine_readable/META.a2ml" - check_file ".machine_readable/ECOSYSTEM.a2ml" + check_file ".machine_readable/descriptiles/STATE.a2ml" + check_file ".machine_readable/descriptiles/META.a2ml" + check_file ".machine_readable/descriptiles/ECOSYSTEM.a2ml" check_either "CHANGELOG.md" "CHANGELOG.adoc" # Check at least 1 workflow exists @@ -1051,7 +1051,7 @@ validate-rsr: for f in .editorconfig .gitignore Justfile README.adoc LICENSE 0-AI-MANIFEST.a2ml; do [ -f "$f" ] || MISSING="$MISSING $f" done - for f in .machine_readable/STATE.a2ml .machine_readable/META.a2ml .machine_readable/ECOSYSTEM.a2ml .machine_readable/anchors/ANCHOR.a2ml .machine_readable/policies/MAINTENANCE-AXES.a2ml .machine_readable/policies/MAINTENANCE-CHECKLIST.a2ml .machine_readable/policies/SOFTWARE-DEVELOPMENT-APPROACH.a2ml; do + for f in .machine_readable/descriptiles/STATE.a2ml .machine_readable/descriptiles/META.a2ml .machine_readable/descriptiles/ECOSYSTEM.a2ml .machine_readable/anchors/ANCHOR.a2ml .machine_readable/policies/MAINTENANCE-AXES.a2ml .machine_readable/policies/MAINTENANCE-CHECKLIST.a2ml .machine_readable/policies/SOFTWARE-DEVELOPMENT-APPROACH.a2ml; do [ -f "$f" ] || MISSING="$MISSING $f" done for f in licensing/exhibits/EXHIBIT-A-ETHICAL-USE.txt licensing/exhibits/EXHIBIT-B-QUANTUM-SAFE.txt licensing/texts/MPL-2.0.txt; do @@ -1066,15 +1066,15 @@ validate-rsr: for f in docs/governance/MAINTENANCE-CHECKLIST.adoc docs/governance/SOFTWARE-DEVELOPMENT-APPROACH.adoc; do [ -f "$f" ] || MISSING="$MISSING $f" done - if [ -f ".machine_readable/META.a2ml" ]; then - grep -q 'axis-1 = "must > intend > like"' .machine_readable/META.a2ml || MISSING="$MISSING META.a2ml:axis-1" - grep -q 'axis-2 = "corrective > adaptive > perfective"' .machine_readable/META.a2ml || MISSING="$MISSING META.a2ml:axis-2" - grep -q 'axis-3 = "systems > compliance > effects"' .machine_readable/META.a2ml || MISSING="$MISSING META.a2ml:axis-3" - grep -q 'scoping-first = true' .machine_readable/META.a2ml || MISSING="$MISSING META.a2ml:scoping-first" - grep -q 'idris-unsound-scan = "believe_me/assert_total"' .machine_readable/META.a2ml || MISSING="$MISSING META.a2ml:idris-unsound-scan" - grep -q 'audit-focus = "systems in place, documentation explains actual state, safety/security accounted for, observed effects reviewed"' .machine_readable/META.a2ml || MISSING="$MISSING META.a2ml:audit-focus" - grep -q 'compliance-focus = "seams/compromises/exception register, bounded exceptions, anti-drift checks"' .machine_readable/META.a2ml || MISSING="$MISSING META.a2ml:compliance-focus" - grep -q 'effects-evidence = "benchmark execution/results and maintainer status dialogue/review"' .machine_readable/META.a2ml || MISSING="$MISSING META.a2ml:effects-evidence" + if [ -f ".machine_readable/descriptiles/META.a2ml" ]; then + grep -q 'axis-1 = "must > intend > like"' .machine_readable/descriptiles/META.a2ml || MISSING="$MISSING META.a2ml:axis-1" + grep -q 'axis-2 = "corrective > adaptive > perfective"' .machine_readable/descriptiles/META.a2ml || MISSING="$MISSING META.a2ml:axis-2" + grep -q 'axis-3 = "systems > compliance > effects"' .machine_readable/descriptiles/META.a2ml || MISSING="$MISSING META.a2ml:axis-3" + grep -q 'scoping-first = true' .machine_readable/descriptiles/META.a2ml || MISSING="$MISSING META.a2ml:scoping-first" + grep -q 'idris-unsound-scan = "believe_me/assert_total"' .machine_readable/descriptiles/META.a2ml || MISSING="$MISSING META.a2ml:idris-unsound-scan" + grep -q 'audit-focus = "systems in place, documentation explains actual state, safety/security accounted for, observed effects reviewed"' .machine_readable/descriptiles/META.a2ml || MISSING="$MISSING META.a2ml:audit-focus" + grep -q 'compliance-focus = "seams/compromises/exception register, bounded exceptions, anti-drift checks"' .machine_readable/descriptiles/META.a2ml || MISSING="$MISSING META.a2ml:compliance-focus" + grep -q 'effects-evidence = "benchmark execution/results and maintainer status dialogue/review"' .machine_readable/descriptiles/META.a2ml || MISSING="$MISSING META.a2ml:effects-evidence" grep -q 'compliance-tooling = "panic-attack"' .machine_readable/policies/MAINTENANCE-AXES.a2ml || MISSING="$MISSING MAINTENANCE-AXES.a2ml:compliance-tooling" grep -q 'effects-tooling = "ecological checking with sustainabot guidance"' .machine_readable/policies/MAINTENANCE-AXES.a2ml || MISSING="$MISSING MAINTENANCE-AXES.a2ml:effects-tooling" grep -q 'source-human = "docs/governance/MAINTENANCE-CHECKLIST.adoc"' .machine_readable/policies/MAINTENANCE-CHECKLIST.a2ml || MISSING="$MISSING MAINTENANCE-CHECKLIST.a2ml:source-human" @@ -1088,12 +1088,12 @@ validate-rsr: # Validate STATE.a2ml syntax validate-state: - @if [ -f ".machine_readable/STATE.a2ml" ]; then \ - grep -q '^\[metadata\]' .machine_readable/STATE.a2ml && \ - grep -q 'project\s*=' .machine_readable/STATE.a2ml && \ + @if [ -f ".machine_readable/descriptiles/STATE.a2ml" ]; then \ + grep -q '^\[metadata\]' .machine_readable/descriptiles/STATE.a2ml && \ + grep -q 'project\s*=' .machine_readable/descriptiles/STATE.a2ml && \ echo "STATE.a2ml: valid" || echo "STATE.a2ml: INVALID (missing required sections)"; \ else \ - echo "No .machine_readable/STATE.a2ml found"; \ + echo "No .machine_readable/descriptiles/STATE.a2ml found"; \ fi # Validate AI installation guide completeness (finishbot pre-release check) @@ -1170,14 +1170,14 @@ validate: validate-rsr validate-state validate-ai-install # Update STATE.a2ml timestamp state-touch: - @if [ -f ".machine_readable/STATE.a2ml" ]; then \ - sed -i 's/last-updated = "[^"]*"/last-updated = "'"$(date +%Y-%m-%d)"'"/' .machine_readable/STATE.a2ml && \ + @if [ -f ".machine_readable/descriptiles/STATE.a2ml" ]; then \ + sed -i 's/last-updated = "[^"]*"/last-updated = "'"$(date +%Y-%m-%d)"'"/' .machine_readable/descriptiles/STATE.a2ml && \ echo "STATE.a2ml timestamp updated"; \ fi # Show current phase from STATE.a2ml state-phase: - @grep -oP 'phase\s*=\s*"\K[^"]+' .machine_readable/STATE.a2ml 2>/dev/null | head -1 || echo "unknown" + @grep -oP 'phase\s*=\s*"\K[^"]+' .machine_readable/descriptiles/STATE.a2ml 2>/dev/null | head -1 || echo "unknown" # ═══════════════════════════════════════════════════════════════════════════════ # GUIX & NIX diff --git a/.machine_readable/contractiles/Mustfile.a2ml b/.machine_readable/contractiles/Mustfile.a2ml index 55f8ab4..eec0744 100644 --- a/.machine_readable/contractiles/Mustfile.a2ml +++ b/.machine_readable/contractiles/Mustfile.a2ml @@ -62,13 +62,13 @@ hooks fail if any check fails. - severity: critical ### six-directory-present -- description: 6a2 directory exists with required files -- run: test -d .machine_readable/6a2 && test -f .machine_readable/6a2/META.a2ml && test -f .machine_readable/6a2/ECOSYSTEM.a2ml && test -f .machine_readable/6a2/STATE.a2ml && test -f .machine_readable/6a2/PLAYBOOK.a2ml && test -f .machine_readable/6a2/AGENTIC.a2ml && test -f .machine_readable/6a2/NEUROSYM.a2ml +- description: core A2ML files exist in .machine_readable/descriptiles/ +- run: test -f .machine_readable/descriptiles/META.a2ml && test -f .machine_readable/descriptiles/ECOSYSTEM.a2ml && test -f .machine_readable/descriptiles/STATE.a2ml && test -f .machine_readable/descriptiles/PLAYBOOK.a2ml && test -f .machine_readable/descriptiles/AGENTIC.a2ml && test -f .machine_readable/descriptiles/NEUROSYM.a2ml - severity: critical ### anchors-directory -- description: anchors directory exists in 6a2 -- run: test -d .machine_readable/6a2/anchors +- description: anchors directory exists in .machine_readable/ +- run: test -d .machine_readable/anchors - severity: warning ### self-validating-structure diff --git a/.machine_readable/6a2/AGENTIC.a2ml b/.machine_readable/descriptiles/AGENTIC.a2ml similarity index 100% rename from .machine_readable/6a2/AGENTIC.a2ml rename to .machine_readable/descriptiles/AGENTIC.a2ml diff --git a/.machine_readable/6a2/ECOSYSTEM.a2ml b/.machine_readable/descriptiles/ECOSYSTEM.a2ml similarity index 100% rename from .machine_readable/6a2/ECOSYSTEM.a2ml rename to .machine_readable/descriptiles/ECOSYSTEM.a2ml diff --git a/.machine_readable/6a2/META.a2ml b/.machine_readable/descriptiles/META.a2ml similarity index 100% rename from .machine_readable/6a2/META.a2ml rename to .machine_readable/descriptiles/META.a2ml diff --git a/.machine_readable/6a2/NEUROSYM.a2ml b/.machine_readable/descriptiles/NEUROSYM.a2ml similarity index 100% rename from .machine_readable/6a2/NEUROSYM.a2ml rename to .machine_readable/descriptiles/NEUROSYM.a2ml diff --git a/.machine_readable/6a2/PLAYBOOK.a2ml b/.machine_readable/descriptiles/PLAYBOOK.a2ml similarity index 93% rename from .machine_readable/6a2/PLAYBOOK.a2ml rename to .machine_readable/descriptiles/PLAYBOOK.a2ml index 9b97cca..30cc636 100644 --- a/.machine_readable/6a2/PLAYBOOK.a2ml +++ b/.machine_readable/descriptiles/PLAYBOOK.a2ml @@ -14,7 +14,7 @@ notes = "This repo is a template and is not 'deployed' in the traditional sense. [incident-response] steps = [ "1. Read 0-AI-MANIFEST.a2ml for canonical locations.", - "2. Check .machine_readable/6a2/STATE.a2ml for active blockers.", + "2. Check .machine_readable/descriptiles/STATE.a2ml for active blockers.", "3. Run `just validate-rsr` to check for standards regressions.", "4. If standards have drifted, consult developer-ecosystem/standards for the source of truth.", ] diff --git a/.machine_readable/6a2/STATE.a2ml b/.machine_readable/descriptiles/STATE.a2ml similarity index 100% rename from .machine_readable/6a2/STATE.a2ml rename to .machine_readable/descriptiles/STATE.a2ml diff --git a/.machine_readable/policies/MAINTENANCE-AXES.a2ml b/.machine_readable/policies/MAINTENANCE-AXES.a2ml index 009a6d0..1d94c5e 100644 --- a/.machine_readable/policies/MAINTENANCE-AXES.a2ml +++ b/.machine_readable/policies/MAINTENANCE-AXES.a2ml @@ -18,7 +18,7 @@ machine-entrypoints = [ ".machine_readable/policies/MAINTENANCE-AXES.a2ml", ".machine_readable/policies/MAINTENANCE-CHECKLIST.a2ml", ".machine_readable/policies/SOFTWARE-DEVELOPMENT-APPROACH.a2ml", - ".machine_readable/META.a2ml", + ".machine_readable/descriptiles/META.a2ml", ".machine_readable/ai/README.adoc", ".machine_readable/bot_directives/README.scm", ] diff --git a/.machine_readable/self-validating/methodology-guard.k9.ncl b/.machine_readable/self-validating/methodology-guard.k9.ncl index 9e8d062..616493d 100644 --- a/.machine_readable/self-validating/methodology-guard.k9.ncl +++ b/.machine_readable/self-validating/methodology-guard.k9.ncl @@ -43,7 +43,7 @@ let methodology_guard = { state_not_template = { description = "STATE.a2ml must not contain template placeholders", severity = "warning", - file = ".machine_readable/6a2/STATE.a2ml", + file = ".machine_readable/descriptiles/STATE.a2ml", reject_patterns = ["{{PLACEHOLDER}}", "Proof Burrower", "rsr-template-repo"], }, diff --git a/0-AI-MANIFEST.a2ml b/0-AI-MANIFEST.a2ml index 67602b1..9d677df 100644 --- a/0-AI-MANIFEST.a2ml +++ b/0-AI-MANIFEST.a2ml @@ -11,9 +11,9 @@ This is the AI manifest for **rsr-template-repo**. It declares: ## CANONICAL LOCATIONS (UNIVERSAL RULE) -### Machine-Readable Metadata: `.machine_readable/6a2/` ONLY +### Machine-Readable Metadata: `.machine_readable/` ONLY -These 6 A2ML files MUST exist in `.machine_readable/6a2/` directory ONLY: +These 6 A2ML files MUST exist in `.machine_readable/` directory ONLY: 1. **STATE.a2ml** - Project state, progress, blockers 2. **META.a2ml** - Architecture decisions, governance 3. **ECOSYSTEM.a2ml** - Position in ecosystem, relationships @@ -41,7 +41,7 @@ Bot-specific instructions for: ## CORE INVARIANTS 1. **No A2ML duplication** - Root and `.machine_readable/` must NOT contain 6A2 files. -2. **Single source of truth** - `.machine_readable/6a2/` is authoritative. +2. **Single source of truth** - `.machine_readable/` is authoritative. 3. **No stale metadata** - If root A2ML files exist, they are OUT OF DATE. 4. **License consistency** - All code MPL-2.0 unless platform requires MPL-2.0. 5. **Author attribution** - Always "Jonathan D.A. Jewell ". @@ -56,7 +56,7 @@ rsr-template-repo/ ├── README.adoc # Project overview ├── [source/config files] # Template scaffolding ├── .machine_readable/ -│ ├── 6a2/ # A2ML files (6 files) +│ ├── *.a2ml # A2ML files (6 files) │ │ ├── STATE.a2ml │ │ ├── META.a2ml │ │ ├── ECOSYSTEM.a2ml @@ -72,19 +72,19 @@ rsr-template-repo/ ### on-enter (Session Start) 1. Read and acknowledge this manifest. -2. Read `.machine_readable/6a2/STATE.a2ml` for current status and v2 phase. +2. Read `.machine_readable/descriptiles/STATE.a2ml` for current status and v2 phase. 3. State understanding of canonical locations. ### on-exit (Session End) -1. Update `.machine_readable/6a2/STATE.a2ml` (v2 format). +1. Update `.machine_readable/descriptiles/STATE.a2ml` (v2 format). 2. Summarize outcomes and record new blockers if any. ## ATTESTATION PROOF After reading this file, demonstrate understanding by stating: -**"I have read the AI manifest. A2ML files are located in `.machine_readable/6a2/` ONLY, bot directives in `.bot_directives/`, and I will not create duplicate files in the root directory."** +**"I have read the AI manifest. A2ML files are located in `.machine_readable/` ONLY, bot directives in `.bot_directives/`, and I will not create duplicate files in the root directory."** ## META diff --git a/Justfile b/Justfile index 253a1aa..1084698 100644 --- a/Justfile +++ b/Justfile @@ -53,7 +53,7 @@ info: @echo "Version: {{version}}" @echo "RSR Tier: {{tier}}" @echo "Recipes: $(just --summary | wc -w)" - @[ -f ".machine_readable/STATE.a2ml" ] && grep -oP 'phase\s*=\s*"\K[^"]+' .machine_readable/STATE.a2ml | head -1 | xargs -I{} echo "Phase: {}" || true + @[ -f ".machine_readable/descriptiles/STATE.a2ml" ] && grep -oP 'phase\s*=\s*"\K[^"]+' .machine_readable/descriptiles/STATE.a2ml | head -1 | xargs -I{} echo "Phase: {}" || true # Run Invariant Path overlay tools for this repository invariant-path *ARGS: @@ -346,7 +346,7 @@ verify-template: fi # Check for empty SCM files - for f in .machine_readable/6a2/STATE.a2ml .machine_readable/6a2/META.a2ml .machine_readable/6a2/ECOSYSTEM.a2ml; do + for f in .machine_readable/descriptiles/STATE.a2ml .machine_readable/descriptiles/META.a2ml .machine_readable/descriptiles/ECOSYSTEM.a2ml; do if [ -f "$f" ] && grep -q '{{'{{'}}' "$f" 2>/dev/null; then echo "⚠ $f still has template placeholders" FOUND=1 @@ -404,10 +404,10 @@ self-assess: fi done - if [ -d ".machine_readable/6a2" ]; then - echo " ✓ .machine_readable/6a2/ — KEEP (SCM checkpoint files)" + if [ -d ".machine_readable" ]; then + echo " ✓ .machine_readable/ — KEEP (SCM checkpoint files)" else - echo " ✗ .machine_readable/6a2/ — MISSING (RSR violation!)" + echo " ✗ .machine_readable/ — MISSING (RSR violation!)" fi if [ -d ".github/workflows" ]; then @@ -560,9 +560,9 @@ verify: check_file "LICENSE" check_either "CONTRIBUTING.md" "CONTRIBUTING.adoc" check_either "README.adoc" "README.md" - check_file ".machine_readable/STATE.a2ml" - check_file ".machine_readable/META.a2ml" - check_file ".machine_readable/ECOSYSTEM.a2ml" + check_file ".machine_readable/descriptiles/STATE.a2ml" + check_file ".machine_readable/descriptiles/META.a2ml" + check_file ".machine_readable/descriptiles/ECOSYSTEM.a2ml" check_either "CHANGELOG.md" "CHANGELOG.adoc" # Check at least 1 workflow exists @@ -1052,7 +1052,7 @@ validate-rsr: for f in .editorconfig .gitignore Justfile README.adoc LICENSE 0-AI-MANIFEST.a2ml; do [ -f "$f" ] || MISSING="$MISSING $f" done - for f in .machine_readable/STATE.a2ml .machine_readable/META.a2ml .machine_readable/ECOSYSTEM.a2ml .machine_readable/anchors/ANCHOR.a2ml .machine_readable/policies/MAINTENANCE-AXES.a2ml .machine_readable/policies/MAINTENANCE-CHECKLIST.a2ml .machine_readable/policies/SOFTWARE-DEVELOPMENT-APPROACH.a2ml; do + for f in .machine_readable/descriptiles/STATE.a2ml .machine_readable/descriptiles/META.a2ml .machine_readable/descriptiles/ECOSYSTEM.a2ml .machine_readable/anchors/ANCHOR.a2ml .machine_readable/policies/MAINTENANCE-AXES.a2ml .machine_readable/policies/MAINTENANCE-CHECKLIST.a2ml .machine_readable/policies/SOFTWARE-DEVELOPMENT-APPROACH.a2ml; do [ -f "$f" ] || MISSING="$MISSING $f" done for f in licensing/exhibits/EXHIBIT-A-ETHICAL-USE.txt licensing/exhibits/EXHIBIT-B-QUANTUM-SAFE.txt licensing/texts/MPL-2.0.txt; do @@ -1067,15 +1067,15 @@ validate-rsr: for f in docs/governance/MAINTENANCE-CHECKLIST.adoc docs/governance/SOFTWARE-DEVELOPMENT-APPROACH.adoc; do [ -f "$f" ] || MISSING="$MISSING $f" done - if [ -f ".machine_readable/META.a2ml" ]; then - grep -q 'axis-1 = "must > intend > like"' .machine_readable/META.a2ml || MISSING="$MISSING META.a2ml:axis-1" - grep -q 'axis-2 = "corrective > adaptive > perfective"' .machine_readable/META.a2ml || MISSING="$MISSING META.a2ml:axis-2" - grep -q 'axis-3 = "systems > compliance > effects"' .machine_readable/META.a2ml || MISSING="$MISSING META.a2ml:axis-3" - grep -q 'scoping-first = true' .machine_readable/META.a2ml || MISSING="$MISSING META.a2ml:scoping-first" - grep -q 'idris-unsound-scan = "believe_me/assert_total"' .machine_readable/META.a2ml || MISSING="$MISSING META.a2ml:idris-unsound-scan" - grep -q 'audit-focus = "systems in place, documentation explains actual state, safety/security accounted for, observed effects reviewed"' .machine_readable/META.a2ml || MISSING="$MISSING META.a2ml:audit-focus" - grep -q 'compliance-focus = "seams/compromises/exception register, bounded exceptions, anti-drift checks"' .machine_readable/META.a2ml || MISSING="$MISSING META.a2ml:compliance-focus" - grep -q 'effects-evidence = "benchmark execution/results and maintainer status dialogue/review"' .machine_readable/META.a2ml || MISSING="$MISSING META.a2ml:effects-evidence" + if [ -f ".machine_readable/descriptiles/META.a2ml" ]; then + grep -q 'axis-1 = "must > intend > like"' .machine_readable/descriptiles/META.a2ml || MISSING="$MISSING META.a2ml:axis-1" + grep -q 'axis-2 = "corrective > adaptive > perfective"' .machine_readable/descriptiles/META.a2ml || MISSING="$MISSING META.a2ml:axis-2" + grep -q 'axis-3 = "systems > compliance > effects"' .machine_readable/descriptiles/META.a2ml || MISSING="$MISSING META.a2ml:axis-3" + grep -q 'scoping-first = true' .machine_readable/descriptiles/META.a2ml || MISSING="$MISSING META.a2ml:scoping-first" + grep -q 'idris-unsound-scan = "believe_me/assert_total"' .machine_readable/descriptiles/META.a2ml || MISSING="$MISSING META.a2ml:idris-unsound-scan" + grep -q 'audit-focus = "systems in place, documentation explains actual state, safety/security accounted for, observed effects reviewed"' .machine_readable/descriptiles/META.a2ml || MISSING="$MISSING META.a2ml:audit-focus" + grep -q 'compliance-focus = "seams/compromises/exception register, bounded exceptions, anti-drift checks"' .machine_readable/descriptiles/META.a2ml || MISSING="$MISSING META.a2ml:compliance-focus" + grep -q 'effects-evidence = "benchmark execution/results and maintainer status dialogue/review"' .machine_readable/descriptiles/META.a2ml || MISSING="$MISSING META.a2ml:effects-evidence" grep -q 'compliance-tooling = "panic-attack"' .machine_readable/policies/MAINTENANCE-AXES.a2ml || MISSING="$MISSING MAINTENANCE-AXES.a2ml:compliance-tooling" grep -q 'effects-tooling = "ecological checking with sustainabot guidance"' .machine_readable/policies/MAINTENANCE-AXES.a2ml || MISSING="$MISSING MAINTENANCE-AXES.a2ml:effects-tooling" grep -q 'source-human = "docs/governance/MAINTENANCE-CHECKLIST.adoc"' .machine_readable/policies/MAINTENANCE-CHECKLIST.a2ml || MISSING="$MISSING MAINTENANCE-CHECKLIST.a2ml:source-human" @@ -1089,12 +1089,12 @@ validate-rsr: # Validate STATE.a2ml syntax validate-state: - @if [ -f ".machine_readable/STATE.a2ml" ]; then \ - grep -q '^\[metadata\]' .machine_readable/STATE.a2ml && \ - grep -q 'project\s*=' .machine_readable/STATE.a2ml && \ + @if [ -f ".machine_readable/descriptiles/STATE.a2ml" ]; then \ + grep -q '^\[metadata\]' .machine_readable/descriptiles/STATE.a2ml && \ + grep -q 'project\s*=' .machine_readable/descriptiles/STATE.a2ml && \ echo "STATE.a2ml: valid" || echo "STATE.a2ml: INVALID (missing required sections)"; \ else \ - echo "No .machine_readable/STATE.a2ml found"; \ + echo "No .machine_readable/descriptiles/STATE.a2ml found"; \ fi # Validate AI installation guide completeness (finishbot pre-release check) @@ -1171,14 +1171,14 @@ validate: validate-rsr validate-state validate-ai-install # Update STATE.a2ml timestamp state-touch: - @if [ -f ".machine_readable/STATE.a2ml" ]; then \ - sed -i 's/last-updated = "[^"]*"/last-updated = "'"$(date +%Y-%m-%d)"'"/' .machine_readable/STATE.a2ml && \ + @if [ -f ".machine_readable/descriptiles/STATE.a2ml" ]; then \ + sed -i 's/last-updated = "[^"]*"/last-updated = "'"$(date +%Y-%m-%d)"'"/' .machine_readable/descriptiles/STATE.a2ml && \ echo "STATE.a2ml timestamp updated"; \ fi # Show current phase from STATE.a2ml state-phase: - @grep -oP 'phase\s*=\s*"\K[^"]+' .machine_readable/STATE.a2ml 2>/dev/null | head -1 || echo "unknown" + @grep -oP 'phase\s*=\s*"\K[^"]+' .machine_readable/descriptiles/STATE.a2ml 2>/dev/null | head -1 || echo "unknown" # ═══════════════════════════════════════════════════════════════════════════════ # GUIX & NIX diff --git a/READINESS.adoc b/READINESS.adoc index 210e67d..d216bce 100644 --- a/READINESS.adoc +++ b/READINESS.adoc @@ -36,7 +36,7 @@ ____ *Evidence gates (v2.0 is stricter than v1.0):* * *D*: RSR-compliant + per-capability tests + documented scope. Test -matrix must cite counts and live in `+.machine_readable/6a2/STATE.a2ml+` +matrix must cite counts and live in `+.machine_readable/descriptiles/STATE.a2ml+` or CI. * *C*: All of D, plus active dogfooding in home context with *no known home-context failures over an evidence window*, plus *deep per-file and @@ -63,7 +63,7 @@ Below B, any publication must be explicitly abstract or provisional. [width="100%",cols="36%,30%,34%",options="header",] |=== |Metric |Value |Source -|Test count |__ |`+.machine_readable/6a2/STATE.a2ml+` or CI +|Test count |__ |`+.machine_readable/descriptiles/STATE.a2ml+` or CI |Formal-verification posture |__ |grep of proof dirs @@ -200,7 +200,7 @@ assessment>_. from `+rsr-template-repo/docs/governance/CRG-AUDIT-TEMPLATE.adoc+`). * `+docs/practice/DOGFOOD-LOG.adoc+` — dated dogfood evidence (required for C). -* `+.machine_readable/6a2/STATE.a2ml+` — authoritative state (canonical +* `+.machine_readable/descriptiles/STATE.a2ml+` — authoritative state (canonical keys `+[dogfooding-status]+`, `+[external-targets]+`, `+[issues-fed-back]+`, `+[field-signal]+`). diff --git a/affinescript/.machine_readable/6a2/META.a2ml b/affinescript/.machine_readable/6a2/META.a2ml index 2952ea3..efecf35 100644 --- a/affinescript/.machine_readable/6a2/META.a2ml +++ b/affinescript/.machine_readable/6a2/META.a2ml @@ -483,10 +483,10 @@ consequences = """ form across format passes. """ references = [ - ".machine_readable/6a2/STATE.a2ml [track-a-manhattan]", - ".machine_readable/6a2/STATE.a2ml [[open-bug]] BUG-001", - ".machine_readable/6a2/STATE.a2ml [[open-bug]] BUG-002", - ".machine_readable/6a2/META.a2ml [[adr]] ADR-002 (scaled Let rule)", + ".machine_readable/descriptiles/STATE.a2ml [track-a-manhattan]", + ".machine_readable/descriptiles/STATE.a2ml [[open-bug]] BUG-001", + ".machine_readable/descriptiles/STATE.a2ml [[open-bug]] BUG-002", + ".machine_readable/descriptiles/META.a2ml [[adr]] ADR-002 (scaled Let rule)", "lib/ast.ml ExprLet (lines 105-111), StmtLet (lines 170-176)", "lib/lexer.ml (ZERO/ONE never emitted)", "lib/parser.mly quantity rule (lines 180-183)", diff --git a/affinescript/.machine_readable/6a2/PLAYBOOK.a2ml b/affinescript/.machine_readable/6a2/PLAYBOOK.a2ml index 5003fd0..b9215be 100644 --- a/affinescript/.machine_readable/6a2/PLAYBOOK.a2ml +++ b/affinescript/.machine_readable/6a2/PLAYBOOK.a2ml @@ -11,7 +11,7 @@ last-updated = "2026-04-11" # target = "container" # container | binary | library | wasm [incident-response] -# 1. Check .machine_readable/STATE.a2ml for current status +# 1. Check .machine_readable/descriptiles/STATE.a2ml for current status # 2. Review recent commits and CI results # 3. Run `just validate` to check compliance # 4. Run `just security` to audit for vulnerabilities diff --git a/affinescript/.machine_readable/anchors/ANCHOR.a2ml b/affinescript/.machine_readable/anchors/ANCHOR.a2ml index c45b6d6..66ff739 100644 --- a/affinescript/.machine_readable/anchors/ANCHOR.a2ml +++ b/affinescript/.machine_readable/anchors/ANCHOR.a2ml @@ -61,7 +61,7 @@ thesis: authorities: scope-statement: - - ".machine_readable/6a2/META.a2ml (ADRs)" + - ".machine_readable/descriptiles/META.a2ml (ADRs)" - "~/Desktop/Frontier_Programming_Practices_AffineScript/AI.a2ml (v2.0)" human-guide: diff --git a/affinescript/README.adoc b/affinescript/README.adoc index 16eac26..dbd17ff 100644 --- a/affinescript/README.adoc +++ b/affinescript/README.adoc @@ -15,7 +15,7 @@ image:https://img.shields.io/badge/Powered%20By-Gossamer%20%26%20Burble-orange.s [NOTE] ==== -*Honest status sync (2026-04-12):* Affine/QTT and borrow checking are wired into the CLI pipeline (`check`, `compile`, `eval`) and gate user programs today. Specifically, `Typecheck.check_program`, `Borrow.check_program`, and `Quantity.check_program_quantities` are all invoked from `bin/main.ml`. Dependent/refinement types remain parse-first (predicates do not reduce yet), and codegen backends still have feature gaps (notably effect-handler lowering in Wasm backends). See `.machine_readable/6a2/STATE.a2ml` `[features]` for the authoritative per-feature status. +*Honest status sync (2026-04-12):* Affine/QTT and borrow checking are wired into the CLI pipeline (`check`, `compile`, `eval`) and gate user programs today. Specifically, `Typecheck.check_program`, `Borrow.check_program`, and `Quantity.check_program_quantities` are all invoked from `bin/main.ml`. Dependent/refinement types remain parse-first (predicates do not reduce yet), and codegen backends still have feature gaps (notably effect-handler lowering in Wasm backends). See `.machine_readable/descriptiles/STATE.a2ml` `[features]` for the authoritative per-feature status. ==== AffineScript is the only language that combines affine types, quantitative type theory, row polymorphism, and algebraic effects in a single practical systems language. This means you can write game code where the compiler *proves* your protocol states, resource lifecycles, and effect boundaries are correct -- with syntax that feels like a modern game scripting language, not a theorem prover. @@ -325,7 +325,7 @@ _build/default/bin/main.exe check --json test/e2e/fixtures/affine_basic.affine == Project Status -**Status sync (2026-04-12):** This section is aligned with `.machine_readable/6a2/STATE.a2ml`. +**Status sync (2026-04-12):** This section is aligned with `.machine_readable/descriptiles/STATE.a2ml`. Core affine/QTT and borrow gates are live in the standard CLI paths. Dependent/refinement types are still parse-only. Effects run in the interpreter; Wasm backend support is still partial for handlers/resume semantics. **Bridge layer developers: use the typed channel workaround documented in `docs/WASM-EFFECT-HANDLER-WORKAROUND.md`.** NOTE: The standard file extension for AffineScript source is `.affine`. @@ -393,7 +393,7 @@ AffineScript is in active development with active weekly commits and a passing ` === Next Priorities (Post-Sync) The immediate priorities are execution and drift control: -* Keep `README`, `ROADMAP`, `COMPILER-CAPABILITIES`, and `.machine_readable/6a2/STATE.a2ml` synchronized on each feature milestone. +* Keep `README`, `ROADMAP`, `COMPILER-CAPABILITIES`, and `.machine_readable/descriptiles/STATE.a2ml` synchronized on each feature milestone. * Finish parser/README/example syntax convergence around effects and quantity annotations. * Close remaining backend gaps for effect handler lowering so interpreter and Wasm behavior converge. * Keep `examples/` parse-checkable in CI to prevent documentation drift from reappearing. diff --git a/affinescript/ROADMAP.adoc b/affinescript/ROADMAP.adoc index 3b7e494..3cca81e 100644 --- a/affinescript/ROADMAP.adoc +++ b/affinescript/ROADMAP.adoc @@ -12,7 +12,7 @@ Historical development plan from the January 2026 baseline. ==== Status sync note (2026-04-12): This file contains historical planning text and is not the authoritative source for current feature readiness. Use -`.machine_readable/6a2/STATE.a2ml` for live status (including affine/QTT +`.machine_readable/descriptiles/STATE.a2ml` for live status (including affine/QTT wiring, borrow-checker gating, effect handling status, row polymorphism, and dependent/refinement progress). ==== diff --git a/affinescript/docs/BRIDGE-DECISIONS.adoc b/affinescript/docs/BRIDGE-DECISIONS.adoc index 21ff475..b945201 100644 --- a/affinescript/docs/BRIDGE-DECISIONS.adoc +++ b/affinescript/docs/BRIDGE-DECISIONS.adoc @@ -50,7 +50,7 @@ Dirty-rects contain coordinates and version numbers only - Frontend accesses pixel data via typed region reference (L12 freshness) - Full implementation: docs/WASM-EFFECT-HANDLER-WORKAROUND.md -*Migration Path*: - Monitor Ephapax `+.machine_readable/6a2/STATE.a2ml+` +*Migration Path*: - Monitor Ephapax `+.machine_readable/descriptiles/STATE.a2ml+` - Replace channels with effect handlers when lowering is complete - Traffic class separation preserved regardless of transport mechanism diff --git a/affinescript/docs/EFFECTS-IMPLEMENTATION.adoc b/affinescript/docs/EFFECTS-IMPLEMENTATION.adoc index 33faa22..f2ea9e5 100644 --- a/affinescript/docs/EFFECTS-IMPLEMENTATION.adoc +++ b/affinescript/docs/EFFECTS-IMPLEMENTATION.adoc @@ -3,7 +3,7 @@ === Status Sync (2026-04-12) This document tracks the implementation status of algebraic effects in -AffineScript and is aligned with `+.machine_readable/6a2/STATE.a2ml+`. +AffineScript and is aligned with `+.machine_readable/descriptiles/STATE.a2ml+`. === Syntax (Current Parser Form) diff --git a/affinescript/docs/WASM-EFFECT-HANDLER-WORKAROUND.adoc b/affinescript/docs/WASM-EFFECT-HANDLER-WORKAROUND.adoc index b60ce4d..0aac788 100644 --- a/affinescript/docs/WASM-EFFECT-HANDLER-WORKAROUND.adoc +++ b/affinescript/docs/WASM-EFFECT-HANDLER-WORKAROUND.adoc @@ -387,7 +387,7 @@ until effect handler lowering is complete. === Migration Trigger *When to migrate*: Only when Ephapax -`+.machine_readable/6a2/STATE.a2ml+` confirms effect-handler lowering in +`+.machine_readable/descriptiles/STATE.a2ml+` confirms effect-handler lowering in WASM targets is complete. *What changes*: Transport mechanism only (channels → effect handlers). diff --git a/affinescript/docs/history/TYPECHECKER-COMPLETION-2026-01-23.adoc b/affinescript/docs/history/TYPECHECKER-COMPLETION-2026-01-23.adoc index 37c8301..a38474a 100644 --- a/affinescript/docs/history/TYPECHECKER-COMPLETION-2026-01-23.adoc +++ b/affinescript/docs/history/TYPECHECKER-COMPLETION-2026-01-23.adoc @@ -1,6 +1,6 @@ ____ Historical snapshot from 2026-01-23. Superseded by -.machine_readable/6a2/STATE.a2ml. Retained for audit trail only. +.machine_readable/descriptiles/STATE.a2ml. Retained for audit trail only. ____ == Type Checker Completion Report diff --git a/affinescript/docs/spec.adoc b/affinescript/docs/spec.adoc index 78c408b..d756621 100644 --- a/affinescript/docs/spec.adoc +++ b/affinescript/docs/spec.adoc @@ -12,7 +12,7 @@ project. *The authoritative current scope lives in:* - `+.machine_readable/anchors/ANCHOR.a2ml+` (canonical identity + thesis) -- `+.machine_readable/6a2/META.a2ml+` (architecture decision records) - +- `+.machine_readable/descriptiles/META.a2ml+` (architecture decision records) - `+~/Desktop/Frontier_Programming_Practices_AffineScript/AI.a2ml+` (v2.0) - `+~/Desktop/Frontier_Programming_Practices_AffineScript/Human_Programming_Guide.adoc+` diff --git a/affinescript/docs/specs/SETTLED-DECISIONS.adoc b/affinescript/docs/specs/SETTLED-DECISIONS.adoc index 64c13f8..d1f98fa 100644 --- a/affinescript/docs/specs/SETTLED-DECISIONS.adoc +++ b/affinescript/docs/specs/SETTLED-DECISIONS.adoc @@ -8,7 +8,7 @@ Jonathan D.A. Jewell This document records design decisions that are fully settled. Each entry gives the decision, the reasoning, and a pointer to the full ADR in -`.machine_readable/6a2/META.a2ml`. +`.machine_readable/descriptiles/META.a2ml`. These are not open questions. Do not reopen them without amending the ADR. diff --git a/docs/RSR_OUTLINE.adoc b/docs/RSR_OUTLINE.adoc index f6e9a9a..b2b1603 100644 --- a/docs/RSR_OUTLINE.adoc +++ b/docs/RSR_OUTLINE.adoc @@ -217,7 +217,7 @@ project/ * `Justfile` * `README.adoc` * `LICENSE` (MPL-2.0) -* `.machine_readable/STATE.a2ml` +* `.machine_readable/descriptiles/STATE.a2ml` * `.well-known/security.txt` * `.well-known/ai.txt` * `.well-known/humans.txt` diff --git a/docs/governance/CRG-AUDIT-TEMPLATE.adoc b/docs/governance/CRG-AUDIT-TEMPLATE.adoc index e7479db..1a64d92 100644 --- a/docs/governance/CRG-AUDIT-TEMPLATE.adoc +++ b/docs/governance/CRG-AUDIT-TEMPLATE.adoc @@ -24,7 +24,7 @@ Evaluates the `proof-burrower` repository against - Standard: `standards/component-readiness-grades/COMPONENT-READINESS-GRADES.md` - Template (criteria boilerplate): `rsr-template-repo/docs/governance/CRG-CRITERIA.adoc` - Self-declared grade (prior art): - * `.machine_readable/6a2/STATE.a2ml` → `grade = ""` + * `.machine_readable/descriptiles/STATE.a2ml` → `grade = ""` * `docs/READINESS.md` (if present) → per-component grades * Third-party badges (Glama, OpenSSF, etc.) if any — note date and scope - Audit date: 2026-04-26 @@ -64,7 +64,7 @@ Do *not* mark PRESENT without citing the path. | PRESENT / PARTIAL (count) / ABSENT | `.github/workflows/` -| `.machine_readable/6a2/` canonical A2ML +| `.machine_readable/` canonical A2ML | PRESENT (STATE, META, ECOSYSTEM, AGENTIC, NEUROSYM, PLAYBOOK) / ABSENT | Layout matches CLAUDE.md invariant @@ -143,7 +143,7 @@ RSR compliance verdict: *met* / *partial* / *not met* — Grade D floor satisfie Cite *from authoritative source* (STATE.a2ml or CI log). Do not re-count by filesystem grep — grade the evidence that already exists. -- `total-tests = N` (from `.machine_readable/6a2/STATE.a2ml` or CI). +- `total-tests = N` (from `.machine_readable/descriptiles/STATE.a2ml` or CI). - Breakdown by suite: list each named suite and its count. - CI: `.github/workflows/.yml` runs on push / tag / schedule. - Last green run: date + commit SHA. @@ -280,7 +280,7 @@ them. Examples: == Related Files - `docs/READINESS.md` — per-component table. Note v1.0-vs-v2.0 schema alignment. -- `.machine_readable/6a2/STATE.a2ml` — authoritative self-declared state. +- `.machine_readable/descriptiles/STATE.a2ml` — authoritative self-declared state. - `docs/governance/CRG-LIFT-PLAN-2026-04-26.adoc` — companion plan for D→C (and medium-term C→B) lifts. - `docs/governance/CRG-CRITERIA.adoc` — boilerplate criteria doc. diff --git a/docs/practice/AI-CONVENTIONS.adoc b/docs/practice/AI-CONVENTIONS.adoc index a883654..ab8d658 100644 --- a/docs/practice/AI-CONVENTIONS.adoc +++ b/docs/practice/AI-CONVENTIONS.adoc @@ -12,12 +12,12 @@ Per-tool config files (.cursorrules, .clinerules, etc.) reference this document. ## Session Startup 1. Read `0-AI-MANIFEST.a2ml` FIRST (mandatory gatekeeper). -2. Read `.machine_readable/STATE.a2ml` for current status and blockers. +2. Read `.machine_readable/descriptiles/STATE.a2ml` for current status and blockers. 3. Read `.machine_readable/anchors/ANCHOR.a2ml` for canonical authority boundaries. 4. Read `.machine_readable/policies/MAINTENANCE-AXES.a2ml` for maintenance/audit sequencing. 5. Read `.machine_readable/policies/MAINTENANCE-CHECKLIST.a2ml` for baseline controls. 6. Read `.machine_readable/policies/SOFTWARE-DEVELOPMENT-APPROACH.a2ml` for execution order. -7. Read `.machine_readable/AGENTIC.a2ml` for agent constraints. +7. Read `.machine_readable/descriptiles/AGENTIC.a2ml` for agent constraints. ## License @@ -79,8 +79,8 @@ Use `just` (Justfile) for all build, test, lint, and format tasks. ## References - `0-AI-MANIFEST.a2ml` -- universal AI entry point -- `.machine_readable/AGENTIC.a2ml` -- agent permissions and constraints -- `.machine_readable/STATE.a2ml` -- current project state +- `.machine_readable/descriptiles/AGENTIC.a2ml` -- agent permissions and constraints +- `.machine_readable/descriptiles/STATE.a2ml` -- current project state - `.machine_readable/anchors/ANCHOR.a2ml` -- canonical authority and policy boundary - `.machine_readable/policies/MAINTENANCE-AXES.a2ml` -- canonical axis sequencing and audit requirements - `.machine_readable/policies/MAINTENANCE-CHECKLIST.a2ml` -- baseline maintenance checklist policy diff --git a/scripts/validate-template.sh b/scripts/validate-template.sh index f053202..f540d19 100755 --- a/scripts/validate-template.sh +++ b/scripts/validate-template.sh @@ -115,9 +115,9 @@ echo "" log_info "Phase 2: Machine-readable metadata (.machine_readable/)" echo "" -check_file_exists ".machine_readable/STATE.a2ml" "Project state" -check_file_exists ".machine_readable/META.a2ml" "Architecture decisions" -check_file_exists ".machine_readable/ECOSYSTEM.a2ml" "Ecosystem position" +check_file_exists ".machine_readable/descriptiles/STATE.a2ml" "Project state" +check_file_exists ".machine_readable/descriptiles/META.a2ml" "Architecture decisions" +check_file_exists ".machine_readable/descriptiles/ECOSYSTEM.a2ml" "Ecosystem position" check_file_exists ".machine_readable/anchors/ANCHOR.a2ml" "Semantic boundary anchor" check_file_exists ".machine_readable/policies/MAINTENANCE-AXES.a2ml" "Maintenance axes" @@ -213,7 +213,7 @@ if [ "$(basename "$REPO_ROOT")" = "rsr-template-repo" ]; then log_pass "Skipping placeholder check for template repo" else # Check that key files don't have unresolved placeholders - for file in "$REPO_ROOT/README.adoc" "$REPO_ROOT/Justfile" "$REPO_ROOT/.machine_readable/STATE.a2ml"; do + for file in "$REPO_ROOT/README.adoc" "$REPO_ROOT/Justfile" "$REPO_ROOT/.machine_readable/descriptiles/STATE.a2ml"; do if [ -f "$file" ]; then if has_placeholder "$file"; then log_warning "File contains unresolved placeholders: $(basename "$file")" diff --git a/tests/e2e/template_instantiation_test.sh b/tests/e2e/template_instantiation_test.sh index 5cddfea..200ca83 100755 --- a/tests/e2e/template_instantiation_test.sh +++ b/tests/e2e/template_instantiation_test.sh @@ -234,8 +234,8 @@ done log_step "Verifying machine-readable metadata" METADATA_FILES=( - ".machine_readable/STATE.a2ml" - ".machine_readable/META.a2ml" + ".machine_readable/descriptiles/STATE.a2ml" + ".machine_readable/descriptiles/META.a2ml" ) for file in "${METADATA_FILES[@]}"; do