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