From 0718580adad421476009472f0659147d42fdfcb7 Mon Sep 17 00:00:00 2001 From: hyperpolymath <6759885+hyperpolymath@users.noreply.github.com> Date: Thu, 17 Sep 2026 20:07:14 +0000 Subject: [PATCH] reorg(1-formats): move the estate's read/write formats under 1-formats/ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit District 1 of the canon reorg — the second district taken end-to-end, after 0-canon (2.0.3). 11 plain moves, 261 inbound references rewritten, the map updated, GATE D green at entry_count 120. MOVED (11) did-you-actually-do-that -> 1-formats/sub-specs/did-you-actually-do-that/ a2ml-templates -> 1-formats/templates/ inline-annotations -> 1-formats/sub-specs/inline-annotations/ contractiles -> 1-formats/contractiles/ [COUPLED to the spine] deed -> 1-formats/deed/ [COUPLED to the spine] panll-panels -> 1-formats/sub-specs/panll-panels/ ensaid-config -> 1-formats/sub-specs/ensaid-config/ cartridges -> 1-formats/sub-specs/cartridges/ A2ML-REPO-TEMPLATE.adoc -> 1-formats/A2ML-REPO-TEMPLATE.adoc SATELLITES.a2ml -> 1-formats/SATELLITES.a2ml bindings-haskell -> 1-formats/sub-specs/bindings-haskell/ NO POINTERS YET (8, deliberately untouched): k9-svc -> 1-formats/k9/ and the seven *-a2ml profile dirs -> 1-formats/a2ml/. The map annotates these "(pointer)" — the standard relocates and the old path keeps a stub — but no pointer artefact exists in this repo to copy: a2ml/ was evicted outright on 2026-08-28 by 24a12d6f (the map's note says "finish the eviction or revert it") and no stub convention is defined anywhere in this tree. The mover reports and skips them rather than inventing one. Their paths are unchanged and still resolve, so this commit leaves no dangling state. NO VERSION BUMP. None of the five [canon.artifacts] bytes changed; GATE A assertion 1 confirms all five hashes still match, and the lock's own recorded precedent is that a relocation whose sha256 values are unchanged needs no bump. GATE A assertion 2 reports the no-change case rather than a violation. canon.lock: hand-edited, two lines (the mover protects this file because it mixes identifiers with paths — a sweep rewrites the slot KEY and doubles the slash; district 0 proved that). [canon.split-candidates] path values follow the move: deed-grammar path -> 1-formats/deed/spec/DEED-GRAMMAR-SPEC.adoc contractile-spec path -> 1-formats/contractiles/README.adoc Key names, slot names and sha256 values are untouched. Also fixed here, because the move exposed it: the ecosystem-a2ml scorecard named `.machine_readable/6a2/ECOSYSTEM.a2ml`. That directory no longer exists (it is `.machine_readable/descriptiles/`), and because this move rewrites another path on the same line, the line counts as ADDED — which scripts/check-canonical-names.sh correctly flags as reintroducing a deprecated name. The stale path is corrected to the real one rather than grandfathered. GATES (all run in this tree) scripts/check-standards-map.sh PASSED, entry_count 120 scripts/check-canon-lockstep.sh 8 passed / 0 failed / 2 skipped (4+5 skipped: no gh, no hypatia — advertised) check-canonical-names.sh rc=0 (rc=1 before the scorecard fix) check-manifest-ply.sh rc=0 (control rc=1: the moved manifest's declared ply was deeper than its home) every other scripts/check-*.sh identical rc to the pristine control at 176d1f7 except the two above, both explained The map gains a record for the district root itself: GATE D assertion 2 requires every TOP-LEVEL entry to appear as some record's `from`, and a district move creates a new top-level entry. entry_count moves 119 -> 120 with it (assertion 5 counts records). Reference rewrite is path-shaped only: a bare word is never rewritten, so identifiers (`constitution` the canon.lock slot key, loop variables) are safe. Audit: 2647 files scanned, 0 references left pointing at an old path. --- .github/CODEOWNERS | 2 +- .github/workflows/dyadt-verify.yml | 2 +- .gitignore | 4 +- .hypatia-baseline.json | 2 +- .machine_readable/INTENT.contractile | 4 +- .machine_readable/MUST.contractile | 4 +- .machine_readable/REGISTRY.a2ml | 16 ++++---- .machine_readable/descriptiles/PLAYBOOK.a2ml | 2 +- .machine_readable/licensing-policy.toml | 2 +- .../contractile-layout-2026-04-18.a2ml | 4 +- .../scorecards/a2ml-templates.scorecard.a2ml | 2 +- .../scorecards/agentic-a2ml.scorecard.a2ml | 4 +- .../scorecards/anchor-a2ml.scorecard.a2ml | 4 +- .../scorecards/contractiles.scorecard.a2ml | 24 ++++++------ .../did-you-actually-do-that.scorecard.a2ml | 16 ++++---- .../scorecards/ecosystem-a2ml.scorecard.a2ml | 4 +- .../scorecards/ensaid-config.scorecard.a2ml | 4 +- .verisimdb/config.toml | 2 +- 0-AI-MANIFEST.a2ml | 2 +- .../contractiles/README.adoc | 2 +- 0-canon/CANONICAL-NAMES.adoc | 4 +- .../A2ML-REPO-TEMPLATE.adoc | 2 +- SATELLITES.a2ml => 1-formats/SATELLITES.a2ml | 0 .../contractiles}/CANONICAL-TEMPLATES.adoc | 24 ++++++------ .../contractiles}/README.adoc | 2 +- .../contractiles}/dust/Dustfile | 0 .../contractiles}/intend/Intentfile.a2ml | 0 .../contractiles}/must/Mustfile | 0 .../contractiles}/trust/Trustfile.a2ml | 0 {deed => 1-formats/deed}/README.adoc | 0 .../application-vnd.deed-registration.txt | 0 .../deed}/spec/DEED-GRAMMAR-SPEC.adoc | 0 .../deed}/spec/DEED-GRAMMAR-SPEC_v0.1.adoc | 0 .../deed}/spec/abnf/deed.abnf_v1.0 | 0 {deed => 1-formats/deed}/spec/abnf/deed.anbf | 0 .../.devcontainer/Containerfile | 0 .../cartridges}/0.2-AI-MANIFEST.a2ml | 0 .../cartridges}/CARTRIDGE-FORMAT.adoc | 4 +- .../sub-specs/cartridges}/cartridge-v1.json | 4 +- .../did-you-actually-do-that}/README.adoc | 4 +- .../docs/NAMING-RESOLUTION.adoc | 0 .../spec/CLAIM-FORMAT.adoc | 0 .../spec/CONSEQUENCE-LEDGER.adoc | 2 +- .../spec/VERIFICATION-PROTOCOL.adoc | 0 .../spec/conformance/README.adoc | 2 +- .../spec/conformance/always-match.a2ml | 0 .../spec/conformance/always-match.expected | 0 .../spec/conformance/confirmed-command.a2ml | 0 .../conformance/confirmed-command.expected | 0 .../spec/conformance/contains-fixture.a2ml | 2 +- .../conformance/contains-fixture.expected | 0 .../spec/conformance/fixture.txt | 0 .../conformance/incompatible-verifier.a2ml | 0 .../incompatible-verifier.expected | 0 .../conformance/licence-in-statement.a2ml | 0 .../conformance/licence-in-statement.expected | 0 .../spec/conformance/manual-licence.a2ml | 0 .../spec/conformance/manual-licence.expected | 0 .../spec/conformance/missing-field.a2ml | 0 .../spec/conformance/missing-field.expected | 0 .../spec/conformance/refuted-command.a2ml | 0 .../spec/conformance/refuted-command.expected | 0 .../spec/conformance/run-conformance.sh | 0 .../spec/conformance/unsafe-path.a2ml | 0 .../spec/conformance/unsafe-path.expected | 0 .../conformance/unverifiable-network.a2ml | 0 .../conformance/unverifiable-network.expected | 0 .../ensaid-config}/0-AI-MANIFEST.a2ml | 0 .../sub-specs/ensaid-config}/README.adoc | 0 .../spec/ENSAID-CONFIG-SPEC.adoc | 0 .../sub-specs/ensaid-config}/spec/README.adoc | 0 .../sub-specs/inline-annotations}/README.adoc | 0 .../sub-specs/inline-annotations}/SPEC.adoc | 2 +- .../examples/octad-mapping.a2ml | 0 .../inline-annotations}/examples/output.a2ml | 0 .../inline-annotations}/examples/sources.adoc | 0 .../inline-annotations}/extractor/Cargo.toml | 0 .../extractor/batch-extract.sh | 0 .../inline-annotations}/extractor/src/main.rs | 2 +- .../sub-specs/panll-panels}/README.adoc | 2 +- .../sub-specs/panll-panels}/manifest.json | 0 .../src/ComplianceMonitor.affine | 0 .../panll-panels}/src/CrgDashboard.affine | 0 .../panll-panels}/src/ProofHub.affine | 0 .../panll-panels}/src/VcldbClient.affine | 0 .../templates}/AGENTIC.a2ml.template | 0 .../templates}/ECOSYSTEM.a2ml.template | 0 .../templates}/META.a2ml.template | 0 .../templates}/NEUROSYM.a2ml.template | 0 .../templates}/PLAYBOOK.a2ml.template | 0 .../templates}/STATE.a2ml.template | 2 +- .../templates}/STATE.a2ml.v2.spec.adoc | 0 .../templates}/STATE.a2ml.v2.template | 0 .../templates}/state-migrate-v1-to-v2.sh | 2 +- .../templates}/state-scm-to-v2.jl | 0 CLAIMS.a2ml | 12 +++--- EXPLAINME.adoc | 2 +- Justfile | 2 +- LICENCE-POLICY.adoc | 2 +- QUICKSTART-USER.adoc | 4 +- README.adoc | 28 +++++++------- REORGANIZATION-PLAN.adoc | 4 +- TOOLING-VERSION-INTEGRITY-POLICY.adoc | 8 ++-- TOPOLOGY.adoc | 8 ++-- agentic-a2ml/contractiles/README.adoc | 2 +- ai-instruction/README.adoc | 2 +- anchor-a2ml/contractiles/README.adoc | 2 +- audits/assail-classifications.a2ml | 2 +- audits/licence-flags-2026-07.adoc | 2 +- axel-protocol/contractiles/README.adoc | 2 +- canon.lock | 4 +- docs/ADR-001-k9-relocation-to-svc.adoc | 18 ++++----- docs/AUDIT.adoc | 2 +- docs/CONTRACTILE-SPEC.adoc | 18 ++++----- docs/DESCRIPTILE-SPEC.adoc | 2 +- docs/INNERVATION.adoc | 18 ++++----- docs/STANDARDS-CRITICAL-PATH.adoc | 6 +-- .../provenance/coord-mcp/COORD-MCP-TODO.adoc | 6 +-- docs/archive/scaffolding/contractile.just | 24 ++++++------ docs/audits/2026-03-30/STATISTEASE-PLAN.adoc | 2 +- docs/audits/dogfooding-matrix-2026-04-04.adoc | 8 ++-- .../spec-templates/T2-high/boj-server.adoc | 4 +- docs/reorg/STREAM-PROMPTS.adoc | 2 +- docs/wikis/developers/index.adoc | 2 +- docs/wikis/maintainers/index.adoc | 2 +- docs/wikis/users/index.adoc | 2 +- ecosystem-a2ml/README.adoc | 2 +- ecosystem-a2ml/contractiles/README.adoc | 2 +- immaculate-guide/IMMACULATE-GUIDE.adoc | 4 +- k9-svc/DOGFOODING-OPPORTUNITIES.adoc | 22 +++++------ llm-warmup-user.adoc | 4 +- meta-a2ml/README.adoc | 4 +- playbook-a2ml/README.adoc | 2 +- rhodium-standard-repositories/CLAUDE.md | 2 +- .../contractiles/README.adoc | 2 +- .../templates/MUST.contractile.template | 4 +- scripts/build-registry.sh | 8 ++-- scripts/verify-claims.sh | 2 +- .../substantial-completion/CHECKLIST.adoc | 4 +- standards-map.toml | 37 +++++++++++++------ standards-update/README.adoc | 18 ++++----- state-a2ml/README.adoc | 2 +- state-a2ml/spec/STATE-FORMAT-SPEC.adoc | 2 +- templates/CODEOWNERS | 2 +- 144 files changed, 252 insertions(+), 239 deletions(-) rename A2ML-REPO-TEMPLATE.adoc => 1-formats/A2ML-REPO-TEMPLATE.adoc (99%) rename SATELLITES.a2ml => 1-formats/SATELLITES.a2ml (100%) rename {contractiles => 1-formats/contractiles}/CANONICAL-TEMPLATES.adoc (93%) rename {contractiles => 1-formats/contractiles}/README.adoc (97%) rename {contractiles => 1-formats/contractiles}/dust/Dustfile (100%) rename {contractiles => 1-formats/contractiles}/intend/Intentfile.a2ml (100%) rename {contractiles => 1-formats/contractiles}/must/Mustfile (100%) rename {contractiles => 1-formats/contractiles}/trust/Trustfile.a2ml (100%) rename {deed => 1-formats/deed}/README.adoc (100%) rename {deed => 1-formats/deed}/docs/iana/application-vnd.deed-registration.txt (100%) rename {deed => 1-formats/deed}/spec/DEED-GRAMMAR-SPEC.adoc (100%) rename {deed => 1-formats/deed}/spec/DEED-GRAMMAR-SPEC_v0.1.adoc (100%) rename {deed => 1-formats/deed}/spec/abnf/deed.abnf_v1.0 (100%) rename {deed => 1-formats/deed}/spec/abnf/deed.anbf (100%) rename {bindings-haskell => 1-formats/sub-specs/bindings-haskell}/.devcontainer/Containerfile (100%) rename {cartridges => 1-formats/sub-specs/cartridges}/0.2-AI-MANIFEST.a2ml (100%) rename {cartridges => 1-formats/sub-specs/cartridges}/CARTRIDGE-FORMAT.adoc (98%) rename {cartridges => 1-formats/sub-specs/cartridges}/cartridge-v1.json (94%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/README.adoc (98%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/docs/NAMING-RESOLUTION.adoc (100%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/CLAIM-FORMAT.adoc (100%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/CONSEQUENCE-LEDGER.adoc (97%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/VERIFICATION-PROTOCOL.adoc (100%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/conformance/README.adoc (89%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/conformance/always-match.a2ml (100%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/conformance/always-match.expected (100%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/conformance/confirmed-command.a2ml (100%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/conformance/confirmed-command.expected (100%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/conformance/contains-fixture.a2ml (70%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/conformance/contains-fixture.expected (100%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/conformance/fixture.txt (100%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/conformance/incompatible-verifier.a2ml (100%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/conformance/incompatible-verifier.expected (100%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/conformance/licence-in-statement.a2ml (100%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/conformance/licence-in-statement.expected (100%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/conformance/manual-licence.a2ml (100%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/conformance/manual-licence.expected (100%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/conformance/missing-field.a2ml (100%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/conformance/missing-field.expected (100%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/conformance/refuted-command.a2ml (100%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/conformance/refuted-command.expected (100%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/conformance/run-conformance.sh (100%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/conformance/unsafe-path.a2ml (100%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/conformance/unsafe-path.expected (100%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/conformance/unverifiable-network.a2ml (100%) rename {did-you-actually-do-that => 1-formats/sub-specs/did-you-actually-do-that}/spec/conformance/unverifiable-network.expected (100%) rename {ensaid-config => 1-formats/sub-specs/ensaid-config}/0-AI-MANIFEST.a2ml (100%) rename {ensaid-config => 1-formats/sub-specs/ensaid-config}/README.adoc (100%) rename {ensaid-config => 1-formats/sub-specs/ensaid-config}/spec/ENSAID-CONFIG-SPEC.adoc (100%) rename {ensaid-config => 1-formats/sub-specs/ensaid-config}/spec/README.adoc (100%) rename {inline-annotations => 1-formats/sub-specs/inline-annotations}/README.adoc (100%) rename {inline-annotations => 1-formats/sub-specs/inline-annotations}/SPEC.adoc (98%) rename {inline-annotations => 1-formats/sub-specs/inline-annotations}/examples/octad-mapping.a2ml (100%) rename {inline-annotations => 1-formats/sub-specs/inline-annotations}/examples/output.a2ml (100%) rename {inline-annotations => 1-formats/sub-specs/inline-annotations}/examples/sources.adoc (100%) rename {inline-annotations => 1-formats/sub-specs/inline-annotations}/extractor/Cargo.toml (100%) rename {inline-annotations => 1-formats/sub-specs/inline-annotations}/extractor/batch-extract.sh (100%) rename {inline-annotations => 1-formats/sub-specs/inline-annotations}/extractor/src/main.rs (99%) rename {panll-panels => 1-formats/sub-specs/panll-panels}/README.adoc (93%) rename {panll-panels => 1-formats/sub-specs/panll-panels}/manifest.json (100%) rename {panll-panels => 1-formats/sub-specs/panll-panels}/src/ComplianceMonitor.affine (100%) rename {panll-panels => 1-formats/sub-specs/panll-panels}/src/CrgDashboard.affine (100%) rename {panll-panels => 1-formats/sub-specs/panll-panels}/src/ProofHub.affine (100%) rename {panll-panels => 1-formats/sub-specs/panll-panels}/src/VcldbClient.affine (100%) rename {a2ml-templates => 1-formats/templates}/AGENTIC.a2ml.template (100%) rename {a2ml-templates => 1-formats/templates}/ECOSYSTEM.a2ml.template (100%) rename {a2ml-templates => 1-formats/templates}/META.a2ml.template (100%) rename {a2ml-templates => 1-formats/templates}/NEUROSYM.a2ml.template (100%) rename {a2ml-templates => 1-formats/templates}/PLAYBOOK.a2ml.template (100%) rename {a2ml-templates => 1-formats/templates}/STATE.a2ml.template (98%) rename {a2ml-templates => 1-formats/templates}/STATE.a2ml.v2.spec.adoc (100%) rename {a2ml-templates => 1-formats/templates}/STATE.a2ml.v2.template (100%) rename {a2ml-templates => 1-formats/templates}/state-migrate-v1-to-v2.sh (96%) rename {a2ml-templates => 1-formats/templates}/state-scm-to-v2.jl (100%) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 2ca42e90b..23d2fee5e 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -31,7 +31,7 @@ SECURITY.md @hyperpolymath @JoshuaJewell .github/workflows/ @hyperpolymath @JoshuaJewell .machine_readable/ @hyperpolymath @JoshuaJewell -contractiles/ @hyperpolymath @JoshuaJewell +1-formats/contractiles/ @hyperpolymath @JoshuaJewell # License files LICENSE @hyperpolymath @JoshuaJewell diff --git a/.github/workflows/dyadt-verify.yml b/.github/workflows/dyadt-verify.yml index 2a37a4984..c3889ce18 100644 --- a/.github/workflows/dyadt-verify.yml +++ b/.github/workflows/dyadt-verify.yml @@ -33,7 +33,7 @@ jobs: - name: DYADT conformance vectors run: | - bash did-you-actually-do-that/spec/conformance/run-conformance.sh + bash 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/run-conformance.sh - name: Verify this change's own claims (dogfood) env: diff --git a/.gitignore b/.gitignore index c513f1e11..cba971955 100644 --- a/.gitignore +++ b/.gitignore @@ -93,10 +93,10 @@ htmlcov/ .tool-versions # Rust build artefacts (innervation tools) -inline-annotations/extractor/target/ +1-formats/sub-specs/inline-annotations/extractor/target/ k9-coordination-protocol/tools/k9-init/target/ hooks/playbook-to-recipe/target/ -inline-annotations/extractor/Cargo.lock +1-formats/sub-specs/inline-annotations/extractor/Cargo.lock k9-coordination-protocol/tools/k9-init/Cargo.lock hooks/playbook-to-recipe/Cargo.lock .verisimdb/ecosystem-ingest/target/ diff --git a/.hypatia-baseline.json b/.hypatia-baseline.json index ead4f22b1..c3aa4179e 100644 --- a/.hypatia-baseline.json +++ b/.hypatia-baseline.json @@ -673,7 +673,7 @@ "severity": "medium", "rule_module": "structural_drift", "type": "SD022", - "file": "panll-panels/README.adoc", + "file": "1-formats/sub-specs/panll-panels/README.adoc", "note": "FALSE POSITIVE (hypatia triage 2026-07-21): Explicitly a path in the external PanLL repo (future destination), not this tree. Intentional cross-repo reference." }, { diff --git a/.machine_readable/INTENT.contractile b/.machine_readable/INTENT.contractile index 55ef51bf9..b8752934b 100644 --- a/.machine_readable/INTENT.contractile +++ b/.machine_readable/INTENT.contractile @@ -76,7 +76,7 @@ ; === Sensitive Areas (if in doubt, ask) === (ask-before-touching - "contractiles/ — changes here propagate to every repo that has copied the templates" + "1-formats/contractiles/ — changes here propagate to every repo that has copied the templates" "component-readiness-grades/ — CRG grade semantics are intentionally stable" "rhodium-standard-repositories/ — RSR requirements affect all 500+ estate repos" ".machine_readable/ — format is specified; do not add files outside the contractile schema" @@ -88,7 +88,7 @@ (ecosystem (belongs-to "standalone — standards is its own top-level repo, not a monorepo subdirectory") (depended-on-by - ("all hyperpolymath repos" "copy contractiles/ templates as compliance baseline") + ("all hyperpolymath repos" "copy 1-formats/contractiles/ templates as compliance baseline") ("gitbot-fleet" "reads RSR requirements to automate compliance checks") ("hypatia" "references CRG, RSR, and contractile specs for CI rule definitions") ("rsr-template-repo" "is the materialised form of RSR requirements defined here")) diff --git a/.machine_readable/MUST.contractile b/.machine_readable/MUST.contractile index 8a94cc90e..95647e530 100644 --- a/.machine_readable/MUST.contractile +++ b/.machine_readable/MUST.contractile @@ -26,7 +26,7 @@ ; remain active until the feature is fully removed. ; ; Enforcement: -; K9 validators in contractiles/k9/ machine-check MUST constraints. +; K9 validators in 1-formats/contractiles/k9/ machine-check MUST constraints. ; CI runs these on every PR. Violations block merge. ; ; ── End Definitions ────────────────────────────────────────────── @@ -117,7 +117,7 @@ (must "banned_language_file honours documented path_allow_prefixes (bindings/deno, *.d.ts, vitest.config.ts, ...)"))) (enforcement - (k9-validator "contractiles/k9/must-check.k9.ncl") + (k9-validator "1-formats/contractiles/k9/must-check.k9.ncl") (ci "quality.yml runs must-check on every PR") ) ) diff --git a/.machine_readable/REGISTRY.a2ml b/.machine_readable/REGISTRY.a2ml index 24e09e992..66bcfc642 100644 --- a/.machine_readable/REGISTRY.a2ml +++ b/.machine_readable/REGISTRY.a2ml @@ -52,8 +52,8 @@ route = "the K9 specification, security analysis and adoption guidance (implemen id = "contractiles" name = "Contractiles (Must/Trust/Dust/Intend)" stream = "foundation" -home = "contractiles/" -canonical_doc = "contractiles/README.adoc" +home = "1-formats/contractiles/" +canonical_doc = "1-formats/contractiles/README.adoc" source_hash = "sha256:196b51cb7efbe7c9dc775513e45e46d5b88404dd8c0cf50391a466cba3b53a34" route = "policy-enforcement primitives the K9 layer is built from" @@ -223,8 +223,8 @@ route = "continuity / verify / handover protocols" id = "did-you-actually-do-that" name = "DYADT — Did-You-Actually-Do-That" stream = "governance" -home = "did-you-actually-do-that/" -canonical_doc = "did-you-actually-do-that/README.adoc" +home = "1-formats/sub-specs/did-you-actually-do-that/" +canonical_doc = "1-formats/sub-specs/did-you-actually-do-that/README.adoc" source_hash = "sha256:453bf00d0dfac71576b5e7b4068fb8987abc3337d4bc3bf75c081e0332ae1dff" route = "post-action agent-claim verification (Tier 4 accountability)" @@ -232,8 +232,8 @@ route = "post-action agent-claim verification (Tier 4 accountability)" id = "ensaid-config" name = "ENSAID Config" stream = "governance" -home = "ensaid-config/" -canonical_doc = "ensaid-config/README.adoc" +home = "1-formats/sub-specs/ensaid-config/" +canonical_doc = "1-formats/sub-specs/ensaid-config/README.adoc" source_hash = "sha256:c56e9784c957b9bd29704d41cbf7d88b1495789e0ad1c628de42abe900d319ef" route = "the ensaid configuration standard" @@ -277,8 +277,8 @@ route = "the dogfooding rules that scan THIS repo (incl. drift detection)" id = "a2ml-templates" name = "A2ML Templates" stream = "integration" -home = "a2ml-templates/" -canonical_doc = "a2ml-templates/STATE.a2ml.v2.spec.adoc" +home = "1-formats/templates/" +canonical_doc = "1-formats/templates/STATE.a2ml.v2.spec.adoc" source_hash = "sha256:16fc9e6b38b1bf06a3fdc1069127af42985562381f3ef126d0dcd0370f774783" route = "copy-in templates for the 7 A2ML files" diff --git a/.machine_readable/descriptiles/PLAYBOOK.a2ml b/.machine_readable/descriptiles/PLAYBOOK.a2ml index f5cbe97c6..b138f2597 100644 --- a/.machine_readable/descriptiles/PLAYBOOK.a2ml +++ b/.machine_readable/descriptiles/PLAYBOOK.a2ml @@ -34,7 +34,7 @@ last-updated = "2026-04-11" [docs-format] # Estate docs are .adoc-canonical, no duplicate formats. Sole exception: the # Glama README.md carve-out (gated on glama.json). See -# contractiles/CANONICAL-TEMPLATES.adoc "Documentation carve-out — Glama README.md". +# 1-formats/contractiles/CANONICAL-TEMPLATES.adoc "Documentation carve-out — Glama README.md". [maintenance-operations] # Baseline audit: just maint-audit diff --git a/.machine_readable/licensing-policy.toml b/.machine_readable/licensing-policy.toml index 82dce15e6..d56f44008 100644 --- a/.machine_readable/licensing-policy.toml +++ b/.machine_readable/licensing-policy.toml @@ -75,7 +75,7 @@ sentinel = ["PLMP-1.0-or-later", "PMLP-1.0-or-later"] classification = "unsubstituted scaffold placeholder (process bug) — NOT licence debt" remediation = "re-run contractiles scaffold substitution; NEVER hand-edit as licence work" family = "PMPL-1.0-or-later-or-later (doubled suffix) is the same scaffold-substituter family" -tripwire = "contractiles/must/Mustfile (groups with REPLACE-WITH-*)" +tripwire = "1-formats/contractiles/must/Mustfile (groups with REPLACE-WITH-*)" [guard] location = "rsr-template-repo/.github/workflows/spdx-policy-guard.yml" diff --git a/.machine_readable/migrations/contractile-layout-2026-04-18.a2ml b/.machine_readable/migrations/contractile-layout-2026-04-18.a2ml index 37f645709..93a576b60 100644 --- a/.machine_readable/migrations/contractile-layout-2026-04-18.a2ml +++ b/.machine_readable/migrations/contractile-layout-2026-04-18.a2ml @@ -14,7 +14,7 @@ Migration { what-applied: [ "Added .machine_readable/contractiles/bust/ (Bustfile.a2ml + bust.ncl) where missing", "Moved .machine_readable/contractiles/k9/ to .machine_readable/svc/k9/ where present", - "Removed duplicate k9 in contractiles/ when svc/k9/ already existed" + "Removed duplicate k9 in 1-formats/contractiles/ when svc/k9/ already existed" ] scope-totals { @@ -44,7 +44,7 @@ Migration { next-waves: [ "wave-3: remaining ~100 canonical-home repos not yet attempted", - "home-consolidation: 287 root-home contractiles/ → .machine_readable/contractiles/", + "home-consolidation: 287 root-home 1-formats/contractiles/ → .machine_readable/contractiles/", "stale-hook sweep: 150 repos need pre-commit hook updated to 6-verb set", "diverged-repos: 11 repos need manual ff-reconciliation before layout sweep retries them" ] diff --git a/.machine_readable/scorecards/a2ml-templates.scorecard.a2ml b/.machine_readable/scorecards/a2ml-templates.scorecard.a2ml index 7dfbd6cfc..5d4cd64b1 100644 --- a/.machine_readable/scorecards/a2ml-templates.scorecard.a2ml +++ b/.machine_readable/scorecards/a2ml-templates.scorecard.a2ml @@ -68,7 +68,7 @@ text = "The migration scripts SHOULD emit non-zero exit codes and clear diagnost system = "none" status = "pass" evidence = "state-scm-to-v2.jl documents and implements distinct exit codes (0 ok, 2 parse/usage error, 3 not a (state ...) form) per its header comment and main()/convert() logic; state-migrate-v1-to-v2.sh uses `set -eu` and exits 1 with a message when the v1 file is missing (line 16)." -check = "sh a2ml-templates/state-migrate-v1-to-v2.sh /nonexistent-repo-path >/dev/null 2>&1; test $? -eq 1 && grep -q \"exit(2)\" a2ml-templates/state-scm-to-v2.jl && grep -q \"exit(3)\" a2ml-templates/state-scm-to-v2.jl" +check = "sh 1-formats/templates/state-migrate-v1-to-v2.sh /nonexistent-repo-path >/dev/null 2>&1; test $? -eq 1 && grep -q \"exit(2)\" 1-formats/templates/state-scm-to-v2.jl && grep -q \"exit(3)\" 1-formats/templates/state-scm-to-v2.jl" effects = "Callers (CI or a future k9-init tool) can branch on exit code to decide whether to retry, prompt a human, or abort; without this, migration failures could pass silently and produce corrupt STATE.a2ml files downstream." [[could]] diff --git a/.machine_readable/scorecards/agentic-a2ml.scorecard.a2ml b/.machine_readable/scorecards/agentic-a2ml.scorecard.a2ml index dd798c114..ff546daa5 100644 --- a/.machine_readable/scorecards/agentic-a2ml.scorecard.a2ml +++ b/.machine_readable/scorecards/agentic-a2ml.scorecard.a2ml @@ -84,9 +84,9 @@ effects = "No downstream impact today; this is a stretch goal beyond the project [[could]] id = "C2" text = "Contractile templates (Mustfile/Dustfile) COULD be filled in with agentic-a2ml-specific invariants and rollback handlers rather than left as generic copy-in templates." -system = "none — contractiles/must/Mustfile and contractiles/dust/Dustfile reference generic placeholder paths (config/service.yaml, policy/policy.ncl, logs/decisions.json) that do not exist in this repo" +system = "none — 1-formats/contractiles/must/Mustfile and 1-formats/contractiles/dust/Dustfile reference generic placeholder paths (config/service.yaml, policy/policy.ncl, logs/decisions.json) that do not exist in this repo" status = "aspirational" -effects = "Minor: these are explicitly documented in contractiles/README.adoc as a template set meant to be copied and customised per-repo, so their generic state is expected, but as shipped they provide zero enforceable invariant for agentic-a2ml itself." +effects = "Minor: these are explicitly documented in 1-formats/contractiles/README.adoc as a template set meant to be copied and customised per-repo, so their generic state is expected, but as shipped they provide zero enforceable invariant for agentic-a2ml itself." [[could]] id = "C3" diff --git a/.machine_readable/scorecards/anchor-a2ml.scorecard.a2ml b/.machine_readable/scorecards/anchor-a2ml.scorecard.a2ml index 18c9b9400..7b9beb099 100644 --- a/.machine_readable/scorecards/anchor-a2ml.scorecard.a2ml +++ b/.machine_readable/scorecards/anchor-a2ml.scorecard.a2ml @@ -60,10 +60,10 @@ effects = "No validator enforces presence of an 'expires' field or checks expiry [[should]] id = "S3" -text = "The repository SHOULD supply the 'contractiles' operational/trust/recovery framework wired into this repo's own layout (per contractiles/README.adoc's fill-in instructions) rather than leaving it as an unfilled generic template." +text = "The repository SHOULD supply the 'contractiles' operational/trust/recovery framework wired into this repo's own layout (per 1-formats/contractiles/README.adoc's fill-in instructions) rather than leaving it as an unfilled generic template." system = "/home/user/standards/audit-contractiles.sh (checks for .machine_readable/contractiles/{must,trust,dust,bust,adjust,intend})" status = "fail" -effects = "Running audit-contractiles.sh against this repo reports '❌ No contractiles directory' and '❌ K9 missing' because contractiles/ lives at repo root (contractiles/must/Mustfile, contractiles/dust/Dustfile) rather than under .machine_readable/contractiles/, and only 'must' and 'dust' are present (trust/bust/adjust/intend absent, and Trustfile.hs/Intentfile mentioned in contractiles/README.adoc do not exist on disk). Any monorepo-wide contractile audit will flag this spec as non-compliant; downstream tooling relying on the audit script's monorepo-standard path will not find this repo's contractile files at all." +effects = "Running audit-contractiles.sh against this repo reports '❌ No contractiles directory' and '❌ K9 missing' because 1-formats/contractiles/ lives at repo root (1-formats/contractiles/must/Mustfile, 1-formats/contractiles/dust/Dustfile) rather than under .machine_readable/contractiles/, and only 'must' and 'dust' are present (trust/bust/adjust/intend absent, and Trustfile.hs/Intentfile mentioned in 1-formats/contractiles/README.adoc do not exist on disk). Any monorepo-wide contractile audit will flag this spec as non-compliant; downstream tooling relying on the audit script's monorepo-standard path will not find this repo's contractile files at all." [[should]] id = "S4" diff --git a/.machine_readable/scorecards/contractiles.scorecard.a2ml b/.machine_readable/scorecards/contractiles.scorecard.a2ml index d39c213df..92dcd7a51 100644 --- a/.machine_readable/scorecards/contractiles.scorecard.a2ml +++ b/.machine_readable/scorecards/contractiles.scorecard.a2ml @@ -11,31 +11,31 @@ assessor = "estate-audit" [[must]] id = "M1" -text = "The filled-in contractile instance at contractiles/ MUST have every template placeholder replaced with project-specific content (CANONICAL-TEMPLATES.adoc Fill-In Rule 1: \"Every placeholder string in a template must be replaced with project-specific content before the repo is considered compliant\")." -system = "none — the no-template-residue check inside contractiles/must/Mustfile (line 39-41) is never executed against this path by any CI job (see M2); it is aspirational text, not a running gate" +text = "The filled-in contractile instance at 1-formats/contractiles/ MUST have every template placeholder replaced with project-specific content (CANONICAL-TEMPLATES.adoc Fill-In Rule 1: \"Every placeholder string in a template must be replaced with project-specific content before the repo is considered compliant\")." +system = "none — the no-template-residue check inside 1-formats/contractiles/must/Mustfile (line 39-41) is never executed against this path by any CI job (see M2); it is aspirational text, not a running gate" status = "fail" -effects = "contractiles/must/Mustfile still contains 'REPLACE-WITH-REPO-NAME' (line 10, metadata.name) and 'REPLACE with a real description' (line 12); contractiles/dust/Dustfile still contains 'REPLACE-WITH-REAL-CONFIG-PATH' (lines 23-24) and a wholly generic 'example-deprecated-surface' entry with 'REPLACE with the real API, module, or command' (lines 35-38). By the standard's own Rule 1 this directory is not yet compliant with itself." +effects = "1-formats/contractiles/must/Mustfile still contains 'REPLACE-WITH-REPO-NAME' (line 10, metadata.name) and 'REPLACE with a real description' (line 12); 1-formats/contractiles/dust/Dustfile still contains 'REPLACE-WITH-REAL-CONFIG-PATH' (lines 23-24) and a wholly generic 'example-deprecated-surface' entry with 'REPLACE with the real API, module, or command' (lines 35-38). By the standard's own Rule 1 this directory is not yet compliant with itself." [[must]] id = "M2" -text = "The invariants declared in the repo-top-level Mustfile (contractiles/must/Mustfile) MUST be executed and gate CI for this repository, matching CANONICAL-TEMPLATES.adoc's description of Must as \"release-blocking\" and \"machine-checked\"." -system = "scripts/run-mustfile.sh and scripts/check-mustfile-structure.sh, wired into .github/workflows/boj-build.yml job 'validate-contractiles' — but both scripts default to .machine_readable/contractiles/must/Mustfile.a2ml, a separate/different file tree, not contractiles/must/Mustfile" +text = "The invariants declared in the repo-top-level Mustfile (1-formats/contractiles/must/Mustfile) MUST be executed and gate CI for this repository, matching CANONICAL-TEMPLATES.adoc's description of Must as \"release-blocking\" and \"machine-checked\"." +system = "scripts/run-mustfile.sh and scripts/check-mustfile-structure.sh, wired into .github/workflows/boj-build.yml job 'validate-contractiles' — but both scripts default to .machine_readable/contractiles/must/Mustfile.a2ml, a separate/different file tree, not 1-formats/contractiles/must/Mustfile" status = "fail" -effects = "The contractiles/must/Mustfile reviewed here (the 'repo-top-level copy' meant to be copied into new repos, per its own README) is never invoked by any CI step; its checks (tests-pass, format-ok, license-present, spdx-headers-present, no-template-residue, tooling-version-integrity) are declared but not enforced for this directory. Downstream repos that copy contractiles/ verbatim and assume 'the estate validates this' inherit a false sense of gating unless they separately wire it themselves." +effects = "The 1-formats/contractiles/must/Mustfile reviewed here (the 'repo-top-level copy' meant to be copied into new repos, per its own README) is never invoked by any CI step; its checks (tests-pass, format-ok, license-present, spdx-headers-present, no-template-residue, tooling-version-integrity) are declared but not enforced for this directory. Downstream repos that copy 1-formats/contractiles/ verbatim and assume 'the estate validates this' inherit a false sense of gating unless they separately wire it themselves." [[must]] id = "M3" -text = "Intentfile (contractiles/intend/Intentfile.a2ml) MUST implement the [[intents]] (tracked next-actions with probes) and [[wishes]] (near/mid/far horizon aspirations) structure documented as the canonical Intend schema in CANONICAL-TEMPLATES.adoc §1/§2 and CANONICAL-TEMPLATES.adoc's fill-in rule 5." +text = "Intentfile (1-formats/contractiles/intend/Intentfile.a2ml) MUST implement the [[intents]] (tracked next-actions with probes) and [[wishes]] (near/mid/far horizon aspirations) structure documented as the canonical Intend schema in CANONICAL-TEMPLATES.adoc §1/§2 and CANONICAL-TEMPLATES.adoc's fill-in rule 5." system = "none" status = "fail" effects = "The actual file contains only @abstract / Purpose / Anti-Purpose / If-In-Doubt prose sections and has neither an [[intents]] nor a [[wishes]] block. Any k9 automation or estate audit tool that expects to parse probes off [[intents]] entries (as the separate .machine_readable/contractiles/intend/intend.k9.ncl runner is built to do) finds nothing to act on for this copy of the template." [[must]] id = "M4" -text = "The repo-top-level contractiles/ directory MUST provide all six verbs (must/trust/adjust/dust/bust/intend) plus the k9/ automation surface, as tabulated in its own README.adoc §Template Roles and reiterated by CANONICAL-TEMPLATES.adoc §1." +text = "The repo-top-level 1-formats/contractiles/ directory MUST provide all six verbs (must/trust/adjust/dust/bust/intend) plus the k9/ automation surface, as tabulated in its own README.adoc §Template Roles and reiterated by CANONICAL-TEMPLATES.adoc §1." system = "none" status = "fail" -effects = "On disk, contractiles/ contains only must/, trust/, dust/, and intend/ (matching the registry's narrower name 'Contractiles (Must/Trust/Dust/Intend)' in scripts/build-registry.sh line 64) — adjust/, bust/, and k9/ are absent. A consumer repo following the literal instruction 'Copy this contractiles/ directory into a new repo' (README.adoc line 13) gets an incomplete verb set: no drift-tolerance/corrective-action surface (Adjust) and no hard-stop/expiry declarations (Bust), both of which CANONICAL-TEMPLATES.adoc calls gating." +effects = "On disk, 1-formats/contractiles/ contains only must/, trust/, dust/, and intend/ (matching the registry's narrower name 'Contractiles (Must/Trust/Dust/Intend)' in scripts/build-registry.sh line 64) — adjust/, bust/, and k9/ are absent. A consumer repo following the literal instruction 'Copy this 1-formats/contractiles/ directory into a new repo' (README.adoc line 13) gets an incomplete verb set: no drift-tolerance/corrective-action surface (Adjust) and no hard-stop/expiry declarations (Bust), both of which CANONICAL-TEMPLATES.adoc calls gating." [[must]] id = "M5" @@ -46,21 +46,21 @@ effects = "Downstream repos and licence-scanning tooling rely on accurate SPDX h [[should]] id = "S1" -text = "Trustfile (contractiles/trust/Trustfile.a2ml) SHOULD name real, repo-specific keys, policies, and authority boundaries rather than generic reassurance (CANONICAL-TEMPLATES.adoc §Trust, Fill-In Rule 3)." +text = "Trustfile (1-formats/contractiles/trust/Trustfile.a2ml) SHOULD name real, repo-specific keys, policies, and authority boundaries rather than generic reassurance (CANONICAL-TEMPLATES.adoc §Trust, Fill-In Rule 3)." system = "none — no automated check runs the Trustfile's own declared 'run:' probes (license-content, no-secrets-committed) against this repo" status = "manual-only" effects = "On manual reading the content is concrete for this repo (trust-level: maximal, explicit trust-actions/trust-deny lists, two named integrity checks referencing the real LICENSE file), so the intent of Rule 3 appears satisfied — but since nothing executes the declared 'run:' lines, this can silently drift out of sync with the actual repo state (e.g. if a .env file were added) without anything noticing." [[should]] id = "S2" -text = "Dustfile (contractiles/dust/Dustfile) SHOULD describe real rollback / deprecation behaviour with concrete paths, per CANONICAL-TEMPLATES.adoc §Dust and Fill-In Rule 4." +text = "Dustfile (1-formats/contractiles/dust/Dustfile) SHOULD describe real rollback / deprecation behaviour with concrete paths, per CANONICAL-TEMPLATES.adoc §Dust and Fill-In Rule 4." system = "none" status = "fail" effects = "The 'config-rollback' recovery entry still targets the placeholder path 'REPLACE-WITH-REAL-CONFIG-PATH' (lines 23-24) and the 'deprecation' entry is a templated 'example-deprecated-surface' with 'REPLACE with the real API...' (lines 35-38). Only the 'preserve: glama-readme' and 'source-rollback'/'regen-outputs' entries are genuinely filled in. A consumer reading this Dustfile for actual rollback guidance on config changes gets a template stub, not a working procedure." [[should]] id = "S3" -text = "The Glama README.md carve-out SHOULD be consistently wired across its three coupled checks — doc-format.yml, contractiles/must/Mustfile's readme-md-glama-carveout, and contractiles/dust/Dustfile's preserve:glama-readme — as CANONICAL-TEMPLATES.adoc §1 'Documentation carve-out' promises." +text = "The Glama README.md carve-out SHOULD be consistently wired across its three coupled checks — doc-format.yml, 1-formats/contractiles/must/Mustfile's readme-md-glama-carveout, and 1-formats/contractiles/dust/Dustfile's preserve:glama-readme — as CANONICAL-TEMPLATES.adoc §1 'Documentation carve-out' promises." system = "none — no automated cross-file consistency check exists; verified here only by direct reading" status = "manual-only" effects = "Currently consistent by inspection: Mustfile line 31-33 (readme-md-glama-carveout, gated on glama.json) and Dustfile lines 27-32 (preserve: glama-readme, same gate) agree with each other and with the doc's description. Because nothing automates the cross-check, the three could drift apart in a future edit without CI catching it." diff --git a/.machine_readable/scorecards/did-you-actually-do-that.scorecard.a2ml b/.machine_readable/scorecards/did-you-actually-do-that.scorecard.a2ml index 38d3d75ad..9aa13b694 100644 --- a/.machine_readable/scorecards/did-you-actually-do-that.scorecard.a2ml +++ b/.machine_readable/scorecards/did-you-actually-do-that.scorecard.a2ml @@ -12,10 +12,10 @@ assessor = "estate-audit" [[must]] id = "M1" text = "DYADT MUST define a typed, machine-checkable claim format." -system = "did-you-actually-do-that/spec/CLAIM-FORMAT.adoc (normative claim classes + required fields)" +system = "1-formats/sub-specs/did-you-actually-do-that/spec/CLAIM-FORMAT.adoc (normative claim classes + required fields)" status = "pass" evidence = "spec/CLAIM-FORMAT.adoc present; 7 claim classes and required-field table defined; example CLAIMS.a2ml shipped." -check = "test -f did-you-actually-do-that/spec/CLAIM-FORMAT.adoc && grep -c '^| ' did-you-actually-do-that/spec/CLAIM-FORMAT.adoc | grep -q '^[1-9]'" +check = "test -f 1-formats/sub-specs/did-you-actually-do-that/spec/CLAIM-FORMAT.adoc && grep -c '^| ' 1-formats/sub-specs/did-you-actually-do-that/spec/CLAIM-FORMAT.adoc | grep -q '^[1-9]'" effects = "Without a fixed claim format the parallel production verifier has no contract to build against." [[must]] @@ -39,10 +39,10 @@ effects = "Silent 'assumed pass' would reintroduce the false-green disease DYADT [[must]] id = "M4" text = "A conformance vector suite MUST exist so any verifier can be validated against shared ground truth." -system = "did-you-actually-do-that/spec/conformance/run-conformance.sh (+ 6 vector pairs)" +system = "1-formats/sub-specs/did-you-actually-do-that/spec/conformance/run-conformance.sh (+ 6 vector pairs)" status = "pass" evidence = "run-conformance.sh passes 6/6 vectors covering confirmed/refuted/unverifiable/incompatible-verifier/manual-only." -check = "bash did-you-actually-do-that/spec/conformance/run-conformance.sh" +check = "bash 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/run-conformance.sh" effects = "Without shared vectors the reference and production verifiers could silently diverge." [[must]] @@ -57,19 +57,19 @@ effects = "If a claim here were false, CI is refuted and fails loudly — the sp [[should]] id = "S1" text = "DYADT SHOULD specify an append-only, dual-signed consequence ledger and a per-actor confirmation rate." -system = "did-you-actually-do-that/spec/CONSEQUENCE-LEDGER.adoc + .machine_readable/ledger/ format" +system = "1-formats/sub-specs/did-you-actually-do-that/spec/CONSEQUENCE-LEDGER.adoc + .machine_readable/ledger/ format" status = "pass" evidence = "CONSEQUENCE-LEDGER.adoc defines the entry format, the confirmation-rate formula, and how Tier 3 MAY gate on it." -check = "test -f did-you-actually-do-that/spec/CONSEQUENCE-LEDGER.adoc && grep -q 'confirmation rate' did-you-actually-do-that/spec/CONSEQUENCE-LEDGER.adoc && grep -q 'Tier 3' did-you-actually-do-that/spec/CONSEQUENCE-LEDGER.adoc" +check = "test -f 1-formats/sub-specs/did-you-actually-do-that/spec/CONSEQUENCE-LEDGER.adoc && grep -q 'confirmation rate' 1-formats/sub-specs/did-you-actually-do-that/spec/CONSEQUENCE-LEDGER.adoc && grep -q 'Tier 3' 1-formats/sub-specs/did-you-actually-do-that/spec/CONSEQUENCE-LEDGER.adoc" effects = "Verification without memory cannot escalate on a repeatedly-over-claiming actor." [[should]] id = "S2" text = "The PLASMA naming collision SHOULD be resolved and recorded in canon." -system = "did-you-actually-do-that/docs/NAMING-RESOLUTION.adoc + 0-canon/CANONICAL-NAMES.adoc entry" +system = "1-formats/sub-specs/did-you-actually-do-that/docs/NAMING-RESOLUTION.adoc + 0-canon/CANONICAL-NAMES.adoc entry" status = "pass" evidence = "NAMING-RESOLUTION.adoc splits DYADT (claim verification) from PLASMA (licence/exactness); a DYADT/PLASMA entry is added to 0-canon/CANONICAL-NAMES.adoc." -check = "test -f did-you-actually-do-that/docs/NAMING-RESOLUTION.adoc && grep -q 'DYADT' 0-canon/CANONICAL-NAMES.adoc && grep -q 'PLASMA' 0-canon/CANONICAL-NAMES.adoc" +check = "test -f 1-formats/sub-specs/did-you-actually-do-that/docs/NAMING-RESOLUTION.adoc && grep -q 'DYADT' 0-canon/CANONICAL-NAMES.adoc && grep -q 'PLASMA' 0-canon/CANONICAL-NAMES.adoc" effects = "Ambiguous 'grounded by PLASMA' references would keep entangling licence exactness with claim verification." [[should]] diff --git a/.machine_readable/scorecards/ecosystem-a2ml.scorecard.a2ml b/.machine_readable/scorecards/ecosystem-a2ml.scorecard.a2ml index fc7fe794d..4fa929d61 100644 --- a/.machine_readable/scorecards/ecosystem-a2ml.scorecard.a2ml +++ b/.machine_readable/scorecards/ecosystem-a2ml.scorecard.a2ml @@ -64,10 +64,10 @@ effects = "No .github/workflows exist under ecosystem-a2ml/, and no repo-root wo [[should]] id = "S3" -text = "Governance contractiles (Mustfile/Dustfile/Trustfile/Intentfile under contractiles/) SHOULD be filled in with this project's real invariants rather than left as generic templates." +text = "Governance contractiles (Mustfile/Dustfile/Trustfile/Intentfile under 1-formats/contractiles/) SHOULD be filled in with this project's real invariants rather than left as generic templates." system = "none (root scripts/check-mustfile-structure.sh and scripts/run-mustfile.sh default to .machine_readable/contractiles/must/Mustfile.a2ml at repo root and are not wired to ecosystem-a2ml/contractiles/must/Mustfile, which uses a different path/naming convention)" status = "fail" -effects = "contractiles/must/Mustfile still contains the literal template checks (config-valid, gateway-exposes-port, etc.) unrelated to an A2ML spec repo, and .machine_readable/6a2/ECOSYSTEM.a2ml has empty purpose/role/category fields and 'No related projects recorded' — none of it reflects real invariants, so the framework provides no actual governance signal for this repo, and the monorepo's boj-build.yml CI job validates only the top-level repo's own contractiles, not this subdirectory's." +effects = "1-formats/contractiles/must/Mustfile still contains the literal template checks (config-valid, gateway-exposes-port, etc.) unrelated to an A2ML spec repo, and .machine_readable/descriptiles/ECOSYSTEM.a2ml has empty purpose/role/category fields and 'No related projects recorded' — none of it reflects real invariants, so the framework provides no actual governance signal for this repo, and the monorepo's boj-build.yml CI job validates only the top-level repo's own contractiles, not this subdirectory's." [[should]] id = "S4" diff --git a/.machine_readable/scorecards/ensaid-config.scorecard.a2ml b/.machine_readable/scorecards/ensaid-config.scorecard.a2ml index 470f83cdf..4cd767511 100644 --- a/.machine_readable/scorecards/ensaid-config.scorecard.a2ml +++ b/.machine_readable/scorecards/ensaid-config.scorecard.a2ml @@ -33,7 +33,7 @@ effects = "Consumers relying on this spec (PanLL and any future eNSAID tool) hav [[must]] id = "M4" text = "eNSAID tools MUST ignore unrecognised ENSAID_CONFIG.a2ml sections/fields (forward compatibility) and MUST reject files whose major version is unsupported (Versioning / Version Negotiation sections)." -system = "none — no parser, conformance test suite, or fixture corpus (valid/invalid ENSAID_CONFIG.a2ml samples) exists in ensaid-config/ or elsewhere to exercise this behaviour" +system = "none — no parser, conformance test suite, or fixture corpus (valid/invalid ENSAID_CONFIG.a2ml samples) exists in 1-formats/sub-specs/ensaid-config/ or elsewhere to exercise this behaviour" status = "fail" effects = "Without an executable conformance suite, forward/backward compatibility across future spec minor/major bumps is unverifiable; any consumer tool's version-negotiation logic is untested against the spec's own examples." @@ -68,7 +68,7 @@ effects = "No audit-log mechanism or protection-level enforcement exists anywher [[could]] id = "C1" text = "The spec COULD ship a machine-checkable JSON Schema (or equivalent) for ENSAID_CONFIG.a2ml so tools and CI can validate section/field/enum correctness automatically." -system = "none — no .schema.json or equivalent exists under ensaid-config/ (contrast with, e.g., k9-svc/receipt/receipt.schema.json and .machine_readable/scorecards/scorecard.schema.json which do exist for other artefacts)" +system = "none — no .schema.json or equivalent exists under 1-formats/sub-specs/ensaid-config/ (contrast with, e.g., k9-svc/receipt/receipt.schema.json and .machine_readable/scorecards/scorecard.schema.json which do exist for other artefacts)" status = "fail" effects = "Without a schema, the enum-mismatch gap found in M2 (deployed files using gold/silver/bronze instead of the documented rhodium/everything/code/bespoke) went undetected by any tooling and will recur for every future adopting repository." diff --git a/.verisimdb/config.toml b/.verisimdb/config.toml index 03720045a..b340a8f8a 100644 --- a/.verisimdb/config.toml +++ b/.verisimdb/config.toml @@ -61,7 +61,7 @@ graph = ["dependency_chain", "transitive_consumers"] provenance = ["detection_method", "evidence_file", "evidence_line"] # Inline annotations — @trust/@contract/@grade from code -# See: inline-annotations/SPEC.adoc (v0.1.0 draft, 2026-04-05) +# See: 1-formats/sub-specs/inline-annotations/SPEC.adoc (v0.1.0 draft, 2026-04-05) [[octad_schema]] entity = "inline-annotation" description = "Machine-readable annotation extracted from source code" diff --git a/0-AI-MANIFEST.a2ml b/0-AI-MANIFEST.a2ml index 15fdb5736..40bc82099 100644 --- a/0-AI-MANIFEST.a2ml +++ b/0-AI-MANIFEST.a2ml @@ -21,7 +21,7 @@ content-addressed `source_hash`. Prose explanation: `REGISTRY.adoc`. | If you want… | Go to | |---|---| | Every spec + home + source hash | `.machine_readable/REGISTRY.a2ml` | -| A2ML / K9 foundation (Stream 1) | `a2ml/`, `k9-svc/`, `contractiles/`, `*-a2ml/` | +| A2ML / K9 foundation (Stream 1) | `a2ml/`, `k9-svc/`, `1-formats/contractiles/`, `*-a2ml/` | | Language policy (Stream 2) | `.claude/CLAUDE.md` | | Protocols | `*-protocol/` (registry stream `protocol`) | | Readiness grades | `adoption-readiness-grades/`, `foundations-readiness-grades/`, `component-readiness-grades/`, `toolchain-readiness-grades/` | diff --git a/0-ai-gatekeeper-protocol/contractiles/README.adoc b/0-ai-gatekeeper-protocol/contractiles/README.adoc index d19a38774..4d7f0c058 100644 --- a/0-ai-gatekeeper-protocol/contractiles/README.adoc +++ b/0-ai-gatekeeper-protocol/contractiles/README.adoc @@ -2,7 +2,7 @@ :toc: :sectnums: -This directory contains the generalized contractiles templates. Copy the `contractiles/` directory into a new repo to establish a consistent operational, validation, trust, recovery, and intent framework. +This directory contains the generalized contractiles templates. Copy the `1-formats/contractiles/` directory into a new repo to establish a consistent operational, validation, trust, recovery, and intent framework. == Fill-In Instructions diff --git a/0-canon/CANONICAL-NAMES.adoc b/0-canon/CANONICAL-NAMES.adoc index ec46b2b5a..515f8bb23 100644 --- a/0-canon/CANONICAL-NAMES.adoc +++ b/0-canon/CANONICAL-NAMES.adoc @@ -72,14 +72,14 @@ DEPRECATED NAMES — DO NOT REINTRODUCE (estate mandate 2026-06-30): agent-claim verifier. Post-action verification of an agent's asserted outcomes is *DYADT* (see below), which subsumes the former "claim-grounder" concept and drops the PLASMA name. See - `did-you-actually-do-that/docs/NAMING-RESOLUTION.adoc`. + `1-formats/sub-specs/did-you-actually-do-that/docs/NAMING-RESOLUTION.adoc`. | **DYADT** | Did-You-Actually-Do-That | "PLASMA", "the grounder" | Post-action agent-claim verification (Tier 4 of the accountability pipeline): takes an agent's asserted outcomes and mechanically confirms/refutes each - against primary evidence. Home: `did-you-actually-do-that/`. + against primary evidence. Home: `1-formats/sub-specs/did-you-actually-do-that/`. | **The Joinery** | The three-layer connective system: cleave / groove / spline diff --git a/A2ML-REPO-TEMPLATE.adoc b/1-formats/A2ML-REPO-TEMPLATE.adoc similarity index 99% rename from A2ML-REPO-TEMPLATE.adoc rename to 1-formats/A2ML-REPO-TEMPLATE.adoc index f24bc05bd..d9cf517ab 100644 --- a/A2ML-REPO-TEMPLATE.adoc +++ b/1-formats/A2ML-REPO-TEMPLATE.adoc @@ -95,7 +95,7 @@ Every A2ML specification repository MUST have: ├── SECURITY.md # Security policy ├── CODE_OF_CONDUCT.md # Community standards ├── LICENSE.txt # PMPL-1.0-or-later -├── SATELLITES.a2ml # List of satellite projects (if hub) +├── 1-formats/SATELLITES.a2ml # List of satellite projects (if hub) ├── Justfile # Build/test automation └── Mustfile # Mandatory checks ---- diff --git a/SATELLITES.a2ml b/1-formats/SATELLITES.a2ml similarity index 100% rename from SATELLITES.a2ml rename to 1-formats/SATELLITES.a2ml diff --git a/contractiles/CANONICAL-TEMPLATES.adoc b/1-formats/contractiles/CANONICAL-TEMPLATES.adoc similarity index 93% rename from contractiles/CANONICAL-TEMPLATES.adoc rename to 1-formats/contractiles/CANONICAL-TEMPLATES.adoc index c000676a6..d2ce79d5e 100644 --- a/contractiles/CANONICAL-TEMPLATES.adoc +++ b/1-formats/contractiles/CANONICAL-TEMPLATES.adoc @@ -5,7 +5,7 @@ Jonathan D.A. Jewell :toc: macro :sectnums: -This document defines the estate-level meaning of the canonical `contractiles/` +This document defines the estate-level meaning of the canonical `1-formats/contractiles/` templates and the `k9` Kennel/Yard/Hunt tiers. Use it when auditing whether a repository's declared invariants, trust boundaries, rollback story, and future intent are real rather than template residue. @@ -23,32 +23,32 @@ toc::[] | Role | Canonical Template Path | What It Means | Audit Question | Must -| `contractiles/must/Mustfile` +| `1-formats/contractiles/must/Mustfile` | Release-blocking invariants and validations. This is where a repo declares the checks that must hold before it can claim a given state. | Do the checks encode real repo invariants, or are they still generic placeholders? | Trust -| `contractiles/trust/Trustfile.a2ml` +| `1-formats/contractiles/trust/Trustfile.a2ml` | Provenance, allowed/denied actions, trust boundary, and integrity checks. | Does the trust posture match the actual keys, policies, and authority boundaries in the repo? | Dust -| `contractiles/dust/Dustfile` +| `1-formats/contractiles/dust/Dustfile` | Recovery, rollback, deprecation, and traceability semantics. | If something goes wrong, does this file explain how the repo rolls back or retires behavior without losing the audit trail? | Adjust -| `contractiles/adjust/Adjustfile.a2ml` +| `1-formats/contractiles/adjust/Adjustfile.a2ml` | Drift tolerances and corrective actions the repo commits to when observed state deviates from declared state. | Are the tolerances realistic, and does each one have a defined corrective action rather than a silent shrug? | Bust -| `contractiles/bust/Bustfile.a2ml` +| `1-formats/contractiles/bust/Bustfile.a2ml` | Hard-stop and expiry conditions. Declares "this is broken / expired / must-not-run" rather than "this must stay healthy". | Are the stop conditions enforced at runtime, or only documented as wishes? | Intend -| `contractiles/intend/Intentfile.a2ml` +| `1-formats/contractiles/intend/Intentfile.a2ml` | North-star: committed next-actions ([[intents]] with probes, declared → in_progress → done/deferred/retired) AND horizon aspirations ([[wishes]] grouped near/mid/far, declared → in_progress → achieved/abandoned). | Does each intent have an observable probe? Does the declared scope match the README, roadmap, and actual implementation boundary? Are wishes clearly aspirational rather than masquerading as commitments? |=== @@ -81,9 +81,9 @@ of a `glama.json` at the repo root. without a `glama.json`. * Enforced by three coupled checks, all keyed on `glama.json`: `doc-format.yml` (skips the duplicate error for `README`), - `contractiles/must/Mustfile` (`readme-md-glama-carveout` — requires the + `1-formats/contractiles/must/Mustfile` (`readme-md-glama-carveout` — requires the `README.md` when `glama.json` is present), and - `contractiles/dust/Dustfile` (`preserve: glama-readme` — forbids cleanup + `1-formats/contractiles/dust/Dustfile` (`preserve: glama-readme` — forbids cleanup from deleting it). ==== @@ -159,17 +159,17 @@ not be presented elsewhere as already-shipped work. | Tier | Canonical Template | Capability | Audit Expectation | Kennel -| `contractiles/k9/template-kennel.k9.ncl` +| `1-formats/contractiles/k9/template-kennel.k9.ncl` | Pure data. No subprocesses, no filesystem writes, no network access. | Safe for metadata, declarative settings, and other read-only structured outputs. | Yard -| `contractiles/k9/template-yard.k9.ncl` +| `1-formats/contractiles/k9/template-yard.k9.ncl` | Nickel evaluation with contracts and validation, but no side effects. | Use for validated configuration, schemas, and policies that need machine-checked structure. | Hunt -| `contractiles/k9/template-hunt.k9.ncl` +| `1-formats/contractiles/k9/template-hunt.k9.ncl` | Full execution surface with recipes and side effects. | Must declare side effects clearly, support dry-run review, and be signed before the estate treats it as trustworthy automation. |=== diff --git a/contractiles/README.adoc b/1-formats/contractiles/README.adoc similarity index 97% rename from contractiles/README.adoc rename to 1-formats/contractiles/README.adoc index fc77311bc..38fe1b212 100644 --- a/contractiles/README.adoc +++ b/1-formats/contractiles/README.adoc @@ -10,7 +10,7 @@ full verb and audit-semantics reference, and link:CANONICAL-TEMPLATES.adoc[Canonical Contractiles And K9 Guide] for the estate-level audit semantics. -Copy this `contractiles/` directory into a new repo to establish a +Copy this `1-formats/contractiles/` directory into a new repo to establish a consistent operational, validation, trust, recovery, aspiration, and service-automation framework. diff --git a/contractiles/dust/Dustfile b/1-formats/contractiles/dust/Dustfile similarity index 100% rename from contractiles/dust/Dustfile rename to 1-formats/contractiles/dust/Dustfile diff --git a/contractiles/intend/Intentfile.a2ml b/1-formats/contractiles/intend/Intentfile.a2ml similarity index 100% rename from contractiles/intend/Intentfile.a2ml rename to 1-formats/contractiles/intend/Intentfile.a2ml diff --git a/contractiles/must/Mustfile b/1-formats/contractiles/must/Mustfile similarity index 100% rename from contractiles/must/Mustfile rename to 1-formats/contractiles/must/Mustfile diff --git a/contractiles/trust/Trustfile.a2ml b/1-formats/contractiles/trust/Trustfile.a2ml similarity index 100% rename from contractiles/trust/Trustfile.a2ml rename to 1-formats/contractiles/trust/Trustfile.a2ml diff --git a/deed/README.adoc b/1-formats/deed/README.adoc similarity index 100% rename from deed/README.adoc rename to 1-formats/deed/README.adoc diff --git a/deed/docs/iana/application-vnd.deed-registration.txt b/1-formats/deed/docs/iana/application-vnd.deed-registration.txt similarity index 100% rename from deed/docs/iana/application-vnd.deed-registration.txt rename to 1-formats/deed/docs/iana/application-vnd.deed-registration.txt diff --git a/deed/spec/DEED-GRAMMAR-SPEC.adoc b/1-formats/deed/spec/DEED-GRAMMAR-SPEC.adoc similarity index 100% rename from deed/spec/DEED-GRAMMAR-SPEC.adoc rename to 1-formats/deed/spec/DEED-GRAMMAR-SPEC.adoc diff --git a/deed/spec/DEED-GRAMMAR-SPEC_v0.1.adoc b/1-formats/deed/spec/DEED-GRAMMAR-SPEC_v0.1.adoc similarity index 100% rename from deed/spec/DEED-GRAMMAR-SPEC_v0.1.adoc rename to 1-formats/deed/spec/DEED-GRAMMAR-SPEC_v0.1.adoc diff --git a/deed/spec/abnf/deed.abnf_v1.0 b/1-formats/deed/spec/abnf/deed.abnf_v1.0 similarity index 100% rename from deed/spec/abnf/deed.abnf_v1.0 rename to 1-formats/deed/spec/abnf/deed.abnf_v1.0 diff --git a/deed/spec/abnf/deed.anbf b/1-formats/deed/spec/abnf/deed.anbf similarity index 100% rename from deed/spec/abnf/deed.anbf rename to 1-formats/deed/spec/abnf/deed.anbf diff --git a/bindings-haskell/.devcontainer/Containerfile b/1-formats/sub-specs/bindings-haskell/.devcontainer/Containerfile similarity index 100% rename from bindings-haskell/.devcontainer/Containerfile rename to 1-formats/sub-specs/bindings-haskell/.devcontainer/Containerfile diff --git a/cartridges/0.2-AI-MANIFEST.a2ml b/1-formats/sub-specs/cartridges/0.2-AI-MANIFEST.a2ml similarity index 100% rename from cartridges/0.2-AI-MANIFEST.a2ml rename to 1-formats/sub-specs/cartridges/0.2-AI-MANIFEST.a2ml diff --git a/cartridges/CARTRIDGE-FORMAT.adoc b/1-formats/sub-specs/cartridges/CARTRIDGE-FORMAT.adoc similarity index 98% rename from cartridges/CARTRIDGE-FORMAT.adoc rename to 1-formats/sub-specs/cartridges/CARTRIDGE-FORMAT.adoc index 33d6bb481..17693eeb0 100644 --- a/cartridges/CARTRIDGE-FORMAT.adoc +++ b/1-formats/sub-specs/cartridges/CARTRIDGE-FORMAT.adoc @@ -77,7 +77,7 @@ Cartridge registries (canonically `hyperpolymath/boj-server-cartridges`) lay out their contents as the *Hybrid taxonomy*: ---- -cartridges/ +1-formats/sub-specs/cartridges/ ├── domains/ │ ├── cloud/ │ │ ├── mcp.cartridge/ ← cloud-mcp @@ -167,7 +167,7 @@ a worked example. Key files in that repository: -* `schemas/cartridge-v1.json` — SHA-pinned mirror of `cartridges/cartridge-v1.json` +* `schemas/cartridge-v1.json` — SHA-pinned mirror of `1-formats/sub-specs/cartridges/cartridge-v1.json` from this repo. * `schemas/PINNED-SHA` — exact upstream commit the mirror tracks. * `schemas/SCHEMA-MIRROR.md` — in-tree authority documenting the refresh diff --git a/cartridges/cartridge-v1.json b/1-formats/sub-specs/cartridges/cartridge-v1.json similarity index 94% rename from cartridges/cartridge-v1.json rename to 1-formats/sub-specs/cartridges/cartridge-v1.json index fd2ac6704..e6cc96593 100644 --- a/cartridges/cartridge-v1.json +++ b/1-formats/sub-specs/cartridges/cartridge-v1.json @@ -37,7 +37,7 @@ "category": { "type": "string", "enum": ["domain", "cross-cutting", "template"], - "description": "Taxonomy category. Domain cartridges live under cartridges/domains//. Cross-cutting under cartridges/cross-cutting/. Templates under cartridges/templates/." + "description": "Taxonomy category. Domain cartridges live under 1-formats/sub-specs/cartridges/domains//. Cross-cutting under 1-formats/sub-specs/cartridges/cross-cutting/. Templates under 1-formats/sub-specs/cartridges/templates/." }, "tier": { "type": "string", @@ -125,7 +125,7 @@ }, "path": { "type": "string", - "description": "Path within the registry, e.g. cartridges/domains/cloud/mcp.cartridge" + "description": "Path within the registry, e.g. 1-formats/sub-specs/cartridges/domains/cloud/mcp.cartridge" }, "sha256": { "type": "string", diff --git a/did-you-actually-do-that/README.adoc b/1-formats/sub-specs/did-you-actually-do-that/README.adoc similarity index 98% rename from did-you-actually-do-that/README.adoc rename to 1-formats/sub-specs/did-you-actually-do-that/README.adoc index 372cd35d3..6d2cdf573 100644 --- a/did-you-actually-do-that/README.adoc +++ b/1-formats/sub-specs/did-you-actually-do-that/README.adoc @@ -43,11 +43,11 @@ green*. | 3. In-session invariant gates | Contractile MUST/TRUST/BUST/DUST/ADJUST/INTEND — block at session-close / pre-push / pre-merge. -| `contractiles/` +| `1-formats/contractiles/` | **4. Post-action verification (this spec)** | **Take the agent's claimed outcomes and mechanically confirm each against primary evidence; record the verdicts in an append-only consequence ledger.** -| **`did-you-actually-do-that/`** +| **`1-formats/sub-specs/did-you-actually-do-that/`** |=== Tiers 1–3 answer "should this happen / may this happen". Tier 4 answers the diff --git a/did-you-actually-do-that/docs/NAMING-RESOLUTION.adoc b/1-formats/sub-specs/did-you-actually-do-that/docs/NAMING-RESOLUTION.adoc similarity index 100% rename from did-you-actually-do-that/docs/NAMING-RESOLUTION.adoc rename to 1-formats/sub-specs/did-you-actually-do-that/docs/NAMING-RESOLUTION.adoc diff --git a/did-you-actually-do-that/spec/CLAIM-FORMAT.adoc b/1-formats/sub-specs/did-you-actually-do-that/spec/CLAIM-FORMAT.adoc similarity index 100% rename from did-you-actually-do-that/spec/CLAIM-FORMAT.adoc rename to 1-formats/sub-specs/did-you-actually-do-that/spec/CLAIM-FORMAT.adoc diff --git a/did-you-actually-do-that/spec/CONSEQUENCE-LEDGER.adoc b/1-formats/sub-specs/did-you-actually-do-that/spec/CONSEQUENCE-LEDGER.adoc similarity index 97% rename from did-you-actually-do-that/spec/CONSEQUENCE-LEDGER.adoc rename to 1-formats/sub-specs/did-you-actually-do-that/spec/CONSEQUENCE-LEDGER.adoc index 2b1cfd01b..66a2de9d7 100644 --- a/did-you-actually-do-that/spec/CONSEQUENCE-LEDGER.adoc +++ b/1-formats/sub-specs/did-you-actually-do-that/spec/CONSEQUENCE-LEDGER.adoc @@ -37,7 +37,7 @@ refuted = 0 unverifiable = 1 verifier = "scripts/verify-claims.sh@" # Dual signature: BOTH the actor and the verifier attest. Reuses the contractile -# pledge-signing mechanism (contractiles/ TRUST/INTEND). A missing signature +# pledge-signing mechanism (1-formats/contractiles/ TRUST/INTEND). A missing signature # makes the entry advisory-only (it is recorded, but MUST NOT be used to gate). actor_sig = "ssh-ed25519 …" verifier_sig = "ssh-ed25519 …" diff --git a/did-you-actually-do-that/spec/VERIFICATION-PROTOCOL.adoc b/1-formats/sub-specs/did-you-actually-do-that/spec/VERIFICATION-PROTOCOL.adoc similarity index 100% rename from did-you-actually-do-that/spec/VERIFICATION-PROTOCOL.adoc rename to 1-formats/sub-specs/did-you-actually-do-that/spec/VERIFICATION-PROTOCOL.adoc diff --git a/did-you-actually-do-that/spec/conformance/README.adoc b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/README.adoc similarity index 89% rename from did-you-actually-do-that/spec/conformance/README.adoc rename to 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/README.adoc index b405b9697..e3d485695 100644 --- a/did-you-actually-do-that/spec/conformance/README.adoc +++ b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/README.adoc @@ -17,4 +17,4 @@ The vectors deliberately use base-independent conditions (fixed commands, fixture-file contents, verifier/class mismatches, licence claims) so the expected verdicts are stable regardless of git history. -Run: `bash did-you-actually-do-that/spec/conformance/run-conformance.sh` +Run: `bash 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/run-conformance.sh` diff --git a/did-you-actually-do-that/spec/conformance/always-match.a2ml b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/always-match.a2ml similarity index 100% rename from did-you-actually-do-that/spec/conformance/always-match.a2ml rename to 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/always-match.a2ml diff --git a/did-you-actually-do-that/spec/conformance/always-match.expected b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/always-match.expected similarity index 100% rename from did-you-actually-do-that/spec/conformance/always-match.expected rename to 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/always-match.expected diff --git a/did-you-actually-do-that/spec/conformance/confirmed-command.a2ml b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/confirmed-command.a2ml similarity index 100% rename from did-you-actually-do-that/spec/conformance/confirmed-command.a2ml rename to 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/confirmed-command.a2ml diff --git a/did-you-actually-do-that/spec/conformance/confirmed-command.expected b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/confirmed-command.expected similarity index 100% rename from did-you-actually-do-that/spec/conformance/confirmed-command.expected rename to 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/confirmed-command.expected diff --git a/did-you-actually-do-that/spec/conformance/contains-fixture.a2ml b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/contains-fixture.a2ml similarity index 70% rename from did-you-actually-do-that/spec/conformance/contains-fixture.a2ml rename to 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/contains-fixture.a2ml index c036f451e..e74ed2f0e 100644 --- a/did-you-actually-do-that/spec/conformance/contains-fixture.a2ml +++ b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/contains-fixture.a2ml @@ -5,6 +5,6 @@ actor = "conformance" id = "C1" claim_class = "file-changed" statement = "the fixture contains the marker" -target = "did-you-actually-do-that/spec/conformance/fixture.txt" +target = "1-formats/sub-specs/did-you-actually-do-that/spec/conformance/fixture.txt" expect = "contains:DYADT fixture" verifier = "git-diff" diff --git a/did-you-actually-do-that/spec/conformance/contains-fixture.expected b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/contains-fixture.expected similarity index 100% rename from did-you-actually-do-that/spec/conformance/contains-fixture.expected rename to 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/contains-fixture.expected diff --git a/did-you-actually-do-that/spec/conformance/fixture.txt b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/fixture.txt similarity index 100% rename from did-you-actually-do-that/spec/conformance/fixture.txt rename to 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/fixture.txt diff --git a/did-you-actually-do-that/spec/conformance/incompatible-verifier.a2ml b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/incompatible-verifier.a2ml similarity index 100% rename from did-you-actually-do-that/spec/conformance/incompatible-verifier.a2ml rename to 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/incompatible-verifier.a2ml diff --git a/did-you-actually-do-that/spec/conformance/incompatible-verifier.expected b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/incompatible-verifier.expected similarity index 100% rename from did-you-actually-do-that/spec/conformance/incompatible-verifier.expected rename to 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/incompatible-verifier.expected diff --git a/did-you-actually-do-that/spec/conformance/licence-in-statement.a2ml b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/licence-in-statement.a2ml similarity index 100% rename from did-you-actually-do-that/spec/conformance/licence-in-statement.a2ml rename to 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/licence-in-statement.a2ml diff --git a/did-you-actually-do-that/spec/conformance/licence-in-statement.expected b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/licence-in-statement.expected similarity index 100% rename from did-you-actually-do-that/spec/conformance/licence-in-statement.expected rename to 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/licence-in-statement.expected diff --git a/did-you-actually-do-that/spec/conformance/manual-licence.a2ml b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/manual-licence.a2ml similarity index 100% rename from did-you-actually-do-that/spec/conformance/manual-licence.a2ml rename to 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/manual-licence.a2ml diff --git a/did-you-actually-do-that/spec/conformance/manual-licence.expected b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/manual-licence.expected similarity index 100% rename from did-you-actually-do-that/spec/conformance/manual-licence.expected rename to 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/manual-licence.expected diff --git a/did-you-actually-do-that/spec/conformance/missing-field.a2ml b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/missing-field.a2ml similarity index 100% rename from did-you-actually-do-that/spec/conformance/missing-field.a2ml rename to 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/missing-field.a2ml diff --git a/did-you-actually-do-that/spec/conformance/missing-field.expected b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/missing-field.expected similarity index 100% rename from did-you-actually-do-that/spec/conformance/missing-field.expected rename to 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/missing-field.expected diff --git a/did-you-actually-do-that/spec/conformance/refuted-command.a2ml b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/refuted-command.a2ml similarity index 100% rename from did-you-actually-do-that/spec/conformance/refuted-command.a2ml rename to 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/refuted-command.a2ml diff --git a/did-you-actually-do-that/spec/conformance/refuted-command.expected b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/refuted-command.expected similarity index 100% rename from did-you-actually-do-that/spec/conformance/refuted-command.expected rename to 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/refuted-command.expected diff --git a/did-you-actually-do-that/spec/conformance/run-conformance.sh b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/run-conformance.sh similarity index 100% rename from did-you-actually-do-that/spec/conformance/run-conformance.sh rename to 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/run-conformance.sh diff --git a/did-you-actually-do-that/spec/conformance/unsafe-path.a2ml b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/unsafe-path.a2ml similarity index 100% rename from did-you-actually-do-that/spec/conformance/unsafe-path.a2ml rename to 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/unsafe-path.a2ml diff --git a/did-you-actually-do-that/spec/conformance/unsafe-path.expected b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/unsafe-path.expected similarity index 100% rename from did-you-actually-do-that/spec/conformance/unsafe-path.expected rename to 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/unsafe-path.expected diff --git a/did-you-actually-do-that/spec/conformance/unverifiable-network.a2ml b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/unverifiable-network.a2ml similarity index 100% rename from did-you-actually-do-that/spec/conformance/unverifiable-network.a2ml rename to 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/unverifiable-network.a2ml diff --git a/did-you-actually-do-that/spec/conformance/unverifiable-network.expected b/1-formats/sub-specs/did-you-actually-do-that/spec/conformance/unverifiable-network.expected similarity index 100% rename from did-you-actually-do-that/spec/conformance/unverifiable-network.expected rename to 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/unverifiable-network.expected diff --git a/ensaid-config/0-AI-MANIFEST.a2ml b/1-formats/sub-specs/ensaid-config/0-AI-MANIFEST.a2ml similarity index 100% rename from ensaid-config/0-AI-MANIFEST.a2ml rename to 1-formats/sub-specs/ensaid-config/0-AI-MANIFEST.a2ml diff --git a/ensaid-config/README.adoc b/1-formats/sub-specs/ensaid-config/README.adoc similarity index 100% rename from ensaid-config/README.adoc rename to 1-formats/sub-specs/ensaid-config/README.adoc diff --git a/ensaid-config/spec/ENSAID-CONFIG-SPEC.adoc b/1-formats/sub-specs/ensaid-config/spec/ENSAID-CONFIG-SPEC.adoc similarity index 100% rename from ensaid-config/spec/ENSAID-CONFIG-SPEC.adoc rename to 1-formats/sub-specs/ensaid-config/spec/ENSAID-CONFIG-SPEC.adoc diff --git a/ensaid-config/spec/README.adoc b/1-formats/sub-specs/ensaid-config/spec/README.adoc similarity index 100% rename from ensaid-config/spec/README.adoc rename to 1-formats/sub-specs/ensaid-config/spec/README.adoc diff --git a/inline-annotations/README.adoc b/1-formats/sub-specs/inline-annotations/README.adoc similarity index 100% rename from inline-annotations/README.adoc rename to 1-formats/sub-specs/inline-annotations/README.adoc diff --git a/inline-annotations/SPEC.adoc b/1-formats/sub-specs/inline-annotations/SPEC.adoc similarity index 98% rename from inline-annotations/SPEC.adoc rename to 1-formats/sub-specs/inline-annotations/SPEC.adoc index 396d64b3a..33f0adfa8 100644 --- a/inline-annotations/SPEC.adoc +++ b/1-formats/sub-specs/inline-annotations/SPEC.adoc @@ -182,7 +182,7 @@ the annotation octad. It does not mutate the original annotation. == Reference Implementation -A Rust reference extractor lives in `inline-annotations/extractor/` (to be +A Rust reference extractor lives in `1-formats/sub-specs/inline-annotations/extractor/` (to be written). It parses comments for all languages listed in the language table and emits conformant A2ML. diff --git a/inline-annotations/examples/octad-mapping.a2ml b/1-formats/sub-specs/inline-annotations/examples/octad-mapping.a2ml similarity index 100% rename from inline-annotations/examples/octad-mapping.a2ml rename to 1-formats/sub-specs/inline-annotations/examples/octad-mapping.a2ml diff --git a/inline-annotations/examples/output.a2ml b/1-formats/sub-specs/inline-annotations/examples/output.a2ml similarity index 100% rename from inline-annotations/examples/output.a2ml rename to 1-formats/sub-specs/inline-annotations/examples/output.a2ml diff --git a/inline-annotations/examples/sources.adoc b/1-formats/sub-specs/inline-annotations/examples/sources.adoc similarity index 100% rename from inline-annotations/examples/sources.adoc rename to 1-formats/sub-specs/inline-annotations/examples/sources.adoc diff --git a/inline-annotations/extractor/Cargo.toml b/1-formats/sub-specs/inline-annotations/extractor/Cargo.toml similarity index 100% rename from inline-annotations/extractor/Cargo.toml rename to 1-formats/sub-specs/inline-annotations/extractor/Cargo.toml diff --git a/inline-annotations/extractor/batch-extract.sh b/1-formats/sub-specs/inline-annotations/extractor/batch-extract.sh similarity index 100% rename from inline-annotations/extractor/batch-extract.sh rename to 1-formats/sub-specs/inline-annotations/extractor/batch-extract.sh diff --git a/inline-annotations/extractor/src/main.rs b/1-formats/sub-specs/inline-annotations/extractor/src/main.rs similarity index 99% rename from inline-annotations/extractor/src/main.rs rename to 1-formats/sub-specs/inline-annotations/extractor/src/main.rs index b406cfb5d..ee743f1a3 100644 --- a/inline-annotations/extractor/src/main.rs +++ b/1-formats/sub-specs/inline-annotations/extractor/src/main.rs @@ -4,7 +4,7 @@ // inline-annotations extractor — reference implementation // // Reads source files, finds @trust/@contract/@grade annotations in comments, -// emits an A2ML document to stdout (or --out file). See inline-annotations/SPEC.adoc. +// emits an A2ML document to stdout (or --out file). See 1-formats/sub-specs/inline-annotations/SPEC.adoc. use std::collections::HashMap; use std::env; diff --git a/panll-panels/README.adoc b/1-formats/sub-specs/panll-panels/README.adoc similarity index 93% rename from panll-panels/README.adoc rename to 1-formats/sub-specs/panll-panels/README.adoc index 5a3108b9f..5ff9d365a 100644 --- a/panll-panels/README.adoc +++ b/1-formats/sub-specs/panll-panels/README.adoc @@ -41,4 +41,4 @@ They do NOT yet: - `@rescript/react` for JSX - VeriSimDB running at `http://localhost:8097` (standards instance) -- PanLL workspace manifest must include `panll-panels/manifest.json` +- PanLL workspace manifest must include `1-formats/sub-specs/panll-panels/manifest.json` diff --git a/panll-panels/manifest.json b/1-formats/sub-specs/panll-panels/manifest.json similarity index 100% rename from panll-panels/manifest.json rename to 1-formats/sub-specs/panll-panels/manifest.json diff --git a/panll-panels/src/ComplianceMonitor.affine b/1-formats/sub-specs/panll-panels/src/ComplianceMonitor.affine similarity index 100% rename from panll-panels/src/ComplianceMonitor.affine rename to 1-formats/sub-specs/panll-panels/src/ComplianceMonitor.affine diff --git a/panll-panels/src/CrgDashboard.affine b/1-formats/sub-specs/panll-panels/src/CrgDashboard.affine similarity index 100% rename from panll-panels/src/CrgDashboard.affine rename to 1-formats/sub-specs/panll-panels/src/CrgDashboard.affine diff --git a/panll-panels/src/ProofHub.affine b/1-formats/sub-specs/panll-panels/src/ProofHub.affine similarity index 100% rename from panll-panels/src/ProofHub.affine rename to 1-formats/sub-specs/panll-panels/src/ProofHub.affine diff --git a/panll-panels/src/VcldbClient.affine b/1-formats/sub-specs/panll-panels/src/VcldbClient.affine similarity index 100% rename from panll-panels/src/VcldbClient.affine rename to 1-formats/sub-specs/panll-panels/src/VcldbClient.affine diff --git a/a2ml-templates/AGENTIC.a2ml.template b/1-formats/templates/AGENTIC.a2ml.template similarity index 100% rename from a2ml-templates/AGENTIC.a2ml.template rename to 1-formats/templates/AGENTIC.a2ml.template diff --git a/a2ml-templates/ECOSYSTEM.a2ml.template b/1-formats/templates/ECOSYSTEM.a2ml.template similarity index 100% rename from a2ml-templates/ECOSYSTEM.a2ml.template rename to 1-formats/templates/ECOSYSTEM.a2ml.template diff --git a/a2ml-templates/META.a2ml.template b/1-formats/templates/META.a2ml.template similarity index 100% rename from a2ml-templates/META.a2ml.template rename to 1-formats/templates/META.a2ml.template diff --git a/a2ml-templates/NEUROSYM.a2ml.template b/1-formats/templates/NEUROSYM.a2ml.template similarity index 100% rename from a2ml-templates/NEUROSYM.a2ml.template rename to 1-formats/templates/NEUROSYM.a2ml.template diff --git a/a2ml-templates/PLAYBOOK.a2ml.template b/1-formats/templates/PLAYBOOK.a2ml.template similarity index 100% rename from a2ml-templates/PLAYBOOK.a2ml.template rename to 1-formats/templates/PLAYBOOK.a2ml.template diff --git a/a2ml-templates/STATE.a2ml.template b/1-formats/templates/STATE.a2ml.template similarity index 98% rename from a2ml-templates/STATE.a2ml.template rename to 1-formats/templates/STATE.a2ml.template index 241721c8c..6c70068b5 100644 --- a/a2ml-templates/STATE.a2ml.template +++ b/1-formats/templates/STATE.a2ml.template @@ -6,7 +6,7 @@ # It is machine-readable and used by RSR tooling for validation. # # SUPERSEDED SURFACE: the key-value surface below is v1. The normative grammar -# for this family is now DEED -- see deed/spec/DEED-GRAMMAR-SPEC.adoc in +# for this family is now DEED -- see 1-formats/deed/spec/DEED-GRAMMAR-SPEC.adoc in # hyperpolymath/standards. DEED is an s-expression format: it has no # "key = value" production. This template is retained until the conversion # campaign regenerates it; do not treat its surface as the specification. diff --git a/a2ml-templates/STATE.a2ml.v2.spec.adoc b/1-formats/templates/STATE.a2ml.v2.spec.adoc similarity index 100% rename from a2ml-templates/STATE.a2ml.v2.spec.adoc rename to 1-formats/templates/STATE.a2ml.v2.spec.adoc diff --git a/a2ml-templates/STATE.a2ml.v2.template b/1-formats/templates/STATE.a2ml.v2.template similarity index 100% rename from a2ml-templates/STATE.a2ml.v2.template rename to 1-formats/templates/STATE.a2ml.v2.template diff --git a/a2ml-templates/state-migrate-v1-to-v2.sh b/1-formats/templates/state-migrate-v1-to-v2.sh similarity index 96% rename from a2ml-templates/state-migrate-v1-to-v2.sh rename to 1-formats/templates/state-migrate-v1-to-v2.sh index 3bd78b89f..764a35011 100755 --- a/a2ml-templates/state-migrate-v1-to-v2.sh +++ b/1-formats/templates/state-migrate-v1-to-v2.sh @@ -3,7 +3,7 @@ # Migrate a repo's STATE.a2ml from v1 (Scheme, bloated) to v2 (thin journal). # # Extracts: phase, next_action, last_action, blockers. -# See: a2ml-templates/STATE.a2ml.v2.spec.adoc +# See: 1-formats/templates/STATE.a2ml.v2.spec.adoc # # Usage: state-migrate-v1-to-v2.sh diff --git a/a2ml-templates/state-scm-to-v2.jl b/1-formats/templates/state-scm-to-v2.jl similarity index 100% rename from a2ml-templates/state-scm-to-v2.jl rename to 1-formats/templates/state-scm-to-v2.jl diff --git a/CLAIMS.a2ml b/CLAIMS.a2ml index 391ca0b55..387e5e29b 100644 --- a/CLAIMS.a2ml +++ b/CLAIMS.a2ml @@ -1,6 +1,6 @@ # SPDX-License-Identifier: CC-BY-SA-4.0 # CLAIMS.a2ml — DYADT dogfood: what this change claims to have done. -# Verified in CI by scripts/verify-claims.sh (did-you-actually-do-that/). +# Verified in CI by scripts/verify-claims.sh (1-formats/sub-specs/did-you-actually-do-that/). # Every claim below is re-derived from primary evidence, not from this text. # Claims use content markers (not "created") so they stay true after the change # merges into the base branch — a claim must describe a durable fact. @@ -15,7 +15,7 @@ emitted_commit = "HEAD" id = "C1" claim_class = "file-changed" statement = "the DYADT front door defines the Tier-4 accountability pipeline" -target = "did-you-actually-do-that/README.adoc" +target = "1-formats/sub-specs/did-you-actually-do-that/README.adoc" expect = "contains:Post-Action Claim Verification" verifier = "git-diff" @@ -23,7 +23,7 @@ verifier = "git-diff" id = "C2" claim_class = "file-changed" statement = "the claim format spec defines typed claim classes" -target = "did-you-actually-do-that/spec/CLAIM-FORMAT.adoc" +target = "1-formats/sub-specs/did-you-actually-do-that/spec/CLAIM-FORMAT.adoc" expect = "contains:claim_class" verifier = "git-diff" @@ -31,7 +31,7 @@ verifier = "git-diff" id = "C3" claim_class = "file-changed" statement = "the verification protocol fixes the three-verdict contract" -target = "did-you-actually-do-that/spec/VERIFICATION-PROTOCOL.adoc" +target = "1-formats/sub-specs/did-you-actually-do-that/spec/VERIFICATION-PROTOCOL.adoc" expect = "contains:unverifiable" verifier = "git-diff" @@ -39,7 +39,7 @@ verifier = "git-diff" id = "C4" claim_class = "file-changed" statement = "the consequence ledger defines a per-actor confirmation rate" -target = "did-you-actually-do-that/spec/CONSEQUENCE-LEDGER.adoc" +target = "1-formats/sub-specs/did-you-actually-do-that/spec/CONSEQUENCE-LEDGER.adoc" expect = "contains:confirmation rate" verifier = "git-diff" @@ -55,7 +55,7 @@ verifier = "git-diff" id = "C6" claim_class = "command-ran" statement = "the DYADT conformance vector suite passes" -target = "bash did-you-actually-do-that/spec/conformance/run-conformance.sh" +target = "bash 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/run-conformance.sh" expect = "exit==0" verifier = "command-transcript" diff --git a/EXPLAINME.adoc b/EXPLAINME.adoc index 8535ae738..10c6705c3 100644 --- a/EXPLAINME.adoc +++ b/EXPLAINME.adoc @@ -58,7 +58,7 @@ link:REGISTRY.adoc[REGISTRY.adoc]). == How to use this repo -. *New project?* See link:A2ML-REPO-TEMPLATE.adoc[A2ML-REPO-TEMPLATE.adoc] and the *Usage* section of link:README.adoc[README.adoc]. +. *New project?* See link:1-formats/A2ML-REPO-TEMPLATE.adoc[1-formats/A2ML-REPO-TEMPLATE.adoc] and the *Usage* section of link:README.adoc[README.adoc]. . *Looking for a specific spec?* link:.machine_readable/REGISTRY.a2ml[REGISTRY.a2ml]. . *Language question?* link:.claude/CLAUDE.md[.claude/CLAUDE.md]. . *CI / enforcement?* link:.github/workflows/[.github/workflows/] + link:hooks/[hooks/]. diff --git a/Justfile b/Justfile index eae95fd32..09b91eabc 100644 --- a/Justfile +++ b/Justfile @@ -118,7 +118,7 @@ verify-claims path="CLAIMS.a2ml": # DYADT: run the conformance vector suite dyadt-conformance: - @bash did-you-actually-do-that/spec/conformance/run-conformance.sh + @bash 1-formats/sub-specs/did-you-actually-do-that/spec/conformance/run-conformance.sh # DYADT regression test (confirm/refute/unverifiable + guards) dyadt-test: diff --git a/LICENCE-POLICY.adoc b/LICENCE-POLICY.adoc index 5585a9a8f..0444eed93 100644 --- a/LICENCE-POLICY.adoc +++ b/LICENCE-POLICY.adoc @@ -345,7 +345,7 @@ substitution step must rewrite them to `MPL-2.0`. Their survival into a repo is an *unsubstituted-scaffold leak* (a process bug), *not licence debt*. They must NEVER be hand-edited as licence remediation; the fix is re-running scaffold substitution. The -canonical tripwire is `contractiles/must/Mustfile` (groups the +canonical tripwire is `1-formats/contractiles/must/Mustfile` (groups the sentinel with `REPLACE-WITH-*`); `spdx-policy-guard.yml` hard-fails it as a real SPDX value (and surfaces A3 variants as non-failing warnings). Evidence: `LICENCE-DEBT-LEDGER-2026-05-18`. diff --git a/QUICKSTART-USER.adoc b/QUICKSTART-USER.adoc index a4a7025b7..e2160fdae 100644 --- a/QUICKSTART-USER.adoc +++ b/QUICKSTART-USER.adoc @@ -25,9 +25,9 @@ them stick. See link:README.adoc[README.adoc] for the full overview and the git clone https://github.com/hyperpolymath/standards.git ---- -. *Scaffold a compliant repo:* follow link:A2ML-REPO-TEMPLATE.adoc[A2ML-REPO-TEMPLATE.adoc] +. *Scaffold a compliant repo:* follow link:1-formats/A2ML-REPO-TEMPLATE.adoc[1-formats/A2ML-REPO-TEMPLATE.adoc] and the *Usage* section of link:README.adoc[README.adoc]. -. *Add the 7 A2ML files:* copy from link:a2ml-templates/[`a2ml-templates/`] into +. *Add the 7 A2ML files:* copy from link:1-formats/templates/[`1-formats/templates/`] into your repo's `.machine_readable/`. . *Adopt enforcement:* copy the relevant link:.github/workflows/[workflows] and link:hooks/[hooks] (language policy, doc-format, Makefile blocker, registry-verify). diff --git a/README.adoc b/README.adoc index 6782be191..6fa009280 100644 --- a/README.adoc +++ b/README.adoc @@ -42,7 +42,7 @@ Every other "what is this repo" doc is now a thin pointer back to these two | link:.machine_readable/REGISTRY.a2ml[REGISTRY.a2ml] (machine) · link:REGISTRY.adoc[REGISTRY.adoc] (prose) | The **A2ML / K9 foundation** (Stream 1) — the 7-format family, K9, contractiles -| link:a2ml/[a2ml/], link:k9-svc/[k9-svc/], link:contractiles/[contractiles/] and the `*-a2ml/` spec dirs +| link:a2ml/[a2ml/], link:k9-svc/[k9-svc/], link:1-formats/contractiles/[1-formats/contractiles/] and the `*-a2ml/` spec dirs | The **language policy** (Stream 2) — allowed/banned languages, AffineScript stance | link:.claude/CLAUDE.md[.claude/CLAUDE.md] (canonical) + the <> table below @@ -63,7 +63,7 @@ Every other "what is this repo" doc is now a thin pointer back to these two | link:TOPOLOGY.adoc[TOPOLOGY.adoc] (generated from STATE + registry) | To **stand up a new repo** to these standards -| link:A2ML-REPO-TEMPLATE.adoc[A2ML-REPO-TEMPLATE.adoc] + <> +| link:1-formats/A2ML-REPO-TEMPLATE.adoc[1-formats/A2ML-REPO-TEMPLATE.adoc] + <> | The **education layer** — audience-split deep docs (beyond quickstart) | link:docs/wikis/[docs/wikis/] — link:docs/wikis/users/index.adoc[Users] · link:docs/wikis/developers/index.adoc[Developers] · link:docs/wikis/maintainers/index.adoc[Maintainers] @@ -80,12 +80,12 @@ This repository serves as the canonical source for policies, templates, and spec * **Language Policy** -- Which languages and tools are permitted across the ecosystem * **Language-Maturation Grades** -- link:adoption-readiness-grades/[ARG (Adoption Readiness)] + link:foundations-readiness-grades/[FRG (Foundations Readiness)] per-language profile templates; aggregated into the link:https://github.com/hyperpolymath/nextgen-languages[nextgen-languages] dashboard. TRG (Trust) + CRG (Compliance) profile templates live under each framework's `templates/` directory. -* **Decriptiles Family** -- 7 machine-readable project metadata formats in A2ML (see link:SATELLITES.a2ml[SATELLITES.a2ml]) +* **Decriptiles Family** -- 7 machine-readable project metadata formats in A2ML (see link:1-formats/SATELLITES.a2ml[1-formats/SATELLITES.a2ml]) * **Build System** -- Mustfile/justfile (no Makefiles) * **Stable Release Gate** -- link:release-pre-flight/V1-GATE.adoc[hard `v1.0.0` audit requirements] for all repos and multi-repo systems * **Publication Pre-Flight** -- link:publication-pre-flight/PREFLIGHT.adoc[submission gate] plus link:publication-pre-flight/HOL-SUITABILITY-CHECKLIST.adoc[HOL] and link:publication-pre-flight/ZENODO-DEPOSIT-CHECKLIST.adoc[Zenodo] checklists * **Session Management Standards** -- link:session-management-standards/README.adoc[canonical continuity, verify, and handover protocols] -* **Contractiles / K9** -- link:contractiles/CANONICAL-TEMPLATES.adoc[canonical Must/Trust/Dust/Intent semantics] and Kennel/Yard/Hunt guidance +* **Contractiles / K9** -- link:1-formats/contractiles/CANONICAL-TEMPLATES.adoc[canonical Must/Trust/Dust/Intent semantics] and Kennel/Yard/Hunt guidance * **Governance Templates** -- Reusable CODE_OF_CONDUCT, CONTRIBUTING, and SECURITY documents * **CODEOWNERS Policy** -- link:CODEOWNERS-POLICY.adoc[canonical `CODEOWNERS` rules] (no catch-all/workflow lines on solo-owned repos) * **Licensing** -- MPL-2.0 (see link:LICENSE[LICENSE]); licence/SPDX changes are owner-only (see link:.claude/CLAUDE.md[.claude/CLAUDE.md]) @@ -138,9 +138,9 @@ RSR boilerplate (LICENSE, CODE_OF_CONDUCT, CONTRIBUTING, SECURITY, MAINTAINERS) |Standards update tooling and documentation |=== -Satellite registry is still machine-readable in link:SATELLITES.a2ml[SATELLITES.a2ml]. +Satellite registry is still machine-readable in link:1-formats/SATELLITES.a2ml[1-formats/SATELLITES.a2ml]. -For detailed repository structure requirements, see link:A2ML-REPO-TEMPLATE.adoc[A2ML-REPO-TEMPLATE.adoc]. +For detailed repository structure requirements, see link:1-formats/A2ML-REPO-TEMPLATE.adoc[1-formats/A2ML-REPO-TEMPLATE.adoc]. === A2ML Format Family (7 Formats) @@ -186,11 +186,11 @@ Every Hyperpolymath repository must include these machine-readable A2ML files in |link:anchor-a2ml/[anchor-a2ml] |=== -Templates available in `a2ml-templates/` directory. +Templates available in `1-formats/templates/` directory. === Execution Pipeline -All implementations MUST respect this ordering (defined in link:SATELLITES.a2ml[SATELLITES.a2ml]): +All implementations MUST respect this ordering (defined in link:1-formats/SATELLITES.a2ml[1-formats/SATELLITES.a2ml]): [source] ---- @@ -376,7 +376,7 @@ standards/ +-- hooks/ # Git hooks | +-- pre-commit # Language policy enforcement | +-- validate-*.sh # Validation scripts -+-- a2ml-templates/ # A2ML file templates ++-- 1-formats/templates/ # A2ML file templates | +-- STATE.a2ml.template | +-- META.a2ml.template | +-- ECOSYSTEM.a2ml.template @@ -395,7 +395,7 @@ standards/ | +-- README.adoc | +-- spec/ | +-- examples/ -| +-- contractiles/ +| +-- 1-formats/contractiles/ | +-- ncl/ +-- neurosym-a2ml/ # NEUROSYM.a2ml specification | +-- README.adoc @@ -406,7 +406,7 @@ standards/ | +-- README.adoc | +-- spec/ | +-- examples/ -| +-- contractiles/ +| +-- 1-formats/contractiles/ +-- state-a2ml/ # STATE.a2ml specification | +-- README.adoc | +-- spec/ @@ -418,8 +418,8 @@ standards/ | +-- docs/ +-- standards-update/ # Standards update tooling | +-- README.adoc -+-- SATELLITES.a2ml # Hub-satellite registry (machine-readable) -+-- A2ML-REPO-TEMPLATE.adoc # Canonical structure for -a2ml repos ++-- 1-formats/SATELLITES.a2ml # Hub-satellite registry (machine-readable) ++-- 1-formats/A2ML-REPO-TEMPLATE.adoc # Canonical structure for -a2ml repos +-- CODE_OF_CONDUCT.md # Template +-- CONTRIBUTING.md # Template +-- SECURITY.md # Template @@ -450,7 +450,7 @@ standards/ **Standards Monorepo (this repository):** -* link:SATELLITES.a2ml[SATELLITES.a2ml] -- Machine-readable satellite registry +* link:1-formats/SATELLITES.a2ml[1-formats/SATELLITES.a2ml] -- Machine-readable satellite registry * link:docs/UX-standards/[docs/UX-standards] -- UX standards and E-Grade launcher specification **A2ML Format Family (local subdirectories):** diff --git a/REORGANIZATION-PLAN.adoc b/REORGANIZATION-PLAN.adoc index b7fd81b47..ce97aca8d 100644 --- a/REORGANIZATION-PLAN.adoc +++ b/REORGANIZATION-PLAN.adoc @@ -51,7 +51,7 @@ per subdir) - ==== 3. Overlapping Specifications -*Issue:* A2ML templates exist in both: - `+a2ml-templates/+` (6 files) - +*Issue:* A2ML templates exist in both: - `+1-formats/templates/+` (6 files) - `+rhodium-standard-repositories/templates/+` (20+ files with some overlap) @@ -69,7 +69,7 @@ categorization: .... k9-svc-repo/ templates/ - contractiles/ + 1-formats/contractiles/ dust/ intend/ lust/ diff --git a/TOOLING-VERSION-INTEGRITY-POLICY.adoc b/TOOLING-VERSION-INTEGRITY-POLICY.adoc index 862c4a3a9..05f9b0d91 100644 --- a/TOOLING-VERSION-INTEGRITY-POLICY.adoc +++ b/TOOLING-VERSION-INTEGRITY-POLICY.adoc @@ -79,7 +79,7 @@ A "passed" check MUST assert that the underlying work actually ran, not merely that nothing returned non-zero. Concretely: * The canonical `must` contract carries a `tooling-version-integrity` - check (see `contractiles/must/Mustfile`) that asserts the installed + check (see `1-formats/contractiles/must/Mustfile`) that asserts the installed `just` satisfies the declared floor *and* runs the workflow lint. This check runs after `just` is on `PATH`, so it catches the parse-time class that an in-file guard structurally cannot. @@ -120,7 +120,7 @@ the failure mode this policy exists to end. Promote R4 to blocking == Rule 5 — Resolve at source, never per-repo Fixes to any of the above are made in the canonical source -(`contractile` source under `contractiles/`, the canonical CI/Justfile +(`contractile` source under `1-formats/contractiles/`, the canonical CI/Justfile templates in `rsr-template-repo` → `v3-templater` / `reposystem`) and propagated by re-adoption. Per-repo patches recreate the drift this policy exists to prevent. @@ -128,7 +128,7 @@ policy exists to prevent. NOTE: The `contractile` generator itself is currently out-of-band (the generator repository is not part of the working estate). Until it is in-tree, changes to generated `contractile.just` content are made in the -`contractiles/` *source* fragments and regenerated by whoever holds the +`1-formats/contractiles/` *source* fragments and regenerated by whoever holds the generator; consumers must re-run `contractile gen-just --dir contractiles` to pick them up. This gap is tracked estate-wide (see the Tooling Version Integrity sweep tracking issue). @@ -139,7 +139,7 @@ Integrity sweep tracking issue). unversioned family-tool installs (Rule 1) and bare `continue-on-error` (Rule 4). R1 is always blocking; R4 is advisory by default and blocking with `--strict`. -* `contractiles/must/Mustfile` (canonical template) carries a default +* `1-formats/contractiles/must/Mustfile` (canonical template) carries a default `tooling-version-integrity` mandatory check so every repo adopting the canonical `must` contract inherits the R0/R1 gate (Rule 3, Rule 5). This repo's live `Mustfile` runs the lint with `--strict` because its diff --git a/TOPOLOGY.adoc b/TOPOLOGY.adoc index 48c1ecfd3..3cde9a896 100644 --- a/TOPOLOGY.adoc +++ b/TOPOLOGY.adoc @@ -23,7 +23,7 @@ ____ |=== | Spec | Home | If you want… | K9 Self-Validating Components | link:k9-svc/[`+k9-svc/+`] | the K9 specification, security analysis and adoption guidance (implementations live in hyperpolymath/k9-ecosystem) -| Contractiles (Must/Trust/Dust/Intend) | link:contractiles/[`+contractiles/+`] | policy-enforcement primitives the K9 layer is built from +| Contractiles (Must/Trust/Dust/Intend) | link:1-formats/contractiles/[`+1-formats/contractiles/+`] | policy-enforcement primitives the K9 layer is built from | META.a2ml spec | link:meta-a2ml/[`+meta-a2ml/+`] | architecture decisions / governance metadata format | STATE.a2ml spec | link:state-a2ml/[`+state-a2ml/+`] | project-state metadata format (drives this registry's topology) | ECOSYSTEM.a2ml spec | link:ecosystem-a2ml/[`+ecosystem-a2ml/+`] | ecosystem-positioning metadata format @@ -65,8 +65,8 @@ ____ | Hyperpolymath Estate Constitution | link:0-canon/constitution/[`+0-canon/constitution/+`] | the highest estate-level rules, authority precedence, assurance, contribution, exceptions, and known tensions | RSR — Rhodium Standard Repositories | link:rhodium-standard-repositories/[`+rhodium-standard-repositories/+`] | the repository-compliance standard every repo is graded against | Session Management Standards | link:session-management-standards/[`+session-management-standards/+`] | continuity / verify / handover protocols -| DYADT — Did-You-Actually-Do-That | link:did-you-actually-do-that/[`+did-you-actually-do-that/+`] | post-action agent-claim verification (Tier 4 accountability) -| ENSAID Config | link:ensaid-config/[`+ensaid-config/+`] | the ensaid configuration standard +| DYADT — Did-You-Actually-Do-That | link:1-formats/sub-specs/did-you-actually-do-that/[`+1-formats/sub-specs/did-you-actually-do-that/+`] | post-action agent-claim verification (Tier 4 accountability) +| ENSAID Config | link:1-formats/sub-specs/ensaid-config/[`+1-formats/sub-specs/ensaid-config/+`] | the ensaid configuration standard | Accessibility Standard | link:accessibility/[`+accessibility/+`] | estate accessibility requirements | Publication Pre-Flight | link:publication-pre-flight/[`+publication-pre-flight/+`] | submission gate (HOL + Zenodo checklists) | Release Pre-Flight (V1 Gate) | link:release-pre-flight/[`+release-pre-flight/+`] | hard v1.0.0 audit requirements @@ -89,7 +89,7 @@ ____ |=== | Spec | Home | If you want… | Standards Hypatia Rules | link:hypatia-rules/[`+hypatia-rules/+`] | the dogfooding rules that scan THIS repo (incl. drift detection) -| A2ML Templates | link:a2ml-templates/[`+a2ml-templates/+`] | copy-in templates for the 7 A2ML files +| A2ML Templates | link:1-formats/templates/[`+1-formats/templates/+`] | copy-in templates for the 7 A2ML files |=== == How this map stays honest diff --git a/agentic-a2ml/contractiles/README.adoc b/agentic-a2ml/contractiles/README.adoc index d19a38774..4d7f0c058 100644 --- a/agentic-a2ml/contractiles/README.adoc +++ b/agentic-a2ml/contractiles/README.adoc @@ -2,7 +2,7 @@ :toc: :sectnums: -This directory contains the generalized contractiles templates. Copy the `contractiles/` directory into a new repo to establish a consistent operational, validation, trust, recovery, and intent framework. +This directory contains the generalized contractiles templates. Copy the `1-formats/contractiles/` directory into a new repo to establish a consistent operational, validation, trust, recovery, and intent framework. == Fill-In Instructions diff --git a/ai-instruction/README.adoc b/ai-instruction/README.adoc index 43da70ff2..b8c59b7ae 100644 --- a/ai-instruction/README.adoc +++ b/ai-instruction/README.adoc @@ -29,7 +29,7 @@ channel. delegation prompts |Markdown prose |*Repo-local machine-readable directives* |`+/.machine_readable/+` -(`+descriptiles/+`, `+contractiles/+`, `+anchors/+`, etc.) |`+gitbot-fleet+`, +(`+descriptiles/+`, `+1-formats/contractiles/+`, `+anchors/+`, etc.) |`+gitbot-fleet+`, `+hypatia+`, `+coordination.k9+`, MCP guardian |A2ML |=== diff --git a/anchor-a2ml/contractiles/README.adoc b/anchor-a2ml/contractiles/README.adoc index d19a38774..4d7f0c058 100644 --- a/anchor-a2ml/contractiles/README.adoc +++ b/anchor-a2ml/contractiles/README.adoc @@ -2,7 +2,7 @@ :toc: :sectnums: -This directory contains the generalized contractiles templates. Copy the `contractiles/` directory into a new repo to establish a consistent operational, validation, trust, recovery, and intent framework. +This directory contains the generalized contractiles templates. Copy the `1-formats/contractiles/` directory into a new repo to establish a consistent operational, validation, trust, recovery, and intent framework. == Fill-In Instructions diff --git a/audits/assail-classifications.a2ml b/audits/assail-classifications.a2ml index 67b30b4e6..f7d1874d1 100644 --- a/audits/assail-classifications.a2ml +++ b/audits/assail-classifications.a2ml @@ -138,7 +138,7 @@ rule: 'UnboundedAllocation' justification: 'Automated estate triage: reviewed as safe within its architectural boundary (e.g. local tooling, bounded reads, expected metaprogramming).' - suppression: - file: 'inline-annotations/extractor/src/main.rs' + file: '1-formats/sub-specs/inline-annotations/extractor/src/main.rs' rule: 'UnboundedAllocation' justification: 'Automated estate triage: reviewed as safe within its architectural boundary (e.g. local tooling, bounded reads, expected metaprogramming).' - suppression: diff --git a/audits/licence-flags-2026-07.adoc b/audits/licence-flags-2026-07.adoc index 571a3c115..bbe1c8be5 100644 --- a/audits/licence-flags-2026-07.adoc +++ b/audits/licence-flags-2026-07.adoc @@ -17,7 +17,7 @@ flags — for owner review only — anything licence-adjacent that surfaced. repo's classification at birth (authoring, not relicensing): scripts → `MPL-2.0`, prose/specs → `CC-BY-SA-4.0`. This is consistent with the estate policy that new files may carry the correct SPDX from birth. -* The DYADT verifier (`did-you-actually-do-that/`) treats any licence/SPDX claim +* The DYADT verifier (`1-formats/sub-specs/did-you-actually-do-that/`) treats any licence/SPDX claim as `manual-only` end to end — it returns `unverifiable`, never auto-`confirmed`, and the consequence ledger's confirmation rate is explicitly unaffected by licence verdicts. The Manual-Only policy is preserved *by construction* in the diff --git a/axel-protocol/contractiles/README.adoc b/axel-protocol/contractiles/README.adoc index d19a38774..4d7f0c058 100644 --- a/axel-protocol/contractiles/README.adoc +++ b/axel-protocol/contractiles/README.adoc @@ -2,7 +2,7 @@ :toc: :sectnums: -This directory contains the generalized contractiles templates. Copy the `contractiles/` directory into a new repo to establish a consistent operational, validation, trust, recovery, and intent framework. +This directory contains the generalized contractiles templates. Copy the `1-formats/contractiles/` directory into a new repo to establish a consistent operational, validation, trust, recovery, and intent framework. == Fill-In Instructions diff --git a/canon.lock b/canon.lock index 38f447845..6c7a4b32a 100644 --- a/canon.lock +++ b/canon.lock @@ -224,13 +224,13 @@ constitution = { path = "0-canon/constitution/", # --------------------------------------------------------------------------- [canon.split-candidates] -deed-grammar = { path = "deed/spec/DEED-GRAMMAR-SPEC.adoc", +deed-grammar = { path = "1-formats/deed/spec/DEED-GRAMMAR-SPEC.adoc", sha256 = "PENDING-FIRST-SYNC", # DRAFT v0.2.0, not yet ratified slot = "deed-grammar", normative = false, target_repo = "hyperpolymath/deed", note = "v0.2.0 DRAFT; ABNF normative at spec/abnf/deed.abnf; unblocks estate task #64 (.a2ml -> .deed)" } -contractile-spec = { path = "contractiles/README.adoc", +contractile-spec = { path = "1-formats/contractiles/README.adoc", sha256 = "PENDING-FIRST-SYNC", slot = "contractile-spec", normative = false, target_repo = "hyperpolymath/contractiles", diff --git a/docs/ADR-001-k9-relocation-to-svc.adoc b/docs/ADR-001-k9-relocation-to-svc.adoc index 805dce9cd..3ea8fc54d 100644 --- a/docs/ADR-001-k9-relocation-to-svc.adoc +++ b/docs/ADR-001-k9-relocation-to-svc.adoc @@ -19,10 +19,10 @@ v1.0.0, 2026-04-18 `.machine_readable/contractiles/k9/` as an "exception alongside the verb directories". This was an uncomfortable compromise: -* The `contractiles/` directory is conceptually "one concern per verb, +* The `1-formats/contractiles/` directory is conceptually "one concern per verb, one verb per directory". k9 is not a verb and has no `K9file.a2ml`. * Contractile CLIs and audit tools that iterate over - `contractiles/*` had to carry a hard-coded exclusion for `k9/`. + `1-formats/contractiles/*` had to carry a hard-coded exclusion for `k9/`. * The estate pre-commit hook iterates the six active verbs; k9 being adjacent to them invited its own faulty verb-treatment drift. @@ -35,15 +35,15 @@ This ADR ratifies that move and extends it estate-wide. == Decision k9 lives at `.machine_readable/svc/k9/` in every repo. The -`contractiles/` directory contains only the six active verbs +`1-formats/contractiles/` directory contains only the six active verbs (`intend`, `trust`, `must`, `bust`, `adjust`, `dust`) — no exceptions. == Rationale -* **Cleaner boundary.** `contractiles/` becomes a pure verb-set; `svc/` +* **Cleaner boundary.** `1-formats/contractiles/` becomes a pure verb-set; `svc/` becomes the graded-automation (kennel/yard/hunt) home. * **No more exception handling in verb iterators.** Every entry under - `contractiles/` is a verb directory, period. + `1-formats/contractiles/` is a verb directory, period. * **Matches actual role.** k9 is *trust-tier service automation infrastructure*; `svc/` names what it is. * **Keeps `INDEX.a2ml` honest.** The registry lists six verbs; k9 no @@ -53,7 +53,7 @@ k9 lives at `.machine_readable/svc/k9/` in every repo. The ---- .machine_readable/ -├── contractiles/ +├── 1-formats/contractiles/ │ ├── _base.ncl │ ├── INDEX.a2ml │ ├── README.adoc @@ -86,10 +86,10 @@ For each repo in the estate: . If `.machine_readable/contractiles/k9/` exists and `.machine_readable/svc/k9/` does not: `git mv` the former to the latter. -. If both exist, the `contractiles/` copy is the duplicate — remove it, +. If both exist, the `1-formats/contractiles/` copy is the duplicate — remove it, keep the one under `svc/`. . If neither exists: do nothing — the repo does not use k9. -. Repos that still have a root-level `contractiles/k9/` need the same +. Repos that still have a root-level `1-formats/contractiles/k9/` need the same move, paired with the root-home → canonical-home migration (separate pass; see `CONTRACTILE-HOME-MIGRATION-2026-04-18.adoc`). @@ -121,7 +121,7 @@ For each repo in the estate: == Related Work * `CONTRACTILE-HOME-MIGRATION-2026-04-18.adoc` — root-level - `contractiles/` → `.machine_readable/contractiles/` consolidation + `1-formats/contractiles/` → `.machine_readable/contractiles/` consolidation (task 2 of the current migration wave). * `.machine_readable/migrations/contractile-layout-2026-04-18.a2ml` — machine-readable migration log with per-repo outcomes. diff --git a/docs/AUDIT.adoc b/docs/AUDIT.adoc index 5171d6859..49109c60b 100644 --- a/docs/AUDIT.adoc +++ b/docs/AUDIT.adoc @@ -25,7 +25,7 @@ conformance have to satisfy, and has it?* . *Do not call anything `stable`, `v1.0.0`, or full release* unless the stable release gate has been run and its evidence recorded. `rsr-criteria-v2.a2ml` carries `status = "draft"` and MUST NOT be cited as ratified until its - §Ratification passes. `deed/spec/DEED-GRAMMAR-SPEC.adoc` is DRAFT and states + §Ratification passes. `1-formats/deed/spec/DEED-GRAMMAR-SPEC.adoc` is DRAFT and states plainly that nothing in it is deployed. . *A tag MUST NOT be used as an anchor.* Tags move. `canon.lock` records the version *and* the commit, and every law artefact by `sha256`. diff --git a/docs/CONTRACTILE-SPEC.adoc b/docs/CONTRACTILE-SPEC.adoc index b3dd215f8..46622bff9 100644 --- a/docs/CONTRACTILE-SPEC.adoc +++ b/docs/CONTRACTILE-SPEC.adoc @@ -82,8 +82,8 @@ run-behaviour:: k9:: Service-automation trust-tier infrastructure. Lives at - `.machine_readable/svc/k9/` — NOT inside `contractiles/`. See <>. - Moved out of `contractiles/` per `ADR-001-k9-relocation-to-svc.adoc` + `.machine_readable/svc/k9/` — NOT inside `1-formats/contractiles/`. See <>. + Moved out of `1-formats/contractiles/` per `ADR-001-k9-relocation-to-svc.adoc` (2026-04-18); this spec's v1.1.0 language predates that ADR. == The Verb Set @@ -443,7 +443,7 @@ Adopters writing new xfiles should prefer the structured form where possible. that lives at `.machine_readable/svc/k9/`, separate from the verb directories under `.machine_readable/contractiles/`. -NOTE: Prior to 2026-04-18, k9 lived inside `contractiles/` as an "alongside +NOTE: Prior to 2026-04-18, k9 lived inside `1-formats/contractiles/` as an "alongside exception". That placement was retired by ADR-001 (`docs/ADR-001-k9-relocation-to-svc.adoc`). Other sections of this spec still refer to the old layout in places; those are superseded by the ADR. @@ -662,7 +662,7 @@ four classifications were wrong. it recognises *four* files only — Mustfile, Trustfile, Dustfile, Intentfile — with no `adjust` and no `bust`, so a repo can be `contractiles-v1`-valid while missing two verbs this spec requires. Second, its worked example - reads `contractiles/trust/Trustfile.a2ml`, the wrong root. Subordinate to + reads `1-formats/contractiles/trust/Trustfile.a2ml`, the wrong root. Subordinate to this spec on the verb set, layout and naming; authoritative on field-level A2ML validation until superseded. @@ -675,8 +675,8 @@ four classifications were wrong. absorbed into `intend` on 2026-04-18; `k9` is a peer tier rather than a documented exception; and S07-3 says declarations "MAY be expressed in any structured format", against this spec's fixed two-file pattern. Its - reference implementation section sites files at `contractiles/must/` and - `contractiles/lust/` — the wrong root, and a plausible source of the 76 + reference implementation section sites files at `1-formats/contractiles/must/` and + `1-formats/contractiles/lust/` — the wrong root, and a plausible source of the 76 files measured there. Reconcile or scope explicitly to eNSAID. | `patallm-gallery/did-you-actually-do-that/docs/AOP-CONTRACTILE-MAPPING.adoc` @@ -784,7 +784,7 @@ Measured against `Mustfile.a2ml` (n=555): | `.machine_readable/contractiles/must/` | 120 | *Canonical* | `.machine_readable/contractiles/` (flat, no verb dir) | 158 | Drift — missing verb directory -| `contractiles/must/` (no `.machine_readable/`) | 76 | Drift — wrong root +| `1-formats/contractiles/must/` (no `.machine_readable/`) | 76 | Drift — wrong root | `docs/templates/contractiles/must/` | 59 | Template copies, not deployments | other (nested, `rs/`, `showcase/`, `validate-action/`) | ~142 | Mixed |=== @@ -851,11 +851,11 @@ widened to include the 90 `lust/` directories, which are the larger half of the same unfinished migration. A third relocation is also half-applied. `ADR-001-k9-relocation-to-svc.adoc` -(2026-04-18) moved k9 out of `contractiles/` to `.machine_readable/svc/k9/`. +(2026-04-18) moved k9 out of `1-formats/contractiles/` to `.machine_readable/svc/k9/`. Measured: *94 directories at the new path, 75 still at the old one.* The Definitions section of this spec records the move; the layout diagram in <> was never updated and still draws `k9/` inside -`contractiles/`. That diagram is a fossil of the same kind as the verb count +`1-formats/contractiles/`. That diagram is a fossil of the same kind as the verb count corrected in v1.2.0, and is flagged as ruling 4. === Where this spec and the owner rulings diverge diff --git a/docs/DESCRIPTILE-SPEC.adoc b/docs/DESCRIPTILE-SPEC.adoc index 45aa0f707..4cd51f8f4 100644 --- a/docs/DESCRIPTILE-SPEC.adoc +++ b/docs/DESCRIPTILE-SPEC.adoc @@ -240,7 +240,7 @@ excluded): | Bracketed table (canonical) | ~3,770 | all six types | S-expression | 160 | all six types, 38 repos, 59 directories -| `@`-block form | 25 | all six types; STATE v2 per `a2ml-templates/STATE.a2ml.v2.spec.adoc` +| `@`-block form | 25 | all six types; STATE v2 per `1-formats/templates/STATE.a2ml.v2.spec.adoc` | Empty / comments only | 6 | all six types | YAML mapping (`key:`) | 184 | ANCHOR only — see <>, not a descriptile |=== diff --git a/docs/INNERVATION.adoc b/docs/INNERVATION.adoc index 4bee7f6c5..923adc191 100644 --- a/docs/INNERVATION.adoc +++ b/docs/INNERVATION.adoc @@ -65,12 +65,12 @@ Per-repo footprint shrinks from 6–7 files to 2 (`coordination.k9` + |=== | Artefact | Path | Status -| Inline annotation SPEC | `inline-annotations/SPEC.adoc` | Draft v0.1.0 -| Inline annotation extractor | `inline-annotations/extractor/` (Rust) | Built, 7/7 tests -| Annotation examples (8 languages) | `inline-annotations/examples/` | Complete +| Inline annotation SPEC | `1-formats/sub-specs/inline-annotations/SPEC.adoc` | Draft v0.1.0 +| Inline annotation extractor | `1-formats/sub-specs/inline-annotations/extractor/` (Rust) | Built, 7/7 tests +| Annotation examples (8 languages) | `1-formats/sub-specs/inline-annotations/examples/` | Complete | Groove signal schema | `groove-protocol/spec/INNERVATION-SIGNALS.adoc` | Draft v0.1.0 -| STATE.a2ml v2 spec | `a2ml-templates/STATE.a2ml.v2.spec.adoc` | Draft v2.0.0 -| STATE.a2ml v2 template | `a2ml-templates/STATE.a2ml.v2.template` | Ready +| STATE.a2ml v2 spec | `1-formats/templates/STATE.a2ml.v2.spec.adoc` | Draft v2.0.0 +| STATE.a2ml v2 template | `1-formats/templates/STATE.a2ml.v2.template` | Ready | k9-init migration tool | `k9-coordination-protocol/tools/k9-init/` | Built, 5/5 tests | playbook→recipe converter | `hooks/playbook-to-recipe/` | Built, 5/5 tests | Ecosystem ingest pipeline spec | `.verisimdb/ECOSYSTEM-INGEST.adoc` | Draft v0.1.0 @@ -102,7 +102,7 @@ All signals are listed in `groove-protocol/spec/INNERVATION-SIGNALS.adoc`. - Start with this document - Then read `coordination.k9` in this repo — it is both the spec for the format and the reference instance -- Then browse `inline-annotations/examples/sources.md` to see the +- Then browse `1-formats/sub-specs/inline-annotations/examples/sources.md` to see the annotation grammar in 8 languages - To initialise `coordination.k9` in a new repo: run `k9-init /path/to/repo` @@ -113,9 +113,9 @@ All signals are listed in `groove-protocol/spec/INNERVATION-SIGNALS.adoc`. - Octad schemas: `.verisimdb/config.toml` - Groove signal vocabulary: `groove-protocol/spec/INNERVATION-SIGNALS.adoc` -- Annotation grammar: `inline-annotations/SPEC.adoc` -- Extractor output format: `inline-annotations/examples/output.a2ml` -- STATE v2 grammar: `a2ml-templates/STATE.a2ml.v2.spec.adoc` +- Annotation grammar: `1-formats/sub-specs/inline-annotations/SPEC.adoc` +- Extractor output format: `1-formats/sub-specs/inline-annotations/examples/output.a2ml` +- STATE v2 grammar: `1-formats/templates/STATE.a2ml.v2.spec.adoc` == Roll-out diff --git a/docs/STANDARDS-CRITICAL-PATH.adoc b/docs/STANDARDS-CRITICAL-PATH.adoc index 0db497749..fed48bc4e 100644 --- a/docs/STANDARDS-CRITICAL-PATH.adoc +++ b/docs/STANDARDS-CRITICAL-PATH.adoc @@ -100,7 +100,7 @@ drift, is the duplication mechanism. === The hard tail -Separately, **76 files sit at a bare-root `contractiles/must/`** (no +Separately, **76 files sit at a bare-root `1-formats/contractiles/must/`** (no `.machine_readable` prefix). Unlike the flat population these are **not** clustered — the largest group shares only 2 files. These are genuinely divergent and cannot be bulk-moved. They are the expensive remainder and should @@ -239,7 +239,7 @@ else depends on. | #11 | Finish the April 2026 migrations: 90 surviving `lust/` directories, 36 `Intendfile.a2ml` across 20 repos, k9 relocation (94 moved / 75 not) | Rulings made 2026-04-18; this is pure execution | — | De-duplicate the `ideas-to-alphas` spec mirror (byte-identical to CONTRACTILE-SPEC) | Disposition already written into v1.2.1 -| — | Delete `standards`' stale root-level `contractiles/` — extension-less `Mustfile`, `Dustfile`, superseded by `.machine_readable/` | Flag for owner; deletion is cheap but irreversible +| — | Delete `standards`' stale root-level `1-formats/contractiles/` — extension-less `Mustfile`, `Dustfile`, superseded by `.machine_readable/` | Flag for owner; deletion is cheap but irreversible | — | De-duplicate `scaffoldia`'s two divergent contractile sets | Not a generator, so no propagation risk either way | #8 | Write down the `boj-server` → `ssg-collection` targeting rule | Independent; small | #21 | Rule on `INNERVATION.adoc`: ratify, supersede, or park | Unblocks #4 @@ -269,7 +269,7 @@ expensive work uses it. is detectable rather than assumed. . **The 3 divergent repos** — `jaffascript`, `rattlescript`, `verisimdb`. Human read; the canonical and flat copies disagree in all three. -. **The 76-file hard tail** at bare-root `contractiles/`. Unclustered, genuinely +. **The 76-file hard tail** at bare-root `1-formats/contractiles/`. Unclustered, genuinely divergent, no bulk shortcut. Schedule last. . **`developer-ecosystem` as its own unit.** It holds 115 of 555 files (21%), 92 of them inside `iser-tools`. Its scale distorts every estate-wide diff --git a/docs/archive/provenance/coord-mcp/COORD-MCP-TODO.adoc b/docs/archive/provenance/coord-mcp/COORD-MCP-TODO.adoc index b1c5ad8fc..f5263fe2f 100644 --- a/docs/archive/provenance/coord-mcp/COORD-MCP-TODO.adoc +++ b/docs/archive/provenance/coord-mcp/COORD-MCP-TODO.adoc @@ -21,7 +21,7 @@ free-form (opus-4.7, flash-2.5, leanstral, …) |boj-server |0.5 d |34 |1 d |cold-start routing |007-mcp-1 |`+coordRegister+` HTTP write: -`+cartridges/007-mcp/ffi/oo7_mcp_ffi.zig+` currently TCP-probes only. +`+1-formats/sub-specs/cartridges/007-mcp/ffi/oo7_mcp_ffi.zig+` currently TCP-probes only. Rewrite to POST `+http://127.0.0.1:7745/tools/coord_register+`, parse token + peer_id into `+g_coord_token_buf+`/`+g_peer_id_buf+`. |007-lang |1 session |end-to-end 007 cartridge @@ -100,7 +100,7 @@ hook source migrates off the stale 6-verb set. === P2 — Medium (Phase 2 formalisms over working v1) * *Proof obligations P-04..P-07* in -`+cartridges/local-coord-mcp/abi/LocalCoord/Durability.idr+`: record +`+1-formats/sub-specs/cartridges/local-coord-mcp/abi/LocalCoord/Durability.idr+`: record format; CRC truncation; *P-06 replay-equivalence (keystone)*; quarantine state machine. ~6 days. * *Idris2 session types* for supervisor/attestation choreography in @@ -186,7 +186,7 @@ added* — diff root vs 6a2/ copies per repo; merge if divergent; |D3 |*Wait on `+just cartridge-install+` in boj-server* until coord-mcp Tasks #33 + #34 ship. |Shared-state risk: -`+cartridges/local-coord-mcp/ffi/local_coord_ffi.zig+` + +`+1-formats/sub-specs/cartridges/local-coord-mcp/ffi/local_coord_ffi.zig+` + `+adapter/local_coord_adapter.zig+` are owned by the sequential session for #33/#34 (Peer struct, ClientKind enum). Running install now risks conflicts on their live working tree. |*Gate locked* — 007-mcp-2 in P0 diff --git a/docs/archive/scaffolding/contractile.just b/docs/archive/scaffolding/contractile.just index f76f5afc6..1497da092 100644 --- a/docs/archive/scaffolding/contractile.just +++ b/docs/archive/scaffolding/contractile.just @@ -38,27 +38,27 @@ trust-no-secrets-committed: # === K9 Components === -# K9 component: contractiles/k9/examples/ci-config.k9.ncl +# K9 component: 1-formats/contractiles/k9/examples/ci-config.k9.ncl k9-ci-config: - contractile k9 run contractiles/k9/examples/ci-config.k9.ncl + contractile k9 run 1-formats/contractiles/k9/examples/ci-config.k9.ncl -# K9 component: contractiles/k9/examples/project-metadata.k9.ncl +# K9 component: 1-formats/contractiles/k9/examples/project-metadata.k9.ncl k9-project-metadata: - contractile k9 run contractiles/k9/examples/project-metadata.k9.ncl + contractile k9 run 1-formats/contractiles/k9/examples/project-metadata.k9.ncl -# K9 component: contractiles/k9/examples/setup-repo.k9.ncl +# K9 component: 1-formats/contractiles/k9/examples/setup-repo.k9.ncl k9-setup-repo: - contractile k9 run contractiles/k9/examples/setup-repo.k9.ncl + contractile k9 run 1-formats/contractiles/k9/examples/setup-repo.k9.ncl -# K9 component: contractiles/k9/template-hunt.k9.ncl +# K9 component: 1-formats/contractiles/k9/template-hunt.k9.ncl k9-template-hunt: - contractile k9 run contractiles/k9/template-hunt.k9.ncl + contractile k9 run 1-formats/contractiles/k9/template-hunt.k9.ncl -# K9 component: contractiles/k9/template-kennel.k9.ncl +# K9 component: 1-formats/contractiles/k9/template-kennel.k9.ncl k9-template-kennel: - contractile k9 run contractiles/k9/template-kennel.k9.ncl + contractile k9 run 1-formats/contractiles/k9/template-kennel.k9.ncl -# K9 component: contractiles/k9/template-yard.k9.ncl +# K9 component: 1-formats/contractiles/k9/template-yard.k9.ncl k9-template-yard: - contractile k9 run contractiles/k9/template-yard.k9.ncl + contractile k9 run 1-formats/contractiles/k9/template-yard.k9.ncl diff --git a/docs/audits/2026-03-30/STATISTEASE-PLAN.adoc b/docs/audits/2026-03-30/STATISTEASE-PLAN.adoc index 167e8ecce..6f880a98f 100644 --- a/docs/audits/2026-03-30/STATISTEASE-PLAN.adoc +++ b/docs/audits/2026-03-30/STATISTEASE-PLAN.adoc @@ -18,7 +18,7 @@ statistics engine), e2e flows, panic-attack/Hypatia scans, and authenticity benches (heavy datasets). Replace any placeholder fuzz entries with real harnesses. + . *Contractiles & Ability*: Document the invariants (must, trust, dust, -intent) inside `+contractiles/+` and ensure the ability/access doc is +intent) inside `+1-formats/contractiles/+` and ensure the ability/access doc is live for dataset pipelines; tie the logs into `+k9+`. + . *Publication Readiness*: Connect StatistEase outputs to `+PAPER-STATUS.md+` + `+LLM-PROOF-TRUST.md+` + `+AUDIT-V2.adoc+`. Do not diff --git a/docs/audits/dogfooding-matrix-2026-04-04.adoc b/docs/audits/dogfooding-matrix-2026-04-04.adoc index db69ac4be..b76d5d269 100644 --- a/docs/audits/dogfooding-matrix-2026-04-04.adoc +++ b/docs/audits/dogfooding-matrix-2026-04-04.adoc @@ -252,18 +252,18 @@ coordination.k9 |patallm-gallery/dyadt |3 |panic-attack contracts -|protocol-squisher |6 |contractiles/k9/ +|protocol-squisher |6 |1-formats/contractiles/k9/ |palimpsest-plasma |2+ |union-policy-parser contracts -|checky-monkey |1+ |contractiles/k9/ +|checky-monkey |1+ |1-formats/contractiles/k9/ |developer-ecosystem |6+ |package-publishers, v-ecosystem, rescript-ecosystem -|ochrance-framework |4 |contractiles/k9/ +|ochrance-framework |4 |1-formats/contractiles/k9/ -|robodog-ecm |1+ |contractiles/k9/ templates +|robodog-ecm |1+ |1-formats/contractiles/k9/ templates |cloudguard-cli |1+ |container/deploy.k9.ncl diff --git a/docs/proofs/spec-templates/T2-high/boj-server.adoc b/docs/proofs/spec-templates/T2-high/boj-server.adoc index 679fb529b..4f8d0846f 100644 --- a/docs/proofs/spec-templates/T2-high/boj-server.adoc +++ b/docs/proofs/spec-templates/T2-high/boj-server.adoc @@ -29,7 +29,7 @@ registration. * `+mcp-bridge/lib/cartridge-loader.ts+` * `+mcp-bridge/lib/tool-mapper.ts+` -* `+cartridges/*/manifest.json+` (95 manifests) +* `+1-formats/sub-specs/cartridges/*/manifest.json+` (95 manifests) * `+lib/cartridge-manager.ex+` * `+panll/lib/autowire.ts+` @@ -85,7 +85,7 @@ access control ==== BJ5: MCP stdio channel integrity -*Target*: `+cartridges/database-mcp/adapter/stdio_integrity.v+` (NEW) +*Target*: `+1-formats/sub-specs/cartridges/database-mcp/adapter/stdio_integrity.v+` (NEW) *Priority*: P1 *Statement*: MCP protocol messages correctly escape newlines. No diff --git a/docs/reorg/STREAM-PROMPTS.adoc b/docs/reorg/STREAM-PROMPTS.adoc index 2dec96e56..471cd8304 100644 --- a/docs/reorg/STREAM-PROMPTS.adoc +++ b/docs/reorg/STREAM-PROMPTS.adoc @@ -139,7 +139,7 @@ DECISIONS ALREADY MADE: TASKS: IN hyperpolymath/standards: -1. Generalise the existing SATELLITES.a2ml into (or alongside) a REGISTRY that can +1. Generalise the existing 1-formats/SATELLITES.a2ml into (or alongside) a REGISTRY that can hold language/service-coupled pointers, not just absorbed satellites. 2. Add registry pointers for the AffineScript specs (.affine, .affex, .affmap), each pointing at the AffineScript repo with version_pin + source_hash. diff --git a/docs/wikis/developers/index.adoc b/docs/wikis/developers/index.adoc index 498b8ec57..46be38779 100644 --- a/docs/wikis/developers/index.adoc +++ b/docs/wikis/developers/index.adoc @@ -26,7 +26,7 @@ NOTE: Scaffold. The link spine is complete; the connective prose is `TODO`. === 3. Author the machine-readable metadata -* A2ML family: `a2ml/`, the `*-a2ml/` homes, `a2ml-templates/`. +* A2ML family: `a2ml/`, the `*-a2ml/` homes, `1-formats/templates/`. * K9 self-validating components: `k9-svc/`, `k9-coordination-protocol/`. * TODO: "write a valid STATE/META set and pass Validate A2ML". diff --git a/docs/wikis/maintainers/index.adoc b/docs/wikis/maintainers/index.adoc index 19e621a6b..dc31274df 100644 --- a/docs/wikis/maintainers/index.adoc +++ b/docs/wikis/maintainers/index.adoc @@ -55,7 +55,7 @@ NOTE: Scaffold. The link spine is complete; the connective prose is `TODO`. === 5. The innervation / contractile stack (descriptiles) -* `.machine_readable/descriptiles/` (STATE/META/…), `contractiles/`, `contractile.just`, +* `.machine_readable/descriptiles/` (STATE/META/…), `1-formats/contractiles/`, `contractile.just`, `coordination.k9`, `.verisimdb/`, and Hypatia as the estate-side analyser. * TODO: "how a contractile is registered and fires"; whether estate scripts (e.g. the staleness/propagation pair) should be registered as contractiles. diff --git a/docs/wikis/users/index.adoc b/docs/wikis/users/index.adoc index 8bf8e0a1c..219107b17 100644 --- a/docs/wikis/users/index.adoc +++ b/docs/wikis/users/index.adoc @@ -30,7 +30,7 @@ Every Hyperpolymath repo carries six A2ML files (`STATE`, `META`, `ECOSYSTEM`, === 3. Adopt the standards in your repo -* `A2ML-REPO-TEMPLATE.adoc` — the template to stand a repo up. +* `1-formats/A2ML-REPO-TEMPLATE.adoc` — the template to stand a repo up. * `setup.sh` — bootstrap. * `0-canon/TEMPLATE-APPLICABILITY-POLICY.adoc` — which parts apply to which repo shapes. * TODO: a 10-minute "adopt on an existing repo" worked example. diff --git a/ecosystem-a2ml/README.adoc b/ecosystem-a2ml/README.adoc index 93851cd62..9553103f5 100644 --- a/ecosystem-a2ml/README.adoc +++ b/ecosystem-a2ml/README.adoc @@ -15,7 +15,7 @@ image:https://img.shields.io/badge/License-PMPL--1.0-blue.svg[License: PMPL-1.0, [WARNING] ==== *Superseded characterisation.* The normative grammar for this format family is -the DEED grammar specification -- `deed/spec/DEED-GRAMMAR-SPEC.adoc` in this +the DEED grammar specification -- `1-formats/deed/spec/DEED-GRAMMAR-SPEC.adoc` in this repository. DEED is an *s-expression* format: there is no `key = value` production and no `[section]` production; the only bracket is `(`. diff --git a/ecosystem-a2ml/contractiles/README.adoc b/ecosystem-a2ml/contractiles/README.adoc index d19a38774..4d7f0c058 100644 --- a/ecosystem-a2ml/contractiles/README.adoc +++ b/ecosystem-a2ml/contractiles/README.adoc @@ -2,7 +2,7 @@ :toc: :sectnums: -This directory contains the generalized contractiles templates. Copy the `contractiles/` directory into a new repo to establish a consistent operational, validation, trust, recovery, and intent framework. +This directory contains the generalized contractiles templates. Copy the `1-formats/contractiles/` directory into a new repo to establish a consistent operational, validation, trust, recovery, and intent framework. == Fill-In Instructions diff --git a/immaculate-guide/IMMACULATE-GUIDE.adoc b/immaculate-guide/IMMACULATE-GUIDE.adoc index 301067a7b..cef7a6b01 100644 --- a/immaculate-guide/IMMACULATE-GUIDE.adoc +++ b/immaculate-guide/IMMACULATE-GUIDE.adoc @@ -350,14 +350,14 @@ as BoJ-server cartridges. A cartridge is a self-describing deployment unit: [source,bash] ---- # Cartridge structure -cartridges// +1-formats/sub-specs/cartridges// ├── cartridge.toml # Declared capabilities, Groove endpoints ├── ffi/ # Zig FFI shared libs ├── build.zig # Zig build (if FFI present) └── src/ # Service source # The BoJ-server discovers cartridges via discovery (not enumeration): -for d in cartridges/*/; do +for d in 1-formats/sub-specs/cartridges/*/; do [ -f "$d/cartridge.toml" ] && boj-server load "$d" done ---- diff --git a/k9-svc/DOGFOODING-OPPORTUNITIES.adoc b/k9-svc/DOGFOODING-OPPORTUNITIES.adoc index f95050e3c..1986bd3b4 100644 --- a/k9-svc/DOGFOODING-OPPORTUNITIES.adoc +++ b/k9-svc/DOGFOODING-OPPORTUNITIES.adoc @@ -149,7 +149,7 @@ https://github.com/hyperpolymath/rsr-template-repo *What Contractiles Are:* - RSR standard directory structure - Four contract types: Dust (documentation), Lust (luxury), Must (required), -Trust (security) - Currently placeholder files in `+contractiles/+` +Trust (security) - Currently placeholder files in `+1-formats/contractiles/+` *Why K9 Is Perfect:* - K9 literally implements the must-just-nickel triad - Contractiles need validation logic - Trust contracts require @@ -161,21 +161,21 @@ shim [width="100%",cols="27%,47%,26%",options="header",] |=== |Current |K9 Replacement |Purpose -|`+contractiles/dust/Dustfile+` |`+Dustfile.k9+` |Documentation +|`+1-formats/contractiles/dust/Dustfile+` |`+Dustfile.k9+` |Documentation requirements -|`+contractiles/lust/Lustfile+` |`+Lustfile.k9+` |Optional features +|`+1-formats/contractiles/lust/Lustfile+` |`+Lustfile.k9+` |Optional features -|`+contractiles/must/Mustfile+` |`+Mustfile.k9+` |Hard requirements +|`+1-formats/contractiles/must/Mustfile+` |`+Mustfile.k9+` |Hard requirements -|`+contractiles/trust/Trustfile+` |`+Trustfile.k9+` |Security contracts +|`+1-formats/contractiles/trust/Trustfile+` |`+Trustfile.k9+` |Security contracts |=== *Example Trust Contract:* [source,nickel] ---- -# contractiles/trust/Trustfile.k9 +# 1-formats/contractiles/trust/Trustfile.k9 K9! leash = 'Hunt # Full execution, requires signature @@ -222,7 +222,7 @@ verify_trust = fun repo_path => [source,nickel] ---- -# contractiles/must/Mustfile.k9 +# 1-formats/contractiles/must/Mustfile.k9 K9! leash = 'Yard @@ -235,10 +235,10 @@ must_have = { directories = [ ".machine_readable", ".bot_directives", - "contractiles/dust", - "contractiles/lust", - "contractiles/must", - "contractiles/trust" + "1-formats/contractiles/dust", + "1-formats/contractiles/lust", + "1-formats/contractiles/must", + "1-formats/contractiles/trust" ], files = [ diff --git a/llm-warmup-user.adoc b/llm-warmup-user.adoc index 11783a95c..2eba7fde4 100644 --- a/llm-warmup-user.adoc +++ b/llm-warmup-user.adoc @@ -11,9 +11,9 @@ ____ This monorepo is a set of specs to consume, not an app to run. Typical path: -* *Stand up a compliant repo:* `+A2ML-REPO-TEMPLATE.adoc+` + the _Usage_ +* *Stand up a compliant repo:* `+1-formats/A2ML-REPO-TEMPLATE.adoc+` + the _Usage_ section of `+README.adoc+`; copy the 7 A2ML files from -`+a2ml-templates/+`. +`+1-formats/templates/+`. * *Pick the spec you need:* `+.machine_readable/REGISTRY.a2ml+` routes you by `+id+` → `+home+` → `+canonical_doc+` (A2ML family, K9, protocols, readiness grades, RSR, pre-flight gates). diff --git a/meta-a2ml/README.adoc b/meta-a2ml/README.adoc index 4750bf3ac..ed9e335b5 100644 --- a/meta-a2ml/README.adoc +++ b/meta-a2ml/README.adoc @@ -11,7 +11,7 @@ image:https://img.shields.io/badge/License-PMPL--1.0-blue.svg[License: PMPL-1.0, [WARNING] ==== *Superseded characterisation.* The normative grammar for this format family is -the DEED grammar specification -- `deed/spec/DEED-GRAMMAR-SPEC.adoc` in this +the DEED grammar specification -- `1-formats/deed/spec/DEED-GRAMMAR-SPEC.adoc` in this repository. DEED is an *s-expression* format: there is no `key = value` production and no `[section]` production; the only bracket is `(`. @@ -325,7 +325,7 @@ Palimpsest-MPL License v1.0 (PMPL-1.0). Copyright (c) 2025 Jonathan D.A. Jewell. **Standards Hub:** * https://github.com/hyperpolymath/standards[standards] -- Organization standards hub -* https://github.com/hyperpolymath/standards/blob/main/SATELLITES.a2ml[SATELLITES.a2ml] -- Machine-readable satellite registry +* https://github.com/hyperpolymath/standards/blob/main/SATELLITES.a2ml[1-formats/SATELLITES.a2ml] -- Machine-readable satellite registry **A2ML Format Family (Siblings):** diff --git a/playbook-a2ml/README.adoc b/playbook-a2ml/README.adoc index 5e5205382..7f8b9f918 100644 --- a/playbook-a2ml/README.adoc +++ b/playbook-a2ml/README.adoc @@ -12,7 +12,7 @@ image:https://img.shields.io/badge/A2ML_Family-execution-green.svg[A2ML Family] [WARNING] ==== *Superseded characterisation.* The normative grammar for this format family is -the DEED grammar specification -- `deed/spec/DEED-GRAMMAR-SPEC.adoc` in this +the DEED grammar specification -- `1-formats/deed/spec/DEED-GRAMMAR-SPEC.adoc` in this repository. DEED is an *s-expression* format: there is no `key = value` production and no `[section]` production; DEED uses matching opening and closing parentheses. diff --git a/rhodium-standard-repositories/CLAUDE.md b/rhodium-standard-repositories/CLAUDE.md index 961f9790b..142676b3d 100644 --- a/rhodium-standard-repositories/CLAUDE.md +++ b/rhodium-standard-repositories/CLAUDE.md @@ -11,7 +11,7 @@ This document provides comprehensive guidance for Claude AI when working with Rh - Primary repos root: `$REPOS_DIR` (typically `~/Documents/hyperpolymath-repos`) - Remote mapping: `https://github.com/hyperpolymath/`; names are lowercase and dots become `-` - If a repo is missing locally, check the remote and sync it -- Include `ai-cli-crash-capture/` and `contractiles/` from the template in new repos +- Include `ai-cli-crash-capture/` and `1-formats/contractiles/` from the template in new repos - Mirror 6SCM files into `.machine_readable/6scm/` - Before any code generation, check `$REPOS_DIR/proven` for the current Idris “unbreakable” library status - If a project uses that Idris library, add an *Idris Inside* badge to the repo diff --git a/rhodium-standard-repositories/contractiles/README.adoc b/rhodium-standard-repositories/contractiles/README.adoc index d19a38774..4d7f0c058 100644 --- a/rhodium-standard-repositories/contractiles/README.adoc +++ b/rhodium-standard-repositories/contractiles/README.adoc @@ -2,7 +2,7 @@ :toc: :sectnums: -This directory contains the generalized contractiles templates. Copy the `contractiles/` directory into a new repo to establish a consistent operational, validation, trust, recovery, and intent framework. +This directory contains the generalized contractiles templates. Copy the `1-formats/contractiles/` directory into a new repo to establish a consistent operational, validation, trust, recovery, and intent framework. == Fill-In Instructions diff --git a/rhodium-standard-repositories/templates/MUST.contractile.template b/rhodium-standard-repositories/templates/MUST.contractile.template index fb777e9a2..2b3049fbe 100644 --- a/rhodium-standard-repositories/templates/MUST.contractile.template +++ b/rhodium-standard-repositories/templates/MUST.contractile.template @@ -26,7 +26,7 @@ ; remain active until the feature is fully removed. ; ; Enforcement: -; K9 validators in contractiles/k9/ machine-check MUST constraints. +; K9 validators in 1-formats/contractiles/k9/ machine-check MUST constraints. ; CI runs these on every PR. Violations block merge. ; ; ── End Definitions ────────────────────────────────────────────── @@ -85,7 +85,7 @@ ; (must "{{SPECIFIC_INVARIANT}}") (enforcement - (k9-validator "contractiles/k9/must-check.k9.ncl") + (k9-validator "1-formats/contractiles/k9/must-check.k9.ncl") (ci "quality.yml runs must-check on every PR") ) ) diff --git a/scripts/build-registry.sh b/scripts/build-registry.sh index 8b3e9692c..02865cd00 100755 --- a/scripts/build-registry.sh +++ b/scripts/build-registry.sh @@ -61,7 +61,7 @@ TOPOLOGY="TOPOLOGY.adoc" read -r -d '' SPECS <<'TSV' || true estate-constitution|governance|0-canon/constitution/|Hyperpolymath Estate Constitution|the highest estate-level rules, authority precedence, assurance, contribution, exceptions, and known tensions k9-svc|foundation|k9-svc/|K9 Self-Validating Components|the K9 specification, security analysis and adoption guidance (implementations live in hyperpolymath/k9-ecosystem) -contractiles|foundation|contractiles/|Contractiles (Must/Trust/Dust/Intend)|policy-enforcement primitives the K9 layer is built from +contractiles|foundation|1-formats/contractiles/|Contractiles (Must/Trust/Dust/Intend)|policy-enforcement primitives the K9 layer is built from meta-a2ml|foundation|meta-a2ml/|META.a2ml spec|architecture decisions / governance metadata format state-a2ml|foundation|state-a2ml/|STATE.a2ml spec|project-state metadata format (drives this registry's topology) ecosystem-a2ml|foundation|ecosystem-a2ml/|ECOSYSTEM.a2ml spec|ecosystem-positioning metadata format @@ -80,13 +80,13 @@ component-readiness-grades|readiness|component-readiness-grades/|CRG — Compone toolchain-readiness-grades|readiness|toolchain-readiness-grades/|TRG — Toolchain Readiness Grades|per-toolchain readiness profile templates rhodium-standard-repositories|governance|rhodium-standard-repositories/|RSR — Rhodium Standard Repositories|the repository-compliance standard every repo is graded against session-management-standards|governance|session-management-standards/|Session Management Standards|continuity / verify / handover protocols -did-you-actually-do-that|governance|did-you-actually-do-that/|DYADT — Did-You-Actually-Do-That|post-action agent-claim verification (Tier 4 accountability) -ensaid-config|governance|ensaid-config/|ENSAID Config|the ensaid configuration standard +did-you-actually-do-that|governance|1-formats/sub-specs/did-you-actually-do-that/|DYADT — Did-You-Actually-Do-That|post-action agent-claim verification (Tier 4 accountability) +ensaid-config|governance|1-formats/sub-specs/ensaid-config/|ENSAID Config|the ensaid configuration standard accessibility|governance|accessibility/|Accessibility Standard|estate accessibility requirements publication-pre-flight|governance|publication-pre-flight/|Publication Pre-Flight|submission gate (HOL + Zenodo checklists) release-pre-flight|governance|release-pre-flight/|Release Pre-Flight (V1 Gate)|hard v1.0.0 audit requirements hypatia-rules|integration|hypatia-rules/|Standards Hypatia Rules|the dogfooding rules that scan THIS repo (incl. drift detection) -a2ml-templates|integration|a2ml-templates/|A2ML Templates|copy-in templates for the 7 A2ML files +a2ml-templates|integration|1-formats/templates/|A2ML Templates|copy-in templates for the 7 A2ML files TSV # --------------------------------------------------------------------------- diff --git a/scripts/verify-claims.sh b/scripts/verify-claims.sh index 1149eb1af..9bf9cb362 100755 --- a/scripts/verify-claims.sh +++ b/scripts/verify-claims.sh @@ -3,7 +3,7 @@ # SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell (hyperpolymath) # # verify-claims.sh — reference verifier for the DYADT claim format. -# See did-you-actually-do-that/spec/{CLAIM-FORMAT,VERIFICATION-PROTOCOL}.adoc. +# See 1-formats/sub-specs/did-you-actually-do-that/spec/{CLAIM-FORMAT,VERIFICATION-PROTOCOL}.adoc. # # Re-derives each claim's outcome from PRIMARY EVIDENCE (git tree, real command # runs) — never from the agent's own statement/evidence text — and emits one diff --git a/session-management-standards/verify/substantial-completion/CHECKLIST.adoc b/session-management-standards/verify/substantial-completion/CHECKLIST.adoc index 5f9094fe7..8c4909c45 100644 --- a/session-management-standards/verify/substantial-completion/CHECKLIST.adoc +++ b/session-management-standards/verify/substantial-completion/CHECKLIST.adoc @@ -104,7 +104,7 @@ with session management and state capture capabilities. | 3.2 | Verify inline annotations -| `inline-annotations/extractor` finds no missing @trust/@contract +| `1-formats/sub-specs/inline-annotations/extractor` finds no missing @trust/@contract | Add missing annotations | 3.3 @@ -256,7 +256,7 @@ just bench --validate # Phase 3: Documentation just readme-validate -inline-annotations/extractor --verify +1-formats/sub-specs/inline-annotations/extractor --verify just sbom --generate changelog-verify.sh diff --git a/standards-map.toml b/standards-map.toml index 4cf18f8fc..10ecb0fb1 100644 --- a/standards-map.toml +++ b/standards-map.toml @@ -32,7 +32,7 @@ [map] repo = "hyperpolymath/standards" version = "1.0.0" -entry_count = 119 +entry_count = 120 generated = false # hand-curated; the district index.adoc files ARE generated checked_by = "scripts/check-standards-map.sh" @@ -191,6 +191,19 @@ canon_slot = "applicability" canonical_doc = "0-canon/TEMPLATE-APPLICABILITY-POLICY.adoc" gate = "canon-spine-lockstep" +[[entry]] +from = "1-formats" +target = "1-formats/ (district root; created by the district move)" +district = "1-formats" +kind = "district" +files = 74 +lifecycle = "versioned" +canonical = false +canon_slot = "" +canonical_doc = "" +gate = "" +note = "District root. This path did not exist before the district move, so it is a new top-level entry and GATE D assertion 2 requires a record for it. canonical = false: the district holds specs, it is not itself a standard." + [[entry]] from = "k9-svc" target = "1-formats/k9/ (pointer)" @@ -244,7 +257,7 @@ gate = "registry-verify" note = "a2ml/ evicted 2026-08-28 by 24a12d6f; these 7 profile dirs (191 files) stayed behind. Finish the eviction or revert it." [[entry]] -from = "did-you-actually-do-that" +from = "1-formats/sub-specs/did-you-actually-do-that/" target = "1-formats/sub-specs/did-you-actually-do-that/" district = "1-formats" kind = "sub-spec" @@ -309,7 +322,7 @@ gate = "registry-verify" note = "a2ml/ evicted 2026-08-28 by 24a12d6f; these 7 profile dirs (191 files) stayed behind. Finish the eviction or revert it." [[entry]] -from = "a2ml-templates" +from = "1-formats/templates/" target = "1-formats/templates/" district = "1-formats" kind = "template" @@ -321,7 +334,7 @@ canonical_doc = "1-formats/templates/index.adoc" gate = "canon-self-conformance" [[entry]] -from = "inline-annotations" +from = "1-formats/sub-specs/inline-annotations/" target = "1-formats/sub-specs/inline-annotations/" district = "1-formats" kind = "sub-spec" @@ -334,7 +347,7 @@ gate = "canon-self-conformance" note = "TRIAGE: <30 files each; none is a district" [[entry]] -from = "contractiles" +from = "1-formats/contractiles/" target = "1-formats/contractiles/ -> hyperpolymath/contractiles" district = "1-formats" kind = "format-contract" @@ -347,7 +360,7 @@ gate = "check-mustfile-structure" note = "absorbs .machine_readable/contractiles/; own linter is estate task #19" [[entry]] -from = "deed" +from = "1-formats/deed/" target = "1-formats/deed/ -> hyperpolymath/deed" district = "1-formats" kind = "format-grammar" @@ -360,7 +373,7 @@ gate = "canon-spine-lockstep" note = "own IANA media type; v0.2.0 DRAFT; successor to the a2ml record dialect" [[entry]] -from = "panll-panels" +from = "1-formats/sub-specs/panll-panels/" target = "1-formats/sub-specs/panll-panels/" district = "1-formats" kind = "sub-spec" @@ -373,7 +386,7 @@ gate = "canon-self-conformance" note = "TRIAGE: <30 files each; none is a district" [[entry]] -from = "ensaid-config" +from = "1-formats/sub-specs/ensaid-config/" target = "1-formats/sub-specs/ensaid-config/" district = "1-formats" kind = "sub-spec" @@ -386,7 +399,7 @@ gate = "canon-self-conformance" note = "TRIAGE: <30 files each; none is a district" [[entry]] -from = "cartridges" +from = "1-formats/sub-specs/cartridges/" target = "1-formats/sub-specs/cartridges/" district = "1-formats" kind = "sub-spec" @@ -399,7 +412,7 @@ gate = "canon-self-conformance" note = "TRIAGE: <30 files each; none is a district" [[entry]] -from = "A2ML-REPO-TEMPLATE.adoc" +from = "1-formats/A2ML-REPO-TEMPLATE.adoc" target = "1-formats/" district = "1-formats" kind = "index" @@ -411,7 +424,7 @@ canonical_doc = "1-formats/index.adoc" gate = "canon-self-conformance" [[entry]] -from = "SATELLITES.a2ml" +from = "1-formats/SATELLITES.a2ml" target = "1-formats/" district = "1-formats" kind = "index" @@ -423,7 +436,7 @@ canonical_doc = "1-formats/index.adoc" gate = "canon-self-conformance" [[entry]] -from = "bindings-haskell" +from = "1-formats/sub-specs/bindings-haskell/" target = "1-formats/sub-specs/bindings-haskell/" district = "1-formats" kind = "sub-spec" diff --git a/standards-update/README.adoc b/standards-update/README.adoc index 90ce08c1d..5a9b5c755 100644 --- a/standards-update/README.adoc +++ b/standards-update/README.adoc @@ -16,7 +16,7 @@ toc::[] This repository serves as the canonical source for policies, templates, and specifications governing all Hyperpolymath projects. It provides: * **Language Policy** — Which languages and tools are permitted across the ecosystem -* **A2ML Format Family** — 7 machine-readable project metadata formats (see link:SATELLITES.a2ml[SATELLITES.a2ml]) +* **A2ML Format Family** — 7 machine-readable project metadata formats (see link:1-formats/SATELLITES.a2ml[1-formats/SATELLITES.a2ml]) * **Build System** — Mustfile/justfile (no Makefiles) * **Governance Templates** — Reusable CODE_OF_CONDUCT, CONTRIBUTING, and SECURITY documents * **Licensing Framework** — PMPL-1.0-or-later with Palimpsest philosophical principles @@ -26,9 +26,9 @@ This repository serves as the canonical source for policies, templates, and spec === Hub-Satellite Architecture -This repository is the **hub** for the A2ML Format Family. All specification repos are **satellites** registered in link:SATELLITES.a2ml[SATELLITES.a2ml]. +This repository is the **hub** for the A2ML Format Family. All specification repos are **satellites** registered in link:1-formats/SATELLITES.a2ml[1-formats/SATELLITES.a2ml]. -For detailed repository structure requirements, see link:A2ML-REPO-TEMPLATE.adoc[A2ML-REPO-TEMPLATE.adoc]. +For detailed repository structure requirements, see link:1-formats/A2ML-REPO-TEMPLATE.adoc[1-formats/A2ML-REPO-TEMPLATE.adoc]. === A2ML Format Family (7 Formats) @@ -74,7 +74,7 @@ Every Hyperpolymath repository must include these machine-readable A2ML files in |https://github.com/hyperpolymath/anchor-a2ml[anchor-a2ml] |=== -Templates available in `a2ml-templates/` directory. +Templates available in `1-formats/templates/` directory. === A2ML Atomicity Protocol (AAP) @@ -90,7 +90,7 @@ All A2ML files include a `[provenance]` section for audit trail and conflict det === Execution Pipeline -All implementations MUST respect this ordering (defined in link:SATELLITES.a2ml[SATELLITES.a2ml]): +All implementations MUST respect this ordering (defined in link:1-formats/SATELLITES.a2ml[1-formats/SATELLITES.a2ml]): [source] ---- @@ -257,7 +257,7 @@ standards/ ├── hooks/ # Git hooks │ ├── pre-commit # Language policy enforcement │ └── validate-*.sh # Validation scripts -├── a2ml-templates/ # A2ML file templates +├── 1-formats/templates/ # A2ML file templates │ ├── STATE.a2ml.template │ ├── META.a2ml.template │ ├── ECOSYSTEM.a2ml.template @@ -265,8 +265,8 @@ standards/ │ ├── NEUROSYM.a2ml.template │ ├── PLAYBOOK.a2ml.template │ └── ANCHOR.a2ml.template -├── SATELLITES.a2ml # Hub-satellite registry (machine-readable) -├── A2ML-REPO-TEMPLATE.adoc # Canonical structure for -a2ml repos +├── 1-formats/SATELLITES.a2ml # Hub-satellite registry (machine-readable) +├── 1-formats/A2ML-REPO-TEMPLATE.adoc # Canonical structure for -a2ml repos ├── CODE_OF_CONDUCT.md # Template ├── CONTRIBUTING.md # Template ├── SECURITY.md # Template @@ -298,7 +298,7 @@ standards/ **Standards Hub:** * https://github.com/hyperpolymath/standards[standards] — This repository (hub) -* link:SATELLITES.a2ml[SATELLITES.a2ml] — Machine-readable satellite registry +* link:1-formats/SATELLITES.a2ml[1-formats/SATELLITES.a2ml] — Machine-readable satellite registry **A2ML Format Family (Satellites):** diff --git a/state-a2ml/README.adoc b/state-a2ml/README.adoc index 2335e26fc..a2febaab0 100644 --- a/state-a2ml/README.adoc +++ b/state-a2ml/README.adoc @@ -8,7 +8,7 @@ image:https://img.shields.io/badge/License-PMPL--1.0-blue.svg[License: PMPL-1.0, [WARNING] ==== *Superseded characterisation.* The normative grammar for this format family is -the DEED grammar specification -- `deed/spec/DEED-GRAMMAR-SPEC.adoc` in this +the DEED grammar specification -- `1-formats/deed/spec/DEED-GRAMMAR-SPEC.adoc` in this repository. DEED is an *s-expression* format: there is no `key = value` production and no `[section]` production; DEED uses matching opening and closing parentheses. diff --git a/state-a2ml/spec/STATE-FORMAT-SPEC.adoc b/state-a2ml/spec/STATE-FORMAT-SPEC.adoc index 1fdb9bb04..c87015b45 100644 --- a/state-a2ml/spec/STATE-FORMAT-SPEC.adoc +++ b/state-a2ml/spec/STATE-FORMAT-SPEC.adoc @@ -9,7 +9,7 @@ [WARNING] ==== *Superseded characterisation.* The normative grammar for this format family is -the DEED grammar specification -- `deed/spec/DEED-GRAMMAR-SPEC.adoc` in this +the DEED grammar specification -- `1-formats/deed/spec/DEED-GRAMMAR-SPEC.adoc` in this repository. DEED is an *s-expression* format: there is no `key = value` production and no `[section]` production; DEED uses matching opening and closing parentheses. diff --git a/templates/CODEOWNERS b/templates/CODEOWNERS index 3a3b7f20f..d5a80df4f 100644 --- a/templates/CODEOWNERS +++ b/templates/CODEOWNERS @@ -9,7 +9,7 @@ SECURITY.md @hyperpolymath .github/workflows/ @hyperpolymath .machine_readable/ @hyperpolymath -contractiles/ @hyperpolymath +1-formats/contractiles/ @hyperpolymath # License files LICENSE @hyperpolymath