From 15af5b02a7c7520c18adbe7373637a084cffa95a Mon Sep 17 00:00:00 2001 From: hyperpolymath <6759885+hyperpolymath@users.noreply.github.com> Date: Thu, 17 Sep 2026 20:13:39 +0000 Subject: [PATCH] =?UTF-8?q?reorg(1-formats):=20execute=20the=208=20(pointe?= =?UTF-8?q?r)=20entries=20=E2=80=94=20relocate=20+=20leave=20a=20stub?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The map annotates these entries "(pointer)": the standard relocates and the old path keeps a stub. Owner ruled the stub shape: a POINTER.adoc in each old directory, with a machine-readable `moved-to` line. (canon.lock is untouched: these entries are [canon.split-candidates] only if they are slots, and none are.) RELOCATED (232 files) -> new home stub left at k9-svc 41 files -> 1-formats/k9/ k9-svc/ meta-a2ml 38 files -> 1-formats/a2ml/meta/ meta-a2ml/ agentic-a2ml 37 files -> 1-formats/a2ml/agentic/ agentic-a2ml/ state-a2ml 30 files -> 1-formats/a2ml/state/ state-a2ml/ anchor-a2ml 25 files -> 1-formats/a2ml/anchor/ anchor-a2ml/ ecosystem-a2ml 23 files -> 1-formats/a2ml/ecosystem/ ecosystem-a2ml/ neurosym-a2ml 23 files -> 1-formats/a2ml/neurosym/ neurosym-a2ml/ playbook-a2ml 15 files -> 1-formats/a2ml/playbook/ playbook-a2ml/ 183 inbound references rewritten. THE MAP IS SILENT ON TWO THINGS. Neither is decided silently here; both are resolved from this repo's own vocabulary and the resolution is recorded IN the map: 1. All seven *-a2ml dirs carried the SAME target, `1-formats/a2ml/`. Taken literally that merges seven directories into one, and 34 relative paths COLLIDE: seven README.adoc, seven .editorconfig, seven .gitattributes, seven .gitignore, seven .machine_readable/descriptiles/*.a2ml, and 28 more. docs/reorg/STREAM-PROMPTS.adoc names the seven homes normatively — "the descriptiles family becomes A2ML profiles: a2ml/state, a2ml/meta, a2ml/ecosystem, a2ml/agentic, a2ml/neurosym, a2ml/playbook, a2ml/anchor" — so each profile becomes a subdirectory and `target` records the refinement. k9-svc's target already named its own directory and is unchanged. 2. A pointer entry's `from` is NOT rewritten, unlike a plain move. The old path still EXISTS (it holds the stub), so GATE D assertions 1 and 2 keep holding and the record keeps stating where the migration started. A plain move rewrites `from` because there the old path stops existing. THE STUB is one file per old directory, no other content: SPDX + title, a relative link to the new home, and a TOML block (`moved-to`, `pointer`, `district`) whose shape is stable and greppable. Nothing in it is normative. Also fixed, same class as the last one: three re-added scorecard lines named `.machine_readable/6a2/`, a directory that has not existed since the rename to `.machine_readable/descriptiles/`. Corrected in place (playbook-a2ml ×2, state-a2ml ×3) — added lines only, so the chartered wider migration is untouched. check-canonical-names.sh rc=1 -> rc=0. GATES scripts/check-standards-map.sh PASSED, entry_count 120 scripts/check-canon-lockstep.sh 8 passed / 0 failed / 2 skipped check-canonical-names.sh rc=0 every other scripts/check-*.sh identical rc to the pristine 176d1f7 control except the two already explained --- .hypatia-baseline.json | 14 ++-- .machine_readable/INTENT.contractile | 2 +- .machine_readable/REGISTRY.a2ml | 32 ++++----- .../scorecards/agentic-a2ml.scorecard.a2ml | 4 +- .../component-readiness-grades.scorecard.a2ml | 2 +- .../scorecards/ecosystem-a2ml.scorecard.a2ml | 14 ++-- .../scorecards/ensaid-config.scorecard.a2ml | 10 +-- .../scorecards/meta-a2ml.scorecard.a2ml | 6 +- .../scorecards/neurosym-a2ml.scorecard.a2ml | 14 ++-- .../scorecards/playbook-a2ml.scorecard.a2ml | 10 +-- ...ession-management-standards.scorecard.a2ml | 2 +- .../scorecards/state-a2ml.scorecard.a2ml | 14 ++-- 0-AI-MANIFEST.a2ml | 2 +- 0-canon/CRG-SELF-ASSESSMENT.adoc | 2 +- .../a2ml/agentic}/.ai-context.json | 0 .../a2ml/agentic}/.editorconfig | 0 .../a2ml/agentic}/.gitattributes | 0 .../a2ml/agentic}/.gitignore | 0 .../a2ml/agentic}/.gitlab-ci.yml | 0 .../descriptiles/AGENTIC.a2ml | 0 .../descriptiles/ECOSYSTEM.a2ml | 0 .../.machine_readable/descriptiles/META.a2ml | 0 .../descriptiles/NEUROSYM.a2ml | 0 .../descriptiles/PLAYBOOK.a2ml | 0 .../.machine_readable/descriptiles/STATE.a2ml | 0 .../a2ml/agentic}/.nojekyll | 0 .../a2ml/agentic}/README.adoc | 2 +- .../a2ml/agentic}/ROADMAP.adoc | 0 .../a2ml/agentic}/architecture.adoc | 0 .../a2ml/agentic}/contractiles/README.adoc | 0 .../a2ml/agentic}/contractiles/dust/Dustfile | 0 .../a2ml/agentic}/contractiles/must/Mustfile | 0 .../docs/ADR-002-methodology-layer.adoc | 0 .../a2ml/agentic}/docs/CITATIONS.adoc | 0 .../a2ml/agentic}/docs/ROADMAP.adoc | 0 .../a2ml/agentic}/examples/comprehensive.a2ml | 0 .../a2ml/agentic}/examples/minimal.a2ml | 0 .../agentic}/examples/web-project-deno.json | 0 .../a2ml/agentic}/ffi/rsr-adapter.adb | 0 .../a2ml/agentic}/ffi/rsr-adapter.ads | 0 .../a2ml/agentic}/ffi/zig/build.zig | 0 .../a2ml/agentic}/ffi/zig/src/main.zig | 0 .../ffi/zig/test/integration_test.zig | 0 .../a2ml/agentic}/ncl/lib/os_detect.ncl | 0 .../a2ml/agentic}/ncl/lib/schema.ncl | 0 .../a2ml/agentic}/scripts/all-shells.sh | 0 .../a2ml/agentic}/scripts/bootstrap.sh | 0 .../agentic}/spec/AGENTIC-FORMAT-SPEC.adoc | 0 .../a2ml/agentic}/spec/VERSION-POLICY.adoc | 0 .../a2ml/agentic}/spec/agentic.abnf | 0 .../a2ml/agentic}/spec/agentic.schema.json | 0 .../a2ml/anchor}/.editorconfig | 0 .../a2ml/anchor}/.gitattributes | 0 .../a2ml/anchor}/.gitignore | 0 .../a2ml/anchor}/.gitlab-ci.yml | 0 .../descriptiles/AGENTIC.a2ml | 0 .../descriptiles/ECOSYSTEM.a2ml | 0 .../.machine_readable/descriptiles/META.a2ml | 0 .../descriptiles/NEUROSYM.a2ml | 0 .../descriptiles/PLAYBOOK.a2ml | 0 .../.machine_readable/descriptiles/STATE.a2ml | 0 .../a2ml/anchor}/.nojekyll | 0 .../a2ml/anchor}/README.adoc | 0 .../a2ml/anchor}/ROADMAP.adoc | 0 .../a2ml/anchor}/abnf/anchor.abnf | 0 .../a2ml/anchor}/contractiles/README.adoc | 0 .../a2ml/anchor}/contractiles/dust/Dustfile | 0 .../a2ml/anchor}/contractiles/must/Mustfile | 0 .../a2ml/anchor}/docs/CITATIONS.adoc | 0 .../a2ml/anchor}/examples/comprehensive.scm | 0 .../a2ml/anchor}/examples/minimal.scm | 0 .../anchor}/examples/web-project-deno.json | 0 .../a2ml/anchor}/ffi/zig/build.zig | 0 .../a2ml/anchor}/ffi/zig/src/main.zig | 0 .../anchor}/ffi/zig/test/integration_test.zig | 0 .../a2ml/anchor}/spec/ANCHOR-FORMAT-SPEC.adoc | 0 .../a2ml/ecosystem}/.editorconfig | 0 .../a2ml/ecosystem}/.gitattributes | 0 .../a2ml/ecosystem}/.gitignore | 0 .../descriptiles/AGENTIC.a2ml | 0 .../descriptiles/ECOSYSTEM.a2ml | 0 .../.machine_readable/descriptiles/META.a2ml | 0 .../descriptiles/NEUROSYM.a2ml | 0 .../descriptiles/PLAYBOOK.a2ml | 0 .../.machine_readable/descriptiles/STATE.a2ml | 0 .../a2ml/ecosystem}/README.adoc | 2 +- .../a2ml/ecosystem}/STANDARDS-ROADMAP.adoc | 0 .../a2ml/ecosystem}/contractiles/README.adoc | 0 .../ecosystem}/contractiles/dust/Dustfile | 0 .../ecosystem}/contractiles/must/Mustfile | 0 .../a2ml/ecosystem}/docs/CITATIONS.adoc | 0 .../ecosystem}/examples/web-project-deno.json | 0 .../ecosystem}/spec/IANA-CONSIDERATIONS.adoc | 0 .../draft/draft-jewell-ecosystem-scm-00.txt | 0 .../a2ml/ecosystem}/spec/ecosystem.abnf | 0 .../ecosystem}/spec/ecosystem.schema.json | 0 .../ecosystem}/spec/family/SCM-FAMILY.adoc | 0 .../a2ml/ecosystem}/spec/family/scm-core.abnf | 0 .../spec/family/scm-family.schema.json | 0 .../a2ml/meta}/.claude/CLAUDE.md | 0 {k9-svc => 1-formats/a2ml/meta}/.editorconfig | 0 .../a2ml/meta}/.gitattributes | 0 .../a2ml/meta}/.github/FUNDING.yml | 0 .../.github/ISSUE_TEMPLATE/bug_report.md | 0 .../.github/ISSUE_TEMPLATE/documentation.md | 0 .../.github/ISSUE_TEMPLATE/feature_request.md | 0 .../meta}/.github/ISSUE_TEMPLATE/question.md | 0 .../a2ml/meta}/.github/dependabot.yml | 0 .../meta}/.github/workflows/casket-pages.yml | 0 .../a2ml/meta}/.github/workflows/codeql.yml | 0 .../meta}/.github/workflows/governance.yml | 0 .../meta}/.github/workflows/hypatia-scan.yml | 0 .../a2ml/meta}/.github/workflows/mirror.yml | 0 .../.github/workflows/scorecard-enforcer.yml | 0 .../meta}/.github/workflows/scorecard.yml | 0 .../.github/workflows/secret-scanner.yml | 0 {meta-a2ml => 1-formats/a2ml/meta}/.gitignore | 0 .../descriptiles/AGENTIC.a2ml | 0 .../descriptiles/ECOSYSTEM.a2ml | 0 .../.machine_readable/descriptiles/META.a2ml | 0 .../descriptiles/NEUROSYM.a2ml | 0 .../descriptiles/PLAYBOOK.a2ml | 0 .../.machine_readable/descriptiles/STATE.a2ml | 0 .../a2ml/meta}/README.adoc | 0 .../a2ml/meta}/examples/comprehensive.a2ml | 0 .../a2ml/meta}/examples/minimal.a2ml | 0 .../a2ml/meta}/spec/IANA-MEDIA-TYPE.adoc | 0 .../a2ml/meta}/spec/META-FORMAT-SPEC.adoc | 0 .../a2ml/meta}/spec/README.adoc | 0 .../a2ml/meta}/spec/SCM-FORMAT-FAMILY.adoc | 0 .../a2ml/meta}/spec/STANDARDS-TRACK.adoc | 0 .../spec/UNIFIED-STANDARDS-STRATEGY.adoc | 0 .../a2ml/meta}/spec/VERSION-POLICY.adoc | 0 .../a2ml/meta}/spec/abnf/meta.abnf | 0 .../a2ml/meta}/spec/schema/meta.schema.json | 0 .../a2ml/meta}/spec/shared/s-expression.abnf | 0 .../meta}/spec/shared/scm-common.schema.json | 0 .../a2ml/neurosym}/.ai-context.json | 0 .../a2ml/neurosym}/.editorconfig | 0 .../a2ml/neurosym}/.gitattributes | 0 .../a2ml/neurosym}/.gitignore | 0 .../a2ml/neurosym}/.gitlab-ci.yml | 0 .../descriptiles/AGENTIC.a2ml | 0 .../descriptiles/ECOSYSTEM.a2ml | 0 .../.machine_readable/descriptiles/META.a2ml | 0 .../descriptiles/NEUROSYM.a2ml | 0 .../descriptiles/PLAYBOOK.a2ml | 0 .../.machine_readable/descriptiles/STATE.a2ml | 0 .../a2ml/neurosym}/.nojekyll | 0 .../a2ml/neurosym}/README.adoc | 2 +- .../a2ml/neurosym}/architecture.adoc | 0 .../a2ml/neurosym}/docs/CITATIONS.adoc | 0 .../a2ml/neurosym}/docs/ROADMAP.adoc | 0 .../neurosym}/examples/comprehensive.a2ml | 0 .../a2ml/neurosym}/examples/minimal.a2ml | 0 .../a2ml/neurosym}/ncl/lib/os_detect.ncl | 0 .../a2ml/neurosym}/ncl/lib/schema.ncl | 0 .../a2ml/neurosym}/scripts/all-shells.sh | 0 .../a2ml/neurosym}/scripts/bootstrap.sh | 0 .../neurosym}/spec/NEUROSYM-FORMAT-SPEC.adoc | 0 .../a2ml/playbook}/.editorconfig | 0 .../a2ml/playbook}/.gitattributes | 0 .../a2ml/playbook}/.gitignore | 0 .../descriptiles/AGENTIC.a2ml | 0 .../descriptiles/ECOSYSTEM.a2ml | 0 .../.machine_readable/descriptiles/META.a2ml | 0 .../descriptiles/NEUROSYM.a2ml | 0 .../descriptiles/PLAYBOOK.a2ml | 0 .../.machine_readable/descriptiles/STATE.a2ml | 0 .../a2ml/playbook}/.nojekyll | 0 .../a2ml/playbook}/README.adoc | 0 .../playbook}/examples/comprehensive.a2ml | 0 .../a2ml/playbook}/examples/minimal.a2ml | 0 .../playbook}/spec/PLAYBOOK-FORMAT-SPEC.adoc | 0 .../a2ml/playbook}/spec/playbook-spec | 0 .../a2ml/state}/.editorconfig | 0 .../a2ml/state}/.gitattributes | 0 .../a2ml/state}/.gitignore | 0 .../a2ml/state}/.gitlab-ci.yml | 0 .../descriptiles/AGENTIC.a2ml | 0 .../descriptiles/ECOSYSTEM.a2ml | 0 .../.machine_readable/descriptiles/META.a2ml | 0 .../descriptiles/NEUROSYM.a2ml | 0 .../descriptiles/PLAYBOOK.a2ml | 0 .../.machine_readable/descriptiles/STATE.a2ml | 0 .../a2ml/state}/.nojekyll | 0 .../a2ml/state}/README.adoc | 0 .../a2ml/state}/channels.scm | 0 .../a2ml/state}/docs/CITATIONS.adoc | 0 .../a2ml/state}/docs/COOKBOOK.adoc | 0 .../a2ml/state}/docs/USAGE.adoc | 0 .../a2ml/state}/examples/example-state.scm | 0 .../a2ml/state}/lib/state-core.scm | 0 .../a2ml/state}/lib/state-graph.scm | 0 .../a2ml/state}/lib/state-history.scm | 0 .../a2ml/state}/lib/state-kanren.scm | 0 .../a2ml/state}/lib/state.scm | 0 .../a2ml/state}/manifest.scm | 0 .../a2ml/state}/spec/IANA-MEDIA-TYPE.adoc | 2 +- .../a2ml/state}/spec/README.adoc | 0 .../a2ml/state}/spec/STANDARDS-TRACK.adoc | 2 +- .../a2ml/state}/spec/STATE-FORMAT-SPEC.adoc | 0 .../a2ml/state}/spec/VERSION-POLICY.adoc | 0 .../a2ml/state}/spec/abnf/state.abnf | 0 .../a2ml/state}/spec/schema/state.schema.json | 0 {playbook-a2ml => 1-formats/k9}/.editorconfig | 0 .../k9}/.gitattributes | 0 {k9-svc => 1-formats/k9}/.gitignore | 0 .../descriptiles/AGENTIC.a2ml | 0 .../descriptiles/ECOSYSTEM.a2ml | 0 .../.machine_readable/descriptiles/META.a2ml | 0 .../descriptiles/NEUROSYM.a2ml | 0 .../descriptiles/PLAYBOOK.a2ml | 0 .../.machine_readable/descriptiles/STATE.a2ml | 2 +- {k9-svc => 1-formats/k9}/CODE_OF_CONDUCT.adoc | 0 {k9-svc => 1-formats/k9}/CONTRIBUTING.adoc | 2 +- .../k9}/DOGFOODING-OPPORTUNITIES.adoc | 2 +- {k9-svc => 1-formats/k9}/GUIDE.adoc | 0 .../k9}/IANA-MEDIA-TYPE-APPLICATION.adoc | 0 .../k9}/K9-ADOPTION-EXPANSION.adoc | 2 +- {k9-svc => 1-formats/k9}/LICENSE | 0 {k9-svc => 1-formats/k9}/README.adoc | 4 +- .../k9}/SECURITY-ANALYSIS.adoc | 2 +- .../SECURITY-SOLUTIONS-VS-MITIGATIONS.adoc | 0 {k9-svc => 1-formats/k9}/SECURITY.adoc | 0 {k9-svc => 1-formats/k9}/SPEC.adoc | 0 .../k9}/SPEC.adoc.invariants.adoc | 0 {k9-svc => 1-formats/k9}/TESTING.adoc | 0 {k9-svc => 1-formats/k9}/assets/k9-icon.svg | 0 .../k9}/assets/leash-diagram.svg | 0 .../k9}/assets/signing-workflow.svg | 0 .../k9}/assets/triad-diagram.svg | 0 {k9-svc => 1-formats/k9}/capabilities.ncl | 0 .../k9}/docs/DEPLOYMENT-NARRATIVE.adoc | 0 .../k9}/docs/IANA-MEDIA-TYPE.adoc | 0 .../k9}/docs/OPTIMIZATION-GUIDE.adoc | 0 .../k9}/docs/PERFORMANCE.adoc | 2 +- .../k9}/docs/SECURITY-BEST-PRACTICES.adoc | 0 .../k9}/docs/SECURITY-FAQ.adoc | 0 .../docs/SECURITY-FOR-DECISION-MAKERS.adoc | 0 .../k9}/docs/SECURITY-ROADMAP.adoc | 0 .../iana/application-vnd.k9-registration.txt | 0 {k9-svc => 1-formats/k9}/leash.ncl | 0 {k9-svc => 1-formats/k9}/pedigree.ncl | 0 {k9-svc => 1-formats/k9}/register.ncl | 0 .../k9}/scripts/check-6scm.sh | 0 .../did-you-actually-do-that/README.adoc | 2 +- QUICKSTART-DEV.adoc | 4 +- README.adoc | 72 +++++++++---------- SECURITY-ADVISORIES.adoc | 4 +- TEST-NEEDS.adoc | 12 ++-- TOPOLOGY.adoc | 16 ++--- agentic-a2ml/POINTER.adoc | 19 +++++ anchor-a2ml/POINTER.adoc | 19 +++++ audits/assail-classifications.a2ml | 10 +-- .../COMPONENT-READINESS-GRADES.a2ml | 2 +- .../SELF-ASSESSMENT.adoc | 2 +- coordination.k9 | 2 +- ...patia-cache-sha-corruption-2026-06-21.a2ml | 4 +- ...patia-cache-sha-corruption-2026-06-21.adoc | 4 +- docs/reorg/STREAM-PROMPTS.adoc | 4 +- docs/wikis/README.adoc | 2 +- docs/wikis/developers/index.adoc | 2 +- ecosystem-a2ml/POINTER.adoc | 19 +++++ k9-svc/POINTER.adoc | 19 +++++ meta-a2ml/POINTER.adoc | 19 +++++ neurosym-a2ml/POINTER.adoc | 19 +++++ playbook-a2ml/POINTER.adoc | 19 +++++ scripts/build-registry.sh | 16 ++--- standards-map.toml | 30 ++++---- state-a2ml/POINTER.adoc | 19 +++++ .../TOOLCHAIN-READINESS-GRADES.a2ml | 2 +- 272 files changed, 324 insertions(+), 172 deletions(-) rename {agentic-a2ml => 1-formats/a2ml/agentic}/.ai-context.json (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/.editorconfig (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/.gitattributes (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/.gitignore (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/.gitlab-ci.yml (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/.machine_readable/descriptiles/AGENTIC.a2ml (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/.machine_readable/descriptiles/ECOSYSTEM.a2ml (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/.machine_readable/descriptiles/META.a2ml (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/.machine_readable/descriptiles/NEUROSYM.a2ml (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/.machine_readable/descriptiles/PLAYBOOK.a2ml (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/.machine_readable/descriptiles/STATE.a2ml (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/.nojekyll (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/README.adoc (99%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/ROADMAP.adoc (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/architecture.adoc (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/contractiles/README.adoc (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/contractiles/dust/Dustfile (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/contractiles/must/Mustfile (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/docs/ADR-002-methodology-layer.adoc (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/docs/CITATIONS.adoc (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/docs/ROADMAP.adoc (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/examples/comprehensive.a2ml (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/examples/minimal.a2ml (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/examples/web-project-deno.json (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/ffi/rsr-adapter.adb (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/ffi/rsr-adapter.ads (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/ffi/zig/build.zig (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/ffi/zig/src/main.zig (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/ffi/zig/test/integration_test.zig (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/ncl/lib/os_detect.ncl (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/ncl/lib/schema.ncl (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/scripts/all-shells.sh (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/scripts/bootstrap.sh (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/spec/AGENTIC-FORMAT-SPEC.adoc (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/spec/VERSION-POLICY.adoc (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/spec/agentic.abnf (100%) rename {agentic-a2ml => 1-formats/a2ml/agentic}/spec/agentic.schema.json (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/.editorconfig (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/.gitattributes (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/.gitignore (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/.gitlab-ci.yml (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/.machine_readable/descriptiles/AGENTIC.a2ml (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/.machine_readable/descriptiles/ECOSYSTEM.a2ml (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/.machine_readable/descriptiles/META.a2ml (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/.machine_readable/descriptiles/NEUROSYM.a2ml (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/.machine_readable/descriptiles/PLAYBOOK.a2ml (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/.machine_readable/descriptiles/STATE.a2ml (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/.nojekyll (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/README.adoc (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/ROADMAP.adoc (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/abnf/anchor.abnf (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/contractiles/README.adoc (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/contractiles/dust/Dustfile (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/contractiles/must/Mustfile (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/docs/CITATIONS.adoc (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/examples/comprehensive.scm (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/examples/minimal.scm (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/examples/web-project-deno.json (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/ffi/zig/build.zig (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/ffi/zig/src/main.zig (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/ffi/zig/test/integration_test.zig (100%) rename {anchor-a2ml => 1-formats/a2ml/anchor}/spec/ANCHOR-FORMAT-SPEC.adoc (100%) rename {ecosystem-a2ml => 1-formats/a2ml/ecosystem}/.editorconfig (100%) rename {ecosystem-a2ml => 1-formats/a2ml/ecosystem}/.gitattributes (100%) rename {ecosystem-a2ml => 1-formats/a2ml/ecosystem}/.gitignore (100%) rename {ecosystem-a2ml => 1-formats/a2ml/ecosystem}/.machine_readable/descriptiles/AGENTIC.a2ml (100%) rename {ecosystem-a2ml => 1-formats/a2ml/ecosystem}/.machine_readable/descriptiles/ECOSYSTEM.a2ml (100%) rename {ecosystem-a2ml => 1-formats/a2ml/ecosystem}/.machine_readable/descriptiles/META.a2ml (100%) rename {ecosystem-a2ml => 1-formats/a2ml/ecosystem}/.machine_readable/descriptiles/NEUROSYM.a2ml (100%) rename {ecosystem-a2ml => 1-formats/a2ml/ecosystem}/.machine_readable/descriptiles/PLAYBOOK.a2ml (100%) rename {ecosystem-a2ml => 1-formats/a2ml/ecosystem}/.machine_readable/descriptiles/STATE.a2ml (100%) rename {ecosystem-a2ml => 1-formats/a2ml/ecosystem}/README.adoc (99%) rename {ecosystem-a2ml => 1-formats/a2ml/ecosystem}/STANDARDS-ROADMAP.adoc (100%) rename {ecosystem-a2ml => 1-formats/a2ml/ecosystem}/contractiles/README.adoc (100%) rename {ecosystem-a2ml => 1-formats/a2ml/ecosystem}/contractiles/dust/Dustfile (100%) rename {ecosystem-a2ml => 1-formats/a2ml/ecosystem}/contractiles/must/Mustfile (100%) rename {ecosystem-a2ml => 1-formats/a2ml/ecosystem}/docs/CITATIONS.adoc (100%) rename {ecosystem-a2ml => 1-formats/a2ml/ecosystem}/examples/web-project-deno.json (100%) rename {ecosystem-a2ml => 1-formats/a2ml/ecosystem}/spec/IANA-CONSIDERATIONS.adoc (100%) rename {ecosystem-a2ml => 1-formats/a2ml/ecosystem}/spec/draft/draft-jewell-ecosystem-scm-00.txt (100%) rename {ecosystem-a2ml => 1-formats/a2ml/ecosystem}/spec/ecosystem.abnf (100%) rename {ecosystem-a2ml => 1-formats/a2ml/ecosystem}/spec/ecosystem.schema.json (100%) rename {ecosystem-a2ml => 1-formats/a2ml/ecosystem}/spec/family/SCM-FAMILY.adoc (100%) rename {ecosystem-a2ml => 1-formats/a2ml/ecosystem}/spec/family/scm-core.abnf (100%) rename {ecosystem-a2ml => 1-formats/a2ml/ecosystem}/spec/family/scm-family.schema.json (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/.claude/CLAUDE.md (100%) rename {k9-svc => 1-formats/a2ml/meta}/.editorconfig (100%) rename {k9-svc => 1-formats/a2ml/meta}/.gitattributes (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/.github/FUNDING.yml (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/.github/ISSUE_TEMPLATE/bug_report.md (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/.github/ISSUE_TEMPLATE/documentation.md (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/.github/ISSUE_TEMPLATE/feature_request.md (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/.github/ISSUE_TEMPLATE/question.md (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/.github/dependabot.yml (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/.github/workflows/casket-pages.yml (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/.github/workflows/codeql.yml (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/.github/workflows/governance.yml (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/.github/workflows/hypatia-scan.yml (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/.github/workflows/mirror.yml (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/.github/workflows/scorecard-enforcer.yml (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/.github/workflows/scorecard.yml (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/.github/workflows/secret-scanner.yml (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/.gitignore (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/.machine_readable/descriptiles/AGENTIC.a2ml (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/.machine_readable/descriptiles/ECOSYSTEM.a2ml (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/.machine_readable/descriptiles/META.a2ml (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/.machine_readable/descriptiles/NEUROSYM.a2ml (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/.machine_readable/descriptiles/PLAYBOOK.a2ml (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/.machine_readable/descriptiles/STATE.a2ml (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/README.adoc (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/examples/comprehensive.a2ml (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/examples/minimal.a2ml (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/spec/IANA-MEDIA-TYPE.adoc (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/spec/META-FORMAT-SPEC.adoc (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/spec/README.adoc (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/spec/SCM-FORMAT-FAMILY.adoc (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/spec/STANDARDS-TRACK.adoc (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/spec/UNIFIED-STANDARDS-STRATEGY.adoc (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/spec/VERSION-POLICY.adoc (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/spec/abnf/meta.abnf (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/spec/schema/meta.schema.json (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/spec/shared/s-expression.abnf (100%) rename {meta-a2ml => 1-formats/a2ml/meta}/spec/shared/scm-common.schema.json (100%) rename {neurosym-a2ml => 1-formats/a2ml/neurosym}/.ai-context.json (100%) rename {meta-a2ml => 1-formats/a2ml/neurosym}/.editorconfig (100%) rename {meta-a2ml => 1-formats/a2ml/neurosym}/.gitattributes (100%) rename {neurosym-a2ml => 1-formats/a2ml/neurosym}/.gitignore (100%) rename {neurosym-a2ml => 1-formats/a2ml/neurosym}/.gitlab-ci.yml (100%) rename {neurosym-a2ml => 1-formats/a2ml/neurosym}/.machine_readable/descriptiles/AGENTIC.a2ml (100%) rename {neurosym-a2ml => 1-formats/a2ml/neurosym}/.machine_readable/descriptiles/ECOSYSTEM.a2ml (100%) rename {neurosym-a2ml => 1-formats/a2ml/neurosym}/.machine_readable/descriptiles/META.a2ml (100%) rename {neurosym-a2ml => 1-formats/a2ml/neurosym}/.machine_readable/descriptiles/NEUROSYM.a2ml (100%) rename {neurosym-a2ml => 1-formats/a2ml/neurosym}/.machine_readable/descriptiles/PLAYBOOK.a2ml (100%) rename {neurosym-a2ml => 1-formats/a2ml/neurosym}/.machine_readable/descriptiles/STATE.a2ml (100%) rename {neurosym-a2ml => 1-formats/a2ml/neurosym}/.nojekyll (100%) rename {neurosym-a2ml => 1-formats/a2ml/neurosym}/README.adoc (99%) rename {neurosym-a2ml => 1-formats/a2ml/neurosym}/architecture.adoc (100%) rename {neurosym-a2ml => 1-formats/a2ml/neurosym}/docs/CITATIONS.adoc (100%) rename {neurosym-a2ml => 1-formats/a2ml/neurosym}/docs/ROADMAP.adoc (100%) rename {neurosym-a2ml => 1-formats/a2ml/neurosym}/examples/comprehensive.a2ml (100%) rename {neurosym-a2ml => 1-formats/a2ml/neurosym}/examples/minimal.a2ml (100%) rename {neurosym-a2ml => 1-formats/a2ml/neurosym}/ncl/lib/os_detect.ncl (100%) rename {neurosym-a2ml => 1-formats/a2ml/neurosym}/ncl/lib/schema.ncl (100%) rename {neurosym-a2ml => 1-formats/a2ml/neurosym}/scripts/all-shells.sh (100%) rename {neurosym-a2ml => 1-formats/a2ml/neurosym}/scripts/bootstrap.sh (100%) rename {neurosym-a2ml => 1-formats/a2ml/neurosym}/spec/NEUROSYM-FORMAT-SPEC.adoc (100%) rename {neurosym-a2ml => 1-formats/a2ml/playbook}/.editorconfig (100%) rename {neurosym-a2ml => 1-formats/a2ml/playbook}/.gitattributes (100%) rename {playbook-a2ml => 1-formats/a2ml/playbook}/.gitignore (100%) rename {playbook-a2ml => 1-formats/a2ml/playbook}/.machine_readable/descriptiles/AGENTIC.a2ml (100%) rename {playbook-a2ml => 1-formats/a2ml/playbook}/.machine_readable/descriptiles/ECOSYSTEM.a2ml (100%) rename {playbook-a2ml => 1-formats/a2ml/playbook}/.machine_readable/descriptiles/META.a2ml (100%) rename {playbook-a2ml => 1-formats/a2ml/playbook}/.machine_readable/descriptiles/NEUROSYM.a2ml (100%) rename {playbook-a2ml => 1-formats/a2ml/playbook}/.machine_readable/descriptiles/PLAYBOOK.a2ml (100%) rename {playbook-a2ml => 1-formats/a2ml/playbook}/.machine_readable/descriptiles/STATE.a2ml (100%) rename {playbook-a2ml => 1-formats/a2ml/playbook}/.nojekyll (100%) rename {playbook-a2ml => 1-formats/a2ml/playbook}/README.adoc (100%) rename {playbook-a2ml => 1-formats/a2ml/playbook}/examples/comprehensive.a2ml (100%) rename {playbook-a2ml => 1-formats/a2ml/playbook}/examples/minimal.a2ml (100%) rename {playbook-a2ml => 1-formats/a2ml/playbook}/spec/PLAYBOOK-FORMAT-SPEC.adoc (100%) rename {playbook-a2ml => 1-formats/a2ml/playbook}/spec/playbook-spec (100%) rename {state-a2ml => 1-formats/a2ml/state}/.editorconfig (100%) rename {state-a2ml => 1-formats/a2ml/state}/.gitattributes (100%) rename {state-a2ml => 1-formats/a2ml/state}/.gitignore (100%) rename {state-a2ml => 1-formats/a2ml/state}/.gitlab-ci.yml (100%) rename {state-a2ml => 1-formats/a2ml/state}/.machine_readable/descriptiles/AGENTIC.a2ml (100%) rename {state-a2ml => 1-formats/a2ml/state}/.machine_readable/descriptiles/ECOSYSTEM.a2ml (100%) rename {state-a2ml => 1-formats/a2ml/state}/.machine_readable/descriptiles/META.a2ml (100%) rename {state-a2ml => 1-formats/a2ml/state}/.machine_readable/descriptiles/NEUROSYM.a2ml (100%) rename {state-a2ml => 1-formats/a2ml/state}/.machine_readable/descriptiles/PLAYBOOK.a2ml (100%) rename {state-a2ml => 1-formats/a2ml/state}/.machine_readable/descriptiles/STATE.a2ml (100%) rename {state-a2ml => 1-formats/a2ml/state}/.nojekyll (100%) rename {state-a2ml => 1-formats/a2ml/state}/README.adoc (100%) rename {state-a2ml => 1-formats/a2ml/state}/channels.scm (100%) rename {state-a2ml => 1-formats/a2ml/state}/docs/CITATIONS.adoc (100%) rename {state-a2ml => 1-formats/a2ml/state}/docs/COOKBOOK.adoc (100%) rename {state-a2ml => 1-formats/a2ml/state}/docs/USAGE.adoc (100%) rename {state-a2ml => 1-formats/a2ml/state}/examples/example-state.scm (100%) rename {state-a2ml => 1-formats/a2ml/state}/lib/state-core.scm (100%) rename {state-a2ml => 1-formats/a2ml/state}/lib/state-graph.scm (100%) rename {state-a2ml => 1-formats/a2ml/state}/lib/state-history.scm (100%) rename {state-a2ml => 1-formats/a2ml/state}/lib/state-kanren.scm (100%) rename {state-a2ml => 1-formats/a2ml/state}/lib/state.scm (100%) rename {state-a2ml => 1-formats/a2ml/state}/manifest.scm (100%) rename {state-a2ml => 1-formats/a2ml/state}/spec/IANA-MEDIA-TYPE.adoc (98%) rename {state-a2ml => 1-formats/a2ml/state}/spec/README.adoc (100%) rename {state-a2ml => 1-formats/a2ml/state}/spec/STANDARDS-TRACK.adoc (99%) rename {state-a2ml => 1-formats/a2ml/state}/spec/STATE-FORMAT-SPEC.adoc (100%) rename {state-a2ml => 1-formats/a2ml/state}/spec/VERSION-POLICY.adoc (100%) rename {state-a2ml => 1-formats/a2ml/state}/spec/abnf/state.abnf (100%) rename {state-a2ml => 1-formats/a2ml/state}/spec/schema/state.schema.json (100%) rename {playbook-a2ml => 1-formats/k9}/.editorconfig (100%) rename {playbook-a2ml => 1-formats/k9}/.gitattributes (100%) rename {k9-svc => 1-formats/k9}/.gitignore (100%) rename {k9-svc => 1-formats/k9}/.machine_readable/descriptiles/AGENTIC.a2ml (100%) rename {k9-svc => 1-formats/k9}/.machine_readable/descriptiles/ECOSYSTEM.a2ml (100%) rename {k9-svc => 1-formats/k9}/.machine_readable/descriptiles/META.a2ml (100%) rename {k9-svc => 1-formats/k9}/.machine_readable/descriptiles/NEUROSYM.a2ml (100%) rename {k9-svc => 1-formats/k9}/.machine_readable/descriptiles/PLAYBOOK.a2ml (100%) rename {k9-svc => 1-formats/k9}/.machine_readable/descriptiles/STATE.a2ml (98%) rename {k9-svc => 1-formats/k9}/CODE_OF_CONDUCT.adoc (100%) rename {k9-svc => 1-formats/k9}/CONTRIBUTING.adoc (97%) rename {k9-svc => 1-formats/k9}/DOGFOODING-OPPORTUNITIES.adoc (99%) rename {k9-svc => 1-formats/k9}/GUIDE.adoc (100%) rename {k9-svc => 1-formats/k9}/IANA-MEDIA-TYPE-APPLICATION.adoc (100%) rename {k9-svc => 1-formats/k9}/K9-ADOPTION-EXPANSION.adoc (99%) rename {k9-svc => 1-formats/k9}/LICENSE (100%) rename {k9-svc => 1-formats/k9}/README.adoc (98%) rename {k9-svc => 1-formats/k9}/SECURITY-ANALYSIS.adoc (99%) rename {k9-svc => 1-formats/k9}/SECURITY-SOLUTIONS-VS-MITIGATIONS.adoc (100%) rename {k9-svc => 1-formats/k9}/SECURITY.adoc (100%) rename {k9-svc => 1-formats/k9}/SPEC.adoc (100%) rename {k9-svc => 1-formats/k9}/SPEC.adoc.invariants.adoc (100%) rename {k9-svc => 1-formats/k9}/TESTING.adoc (100%) rename {k9-svc => 1-formats/k9}/assets/k9-icon.svg (100%) rename {k9-svc => 1-formats/k9}/assets/leash-diagram.svg (100%) rename {k9-svc => 1-formats/k9}/assets/signing-workflow.svg (100%) rename {k9-svc => 1-formats/k9}/assets/triad-diagram.svg (100%) rename {k9-svc => 1-formats/k9}/capabilities.ncl (100%) rename {k9-svc => 1-formats/k9}/docs/DEPLOYMENT-NARRATIVE.adoc (100%) rename {k9-svc => 1-formats/k9}/docs/IANA-MEDIA-TYPE.adoc (100%) rename {k9-svc => 1-formats/k9}/docs/OPTIMIZATION-GUIDE.adoc (100%) rename {k9-svc => 1-formats/k9}/docs/PERFORMANCE.adoc (99%) rename {k9-svc => 1-formats/k9}/docs/SECURITY-BEST-PRACTICES.adoc (100%) rename {k9-svc => 1-formats/k9}/docs/SECURITY-FAQ.adoc (100%) rename {k9-svc => 1-formats/k9}/docs/SECURITY-FOR-DECISION-MAKERS.adoc (100%) rename {k9-svc => 1-formats/k9}/docs/SECURITY-ROADMAP.adoc (100%) rename {k9-svc => 1-formats/k9}/docs/iana/application-vnd.k9-registration.txt (100%) rename {k9-svc => 1-formats/k9}/leash.ncl (100%) rename {k9-svc => 1-formats/k9}/pedigree.ncl (100%) rename {k9-svc => 1-formats/k9}/register.ncl (100%) rename {k9-svc => 1-formats/k9}/scripts/check-6scm.sh (100%) create mode 100644 agentic-a2ml/POINTER.adoc create mode 100644 anchor-a2ml/POINTER.adoc create mode 100644 ecosystem-a2ml/POINTER.adoc create mode 100644 k9-svc/POINTER.adoc create mode 100644 meta-a2ml/POINTER.adoc create mode 100644 neurosym-a2ml/POINTER.adoc create mode 100644 playbook-a2ml/POINTER.adoc create mode 100644 state-a2ml/POINTER.adoc diff --git a/.hypatia-baseline.json b/.hypatia-baseline.json index c3aa4179e..d9225de6b 100644 --- a/.hypatia-baseline.json +++ b/.hypatia-baseline.json @@ -62,7 +62,7 @@ "severity": "high", "rule_module": "code_safety", "type": "ncl_http_url", - "file": "k9-svc/register.ncl", + "file": "1-formats/k9/register.ncl", "note": "FALSE POSITIVE (hypatia triage 2026-07-21): The http:// strings are an XML namespace URI and a DTD public identifier \u2014 opaque identifiers mandated by the freedesktop/Apple specs, never fetched. Changing them to https would break MIME registrati" }, { @@ -94,7 +94,7 @@ "severity": "high", "rule_module": "code_safety", "type": "shell_download_then_run", - "file": "agentic-a2ml/scripts/bootstrap.sh", + "file": "1-formats/a2ml/agentic/scripts/bootstrap.sh", "note": "TRACKED DEBT (hypatia triage 2026-07-21): Same template-shared bootstrap as id 41 (byte-identical pattern). One template fix (download + sha256-verify + run) clears all instances.", "expires_at": "2026-10-21", "tracking_issue": "hyperpolymath/standards#399" @@ -103,7 +103,7 @@ "severity": "high", "rule_module": "code_safety", "type": "shell_download_then_run", - "file": "neurosym-a2ml/scripts/bootstrap.sh", + "file": "1-formats/a2ml/neurosym/scripts/bootstrap.sh", "note": "TRACKED DEBT (hypatia triage 2026-07-21): Real download-and-execute. Template-shared bootstrap (identical in agentic-a2ml and rsr-deployer) \u2014 fix the template once: download to file, verify sha256, then run.", "expires_at": "2026-10-21", "tracking_issue": "hyperpolymath/standards#399" @@ -317,8 +317,8 @@ "severity": "high", "rule_module": "code_scanning_alerts", "type": "CSA001", - "file": "k9-svc/register.ncl", - "note": "FALSE POSITIVE (hypatia triage 2026-07-21): Doubly false: CSA mirror double-report (#378) AND underlying ncl_http_url matched XML namespace identifiers which are opaque strings, never dereferenced. k9-svc/** carved out to #491." + "file": "1-formats/k9/register.ncl", + "note": "FALSE POSITIVE (hypatia triage 2026-07-21): Doubly false: CSA mirror double-report (#378) AND underlying ncl_http_url matched XML namespace identifiers which are opaque strings, never dereferenced. 1-formats/k9/** carved out to #491." }, { "severity": "high", @@ -452,7 +452,7 @@ "severity": "high", "rule_module": "code_scanning_alerts", "type": "CSA003", - "file": "k9-svc/register.ncl", + "file": "1-formats/k9/register.ncl", "note": "FALSE POSITIVE (hypatia triage 2026-07-21): Double-false: mirror double-report per standards#378, AND the underlying ncl_http_url alert flags XML namespace/DTD identifiers, which are opaque IDs never fetched over HTTP. k9-svc carve-out #491." }, { @@ -666,7 +666,7 @@ "severity": "medium", "rule_module": "structural_drift", "type": "SD022", - "file": "meta-a2ml/spec/SCM-FORMAT-FAMILY.adoc", + "file": "1-formats/a2ml/meta/spec/SCM-FORMAT-FAMILY.adoc", "note": "FALSE POSITIVE (hypatia triage 2026-07-21): Sample SCM session data in a format spec \u2014 the path is example payload content, not a repo reference." }, { diff --git a/.machine_readable/INTENT.contractile b/.machine_readable/INTENT.contractile index b8752934b..7f81e77f5 100644 --- a/.machine_readable/INTENT.contractile +++ b/.machine_readable/INTENT.contractile @@ -81,7 +81,7 @@ "rhodium-standard-repositories/ — RSR requirements affect all 500+ estate repos" ".machine_readable/ — format is specified; do not add files outside the contractile schema" "a2ml/ — specification language; backwards-incompatible changes need an ADR" - "k9-svc/ and k9-coordination-protocol/ — K9 trust tier boundaries are load-bearing" + "1-formats/k9/ and k9-coordination-protocol/ — K9 trust tier boundaries are load-bearing" ) ; === Ecosystem Position === diff --git a/.machine_readable/REGISTRY.a2ml b/.machine_readable/REGISTRY.a2ml index 66bcfc642..f256e2c43 100644 --- a/.machine_readable/REGISTRY.a2ml +++ b/.machine_readable/REGISTRY.a2ml @@ -43,8 +43,8 @@ route = "the highest estate-level rules, authority precedence, assurance, contri id = "k9-svc" name = "K9 Self-Validating Components" stream = "foundation" -home = "k9-svc/" -canonical_doc = "k9-svc/README.adoc" +home = "1-formats/k9/" +canonical_doc = "1-formats/k9/README.adoc" source_hash = "sha256:780c4a516609fe2c8a61c615ef9f8a97c630218813385530ad4c1a36a61908ef" route = "the K9 specification, security analysis and adoption guidance (implementations live in hyperpolymath/k9-ecosystem)" @@ -61,8 +61,8 @@ route = "policy-enforcement primitives the K9 layer is built from" id = "meta-a2ml" name = "META.a2ml spec" stream = "foundation" -home = "meta-a2ml/" -canonical_doc = "meta-a2ml/README.adoc" +home = "1-formats/a2ml/meta/" +canonical_doc = "1-formats/a2ml/meta/README.adoc" source_hash = "sha256:a058855d1c8019ccf1814a9386ba406b7e8df3698fd17c9fd342a5134f6a2eb0" route = "architecture decisions / governance metadata format" @@ -70,8 +70,8 @@ route = "architecture decisions / governance metadata format" id = "state-a2ml" name = "STATE.a2ml spec" stream = "foundation" -home = "state-a2ml/" -canonical_doc = "state-a2ml/README.adoc" +home = "1-formats/a2ml/state/" +canonical_doc = "1-formats/a2ml/state/README.adoc" source_hash = "sha256:a67908e04098d40d957fe067042410bf195ef48dd2d18e7426b66b3ed1a01f33" route = "project-state metadata format (drives this registry's topology)" @@ -79,8 +79,8 @@ route = "project-state metadata format (drives this registry's topology)" id = "ecosystem-a2ml" name = "ECOSYSTEM.a2ml spec" stream = "foundation" -home = "ecosystem-a2ml/" -canonical_doc = "ecosystem-a2ml/README.adoc" +home = "1-formats/a2ml/ecosystem/" +canonical_doc = "1-formats/a2ml/ecosystem/README.adoc" source_hash = "sha256:fd8d8eae614d7a6c89dee84a874e4a5ba6f94db4b5e3f675154252632b01788d" route = "ecosystem-positioning metadata format" @@ -88,8 +88,8 @@ route = "ecosystem-positioning metadata format" id = "agentic-a2ml" name = "AGENTIC.a2ml spec" stream = "foundation" -home = "agentic-a2ml/" -canonical_doc = "agentic-a2ml/README.adoc" +home = "1-formats/a2ml/agentic/" +canonical_doc = "1-formats/a2ml/agentic/README.adoc" source_hash = "sha256:025e72fc7cbddeeb4e92b3d1aedd74e812f164644dd9ecd26010e4ff26a74c3a" route = "AI-agent operational gating / entropy budgets" @@ -97,8 +97,8 @@ route = "AI-agent operational gating / entropy budgets" id = "neurosym-a2ml" name = "NEUROSYM.a2ml spec" stream = "foundation" -home = "neurosym-a2ml/" -canonical_doc = "neurosym-a2ml/README.adoc" +home = "1-formats/a2ml/neurosym/" +canonical_doc = "1-formats/a2ml/neurosym/README.adoc" source_hash = "sha256:753f11a288d6402296a6dc2fc69c0cca986e164d6319b7b789e159995816ec61" route = "symbolic semantics / proof obligations" @@ -106,8 +106,8 @@ route = "symbolic semantics / proof obligations" id = "playbook-a2ml" name = "PLAYBOOK.a2ml spec" stream = "foundation" -home = "playbook-a2ml/" -canonical_doc = "playbook-a2ml/README.adoc" +home = "1-formats/a2ml/playbook/" +canonical_doc = "1-formats/a2ml/playbook/README.adoc" source_hash = "sha256:ae559e69331afa37ddf14d71d92bddb41613964765420a2fe930234c13e71074" route = "executable operational runbooks" @@ -115,8 +115,8 @@ route = "executable operational runbooks" id = "anchor-a2ml" name = "ANCHOR.a2ml spec" stream = "foundation" -home = "anchor-a2ml/" -canonical_doc = "anchor-a2ml/README.adoc" +home = "1-formats/a2ml/anchor/" +canonical_doc = "1-formats/a2ml/anchor/README.adoc" source_hash = "sha256:d33c7ff6c44dc734eb8fd05bd5c7491176da20237b0a5d8212df25471e6b2765" route = "project-recalibration intervention format" diff --git a/.machine_readable/scorecards/agentic-a2ml.scorecard.a2ml b/.machine_readable/scorecards/agentic-a2ml.scorecard.a2ml index ff546daa5..c86902feb 100644 --- a/.machine_readable/scorecards/agentic-a2ml.scorecard.a2ml +++ b/.machine_readable/scorecards/agentic-a2ml.scorecard.a2ml @@ -30,14 +30,14 @@ id = "M3" text = "The gating grammar MUST be formally defined (ABNF) and kept consistent with the JSON Schema representation." system = "none — no cross-check script diffs spec/agentic.abnf against spec/agentic.schema.json" status = "fail" -effects = "spec/agentic.abnf (199 lines) and spec/agentic.schema.json (418 lines) can drift silently (as already evidenced by M2's section mismatch); any parser generated from one artifact may reject files valid under the other, breaking playbook-a2ml/meta-a2ml consumers that pick either as ground truth." +effects = "spec/agentic.abnf (199 lines) and spec/agentic.schema.json (418 lines) can drift silently (as already evidenced by M2's section mismatch); any parser generated from one artifact may reject files valid under the other, breaking 1-formats/a2ml/playbook/meta-a2ml consumers that pick either as ground truth." [[must]] id = "M4" text = "Every source file MUST carry a valid SPDX-License-Identifier header consistent with the repository's licensing policy." system = "none — no automated SPDX header linter/CI job is configured in .gitlab-ci.yml for this repo" status = "manual-only" -effects = "Licence compliance for redistribution of individual files (e.g. by downstream forks) depends on manual review; inconsistent headers already observed (README/ADRs declare CC-BY-SA-4.0, ffi/rsr-adapter.adb declares MPL-2.0 as 'automatic legal fallback until PMPL is formally recognised', and no repo-local LICENSE file exists under agentic-a2ml/ itself even though README says 'See LICENSE')." +effects = "Licence compliance for redistribution of individual files (e.g. by downstream forks) depends on manual review; inconsistent headers already observed (README/ADRs declare CC-BY-SA-4.0, ffi/rsr-adapter.adb declares MPL-2.0 as 'automatic legal fallback until PMPL is formally recognised', and no repo-local LICENSE file exists under 1-formats/a2ml/agentic/ itself even though README says 'See LICENSE')." [[must]] id = "M5" diff --git a/.machine_readable/scorecards/component-readiness-grades.scorecard.a2ml b/.machine_readable/scorecards/component-readiness-grades.scorecard.a2ml index 03751018e..c92ec5304 100644 --- a/.machine_readable/scorecards/component-readiness-grades.scorecard.a2ml +++ b/.machine_readable/scorecards/component-readiness-grades.scorecard.a2ml @@ -85,7 +85,7 @@ id = "C1" text = "The standard COULD integrate with K9 contract validation to automate Grade-B promotion checks (verifying 6+ diverse external targets) as sketched in the automation-hooks section." system = "none" status = "aspirational" -effects = "COMPONENT-READINESS-GRADES.a2ml lines 139-143 describe this as a future use-case ('K9 contract validates 6+ diverse targets meet diversity-metrics before allowing promotion') with a pointer to k9-svc/README.adoc, but no such contract exists yet; promotion to B remains a manual claim." +effects = "COMPONENT-READINESS-GRADES.a2ml lines 139-143 describe this as a future use-case ('K9 contract validates 6+ diverse targets meet diversity-metrics before allowing promotion') with a pointer to 1-formats/k9/README.adoc, but no such contract exists yet; promotion to B remains a manual claim." [[could]] id = "C2" diff --git a/.machine_readable/scorecards/ecosystem-a2ml.scorecard.a2ml b/.machine_readable/scorecards/ecosystem-a2ml.scorecard.a2ml index 4fa929d61..80c74c73b 100644 --- a/.machine_readable/scorecards/ecosystem-a2ml.scorecard.a2ml +++ b/.machine_readable/scorecards/ecosystem-a2ml.scorecard.a2ml @@ -15,7 +15,7 @@ text = "ECOSYSTEM.a2ml documents MUST declare version, name, type, and purpose a system = "spec/ecosystem.schema.json (\"required\": [\"version\", \"name\", \"type\", \"purpose\"])" status = "pass" evidence = "/home/user/standards/ecosystem-a2ml/spec/ecosystem.schema.json line 7 declares required: [\"version\",\"name\",\"type\",\"purpose\"], matching README.adoc's \"Required Fields\" table." -check = "python3 -c \"import json; d=json.load(open('ecosystem-a2ml/spec/ecosystem.schema.json')); assert 'properties' in d\" && grep -q '2020-12/schema' ecosystem-a2ml/spec/ecosystem.schema.json" +check = "python3 -c \"import json; d=json.load(open('1-formats/a2ml/ecosystem/spec/ecosystem.schema.json')); assert 'properties' in d\" && grep -q '2020-12/schema' 1-formats/a2ml/ecosystem/spec/ecosystem.schema.json" effects = "Consumers building parsers/validators around this schema can rely on these four fields always being present; if unmet, downstream tooling (linters, dependency-mapping generators) would need defensive null-checks." [[must]] @@ -31,7 +31,7 @@ text = "A machine-readable JSON Schema MUST exist to validate the JSON represent system = "spec/ecosystem.schema.json (2020-12 draft JSON Schema with typed properties, patterns for semver, enums)" status = "pass" evidence = "/home/user/standards/ecosystem-a2ml/spec/ecosystem.schema.json exists, is well-formed JSON Schema (draft 2020-12), and defines version/name/type/purpose plus optional properties (family, position-in-ecosystem, related-projects, etc.) matching the README's documented field set." -check = "python3 -c \"import json; d=json.load(open('ecosystem-a2ml/spec/ecosystem.schema.json')); assert 'properties' in d\" && grep -q '2020-12/schema' ecosystem-a2ml/spec/ecosystem.schema.json" +check = "python3 -c \"import json; d=json.load(open('1-formats/a2ml/ecosystem/spec/ecosystem.schema.json')); assert 'properties' in d\" && grep -q '2020-12/schema' 1-formats/a2ml/ecosystem/spec/ecosystem.schema.json" effects = "Downstream tooling (a2ml-to-json converters, CI validators in consuming repos) depends on this schema being present and internally coherent to validate ecosystem manifests at scale." [[must]] @@ -60,21 +60,21 @@ id = "S2" text = "The spec SHOULD have CI that lints/validates the grammar, JSON Schema, and any example documents on every push (e.g. schema self-validation, ABNF syntax check, or example-vs-schema conformance test)." system = "none" status = "fail" -effects = "No .github/workflows exist under ecosystem-a2ml/, and no repo-root workflow (.github/workflows/*.yml) references ecosystem.schema.json, ecosystem.abnf, or this directory. The M2 scm/a2ml mismatch and the M4 wrong-example issue would have been caught immediately by even a minimal CI check, and none exists to catch regressions going forward." +effects = "No .github/workflows exist under 1-formats/a2ml/ecosystem/, and no repo-root workflow (.github/workflows/*.yml) references ecosystem.schema.json, ecosystem.abnf, or this directory. The M2 scm/a2ml mismatch and the M4 wrong-example issue would have been caught immediately by even a minimal CI check, and none exists to catch regressions going forward." [[should]] id = "S3" 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)" +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 1-formats/a2ml/ecosystem/contractiles/must/Mustfile, which uses a different path/naming convention)" status = "fail" 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" -text = "Repository-level governance files that the README's 'Project Structure' section lists as present in ecosystem-a2ml/ (CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md, LICENSE) SHOULD actually exist at that stated path." +text = "Repository-level governance files that the README's 'Project Structure' section lists as present in 1-formats/a2ml/ecosystem/ (CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md, LICENSE) SHOULD actually exist at that stated path." system = "none" status = "fail" -effects = "A contributor following the README's tree diagram (which places CONTRIBUTING.md/CODE_OF_CONDUCT.md/SECURITY.md/LICENSE directly under ecosystem-a2ml/) will find none of those files there; only monorepo-root equivalents exist (/home/user/standards/CONTRIBUTING.md etc.), which may or may not apply identically to this subproject's PMPL-1.0 licence claim." +effects = "A contributor following the README's tree diagram (which places CONTRIBUTING.md/CODE_OF_CONDUCT.md/SECURITY.md/LICENSE directly under 1-formats/a2ml/ecosystem/) will find none of those files there; only monorepo-root equivalents exist (/home/user/standards/CONTRIBUTING.md etc.), which may or may not apply identically to this subproject's PMPL-1.0 licence claim." [[could]] id = "C1" @@ -88,7 +88,7 @@ id = "C2" text = "Standard citation metadata (CITATION.cff, codemeta.json) COULD be provided so the spec can be formally cited." system = "none" status = "fail" -effects = "docs/CITATIONS.adoc links to '../CITATION.cff' and '../codemeta.json', neither of which exists in ecosystem-a2ml/; the citations doc itself is unedited RSR-template-repo boilerplate (title 'RSR-template-repo', author 'Polymath, Hyper') rather than content specific to ECOSYSTEM.a2ml, so academic/tooling consumers get broken links and wrong metadata if they try to cite this spec." +effects = "docs/CITATIONS.adoc links to '../CITATION.cff' and '../codemeta.json', neither of which exists in 1-formats/a2ml/ecosystem/; the citations doc itself is unedited RSR-template-repo boilerplate (title 'RSR-template-repo', author 'Polymath, Hyper') rather than content specific to ECOSYSTEM.a2ml, so academic/tooling consumers get broken links and wrong metadata if they try to cite this spec." [[could]] id = "C3" diff --git a/.machine_readable/scorecards/ensaid-config.scorecard.a2ml b/.machine_readable/scorecards/ensaid-config.scorecard.a2ml index 4cd767511..fd4a35606 100644 --- a/.machine_readable/scorecards/ensaid-config.scorecard.a2ml +++ b/.machine_readable/scorecards/ensaid-config.scorecard.a2ml @@ -14,14 +14,14 @@ id = "M1" text = "Every ENSAID_CONFIG.a2ml file in the ecosystem MUST pass basic A2ML manifest validation (SPDX header, required identity field, version field) as enforced by the shared A2ML validator." system = "a2ml/actions/validate/validate-a2ml.sh (scans all *.a2ml files for SPDX-License-Identifier, an identity field (agent-id/name/project), and a version field)" status = "fail" -effects = "Running validate-a2ml.sh over the monorepo currently emits a 'Missing required identity field (agent-id, name, or project)' error for all 12 deployed .machine_readable/ENSAID_CONFIG.a2ml instances (a2ml/{editors/vscode,pandoc,actions/validate,bindings/rust,bindings/deno,bindings/haskell} and the equivalent k9-svc/ set), because these files declare `[ensaid] tool = \"panll\"` but no top-level `name=`, `project=`, or `agent-id=` field. In strict CI mode this validator would fail the build for every consumer repo that adopts the ENSAID_CONFIG.a2ml convention as documented." +effects = "Running validate-a2ml.sh over the monorepo currently emits a 'Missing required identity field (agent-id, name, or project)' error for all 12 deployed .machine_readable/ENSAID_CONFIG.a2ml instances (a2ml/{editors/vscode,pandoc,actions/validate,bindings/rust,bindings/deno,bindings/haskell} and the equivalent 1-formats/k9/ set), because these files declare `[ensaid] tool = \"panll\"` but no top-level `name=`, `project=`, or `agent-id=` field. In strict CI mode this validator would fail the build for every consumer repo that adopts the ENSAID_CONFIG.a2ml convention as documented." [[must]] id = "M2" text = "Deployed ENSAID_CONFIG.a2ml instances MUST use only the workspace.mode, workspace.protection, and workspace.execution enum values defined in spec/ENSAID-CONFIG-SPEC.adoc (mode: rhodium|everything|code|bespoke; protection: open|readonly|sandboxed|language-locked|transpilation-guarded|production-gated; execution: live|dry-run|simulation|emulation)." system = "none — no schema/enum validator exists for ENSAID_CONFIG.a2ml specifically; the generic validate-a2ml.sh does not check field values, only presence of SPDX/identity/version" status = "fail" -effects = "All 12 real deployed ENSAID_CONFIG.a2ml files (in a2ml/ and k9-svc/ subprojects) instead use mode = rhodium|gold|silver|bronze, protection = open|guarded|locked, and execution = live|dry-run|approval-required — none of which appear in the spec's enum tables. Any eNSAID-compatible tool (e.g. PanLL) implementing strict version/enum negotiation per the spec's 'Version Negotiation' section would reject or misinterpret every currently-deployed config file, indicating the spec and its own reference deployments have already diverged." +effects = "All 12 real deployed ENSAID_CONFIG.a2ml files (in a2ml/ and 1-formats/k9/ subprojects) instead use mode = rhodium|gold|silver|bronze, protection = open|guarded|locked, and execution = live|dry-run|approval-required — none of which appear in the spec's enum tables. Any eNSAID-compatible tool (e.g. PanLL) implementing strict version/enum negotiation per the spec's 'Version Negotiation' section would reject or misinterpret every currently-deployed config file, indicating the spec and its own reference deployments have already diverged." [[must]] id = "M3" @@ -42,7 +42,7 @@ id = "M5" text = "The specification and its overview README MUST agree on the canonical on-disk location for the standard's files (single source of truth for where configuration lives)." system = "none — no lint/consistency check between README.adoc and spec/README.adoc exists" status = "fail" -effects = "README.adoc (root) states the config file is `.machine_readable/ENSAID_CONFIG.a2ml` (consistent with the actual deployed files found in a2ml/ and k9-svc/), while spec/README.adoc describes 'the `.ensaid-config/` directory standard' and instructs repository authors to 'Create `.ensaid-config/` at your repository root' — a different, undefined directory layout that appears nowhere else in the spec body or in any deployed instance. A tool implementer following spec/README.adoc literally would build discovery logic for a directory structure that does not match the actual specification or any real usage, producing incompatible implementations." +effects = "README.adoc (root) states the config file is `.machine_readable/ENSAID_CONFIG.a2ml` (consistent with the actual deployed files found in a2ml/ and 1-formats/k9/), while spec/README.adoc describes 'the `.ensaid-config/` directory standard' and instructs repository authors to 'Create `.ensaid-config/` at your repository root' — a different, undefined directory layout that appears nowhere else in the spec body or in any deployed instance. A tool implementer following spec/README.adoc literally would build discovery logic for a directory structure that does not match the actual specification or any real usage, producing incompatible implementations." [[should]] id = "S1" @@ -68,14 +68,14 @@ 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 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)" +system = "none — no .schema.json or equivalent exists under 1-formats/sub-specs/ensaid-config/ (contrast with, e.g., 1-formats/k9/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." [[could]] id = "C2" text = "The repository COULD provide a canonical, spec-conformant example ENSAID_CONFIG.a2ml template file (not just inline adoc code blocks) that other repos copy, to keep deployed instances synchronized with the spec's field/enum vocabulary." -system = "none — the deployed instances in a2ml/*/.machine_readable/ENSAID_CONFIG.a2ml and k9-svc/*/.machine_readable/ENSAID_CONFIG.a2ml appear to derive from a shared template, but that template (and its enum vocabulary) is not sourced from, or kept in sync with, spec/ENSAID-CONFIG-SPEC.adoc" +system = "none — the deployed instances in a2ml/*/.machine_readable/ENSAID_CONFIG.a2ml and 1-formats/k9/*/.machine_readable/ENSAID_CONFIG.a2ml appear to derive from a shared template, but that template (and its enum vocabulary) is not sourced from, or kept in sync with, spec/ENSAID-CONFIG-SPEC.adoc" status = "fail" effects = "The identical drift across all 12 deployed files (same non-spec enum values, same missing identity field) strongly suggests a single stale template is being copy-pasted; without a canonical, spec-linked template, every future adopting repo will inherit the same non-conformance." diff --git a/.machine_readable/scorecards/meta-a2ml.scorecard.a2ml b/.machine_readable/scorecards/meta-a2ml.scorecard.a2ml index 697e6ea41..791d16836 100644 --- a/.machine_readable/scorecards/meta-a2ml.scorecard.a2ml +++ b/.machine_readable/scorecards/meta-a2ml.scorecard.a2ml @@ -15,7 +15,7 @@ text = "The repository MUST provide a formal specification document defining the system = "spec/META-FORMAT-SPEC.adoc (present, IETF Internet-Draft style)" status = "pass" evidence = "/home/user/standards/meta-a2ml/spec/META-FORMAT-SPEC.adoc exists with Abstract, Status of Memo, Introduction, ABNF cross-references, etc." -check = "test -f meta-a2ml/spec/META-FORMAT-SPEC.adoc && grep -q 'Abstract' meta-a2ml/spec/META-FORMAT-SPEC.adoc && grep -q 'Status of' meta-a2ml/spec/META-FORMAT-SPEC.adoc" +check = "test -f 1-formats/a2ml/meta/spec/META-FORMAT-SPEC.adoc && grep -q 'Abstract' 1-formats/a2ml/meta/spec/META-FORMAT-SPEC.adoc && grep -q 'Status of' 1-formats/a2ml/meta/spec/META-FORMAT-SPEC.adoc" effects = "Consumers/implementers (parsers, tooling, sibling *-a2ml repos) rely on this doc as the normative reference." [[must]] @@ -73,7 +73,7 @@ text = "The repository SHOULD have automated dependency/version currency checks system = ".github/dependabot.yml (github-actions ecosystem, daily schedule, grouped 'actions' updates)" status = "pass" evidence = "/home/user/standards/meta-a2ml/.github/dependabot.yml configures package-ecosystem: github-actions with daily interval and grouped patterns." -check = "test -f meta-a2ml/.github/dependabot.yml && grep -q 'github-actions' meta-a2ml/.github/dependabot.yml" +check = "test -f 1-formats/a2ml/meta/.github/dependabot.yml && grep -q 'github-actions' 1-formats/a2ml/meta/.github/dependabot.yml" effects = "Without this, stale/vulnerable pinned Action SHAs would go unnoticed by downstream users of these workflows." [[could]] @@ -96,5 +96,5 @@ text = "The repository COULD publish a GitHub Pages rendering of the spec docs f system = ".github/workflows/casket-pages.yml (GitHub Pages build workflow triggered on push to main)" status = "pass" evidence = "/home/user/standards/meta-a2ml/.github/workflows/casket-pages.yml defines a 'build' job under permissions pages:write, id-token:write, triggered on push to main and workflow_dispatch." -check = "test -f meta-a2ml/.github/workflows/casket-pages.yml && grep -q 'pages: write' meta-a2ml/.github/workflows/casket-pages.yml" +check = "test -f 1-formats/a2ml/meta/.github/workflows/casket-pages.yml && grep -q 'pages: write' 1-formats/a2ml/meta/.github/workflows/casket-pages.yml" effects = "Improves discoverability/readability of the spec for external readers; absence would only reduce convenience, not correctness." diff --git a/.machine_readable/scorecards/neurosym-a2ml.scorecard.a2ml b/.machine_readable/scorecards/neurosym-a2ml.scorecard.a2ml index dfcd10bd5..190e71788 100644 --- a/.machine_readable/scorecards/neurosym-a2ml.scorecard.a2ml +++ b/.machine_readable/scorecards/neurosym-a2ml.scorecard.a2ml @@ -12,7 +12,7 @@ assessor = "estate-audit" [[must]] id = "M1" text = "NEUROSYM files and the spec document MUST carry SPDX-License-Identifier / SPDX-FileCopyrightText headers (spec.adoc, Header Comments section; README.adoc Contributing section)." -system = "none — no automated SPDX-header-presence checker is wired into this repo home (scripts/check-licence-consistency.sh checks LICENSE-file identity, not per-file headers, and is only invoked by governance-reusable.yml for callers that have their own .github/workflows, which neurosym-a2ml/ does not)" +system = "none — no automated SPDX-header-presence checker is wired into this repo home (scripts/check-licence-consistency.sh checks LICENSE-file identity, not per-file headers, and is only invoked by governance-reusable.yml for callers that have their own .github/workflows, which 1-formats/a2ml/neurosym/ does not)" status = "manual-only" effects = "Licensing/attribution defensibility for downstream consumers of the A2ML Format Family; always a human/legal judgement, never purely mechanical." @@ -42,7 +42,7 @@ id = "M5" text = "The spec's home directory, canonical doc, and content hash MUST be correctly registered in the estate spec registry so downstream tooling (TOPOLOGY.md, drift detection) can locate it." system = "scripts/build-registry.sh --check, run as the \"Registry + topology in sync\" job in .github/workflows/registry-verify.yml" status = "pass" -evidence = "/home/user/standards/.machine_readable/REGISTRY.a2ml lines 97-103 contain a `[[spec]]` entry with id=\"neurosym-a2ml\", home=\"neurosym-a2ml/\", canonical_doc=\"neurosym-a2ml/README.adoc\", and a computed source_hash; /home/user/standards/TOPOLOGY.md line 29 lists the corresponding human-readable row — both are consistent with the current file tree." +evidence = "/home/user/standards/.machine_readable/REGISTRY.a2ml lines 97-103 contain a `[[spec]]` entry with id=\"neurosym-a2ml\", home=\"1-formats/a2ml/neurosym/\", canonical_doc=\"1-formats/a2ml/neurosym/README.adoc\", and a computed source_hash; /home/user/standards/TOPOLOGY.md line 29 lists the corresponding human-readable row — both are consistent with the current file tree." check = "bash scripts/build-registry.sh --check" effects = "Estate-wide tooling (drift detection, Hypatia rule HYP-S006, cross-repo navigation) depends on this registry entry staying accurate; it currently is." @@ -63,21 +63,21 @@ effects = "Consumers cannot programmatically validate a NEUROSYM.a2ml file befor [[should]] id = "S3" text = "The shipped examples (examples/minimal.a2ml, examples/comprehensive.a2ml) SHOULD validate against the normative spec via an automated check, per README.adoc's Contributing statement \"Examples validate against the spec\"." -system = "none in this repo — a validate-a2ml.sh / a2ml CLI validator exists in the sibling a2ml/ repository (a2ml/actions/validate/validate-a2ml.sh, a2ml/.github/workflows/a2ml-validation.yml) but is not wired into neurosym-a2ml/ (no .github/workflows directory here at all; only a generic .gitlab-ci.yml with Rust/Elixir gates that do not fire, since there is no Cargo.toml or mix.exs)" +system = "none in this repo — a validate-a2ml.sh / a2ml CLI validator exists in the sibling a2ml/ repository (a2ml/actions/validate/validate-a2ml.sh, a2ml/.github/workflows/a2ml-validation.yml) but is not wired into 1-formats/a2ml/neurosym/ (no .github/workflows directory here at all; only a generic .gitlab-ci.yml with Rust/Elixir gates that do not fire, since there is no Cargo.toml or mix.exs)" status = "fail" effects = "The Contributing guideline in README.adoc (\"Examples validate against the spec\") is currently unenforced; a spec change or example drift would go undetected." [[should]] id = "S4" text = "The repository SHOULD carry a SECURITY.md, per estate governance convention (checked elsewhere in the estate by scorecard-enforcer.yml's check-critical job)." -system = "none wired here — .github/workflows/scorecard-enforcer.yml's check-critical job asserts SECURITY.md exists, but that workflow lives at the monorepo root / is intended for satellite repos with their own workflow call-in; neurosym-a2ml/ has no .github/workflows and no SECURITY.md" +system = "none wired here — .github/workflows/scorecard-enforcer.yml's check-critical job asserts SECURITY.md exists, but that workflow lives at the monorepo root / is intended for satellite repos with their own workflow call-in; 1-formats/a2ml/neurosym/ has no .github/workflows and no SECURITY.md" status = "fail" effects = "GitHub security-tab guidance and the estate scorecard consider this spec incomplete on baseline governance hygiene; COMPLIANCE-DASHBOARD.md already flags neurosym-a2ml as \"no scorecard\"." [[could]] id = "C1" text = "README.adoc COULD be supplemented/replaced by README.md per the estate-wide Markdown-for-community-health migration policy." -system = "none scoped to this directory — .github/workflows/doc-format.yml implements this exact check (\"README.adoc without README.md\" warning) but only checks files at whichever repo root it runs against; it is not currently exercised against neurosym-a2ml/README.adoc" +system = "none scoped to this directory — .github/workflows/doc-format.yml implements this exact check (\"README.adoc without README.md\" warning) but only checks files at whichever repo root it runs against; it is not currently exercised against 1-formats/a2ml/neurosym/README.adoc" status = "fail" effects = "GitHub community-health tab, GitHub profile, and external MCP directories (Glama) would render this repo's README as raw AsciiDoc rather than formatted Markdown if/when neurosym-a2ml is split into its own GitHub repo." @@ -91,8 +91,8 @@ effects = "Without a reference evaluator, every downstream consumer must indepen [[could]] id = "C3" text = "Cross-links to sibling A2ML Format Family repos in README.adoc (meta-a2ml, playbook-a2ml, agentic-a2ml, anchor-a2ml) COULD be verified by an automated link-checker." -system = "test -d checks (run from repo root) confirming each linked sibling-repo directory (meta-a2ml/, playbook-a2ml/, agentic-a2ml/, anchor-a2ml/) referenced from neurosym-a2ml/README.adoc's cross-links actually exists; this is an enforcement-gap fix (the links are correct today, just previously unchecked), not a full markdown-link-checker." +system = "test -d checks (run from repo root) confirming each linked sibling-repo directory (1-formats/a2ml/meta/, 1-formats/a2ml/playbook/, 1-formats/a2ml/agentic/, 1-formats/a2ml/anchor/) referenced from 1-formats/a2ml/neurosym/README.adoc's cross-links actually exists; this is an enforcement-gap fix (the links are correct today, just previously unchecked), not a full markdown-link-checker." status = "pass" -evidence = "neurosym-a2ml/README.adoc contains relative AsciiDoc cross-links link:../meta-a2ml/[...], link:../playbook-a2ml/[...], link:../agentic-a2ml/[...], link:../anchor-a2ml/[...]; verified with `grep -oP 'link:\\.\\./[a-z0-9-]+/' neurosym-a2ml/README.adoc` that these are exactly the four sibling repo names, and `test -d` against each from the repo root confirms all four targets exist on disk today." +evidence = "1-formats/a2ml/neurosym/README.adoc contains relative AsciiDoc cross-links link:../meta-a2ml/[...], link:../playbook-a2ml/[...], link:../agentic-a2ml/[...], link:../anchor-a2ml/[...]; verified with `grep -oP 'link:\\.\\./[a-z0-9-]+/' 1-formats/a2ml/neurosym/README.adoc` that these are exactly the four sibling repo names, and `test -d` against each from the repo root confirms all four targets exist on disk today." check = "test -d meta-a2ml && test -d playbook-a2ml && test -d agentic-a2ml && test -d anchor-a2ml" effects = "Broken relative links to sibling spec repos would not be caught automatically, degrading navigability of the A2ML Format Family documentation set." diff --git a/.machine_readable/scorecards/playbook-a2ml.scorecard.a2ml b/.machine_readable/scorecards/playbook-a2ml.scorecard.a2ml index de1c5d635..be707691e 100644 --- a/.machine_readable/scorecards/playbook-a2ml.scorecard.a2ml +++ b/.machine_readable/scorecards/playbook-a2ml.scorecard.a2ml @@ -29,7 +29,7 @@ text = "The repository MUST provide reference examples of the current PLAYBOOK.a system = "none" status = "pass" evidence = "examples/minimal.a2ml (14 lines: [metadata], [derivation-source], [procedures.build] with a single step) and examples/comprehensive.a2ml (172 lines covering [derivation-source], [procedures.build/deploy/rollback], [release-process], [incident-response.*], [maintenance-operations], [[alerts]]) both exist, use the TOML syntax described in README.adoc, and are referenced from README.adoc's 'Examples' section." -check = "test -f playbook-a2ml/examples/minimal.a2ml && test -f playbook-a2ml/examples/comprehensive.a2ml && grep -q \"\\[derivation-source\\]\" playbook-a2ml/examples/minimal.a2ml && grep -q \"\\[derivation-source\\]\" playbook-a2ml/examples/comprehensive.a2ml && grep -q \"examples/minimal.a2ml\\|examples/comprehensive\" playbook-a2ml/README.adoc" +check = "test -f 1-formats/a2ml/playbook/examples/minimal.a2ml && test -f 1-formats/a2ml/playbook/examples/comprehensive.a2ml && grep -q \"\\[derivation-source\\]\" 1-formats/a2ml/playbook/examples/minimal.a2ml && grep -q \"\\[derivation-source\\]\" 1-formats/a2ml/playbook/examples/comprehensive.a2ml && grep -q \"examples/minimal.a2ml\\|examples/comprehensive\" 1-formats/a2ml/playbook/README.adoc" effects = "Consumers of the spec (tooling authors, other a2ml-family repos) have concrete TOML samples to build parsers/validators against, even without a formal machine-checkable grammar." [[must]] @@ -37,7 +37,7 @@ id = "M4" text = "Every PLAYBOOK.a2ml file MUST declare a `derivation-source` documenting the META rules / STATE context it derives authority from (per README.adoc 'Derivation Source' section and spec/PLAYBOOK-FORMAT-SPEC.adoc 'Derivation Declaration')." system = "none" status = "fail" -effects = "The repository's own self-referential file, .machine_readable/6a2/PLAYBOOK.a2ml, contains only [metadata], [deployment], [incident-response], [release-process] and [maintenance-operations] — it has no [derivation-source] table at all, unlike both files in examples/. The repo fails to dogfood its own MUST requirement, which undermines confidence that other repos' 6a2/PLAYBOOK.a2ml files (k9-svc, meta-a2ml, agentic-a2ml, etc., all copied from the same template) correctly capture derivation authority." +effects = "The repository's own self-referential file, .machine_readable/descriptiles/PLAYBOOK.a2ml, contains only [metadata], [deployment], [incident-response], [release-process] and [maintenance-operations] — it has no [derivation-source] table at all, unlike both files in examples/. The repo fails to dogfood its own MUST requirement, which undermines confidence that other repos' 6a2/PLAYBOOK.a2ml files (k9-svc, meta-a2ml, agentic-a2ml, etc., all copied from the same template) correctly capture derivation authority." [[must]] id = "M5" @@ -58,14 +58,14 @@ id = "S2" text = "The repository SHOULD provide or wire up automated validation of examples/*.a2ml against the format (e.g. a schema or the a2ml-playbook profile)." system = "none" status = "fail" -effects = "A validation profile does exist elsewhere in the monorepo (a2ml/profiles/a2ml-playbook/PROFILE.a2ml, requiring metadata/incident-response/release-process sections) but nothing in playbook-a2ml/ invokes it against examples/minimal.a2ml, examples/comprehensive.a2ml, or .machine_readable/6a2/PLAYBOOK.a2ml. Format drift (as already found in M2/M4) can silently accumulate because nothing mechanically catches it." +effects = "A validation profile does exist elsewhere in the monorepo (a2ml/profiles/a2ml-playbook/PROFILE.a2ml, requiring metadata/incident-response/release-process sections) but nothing in 1-formats/a2ml/playbook/ invokes it against examples/minimal.a2ml, examples/comprehensive.a2ml, or .machine_readable/descriptiles/PLAYBOOK.a2ml. Format drift (as already found in M2/M4) can silently accumulate because nothing mechanically catches it." [[should]] id = "S3" text = "The repository SHOULD run CI (.github/workflows) to lint AsciiDoc and validate .a2ml files on push/PR." system = "none" status = "fail" -effects = "There is no .github directory anywhere under playbook-a2ml/. Broken links, malformed TOML in examples, or AsciiDoc syntax errors would not be caught before merge, unlike sibling repos in the monorepo (e.g. a2ml/.github/workflows) that do have CI." +effects = "There is no .github directory anywhere under 1-formats/a2ml/playbook/. Broken links, malformed TOML in examples, or AsciiDoc syntax errors would not be caught before merge, unlike sibling repos in the monorepo (e.g. a2ml/.github/workflows) that do have CI." [[should]] id = "S4" @@ -86,7 +86,7 @@ id = "C2" text = "The repository COULD provide parser/binding code (e.g. Rust/Deno/Haskell, mirroring bindings/ directories in the sibling a2ml repo) specifically for PLAYBOOK.a2ml." system = "none" status = "fail" -effects = "No bindings/ or scripts/ directory exists in playbook-a2ml/; consumers must implement their own TOML parsing plus PLAYBOOK-specific semantic checks (derivation validation, step ordering) from scratch." +effects = "No bindings/ or scripts/ directory exists in 1-formats/a2ml/playbook/; consumers must implement their own TOML parsing plus PLAYBOOK-specific semantic checks (derivation validation, step ordering) from scratch." [[could]] id = "C3" diff --git a/.machine_readable/scorecards/session-management-standards.scorecard.a2ml b/.machine_readable/scorecards/session-management-standards.scorecard.a2ml index 91559565f..8bfacea72 100644 --- a/.machine_readable/scorecards/session-management-standards.scorecard.a2ml +++ b/.machine_readable/scorecards/session-management-standards.scorecard.a2ml @@ -49,7 +49,7 @@ effects = "n/a — this is currently sound, so no downstream impact." [[should]] id = "S1" text = "PROTOCOL.k9 files SHOULD conform to the repository's existing K9 configuration grammar (K9! magic number, pedigree block with name/version, security-level field) since a generic validator for that grammar exists in this monorepo." -system = "k9-svc/actions/validate/validate-k9.sh — checks .k9 files for 'K9!' magic-number line 1, pedigree block, valid security level (kennel/yard/hunt), and SPDX header. Exists but is not wired to session-management-standards/." +system = "1-formats/k9/actions/validate/validate-k9.sh — checks .k9 files for 'K9!' magic-number line 1, pedigree block, valid security level (kennel/yard/hunt), and SPDX header. Exists but is not wired to session-management-standards/." status = "fail" effects = "All 12 PROTOCOL.k9 files here begin with a plain '# ...' comment, not the 'K9!' magic number, and have no pedigree/security-level fields, so they would fail validate-k9.sh if it were ever run repo-wide. This is a naming collision risk: '.k9' files that don't follow the actual K9 grammar could confuse tooling or reviewers who expect the k9-svc schema." diff --git a/.machine_readable/scorecards/state-a2ml.scorecard.a2ml b/.machine_readable/scorecards/state-a2ml.scorecard.a2ml index bed506897..7f556e314 100644 --- a/.machine_readable/scorecards/state-a2ml.scorecard.a2ml +++ b/.machine_readable/scorecards/state-a2ml.scorecard.a2ml @@ -14,14 +14,14 @@ id = "M1" text = "The spec MUST provide a formal grammar/schema (ABNF and/or JSON Schema) that accurately defines the syntax of the STATE file format currently in use." system = "none" status = "fail" -effects = "Consumers writing parsers or validators cannot trust spec/abnf/state.abnf or spec/schema/state.schema.json: both describe the deprecated S-expression Scheme format (top-level `(define state '((metadata ...))...)`), while the actual current artifact `.machine_readable/6a2/STATE.a2ml` is a TOML-like A2ML file with sections like `[metadata]`, `[project-context]`, `[position]`, `[route-to-mvp]` that appear nowhere in the ABNF/schema. Any tool built against the published grammar/schema will reject or mis-parse the real STATE.a2ml file." +effects = "Consumers writing parsers or validators cannot trust spec/abnf/state.abnf or spec/schema/state.schema.json: both describe the deprecated S-expression Scheme format (top-level `(define state '((metadata ...))...)`), while the actual current artifact `.machine_readable/descriptiles/STATE.a2ml` is a TOML-like A2ML file with sections like `[metadata]`, `[project-context]`, `[position]`, `[route-to-mvp]` that appear nowhere in the ABNF/schema. Any tool built against the published grammar/schema will reject or mis-parse the real STATE.a2ml file." [[must]] id = "M2" text = "Every source and specification file in the spec MUST carry an SPDX-License-Identifier header." system = "none (no automated SPDX lint script or CI job found in this directory or wired to it)" status = "manual-only" -evidence = "grep -rl 'SPDX-License-Identifier' across state-a2ml/ shows headers present in all lib/*.scm, spec/STATE-FORMAT-SPEC.adoc, spec/abnf/state.abnf, manifest.scm, channels.scm, .machine_readable/6a2/*.a2ml, .gitlab-ci.yml, .gitattributes, .gitignore, examples/example-state.scm." +evidence = "grep -rl 'SPDX-License-Identifier' across 1-formats/a2ml/state/ shows headers present in all lib/*.scm, spec/STATE-FORMAT-SPEC.adoc, spec/abnf/state.abnf, manifest.scm, channels.scm, .machine_readable/descriptiles/*.a2ml, .gitlab-ci.yml, .gitattributes, .gitignore, examples/example-state.scm." effects = "Downstream re-users and SPDX/REUSE tooling can attribute licensing per-file without manual investigation." [[must]] @@ -29,7 +29,7 @@ id = "M3" text = "A LICENSE file MUST exist in the spec directory matching the license(s) declared in its README/spec headers." system = "none" status = "manual-only" -effects = "README.adoc badge claims 'License: PMPL-1.0'; spec/README.adoc claims dual MIT + LicenseRef-Palimpsest-0.8 and points to '../LICENSE.txt'; source headers say 'MPL-2.0' or 'MPL-2.0 AND LicenseRef-Palimpsest-0.8'. No LICENSE.txt (or LICENSE) file exists inside state-a2ml/ at all — only a repo-root LICENSE exists, and it is unclear whether it covers this subtree's stated dual license. Consumers cannot determine the actual license terms for this spec without maintainer clarification." +effects = "README.adoc badge claims 'License: PMPL-1.0'; spec/README.adoc claims dual MIT + LicenseRef-Palimpsest-0.8 and points to '../LICENSE.txt'; source headers say 'MPL-2.0' or 'MPL-2.0 AND LicenseRef-Palimpsest-0.8'. No LICENSE.txt (or LICENSE) file exists inside 1-formats/a2ml/state/ at all — only a repo-root LICENSE exists, and it is unclear whether it covers this subtree's stated dual license. Consumers cannot determine the actual license terms for this spec without maintainer clarification." [[must]] id = "M4" @@ -43,7 +43,7 @@ id = "M5" text = "The CI pipeline that lints/tests the Guile reference library MUST actually run against files that exist in the repository." system = ".gitlab-ci.yml lint stage: `for f in lib/*.scm STATE.scm examples/*.scm; do guile -c \"(load \\\"$f\\\")\\\" ...`" status = "fail" -effects = "The lint job iterates over `STATE.scm` at repo root, but no such file exists in state-a2ml/ (only the deprecated example lives at examples/example-state.scm and the current data file is .machine_readable/6a2/STATE.a2ml, not a .scm file). Running this job as written would fail on the missing glob target or silently skip it depending on shell globbing behavior, so the 'lint' guarantee is not actually being exercised as documented. Additionally, this pipeline is GitLab CI/CD (.gitlab-ci.yml) inside a repo whose real CI is GitHub Actions (root .github/workflows/*); there is no evidence this pipeline is ever triggered in the hyperpolymath/standards GitHub monorepo, meaning the described lint/test/build stages are effectively dead configuration." +effects = "The lint job iterates over `STATE.scm` at repo root, but no such file exists in 1-formats/a2ml/state/ (only the deprecated example lives at examples/example-state.scm and the current data file is .machine_readable/descriptiles/STATE.a2ml, not a .scm file). Running this job as written would fail on the missing glob target or silently skip it depending on shell globbing behavior, so the 'lint' guarantee is not actually being exercised as documented. Additionally, this pipeline is GitLab CI/CD (.gitlab-ci.yml) inside a repo whose real CI is GitHub Actions (root .github/workflows/*); there is no evidence this pipeline is ever triggered in the hyperpolymath/standards GitHub monorepo, meaning the described lint/test/build stages are effectively dead configuration." [[should]] id = "S1" @@ -51,7 +51,7 @@ text = "The spec SHOULD ship comprehensive user-facing documentation covering us system = "none (manual review of docs/ directory)" status = "pass" evidence = "docs/USAGE.adoc (333 lines), docs/COOKBOOK.adoc (794 lines), docs/CITATIONS.adoc (55 lines) all exist and are substantial, non-stub content covering the format's intended usage patterns." -check = "test -f state-a2ml/docs/USAGE.adoc -a -f state-a2ml/docs/COOKBOOK.adoc -a -f state-a2ml/docs/CITATIONS.adoc" +check = "test -f 1-formats/a2ml/state/docs/USAGE.adoc -a -f 1-formats/a2ml/state/docs/COOKBOOK.adoc -a -f 1-formats/a2ml/state/docs/CITATIONS.adoc" effects = "Users adopting STATE.a2ml have working reference material; absence would raise the barrier to correct adoption." [[should]] @@ -73,7 +73,7 @@ id = "S4" text = "A SELF-ASSESSMENT.adoc or equivalent compliance self-report SHOULD exist for the spec, consistent with other specs in the monorepo." system = "none" status = "fail" -effects = "No SELF-ASSESSMENT.adoc found under state-a2ml/ (search confirmed absent), so there is no maintainer-authored baseline against which this scorecard or future audits can be cross-checked; the monorepo's governance workflows (governance-reusable.yml) rely on repo-wide artifacts like .hypatia-baseline.json rather than a per-spec self-assessment for this directory." +effects = "No SELF-ASSESSMENT.adoc found under 1-formats/a2ml/state/ (search confirmed absent), so there is no maintainer-authored baseline against which this scorecard or future audits can be cross-checked; the monorepo's governance workflows (governance-reusable.yml) rely on repo-wide artifacts like .hypatia-baseline.json rather than a per-spec self-assessment for this directory." [[could]] id = "C1" @@ -88,7 +88,7 @@ text = "The spec COULD provide a minikanren-backed relational query engine as a system = "lib/state-kanren.scm: exposes minikanren-available?/fallback implementation; .gitlab-ci.yml 'test-kanren' job checks which path is active" status = "pass" evidence = "lib/state-kanren.scm defines kanren:minikanren-available? and lib/state.scm's state-modules-loaded reports 'loaded-with-minikanren or 'loaded-with-fallback depending on availability; .gitlab-ci.yml has a dedicated test-kanren job that exercises this branch." -check = "grep -q \"minikanren-available?\" state-a2ml/lib/state-kanren.scm && grep -q \"test-kanren\" state-a2ml/.gitlab-ci.yml" +check = "grep -q \"minikanren-available?\" 1-formats/a2ml/state/lib/state-kanren.scm && grep -q \"test-kanren\" 1-formats/a2ml/state/.gitlab-ci.yml" effects = "Consumers without guile-minikanren installed still get correct (if less optimized) relational queries rather than a hard failure." [[could]] diff --git a/0-AI-MANIFEST.a2ml b/0-AI-MANIFEST.a2ml index 40bc82099..6b5134bdb 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/`, `1-formats/contractiles/`, `*-a2ml/` | +| A2ML / K9 foundation (Stream 1) | `a2ml/`, `1-formats/k9/`, `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-canon/CRG-SELF-ASSESSMENT.adoc b/0-canon/CRG-SELF-ASSESSMENT.adoc index beb37fae8..437bf4155 100644 --- a/0-canon/CRG-SELF-ASSESSMENT.adoc +++ b/0-canon/CRG-SELF-ASSESSMENT.adoc @@ -16,7 +16,7 @@ Assessed: 2026-04-09 | Unit tests | Present -| a2ml/bindings/rust (47), k9-svc/bindings/rust (45), mcp-repo-guardian (36), axel-protocol (14), groove-protocol (10), avow-protocol/src (8) +| a2ml/bindings/rust (47), 1-formats/k9/bindings/rust (45), mcp-repo-guardian (36), axel-protocol (14), groove-protocol (10), avow-protocol/src (8) | Smoke tests | Present diff --git a/agentic-a2ml/.ai-context.json b/1-formats/a2ml/agentic/.ai-context.json similarity index 100% rename from agentic-a2ml/.ai-context.json rename to 1-formats/a2ml/agentic/.ai-context.json diff --git a/agentic-a2ml/.editorconfig b/1-formats/a2ml/agentic/.editorconfig similarity index 100% rename from agentic-a2ml/.editorconfig rename to 1-formats/a2ml/agentic/.editorconfig diff --git a/agentic-a2ml/.gitattributes b/1-formats/a2ml/agentic/.gitattributes similarity index 100% rename from agentic-a2ml/.gitattributes rename to 1-formats/a2ml/agentic/.gitattributes diff --git a/agentic-a2ml/.gitignore b/1-formats/a2ml/agentic/.gitignore similarity index 100% rename from agentic-a2ml/.gitignore rename to 1-formats/a2ml/agentic/.gitignore diff --git a/agentic-a2ml/.gitlab-ci.yml b/1-formats/a2ml/agentic/.gitlab-ci.yml similarity index 100% rename from agentic-a2ml/.gitlab-ci.yml rename to 1-formats/a2ml/agentic/.gitlab-ci.yml diff --git a/agentic-a2ml/.machine_readable/descriptiles/AGENTIC.a2ml b/1-formats/a2ml/agentic/.machine_readable/descriptiles/AGENTIC.a2ml similarity index 100% rename from agentic-a2ml/.machine_readable/descriptiles/AGENTIC.a2ml rename to 1-formats/a2ml/agentic/.machine_readable/descriptiles/AGENTIC.a2ml diff --git a/agentic-a2ml/.machine_readable/descriptiles/ECOSYSTEM.a2ml b/1-formats/a2ml/agentic/.machine_readable/descriptiles/ECOSYSTEM.a2ml similarity index 100% rename from agentic-a2ml/.machine_readable/descriptiles/ECOSYSTEM.a2ml rename to 1-formats/a2ml/agentic/.machine_readable/descriptiles/ECOSYSTEM.a2ml diff --git a/agentic-a2ml/.machine_readable/descriptiles/META.a2ml b/1-formats/a2ml/agentic/.machine_readable/descriptiles/META.a2ml similarity index 100% rename from agentic-a2ml/.machine_readable/descriptiles/META.a2ml rename to 1-formats/a2ml/agentic/.machine_readable/descriptiles/META.a2ml diff --git a/agentic-a2ml/.machine_readable/descriptiles/NEUROSYM.a2ml b/1-formats/a2ml/agentic/.machine_readable/descriptiles/NEUROSYM.a2ml similarity index 100% rename from agentic-a2ml/.machine_readable/descriptiles/NEUROSYM.a2ml rename to 1-formats/a2ml/agentic/.machine_readable/descriptiles/NEUROSYM.a2ml diff --git a/agentic-a2ml/.machine_readable/descriptiles/PLAYBOOK.a2ml b/1-formats/a2ml/agentic/.machine_readable/descriptiles/PLAYBOOK.a2ml similarity index 100% rename from agentic-a2ml/.machine_readable/descriptiles/PLAYBOOK.a2ml rename to 1-formats/a2ml/agentic/.machine_readable/descriptiles/PLAYBOOK.a2ml diff --git a/agentic-a2ml/.machine_readable/descriptiles/STATE.a2ml b/1-formats/a2ml/agentic/.machine_readable/descriptiles/STATE.a2ml similarity index 100% rename from agentic-a2ml/.machine_readable/descriptiles/STATE.a2ml rename to 1-formats/a2ml/agentic/.machine_readable/descriptiles/STATE.a2ml diff --git a/agentic-a2ml/.nojekyll b/1-formats/a2ml/agentic/.nojekyll similarity index 100% rename from agentic-a2ml/.nojekyll rename to 1-formats/a2ml/agentic/.nojekyll diff --git a/agentic-a2ml/README.adoc b/1-formats/a2ml/agentic/README.adoc similarity index 99% rename from agentic-a2ml/README.adoc rename to 1-formats/a2ml/agentic/README.adoc index b8a9f2b18..699e11949 100644 --- a/agentic-a2ml/README.adoc +++ b/1-formats/a2ml/agentic/README.adoc @@ -146,7 +146,7 @@ The complete normative specification is in link:spec/AGENTIC-FORMAT-SPEC.adoc[sp [source] ---- -agentic-a2ml/ +1-formats/a2ml/agentic/ +-- spec/ | +-- AGENTIC-FORMAT-SPEC.adoc # Normative specification +-- examples/ diff --git a/agentic-a2ml/ROADMAP.adoc b/1-formats/a2ml/agentic/ROADMAP.adoc similarity index 100% rename from agentic-a2ml/ROADMAP.adoc rename to 1-formats/a2ml/agentic/ROADMAP.adoc diff --git a/agentic-a2ml/architecture.adoc b/1-formats/a2ml/agentic/architecture.adoc similarity index 100% rename from agentic-a2ml/architecture.adoc rename to 1-formats/a2ml/agentic/architecture.adoc diff --git a/agentic-a2ml/contractiles/README.adoc b/1-formats/a2ml/agentic/contractiles/README.adoc similarity index 100% rename from agentic-a2ml/contractiles/README.adoc rename to 1-formats/a2ml/agentic/contractiles/README.adoc diff --git a/agentic-a2ml/contractiles/dust/Dustfile b/1-formats/a2ml/agentic/contractiles/dust/Dustfile similarity index 100% rename from agentic-a2ml/contractiles/dust/Dustfile rename to 1-formats/a2ml/agentic/contractiles/dust/Dustfile diff --git a/agentic-a2ml/contractiles/must/Mustfile b/1-formats/a2ml/agentic/contractiles/must/Mustfile similarity index 100% rename from agentic-a2ml/contractiles/must/Mustfile rename to 1-formats/a2ml/agentic/contractiles/must/Mustfile diff --git a/agentic-a2ml/docs/ADR-002-methodology-layer.adoc b/1-formats/a2ml/agentic/docs/ADR-002-methodology-layer.adoc similarity index 100% rename from agentic-a2ml/docs/ADR-002-methodology-layer.adoc rename to 1-formats/a2ml/agentic/docs/ADR-002-methodology-layer.adoc diff --git a/agentic-a2ml/docs/CITATIONS.adoc b/1-formats/a2ml/agentic/docs/CITATIONS.adoc similarity index 100% rename from agentic-a2ml/docs/CITATIONS.adoc rename to 1-formats/a2ml/agentic/docs/CITATIONS.adoc diff --git a/agentic-a2ml/docs/ROADMAP.adoc b/1-formats/a2ml/agentic/docs/ROADMAP.adoc similarity index 100% rename from agentic-a2ml/docs/ROADMAP.adoc rename to 1-formats/a2ml/agentic/docs/ROADMAP.adoc diff --git a/agentic-a2ml/examples/comprehensive.a2ml b/1-formats/a2ml/agentic/examples/comprehensive.a2ml similarity index 100% rename from agentic-a2ml/examples/comprehensive.a2ml rename to 1-formats/a2ml/agentic/examples/comprehensive.a2ml diff --git a/agentic-a2ml/examples/minimal.a2ml b/1-formats/a2ml/agentic/examples/minimal.a2ml similarity index 100% rename from agentic-a2ml/examples/minimal.a2ml rename to 1-formats/a2ml/agentic/examples/minimal.a2ml diff --git a/agentic-a2ml/examples/web-project-deno.json b/1-formats/a2ml/agentic/examples/web-project-deno.json similarity index 100% rename from agentic-a2ml/examples/web-project-deno.json rename to 1-formats/a2ml/agentic/examples/web-project-deno.json diff --git a/agentic-a2ml/ffi/rsr-adapter.adb b/1-formats/a2ml/agentic/ffi/rsr-adapter.adb similarity index 100% rename from agentic-a2ml/ffi/rsr-adapter.adb rename to 1-formats/a2ml/agentic/ffi/rsr-adapter.adb diff --git a/agentic-a2ml/ffi/rsr-adapter.ads b/1-formats/a2ml/agentic/ffi/rsr-adapter.ads similarity index 100% rename from agentic-a2ml/ffi/rsr-adapter.ads rename to 1-formats/a2ml/agentic/ffi/rsr-adapter.ads diff --git a/agentic-a2ml/ffi/zig/build.zig b/1-formats/a2ml/agentic/ffi/zig/build.zig similarity index 100% rename from agentic-a2ml/ffi/zig/build.zig rename to 1-formats/a2ml/agentic/ffi/zig/build.zig diff --git a/agentic-a2ml/ffi/zig/src/main.zig b/1-formats/a2ml/agentic/ffi/zig/src/main.zig similarity index 100% rename from agentic-a2ml/ffi/zig/src/main.zig rename to 1-formats/a2ml/agentic/ffi/zig/src/main.zig diff --git a/agentic-a2ml/ffi/zig/test/integration_test.zig b/1-formats/a2ml/agentic/ffi/zig/test/integration_test.zig similarity index 100% rename from agentic-a2ml/ffi/zig/test/integration_test.zig rename to 1-formats/a2ml/agentic/ffi/zig/test/integration_test.zig diff --git a/agentic-a2ml/ncl/lib/os_detect.ncl b/1-formats/a2ml/agentic/ncl/lib/os_detect.ncl similarity index 100% rename from agentic-a2ml/ncl/lib/os_detect.ncl rename to 1-formats/a2ml/agentic/ncl/lib/os_detect.ncl diff --git a/agentic-a2ml/ncl/lib/schema.ncl b/1-formats/a2ml/agentic/ncl/lib/schema.ncl similarity index 100% rename from agentic-a2ml/ncl/lib/schema.ncl rename to 1-formats/a2ml/agentic/ncl/lib/schema.ncl diff --git a/agentic-a2ml/scripts/all-shells.sh b/1-formats/a2ml/agentic/scripts/all-shells.sh similarity index 100% rename from agentic-a2ml/scripts/all-shells.sh rename to 1-formats/a2ml/agentic/scripts/all-shells.sh diff --git a/agentic-a2ml/scripts/bootstrap.sh b/1-formats/a2ml/agentic/scripts/bootstrap.sh similarity index 100% rename from agentic-a2ml/scripts/bootstrap.sh rename to 1-formats/a2ml/agentic/scripts/bootstrap.sh diff --git a/agentic-a2ml/spec/AGENTIC-FORMAT-SPEC.adoc b/1-formats/a2ml/agentic/spec/AGENTIC-FORMAT-SPEC.adoc similarity index 100% rename from agentic-a2ml/spec/AGENTIC-FORMAT-SPEC.adoc rename to 1-formats/a2ml/agentic/spec/AGENTIC-FORMAT-SPEC.adoc diff --git a/agentic-a2ml/spec/VERSION-POLICY.adoc b/1-formats/a2ml/agentic/spec/VERSION-POLICY.adoc similarity index 100% rename from agentic-a2ml/spec/VERSION-POLICY.adoc rename to 1-formats/a2ml/agentic/spec/VERSION-POLICY.adoc diff --git a/agentic-a2ml/spec/agentic.abnf b/1-formats/a2ml/agentic/spec/agentic.abnf similarity index 100% rename from agentic-a2ml/spec/agentic.abnf rename to 1-formats/a2ml/agentic/spec/agentic.abnf diff --git a/agentic-a2ml/spec/agentic.schema.json b/1-formats/a2ml/agentic/spec/agentic.schema.json similarity index 100% rename from agentic-a2ml/spec/agentic.schema.json rename to 1-formats/a2ml/agentic/spec/agentic.schema.json diff --git a/anchor-a2ml/.editorconfig b/1-formats/a2ml/anchor/.editorconfig similarity index 100% rename from anchor-a2ml/.editorconfig rename to 1-formats/a2ml/anchor/.editorconfig diff --git a/anchor-a2ml/.gitattributes b/1-formats/a2ml/anchor/.gitattributes similarity index 100% rename from anchor-a2ml/.gitattributes rename to 1-formats/a2ml/anchor/.gitattributes diff --git a/anchor-a2ml/.gitignore b/1-formats/a2ml/anchor/.gitignore similarity index 100% rename from anchor-a2ml/.gitignore rename to 1-formats/a2ml/anchor/.gitignore diff --git a/anchor-a2ml/.gitlab-ci.yml b/1-formats/a2ml/anchor/.gitlab-ci.yml similarity index 100% rename from anchor-a2ml/.gitlab-ci.yml rename to 1-formats/a2ml/anchor/.gitlab-ci.yml diff --git a/anchor-a2ml/.machine_readable/descriptiles/AGENTIC.a2ml b/1-formats/a2ml/anchor/.machine_readable/descriptiles/AGENTIC.a2ml similarity index 100% rename from anchor-a2ml/.machine_readable/descriptiles/AGENTIC.a2ml rename to 1-formats/a2ml/anchor/.machine_readable/descriptiles/AGENTIC.a2ml diff --git a/anchor-a2ml/.machine_readable/descriptiles/ECOSYSTEM.a2ml b/1-formats/a2ml/anchor/.machine_readable/descriptiles/ECOSYSTEM.a2ml similarity index 100% rename from anchor-a2ml/.machine_readable/descriptiles/ECOSYSTEM.a2ml rename to 1-formats/a2ml/anchor/.machine_readable/descriptiles/ECOSYSTEM.a2ml diff --git a/anchor-a2ml/.machine_readable/descriptiles/META.a2ml b/1-formats/a2ml/anchor/.machine_readable/descriptiles/META.a2ml similarity index 100% rename from anchor-a2ml/.machine_readable/descriptiles/META.a2ml rename to 1-formats/a2ml/anchor/.machine_readable/descriptiles/META.a2ml diff --git a/anchor-a2ml/.machine_readable/descriptiles/NEUROSYM.a2ml b/1-formats/a2ml/anchor/.machine_readable/descriptiles/NEUROSYM.a2ml similarity index 100% rename from anchor-a2ml/.machine_readable/descriptiles/NEUROSYM.a2ml rename to 1-formats/a2ml/anchor/.machine_readable/descriptiles/NEUROSYM.a2ml diff --git a/anchor-a2ml/.machine_readable/descriptiles/PLAYBOOK.a2ml b/1-formats/a2ml/anchor/.machine_readable/descriptiles/PLAYBOOK.a2ml similarity index 100% rename from anchor-a2ml/.machine_readable/descriptiles/PLAYBOOK.a2ml rename to 1-formats/a2ml/anchor/.machine_readable/descriptiles/PLAYBOOK.a2ml diff --git a/anchor-a2ml/.machine_readable/descriptiles/STATE.a2ml b/1-formats/a2ml/anchor/.machine_readable/descriptiles/STATE.a2ml similarity index 100% rename from anchor-a2ml/.machine_readable/descriptiles/STATE.a2ml rename to 1-formats/a2ml/anchor/.machine_readable/descriptiles/STATE.a2ml diff --git a/anchor-a2ml/.nojekyll b/1-formats/a2ml/anchor/.nojekyll similarity index 100% rename from anchor-a2ml/.nojekyll rename to 1-formats/a2ml/anchor/.nojekyll diff --git a/anchor-a2ml/README.adoc b/1-formats/a2ml/anchor/README.adoc similarity index 100% rename from anchor-a2ml/README.adoc rename to 1-formats/a2ml/anchor/README.adoc diff --git a/anchor-a2ml/ROADMAP.adoc b/1-formats/a2ml/anchor/ROADMAP.adoc similarity index 100% rename from anchor-a2ml/ROADMAP.adoc rename to 1-formats/a2ml/anchor/ROADMAP.adoc diff --git a/anchor-a2ml/abnf/anchor.abnf b/1-formats/a2ml/anchor/abnf/anchor.abnf similarity index 100% rename from anchor-a2ml/abnf/anchor.abnf rename to 1-formats/a2ml/anchor/abnf/anchor.abnf diff --git a/anchor-a2ml/contractiles/README.adoc b/1-formats/a2ml/anchor/contractiles/README.adoc similarity index 100% rename from anchor-a2ml/contractiles/README.adoc rename to 1-formats/a2ml/anchor/contractiles/README.adoc diff --git a/anchor-a2ml/contractiles/dust/Dustfile b/1-formats/a2ml/anchor/contractiles/dust/Dustfile similarity index 100% rename from anchor-a2ml/contractiles/dust/Dustfile rename to 1-formats/a2ml/anchor/contractiles/dust/Dustfile diff --git a/anchor-a2ml/contractiles/must/Mustfile b/1-formats/a2ml/anchor/contractiles/must/Mustfile similarity index 100% rename from anchor-a2ml/contractiles/must/Mustfile rename to 1-formats/a2ml/anchor/contractiles/must/Mustfile diff --git a/anchor-a2ml/docs/CITATIONS.adoc b/1-formats/a2ml/anchor/docs/CITATIONS.adoc similarity index 100% rename from anchor-a2ml/docs/CITATIONS.adoc rename to 1-formats/a2ml/anchor/docs/CITATIONS.adoc diff --git a/anchor-a2ml/examples/comprehensive.scm b/1-formats/a2ml/anchor/examples/comprehensive.scm similarity index 100% rename from anchor-a2ml/examples/comprehensive.scm rename to 1-formats/a2ml/anchor/examples/comprehensive.scm diff --git a/anchor-a2ml/examples/minimal.scm b/1-formats/a2ml/anchor/examples/minimal.scm similarity index 100% rename from anchor-a2ml/examples/minimal.scm rename to 1-formats/a2ml/anchor/examples/minimal.scm diff --git a/anchor-a2ml/examples/web-project-deno.json b/1-formats/a2ml/anchor/examples/web-project-deno.json similarity index 100% rename from anchor-a2ml/examples/web-project-deno.json rename to 1-formats/a2ml/anchor/examples/web-project-deno.json diff --git a/anchor-a2ml/ffi/zig/build.zig b/1-formats/a2ml/anchor/ffi/zig/build.zig similarity index 100% rename from anchor-a2ml/ffi/zig/build.zig rename to 1-formats/a2ml/anchor/ffi/zig/build.zig diff --git a/anchor-a2ml/ffi/zig/src/main.zig b/1-formats/a2ml/anchor/ffi/zig/src/main.zig similarity index 100% rename from anchor-a2ml/ffi/zig/src/main.zig rename to 1-formats/a2ml/anchor/ffi/zig/src/main.zig diff --git a/anchor-a2ml/ffi/zig/test/integration_test.zig b/1-formats/a2ml/anchor/ffi/zig/test/integration_test.zig similarity index 100% rename from anchor-a2ml/ffi/zig/test/integration_test.zig rename to 1-formats/a2ml/anchor/ffi/zig/test/integration_test.zig diff --git a/anchor-a2ml/spec/ANCHOR-FORMAT-SPEC.adoc b/1-formats/a2ml/anchor/spec/ANCHOR-FORMAT-SPEC.adoc similarity index 100% rename from anchor-a2ml/spec/ANCHOR-FORMAT-SPEC.adoc rename to 1-formats/a2ml/anchor/spec/ANCHOR-FORMAT-SPEC.adoc diff --git a/ecosystem-a2ml/.editorconfig b/1-formats/a2ml/ecosystem/.editorconfig similarity index 100% rename from ecosystem-a2ml/.editorconfig rename to 1-formats/a2ml/ecosystem/.editorconfig diff --git a/ecosystem-a2ml/.gitattributes b/1-formats/a2ml/ecosystem/.gitattributes similarity index 100% rename from ecosystem-a2ml/.gitattributes rename to 1-formats/a2ml/ecosystem/.gitattributes diff --git a/ecosystem-a2ml/.gitignore b/1-formats/a2ml/ecosystem/.gitignore similarity index 100% rename from ecosystem-a2ml/.gitignore rename to 1-formats/a2ml/ecosystem/.gitignore diff --git a/ecosystem-a2ml/.machine_readable/descriptiles/AGENTIC.a2ml b/1-formats/a2ml/ecosystem/.machine_readable/descriptiles/AGENTIC.a2ml similarity index 100% rename from ecosystem-a2ml/.machine_readable/descriptiles/AGENTIC.a2ml rename to 1-formats/a2ml/ecosystem/.machine_readable/descriptiles/AGENTIC.a2ml diff --git a/ecosystem-a2ml/.machine_readable/descriptiles/ECOSYSTEM.a2ml b/1-formats/a2ml/ecosystem/.machine_readable/descriptiles/ECOSYSTEM.a2ml similarity index 100% rename from ecosystem-a2ml/.machine_readable/descriptiles/ECOSYSTEM.a2ml rename to 1-formats/a2ml/ecosystem/.machine_readable/descriptiles/ECOSYSTEM.a2ml diff --git a/ecosystem-a2ml/.machine_readable/descriptiles/META.a2ml b/1-formats/a2ml/ecosystem/.machine_readable/descriptiles/META.a2ml similarity index 100% rename from ecosystem-a2ml/.machine_readable/descriptiles/META.a2ml rename to 1-formats/a2ml/ecosystem/.machine_readable/descriptiles/META.a2ml diff --git a/ecosystem-a2ml/.machine_readable/descriptiles/NEUROSYM.a2ml b/1-formats/a2ml/ecosystem/.machine_readable/descriptiles/NEUROSYM.a2ml similarity index 100% rename from ecosystem-a2ml/.machine_readable/descriptiles/NEUROSYM.a2ml rename to 1-formats/a2ml/ecosystem/.machine_readable/descriptiles/NEUROSYM.a2ml diff --git a/ecosystem-a2ml/.machine_readable/descriptiles/PLAYBOOK.a2ml b/1-formats/a2ml/ecosystem/.machine_readable/descriptiles/PLAYBOOK.a2ml similarity index 100% rename from ecosystem-a2ml/.machine_readable/descriptiles/PLAYBOOK.a2ml rename to 1-formats/a2ml/ecosystem/.machine_readable/descriptiles/PLAYBOOK.a2ml diff --git a/ecosystem-a2ml/.machine_readable/descriptiles/STATE.a2ml b/1-formats/a2ml/ecosystem/.machine_readable/descriptiles/STATE.a2ml similarity index 100% rename from ecosystem-a2ml/.machine_readable/descriptiles/STATE.a2ml rename to 1-formats/a2ml/ecosystem/.machine_readable/descriptiles/STATE.a2ml diff --git a/ecosystem-a2ml/README.adoc b/1-formats/a2ml/ecosystem/README.adoc similarity index 99% rename from ecosystem-a2ml/README.adoc rename to 1-formats/a2ml/ecosystem/README.adoc index 9553103f5..62cfa93a4 100644 --- a/ecosystem-a2ml/README.adoc +++ b/1-formats/a2ml/ecosystem/README.adoc @@ -359,7 +359,7 @@ See link:STANDARDS-ROADMAP.adoc[STANDARDS-ROADMAP.adoc] for the complete standar [source] ---- -ecosystem-a2ml/ +1-formats/a2ml/ecosystem/ +-- ECOSYSTEM.a2ml # Canonical specification (self-describing) +-- README.adoc # This file +-- STANDARDS-ROADMAP.adoc # Unified family standardisation plan diff --git a/ecosystem-a2ml/STANDARDS-ROADMAP.adoc b/1-formats/a2ml/ecosystem/STANDARDS-ROADMAP.adoc similarity index 100% rename from ecosystem-a2ml/STANDARDS-ROADMAP.adoc rename to 1-formats/a2ml/ecosystem/STANDARDS-ROADMAP.adoc diff --git a/ecosystem-a2ml/contractiles/README.adoc b/1-formats/a2ml/ecosystem/contractiles/README.adoc similarity index 100% rename from ecosystem-a2ml/contractiles/README.adoc rename to 1-formats/a2ml/ecosystem/contractiles/README.adoc diff --git a/ecosystem-a2ml/contractiles/dust/Dustfile b/1-formats/a2ml/ecosystem/contractiles/dust/Dustfile similarity index 100% rename from ecosystem-a2ml/contractiles/dust/Dustfile rename to 1-formats/a2ml/ecosystem/contractiles/dust/Dustfile diff --git a/ecosystem-a2ml/contractiles/must/Mustfile b/1-formats/a2ml/ecosystem/contractiles/must/Mustfile similarity index 100% rename from ecosystem-a2ml/contractiles/must/Mustfile rename to 1-formats/a2ml/ecosystem/contractiles/must/Mustfile diff --git a/ecosystem-a2ml/docs/CITATIONS.adoc b/1-formats/a2ml/ecosystem/docs/CITATIONS.adoc similarity index 100% rename from ecosystem-a2ml/docs/CITATIONS.adoc rename to 1-formats/a2ml/ecosystem/docs/CITATIONS.adoc diff --git a/ecosystem-a2ml/examples/web-project-deno.json b/1-formats/a2ml/ecosystem/examples/web-project-deno.json similarity index 100% rename from ecosystem-a2ml/examples/web-project-deno.json rename to 1-formats/a2ml/ecosystem/examples/web-project-deno.json diff --git a/ecosystem-a2ml/spec/IANA-CONSIDERATIONS.adoc b/1-formats/a2ml/ecosystem/spec/IANA-CONSIDERATIONS.adoc similarity index 100% rename from ecosystem-a2ml/spec/IANA-CONSIDERATIONS.adoc rename to 1-formats/a2ml/ecosystem/spec/IANA-CONSIDERATIONS.adoc diff --git a/ecosystem-a2ml/spec/draft/draft-jewell-ecosystem-scm-00.txt b/1-formats/a2ml/ecosystem/spec/draft/draft-jewell-ecosystem-scm-00.txt similarity index 100% rename from ecosystem-a2ml/spec/draft/draft-jewell-ecosystem-scm-00.txt rename to 1-formats/a2ml/ecosystem/spec/draft/draft-jewell-ecosystem-scm-00.txt diff --git a/ecosystem-a2ml/spec/ecosystem.abnf b/1-formats/a2ml/ecosystem/spec/ecosystem.abnf similarity index 100% rename from ecosystem-a2ml/spec/ecosystem.abnf rename to 1-formats/a2ml/ecosystem/spec/ecosystem.abnf diff --git a/ecosystem-a2ml/spec/ecosystem.schema.json b/1-formats/a2ml/ecosystem/spec/ecosystem.schema.json similarity index 100% rename from ecosystem-a2ml/spec/ecosystem.schema.json rename to 1-formats/a2ml/ecosystem/spec/ecosystem.schema.json diff --git a/ecosystem-a2ml/spec/family/SCM-FAMILY.adoc b/1-formats/a2ml/ecosystem/spec/family/SCM-FAMILY.adoc similarity index 100% rename from ecosystem-a2ml/spec/family/SCM-FAMILY.adoc rename to 1-formats/a2ml/ecosystem/spec/family/SCM-FAMILY.adoc diff --git a/ecosystem-a2ml/spec/family/scm-core.abnf b/1-formats/a2ml/ecosystem/spec/family/scm-core.abnf similarity index 100% rename from ecosystem-a2ml/spec/family/scm-core.abnf rename to 1-formats/a2ml/ecosystem/spec/family/scm-core.abnf diff --git a/ecosystem-a2ml/spec/family/scm-family.schema.json b/1-formats/a2ml/ecosystem/spec/family/scm-family.schema.json similarity index 100% rename from ecosystem-a2ml/spec/family/scm-family.schema.json rename to 1-formats/a2ml/ecosystem/spec/family/scm-family.schema.json diff --git a/meta-a2ml/.claude/CLAUDE.md b/1-formats/a2ml/meta/.claude/CLAUDE.md similarity index 100% rename from meta-a2ml/.claude/CLAUDE.md rename to 1-formats/a2ml/meta/.claude/CLAUDE.md diff --git a/k9-svc/.editorconfig b/1-formats/a2ml/meta/.editorconfig similarity index 100% rename from k9-svc/.editorconfig rename to 1-formats/a2ml/meta/.editorconfig diff --git a/k9-svc/.gitattributes b/1-formats/a2ml/meta/.gitattributes similarity index 100% rename from k9-svc/.gitattributes rename to 1-formats/a2ml/meta/.gitattributes diff --git a/meta-a2ml/.github/FUNDING.yml b/1-formats/a2ml/meta/.github/FUNDING.yml similarity index 100% rename from meta-a2ml/.github/FUNDING.yml rename to 1-formats/a2ml/meta/.github/FUNDING.yml diff --git a/meta-a2ml/.github/ISSUE_TEMPLATE/bug_report.md b/1-formats/a2ml/meta/.github/ISSUE_TEMPLATE/bug_report.md similarity index 100% rename from meta-a2ml/.github/ISSUE_TEMPLATE/bug_report.md rename to 1-formats/a2ml/meta/.github/ISSUE_TEMPLATE/bug_report.md diff --git a/meta-a2ml/.github/ISSUE_TEMPLATE/documentation.md b/1-formats/a2ml/meta/.github/ISSUE_TEMPLATE/documentation.md similarity index 100% rename from meta-a2ml/.github/ISSUE_TEMPLATE/documentation.md rename to 1-formats/a2ml/meta/.github/ISSUE_TEMPLATE/documentation.md diff --git a/meta-a2ml/.github/ISSUE_TEMPLATE/feature_request.md b/1-formats/a2ml/meta/.github/ISSUE_TEMPLATE/feature_request.md similarity index 100% rename from meta-a2ml/.github/ISSUE_TEMPLATE/feature_request.md rename to 1-formats/a2ml/meta/.github/ISSUE_TEMPLATE/feature_request.md diff --git a/meta-a2ml/.github/ISSUE_TEMPLATE/question.md b/1-formats/a2ml/meta/.github/ISSUE_TEMPLATE/question.md similarity index 100% rename from meta-a2ml/.github/ISSUE_TEMPLATE/question.md rename to 1-formats/a2ml/meta/.github/ISSUE_TEMPLATE/question.md diff --git a/meta-a2ml/.github/dependabot.yml b/1-formats/a2ml/meta/.github/dependabot.yml similarity index 100% rename from meta-a2ml/.github/dependabot.yml rename to 1-formats/a2ml/meta/.github/dependabot.yml diff --git a/meta-a2ml/.github/workflows/casket-pages.yml b/1-formats/a2ml/meta/.github/workflows/casket-pages.yml similarity index 100% rename from meta-a2ml/.github/workflows/casket-pages.yml rename to 1-formats/a2ml/meta/.github/workflows/casket-pages.yml diff --git a/meta-a2ml/.github/workflows/codeql.yml b/1-formats/a2ml/meta/.github/workflows/codeql.yml similarity index 100% rename from meta-a2ml/.github/workflows/codeql.yml rename to 1-formats/a2ml/meta/.github/workflows/codeql.yml diff --git a/meta-a2ml/.github/workflows/governance.yml b/1-formats/a2ml/meta/.github/workflows/governance.yml similarity index 100% rename from meta-a2ml/.github/workflows/governance.yml rename to 1-formats/a2ml/meta/.github/workflows/governance.yml diff --git a/meta-a2ml/.github/workflows/hypatia-scan.yml b/1-formats/a2ml/meta/.github/workflows/hypatia-scan.yml similarity index 100% rename from meta-a2ml/.github/workflows/hypatia-scan.yml rename to 1-formats/a2ml/meta/.github/workflows/hypatia-scan.yml diff --git a/meta-a2ml/.github/workflows/mirror.yml b/1-formats/a2ml/meta/.github/workflows/mirror.yml similarity index 100% rename from meta-a2ml/.github/workflows/mirror.yml rename to 1-formats/a2ml/meta/.github/workflows/mirror.yml diff --git a/meta-a2ml/.github/workflows/scorecard-enforcer.yml b/1-formats/a2ml/meta/.github/workflows/scorecard-enforcer.yml similarity index 100% rename from meta-a2ml/.github/workflows/scorecard-enforcer.yml rename to 1-formats/a2ml/meta/.github/workflows/scorecard-enforcer.yml diff --git a/meta-a2ml/.github/workflows/scorecard.yml b/1-formats/a2ml/meta/.github/workflows/scorecard.yml similarity index 100% rename from meta-a2ml/.github/workflows/scorecard.yml rename to 1-formats/a2ml/meta/.github/workflows/scorecard.yml diff --git a/meta-a2ml/.github/workflows/secret-scanner.yml b/1-formats/a2ml/meta/.github/workflows/secret-scanner.yml similarity index 100% rename from meta-a2ml/.github/workflows/secret-scanner.yml rename to 1-formats/a2ml/meta/.github/workflows/secret-scanner.yml diff --git a/meta-a2ml/.gitignore b/1-formats/a2ml/meta/.gitignore similarity index 100% rename from meta-a2ml/.gitignore rename to 1-formats/a2ml/meta/.gitignore diff --git a/meta-a2ml/.machine_readable/descriptiles/AGENTIC.a2ml b/1-formats/a2ml/meta/.machine_readable/descriptiles/AGENTIC.a2ml similarity index 100% rename from meta-a2ml/.machine_readable/descriptiles/AGENTIC.a2ml rename to 1-formats/a2ml/meta/.machine_readable/descriptiles/AGENTIC.a2ml diff --git a/meta-a2ml/.machine_readable/descriptiles/ECOSYSTEM.a2ml b/1-formats/a2ml/meta/.machine_readable/descriptiles/ECOSYSTEM.a2ml similarity index 100% rename from meta-a2ml/.machine_readable/descriptiles/ECOSYSTEM.a2ml rename to 1-formats/a2ml/meta/.machine_readable/descriptiles/ECOSYSTEM.a2ml diff --git a/meta-a2ml/.machine_readable/descriptiles/META.a2ml b/1-formats/a2ml/meta/.machine_readable/descriptiles/META.a2ml similarity index 100% rename from meta-a2ml/.machine_readable/descriptiles/META.a2ml rename to 1-formats/a2ml/meta/.machine_readable/descriptiles/META.a2ml diff --git a/meta-a2ml/.machine_readable/descriptiles/NEUROSYM.a2ml b/1-formats/a2ml/meta/.machine_readable/descriptiles/NEUROSYM.a2ml similarity index 100% rename from meta-a2ml/.machine_readable/descriptiles/NEUROSYM.a2ml rename to 1-formats/a2ml/meta/.machine_readable/descriptiles/NEUROSYM.a2ml diff --git a/meta-a2ml/.machine_readable/descriptiles/PLAYBOOK.a2ml b/1-formats/a2ml/meta/.machine_readable/descriptiles/PLAYBOOK.a2ml similarity index 100% rename from meta-a2ml/.machine_readable/descriptiles/PLAYBOOK.a2ml rename to 1-formats/a2ml/meta/.machine_readable/descriptiles/PLAYBOOK.a2ml diff --git a/meta-a2ml/.machine_readable/descriptiles/STATE.a2ml b/1-formats/a2ml/meta/.machine_readable/descriptiles/STATE.a2ml similarity index 100% rename from meta-a2ml/.machine_readable/descriptiles/STATE.a2ml rename to 1-formats/a2ml/meta/.machine_readable/descriptiles/STATE.a2ml diff --git a/meta-a2ml/README.adoc b/1-formats/a2ml/meta/README.adoc similarity index 100% rename from meta-a2ml/README.adoc rename to 1-formats/a2ml/meta/README.adoc diff --git a/meta-a2ml/examples/comprehensive.a2ml b/1-formats/a2ml/meta/examples/comprehensive.a2ml similarity index 100% rename from meta-a2ml/examples/comprehensive.a2ml rename to 1-formats/a2ml/meta/examples/comprehensive.a2ml diff --git a/meta-a2ml/examples/minimal.a2ml b/1-formats/a2ml/meta/examples/minimal.a2ml similarity index 100% rename from meta-a2ml/examples/minimal.a2ml rename to 1-formats/a2ml/meta/examples/minimal.a2ml diff --git a/meta-a2ml/spec/IANA-MEDIA-TYPE.adoc b/1-formats/a2ml/meta/spec/IANA-MEDIA-TYPE.adoc similarity index 100% rename from meta-a2ml/spec/IANA-MEDIA-TYPE.adoc rename to 1-formats/a2ml/meta/spec/IANA-MEDIA-TYPE.adoc diff --git a/meta-a2ml/spec/META-FORMAT-SPEC.adoc b/1-formats/a2ml/meta/spec/META-FORMAT-SPEC.adoc similarity index 100% rename from meta-a2ml/spec/META-FORMAT-SPEC.adoc rename to 1-formats/a2ml/meta/spec/META-FORMAT-SPEC.adoc diff --git a/meta-a2ml/spec/README.adoc b/1-formats/a2ml/meta/spec/README.adoc similarity index 100% rename from meta-a2ml/spec/README.adoc rename to 1-formats/a2ml/meta/spec/README.adoc diff --git a/meta-a2ml/spec/SCM-FORMAT-FAMILY.adoc b/1-formats/a2ml/meta/spec/SCM-FORMAT-FAMILY.adoc similarity index 100% rename from meta-a2ml/spec/SCM-FORMAT-FAMILY.adoc rename to 1-formats/a2ml/meta/spec/SCM-FORMAT-FAMILY.adoc diff --git a/meta-a2ml/spec/STANDARDS-TRACK.adoc b/1-formats/a2ml/meta/spec/STANDARDS-TRACK.adoc similarity index 100% rename from meta-a2ml/spec/STANDARDS-TRACK.adoc rename to 1-formats/a2ml/meta/spec/STANDARDS-TRACK.adoc diff --git a/meta-a2ml/spec/UNIFIED-STANDARDS-STRATEGY.adoc b/1-formats/a2ml/meta/spec/UNIFIED-STANDARDS-STRATEGY.adoc similarity index 100% rename from meta-a2ml/spec/UNIFIED-STANDARDS-STRATEGY.adoc rename to 1-formats/a2ml/meta/spec/UNIFIED-STANDARDS-STRATEGY.adoc diff --git a/meta-a2ml/spec/VERSION-POLICY.adoc b/1-formats/a2ml/meta/spec/VERSION-POLICY.adoc similarity index 100% rename from meta-a2ml/spec/VERSION-POLICY.adoc rename to 1-formats/a2ml/meta/spec/VERSION-POLICY.adoc diff --git a/meta-a2ml/spec/abnf/meta.abnf b/1-formats/a2ml/meta/spec/abnf/meta.abnf similarity index 100% rename from meta-a2ml/spec/abnf/meta.abnf rename to 1-formats/a2ml/meta/spec/abnf/meta.abnf diff --git a/meta-a2ml/spec/schema/meta.schema.json b/1-formats/a2ml/meta/spec/schema/meta.schema.json similarity index 100% rename from meta-a2ml/spec/schema/meta.schema.json rename to 1-formats/a2ml/meta/spec/schema/meta.schema.json diff --git a/meta-a2ml/spec/shared/s-expression.abnf b/1-formats/a2ml/meta/spec/shared/s-expression.abnf similarity index 100% rename from meta-a2ml/spec/shared/s-expression.abnf rename to 1-formats/a2ml/meta/spec/shared/s-expression.abnf diff --git a/meta-a2ml/spec/shared/scm-common.schema.json b/1-formats/a2ml/meta/spec/shared/scm-common.schema.json similarity index 100% rename from meta-a2ml/spec/shared/scm-common.schema.json rename to 1-formats/a2ml/meta/spec/shared/scm-common.schema.json diff --git a/neurosym-a2ml/.ai-context.json b/1-formats/a2ml/neurosym/.ai-context.json similarity index 100% rename from neurosym-a2ml/.ai-context.json rename to 1-formats/a2ml/neurosym/.ai-context.json diff --git a/meta-a2ml/.editorconfig b/1-formats/a2ml/neurosym/.editorconfig similarity index 100% rename from meta-a2ml/.editorconfig rename to 1-formats/a2ml/neurosym/.editorconfig diff --git a/meta-a2ml/.gitattributes b/1-formats/a2ml/neurosym/.gitattributes similarity index 100% rename from meta-a2ml/.gitattributes rename to 1-formats/a2ml/neurosym/.gitattributes diff --git a/neurosym-a2ml/.gitignore b/1-formats/a2ml/neurosym/.gitignore similarity index 100% rename from neurosym-a2ml/.gitignore rename to 1-formats/a2ml/neurosym/.gitignore diff --git a/neurosym-a2ml/.gitlab-ci.yml b/1-formats/a2ml/neurosym/.gitlab-ci.yml similarity index 100% rename from neurosym-a2ml/.gitlab-ci.yml rename to 1-formats/a2ml/neurosym/.gitlab-ci.yml diff --git a/neurosym-a2ml/.machine_readable/descriptiles/AGENTIC.a2ml b/1-formats/a2ml/neurosym/.machine_readable/descriptiles/AGENTIC.a2ml similarity index 100% rename from neurosym-a2ml/.machine_readable/descriptiles/AGENTIC.a2ml rename to 1-formats/a2ml/neurosym/.machine_readable/descriptiles/AGENTIC.a2ml diff --git a/neurosym-a2ml/.machine_readable/descriptiles/ECOSYSTEM.a2ml b/1-formats/a2ml/neurosym/.machine_readable/descriptiles/ECOSYSTEM.a2ml similarity index 100% rename from neurosym-a2ml/.machine_readable/descriptiles/ECOSYSTEM.a2ml rename to 1-formats/a2ml/neurosym/.machine_readable/descriptiles/ECOSYSTEM.a2ml diff --git a/neurosym-a2ml/.machine_readable/descriptiles/META.a2ml b/1-formats/a2ml/neurosym/.machine_readable/descriptiles/META.a2ml similarity index 100% rename from neurosym-a2ml/.machine_readable/descriptiles/META.a2ml rename to 1-formats/a2ml/neurosym/.machine_readable/descriptiles/META.a2ml diff --git a/neurosym-a2ml/.machine_readable/descriptiles/NEUROSYM.a2ml b/1-formats/a2ml/neurosym/.machine_readable/descriptiles/NEUROSYM.a2ml similarity index 100% rename from neurosym-a2ml/.machine_readable/descriptiles/NEUROSYM.a2ml rename to 1-formats/a2ml/neurosym/.machine_readable/descriptiles/NEUROSYM.a2ml diff --git a/neurosym-a2ml/.machine_readable/descriptiles/PLAYBOOK.a2ml b/1-formats/a2ml/neurosym/.machine_readable/descriptiles/PLAYBOOK.a2ml similarity index 100% rename from neurosym-a2ml/.machine_readable/descriptiles/PLAYBOOK.a2ml rename to 1-formats/a2ml/neurosym/.machine_readable/descriptiles/PLAYBOOK.a2ml diff --git a/neurosym-a2ml/.machine_readable/descriptiles/STATE.a2ml b/1-formats/a2ml/neurosym/.machine_readable/descriptiles/STATE.a2ml similarity index 100% rename from neurosym-a2ml/.machine_readable/descriptiles/STATE.a2ml rename to 1-formats/a2ml/neurosym/.machine_readable/descriptiles/STATE.a2ml diff --git a/neurosym-a2ml/.nojekyll b/1-formats/a2ml/neurosym/.nojekyll similarity index 100% rename from neurosym-a2ml/.nojekyll rename to 1-formats/a2ml/neurosym/.nojekyll diff --git a/neurosym-a2ml/README.adoc b/1-formats/a2ml/neurosym/README.adoc similarity index 99% rename from neurosym-a2ml/README.adoc rename to 1-formats/a2ml/neurosym/README.adoc index 5abc2c6ea..3c4d64c4c 100644 --- a/neurosym-a2ml/README.adoc +++ b/1-formats/a2ml/neurosym/README.adoc @@ -141,7 +141,7 @@ The complete normative specification is in link:spec/NEUROSYM-FORMAT-SPEC.adoc[s [source] ---- -neurosym-a2ml/ +1-formats/a2ml/neurosym/ +-- spec/ | +-- NEUROSYM-FORMAT-SPEC.adoc # Normative specification +-- examples/ diff --git a/neurosym-a2ml/architecture.adoc b/1-formats/a2ml/neurosym/architecture.adoc similarity index 100% rename from neurosym-a2ml/architecture.adoc rename to 1-formats/a2ml/neurosym/architecture.adoc diff --git a/neurosym-a2ml/docs/CITATIONS.adoc b/1-formats/a2ml/neurosym/docs/CITATIONS.adoc similarity index 100% rename from neurosym-a2ml/docs/CITATIONS.adoc rename to 1-formats/a2ml/neurosym/docs/CITATIONS.adoc diff --git a/neurosym-a2ml/docs/ROADMAP.adoc b/1-formats/a2ml/neurosym/docs/ROADMAP.adoc similarity index 100% rename from neurosym-a2ml/docs/ROADMAP.adoc rename to 1-formats/a2ml/neurosym/docs/ROADMAP.adoc diff --git a/neurosym-a2ml/examples/comprehensive.a2ml b/1-formats/a2ml/neurosym/examples/comprehensive.a2ml similarity index 100% rename from neurosym-a2ml/examples/comprehensive.a2ml rename to 1-formats/a2ml/neurosym/examples/comprehensive.a2ml diff --git a/neurosym-a2ml/examples/minimal.a2ml b/1-formats/a2ml/neurosym/examples/minimal.a2ml similarity index 100% rename from neurosym-a2ml/examples/minimal.a2ml rename to 1-formats/a2ml/neurosym/examples/minimal.a2ml diff --git a/neurosym-a2ml/ncl/lib/os_detect.ncl b/1-formats/a2ml/neurosym/ncl/lib/os_detect.ncl similarity index 100% rename from neurosym-a2ml/ncl/lib/os_detect.ncl rename to 1-formats/a2ml/neurosym/ncl/lib/os_detect.ncl diff --git a/neurosym-a2ml/ncl/lib/schema.ncl b/1-formats/a2ml/neurosym/ncl/lib/schema.ncl similarity index 100% rename from neurosym-a2ml/ncl/lib/schema.ncl rename to 1-formats/a2ml/neurosym/ncl/lib/schema.ncl diff --git a/neurosym-a2ml/scripts/all-shells.sh b/1-formats/a2ml/neurosym/scripts/all-shells.sh similarity index 100% rename from neurosym-a2ml/scripts/all-shells.sh rename to 1-formats/a2ml/neurosym/scripts/all-shells.sh diff --git a/neurosym-a2ml/scripts/bootstrap.sh b/1-formats/a2ml/neurosym/scripts/bootstrap.sh similarity index 100% rename from neurosym-a2ml/scripts/bootstrap.sh rename to 1-formats/a2ml/neurosym/scripts/bootstrap.sh diff --git a/neurosym-a2ml/spec/NEUROSYM-FORMAT-SPEC.adoc b/1-formats/a2ml/neurosym/spec/NEUROSYM-FORMAT-SPEC.adoc similarity index 100% rename from neurosym-a2ml/spec/NEUROSYM-FORMAT-SPEC.adoc rename to 1-formats/a2ml/neurosym/spec/NEUROSYM-FORMAT-SPEC.adoc diff --git a/neurosym-a2ml/.editorconfig b/1-formats/a2ml/playbook/.editorconfig similarity index 100% rename from neurosym-a2ml/.editorconfig rename to 1-formats/a2ml/playbook/.editorconfig diff --git a/neurosym-a2ml/.gitattributes b/1-formats/a2ml/playbook/.gitattributes similarity index 100% rename from neurosym-a2ml/.gitattributes rename to 1-formats/a2ml/playbook/.gitattributes diff --git a/playbook-a2ml/.gitignore b/1-formats/a2ml/playbook/.gitignore similarity index 100% rename from playbook-a2ml/.gitignore rename to 1-formats/a2ml/playbook/.gitignore diff --git a/playbook-a2ml/.machine_readable/descriptiles/AGENTIC.a2ml b/1-formats/a2ml/playbook/.machine_readable/descriptiles/AGENTIC.a2ml similarity index 100% rename from playbook-a2ml/.machine_readable/descriptiles/AGENTIC.a2ml rename to 1-formats/a2ml/playbook/.machine_readable/descriptiles/AGENTIC.a2ml diff --git a/playbook-a2ml/.machine_readable/descriptiles/ECOSYSTEM.a2ml b/1-formats/a2ml/playbook/.machine_readable/descriptiles/ECOSYSTEM.a2ml similarity index 100% rename from playbook-a2ml/.machine_readable/descriptiles/ECOSYSTEM.a2ml rename to 1-formats/a2ml/playbook/.machine_readable/descriptiles/ECOSYSTEM.a2ml diff --git a/playbook-a2ml/.machine_readable/descriptiles/META.a2ml b/1-formats/a2ml/playbook/.machine_readable/descriptiles/META.a2ml similarity index 100% rename from playbook-a2ml/.machine_readable/descriptiles/META.a2ml rename to 1-formats/a2ml/playbook/.machine_readable/descriptiles/META.a2ml diff --git a/playbook-a2ml/.machine_readable/descriptiles/NEUROSYM.a2ml b/1-formats/a2ml/playbook/.machine_readable/descriptiles/NEUROSYM.a2ml similarity index 100% rename from playbook-a2ml/.machine_readable/descriptiles/NEUROSYM.a2ml rename to 1-formats/a2ml/playbook/.machine_readable/descriptiles/NEUROSYM.a2ml diff --git a/playbook-a2ml/.machine_readable/descriptiles/PLAYBOOK.a2ml b/1-formats/a2ml/playbook/.machine_readable/descriptiles/PLAYBOOK.a2ml similarity index 100% rename from playbook-a2ml/.machine_readable/descriptiles/PLAYBOOK.a2ml rename to 1-formats/a2ml/playbook/.machine_readable/descriptiles/PLAYBOOK.a2ml diff --git a/playbook-a2ml/.machine_readable/descriptiles/STATE.a2ml b/1-formats/a2ml/playbook/.machine_readable/descriptiles/STATE.a2ml similarity index 100% rename from playbook-a2ml/.machine_readable/descriptiles/STATE.a2ml rename to 1-formats/a2ml/playbook/.machine_readable/descriptiles/STATE.a2ml diff --git a/playbook-a2ml/.nojekyll b/1-formats/a2ml/playbook/.nojekyll similarity index 100% rename from playbook-a2ml/.nojekyll rename to 1-formats/a2ml/playbook/.nojekyll diff --git a/playbook-a2ml/README.adoc b/1-formats/a2ml/playbook/README.adoc similarity index 100% rename from playbook-a2ml/README.adoc rename to 1-formats/a2ml/playbook/README.adoc diff --git a/playbook-a2ml/examples/comprehensive.a2ml b/1-formats/a2ml/playbook/examples/comprehensive.a2ml similarity index 100% rename from playbook-a2ml/examples/comprehensive.a2ml rename to 1-formats/a2ml/playbook/examples/comprehensive.a2ml diff --git a/playbook-a2ml/examples/minimal.a2ml b/1-formats/a2ml/playbook/examples/minimal.a2ml similarity index 100% rename from playbook-a2ml/examples/minimal.a2ml rename to 1-formats/a2ml/playbook/examples/minimal.a2ml diff --git a/playbook-a2ml/spec/PLAYBOOK-FORMAT-SPEC.adoc b/1-formats/a2ml/playbook/spec/PLAYBOOK-FORMAT-SPEC.adoc similarity index 100% rename from playbook-a2ml/spec/PLAYBOOK-FORMAT-SPEC.adoc rename to 1-formats/a2ml/playbook/spec/PLAYBOOK-FORMAT-SPEC.adoc diff --git a/playbook-a2ml/spec/playbook-spec b/1-formats/a2ml/playbook/spec/playbook-spec similarity index 100% rename from playbook-a2ml/spec/playbook-spec rename to 1-formats/a2ml/playbook/spec/playbook-spec diff --git a/state-a2ml/.editorconfig b/1-formats/a2ml/state/.editorconfig similarity index 100% rename from state-a2ml/.editorconfig rename to 1-formats/a2ml/state/.editorconfig diff --git a/state-a2ml/.gitattributes b/1-formats/a2ml/state/.gitattributes similarity index 100% rename from state-a2ml/.gitattributes rename to 1-formats/a2ml/state/.gitattributes diff --git a/state-a2ml/.gitignore b/1-formats/a2ml/state/.gitignore similarity index 100% rename from state-a2ml/.gitignore rename to 1-formats/a2ml/state/.gitignore diff --git a/state-a2ml/.gitlab-ci.yml b/1-formats/a2ml/state/.gitlab-ci.yml similarity index 100% rename from state-a2ml/.gitlab-ci.yml rename to 1-formats/a2ml/state/.gitlab-ci.yml diff --git a/state-a2ml/.machine_readable/descriptiles/AGENTIC.a2ml b/1-formats/a2ml/state/.machine_readable/descriptiles/AGENTIC.a2ml similarity index 100% rename from state-a2ml/.machine_readable/descriptiles/AGENTIC.a2ml rename to 1-formats/a2ml/state/.machine_readable/descriptiles/AGENTIC.a2ml diff --git a/state-a2ml/.machine_readable/descriptiles/ECOSYSTEM.a2ml b/1-formats/a2ml/state/.machine_readable/descriptiles/ECOSYSTEM.a2ml similarity index 100% rename from state-a2ml/.machine_readable/descriptiles/ECOSYSTEM.a2ml rename to 1-formats/a2ml/state/.machine_readable/descriptiles/ECOSYSTEM.a2ml diff --git a/state-a2ml/.machine_readable/descriptiles/META.a2ml b/1-formats/a2ml/state/.machine_readable/descriptiles/META.a2ml similarity index 100% rename from state-a2ml/.machine_readable/descriptiles/META.a2ml rename to 1-formats/a2ml/state/.machine_readable/descriptiles/META.a2ml diff --git a/state-a2ml/.machine_readable/descriptiles/NEUROSYM.a2ml b/1-formats/a2ml/state/.machine_readable/descriptiles/NEUROSYM.a2ml similarity index 100% rename from state-a2ml/.machine_readable/descriptiles/NEUROSYM.a2ml rename to 1-formats/a2ml/state/.machine_readable/descriptiles/NEUROSYM.a2ml diff --git a/state-a2ml/.machine_readable/descriptiles/PLAYBOOK.a2ml b/1-formats/a2ml/state/.machine_readable/descriptiles/PLAYBOOK.a2ml similarity index 100% rename from state-a2ml/.machine_readable/descriptiles/PLAYBOOK.a2ml rename to 1-formats/a2ml/state/.machine_readable/descriptiles/PLAYBOOK.a2ml diff --git a/state-a2ml/.machine_readable/descriptiles/STATE.a2ml b/1-formats/a2ml/state/.machine_readable/descriptiles/STATE.a2ml similarity index 100% rename from state-a2ml/.machine_readable/descriptiles/STATE.a2ml rename to 1-formats/a2ml/state/.machine_readable/descriptiles/STATE.a2ml diff --git a/state-a2ml/.nojekyll b/1-formats/a2ml/state/.nojekyll similarity index 100% rename from state-a2ml/.nojekyll rename to 1-formats/a2ml/state/.nojekyll diff --git a/state-a2ml/README.adoc b/1-formats/a2ml/state/README.adoc similarity index 100% rename from state-a2ml/README.adoc rename to 1-formats/a2ml/state/README.adoc diff --git a/state-a2ml/channels.scm b/1-formats/a2ml/state/channels.scm similarity index 100% rename from state-a2ml/channels.scm rename to 1-formats/a2ml/state/channels.scm diff --git a/state-a2ml/docs/CITATIONS.adoc b/1-formats/a2ml/state/docs/CITATIONS.adoc similarity index 100% rename from state-a2ml/docs/CITATIONS.adoc rename to 1-formats/a2ml/state/docs/CITATIONS.adoc diff --git a/state-a2ml/docs/COOKBOOK.adoc b/1-formats/a2ml/state/docs/COOKBOOK.adoc similarity index 100% rename from state-a2ml/docs/COOKBOOK.adoc rename to 1-formats/a2ml/state/docs/COOKBOOK.adoc diff --git a/state-a2ml/docs/USAGE.adoc b/1-formats/a2ml/state/docs/USAGE.adoc similarity index 100% rename from state-a2ml/docs/USAGE.adoc rename to 1-formats/a2ml/state/docs/USAGE.adoc diff --git a/state-a2ml/examples/example-state.scm b/1-formats/a2ml/state/examples/example-state.scm similarity index 100% rename from state-a2ml/examples/example-state.scm rename to 1-formats/a2ml/state/examples/example-state.scm diff --git a/state-a2ml/lib/state-core.scm b/1-formats/a2ml/state/lib/state-core.scm similarity index 100% rename from state-a2ml/lib/state-core.scm rename to 1-formats/a2ml/state/lib/state-core.scm diff --git a/state-a2ml/lib/state-graph.scm b/1-formats/a2ml/state/lib/state-graph.scm similarity index 100% rename from state-a2ml/lib/state-graph.scm rename to 1-formats/a2ml/state/lib/state-graph.scm diff --git a/state-a2ml/lib/state-history.scm b/1-formats/a2ml/state/lib/state-history.scm similarity index 100% rename from state-a2ml/lib/state-history.scm rename to 1-formats/a2ml/state/lib/state-history.scm diff --git a/state-a2ml/lib/state-kanren.scm b/1-formats/a2ml/state/lib/state-kanren.scm similarity index 100% rename from state-a2ml/lib/state-kanren.scm rename to 1-formats/a2ml/state/lib/state-kanren.scm diff --git a/state-a2ml/lib/state.scm b/1-formats/a2ml/state/lib/state.scm similarity index 100% rename from state-a2ml/lib/state.scm rename to 1-formats/a2ml/state/lib/state.scm diff --git a/state-a2ml/manifest.scm b/1-formats/a2ml/state/manifest.scm similarity index 100% rename from state-a2ml/manifest.scm rename to 1-formats/a2ml/state/manifest.scm diff --git a/state-a2ml/spec/IANA-MEDIA-TYPE.adoc b/1-formats/a2ml/state/spec/IANA-MEDIA-TYPE.adoc similarity index 98% rename from state-a2ml/spec/IANA-MEDIA-TYPE.adoc rename to 1-formats/a2ml/state/spec/IANA-MEDIA-TYPE.adoc index dd14e81b2..763ec39a3 100644 --- a/state-a2ml/spec/IANA-MEDIA-TYPE.adoc +++ b/1-formats/a2ml/state/spec/IANA-MEDIA-TYPE.adoc @@ -96,7 +96,7 @@ MUST be preserved where possible during round-trip serialization. The STATE Format Specification is available at: -* Repository: https://github.com/hyperpolymath/standards (state-a2ml/ subdirectory; previously at github.com/hyperpolymath/state.scm) +* Repository: https://github.com/hyperpolymath/standards (1-formats/a2ml/state/ subdirectory; previously at github.com/hyperpolymath/state.scm) * Specification: `spec/STATE-FORMAT-SPEC.adoc` * ABNF Grammar: `spec/abnf/state.abnf` * JSON Schema: `spec/schema/state.schema.json` diff --git a/state-a2ml/spec/README.adoc b/1-formats/a2ml/state/spec/README.adoc similarity index 100% rename from state-a2ml/spec/README.adoc rename to 1-formats/a2ml/state/spec/README.adoc diff --git a/state-a2ml/spec/STANDARDS-TRACK.adoc b/1-formats/a2ml/state/spec/STANDARDS-TRACK.adoc similarity index 99% rename from state-a2ml/spec/STANDARDS-TRACK.adoc rename to 1-formats/a2ml/state/spec/STANDARDS-TRACK.adoc index 8e3574620..eb60e475a 100644 --- a/state-a2ml/spec/STANDARDS-TRACK.adoc +++ b/1-formats/a2ml/state/spec/STANDARDS-TRACK.adoc @@ -548,7 +548,7 @@ Internet-Drafts must follow RFC 7991 (xml2rfc v3) or legacy format: == Contact Information -**Specification Repository**: https://github.com/hyperpolymath/standards (state-a2ml/ subdirectory) +**Specification Repository**: https://github.com/hyperpolymath/standards (1-formats/a2ml/state/ subdirectory) **Legacy Repository**: https://github.com/hyperpolymath/state.scm (archived; superseded by standards/state-a2ml) diff --git a/state-a2ml/spec/STATE-FORMAT-SPEC.adoc b/1-formats/a2ml/state/spec/STATE-FORMAT-SPEC.adoc similarity index 100% rename from state-a2ml/spec/STATE-FORMAT-SPEC.adoc rename to 1-formats/a2ml/state/spec/STATE-FORMAT-SPEC.adoc diff --git a/state-a2ml/spec/VERSION-POLICY.adoc b/1-formats/a2ml/state/spec/VERSION-POLICY.adoc similarity index 100% rename from state-a2ml/spec/VERSION-POLICY.adoc rename to 1-formats/a2ml/state/spec/VERSION-POLICY.adoc diff --git a/state-a2ml/spec/abnf/state.abnf b/1-formats/a2ml/state/spec/abnf/state.abnf similarity index 100% rename from state-a2ml/spec/abnf/state.abnf rename to 1-formats/a2ml/state/spec/abnf/state.abnf diff --git a/state-a2ml/spec/schema/state.schema.json b/1-formats/a2ml/state/spec/schema/state.schema.json similarity index 100% rename from state-a2ml/spec/schema/state.schema.json rename to 1-formats/a2ml/state/spec/schema/state.schema.json diff --git a/playbook-a2ml/.editorconfig b/1-formats/k9/.editorconfig similarity index 100% rename from playbook-a2ml/.editorconfig rename to 1-formats/k9/.editorconfig diff --git a/playbook-a2ml/.gitattributes b/1-formats/k9/.gitattributes similarity index 100% rename from playbook-a2ml/.gitattributes rename to 1-formats/k9/.gitattributes diff --git a/k9-svc/.gitignore b/1-formats/k9/.gitignore similarity index 100% rename from k9-svc/.gitignore rename to 1-formats/k9/.gitignore diff --git a/k9-svc/.machine_readable/descriptiles/AGENTIC.a2ml b/1-formats/k9/.machine_readable/descriptiles/AGENTIC.a2ml similarity index 100% rename from k9-svc/.machine_readable/descriptiles/AGENTIC.a2ml rename to 1-formats/k9/.machine_readable/descriptiles/AGENTIC.a2ml diff --git a/k9-svc/.machine_readable/descriptiles/ECOSYSTEM.a2ml b/1-formats/k9/.machine_readable/descriptiles/ECOSYSTEM.a2ml similarity index 100% rename from k9-svc/.machine_readable/descriptiles/ECOSYSTEM.a2ml rename to 1-formats/k9/.machine_readable/descriptiles/ECOSYSTEM.a2ml diff --git a/k9-svc/.machine_readable/descriptiles/META.a2ml b/1-formats/k9/.machine_readable/descriptiles/META.a2ml similarity index 100% rename from k9-svc/.machine_readable/descriptiles/META.a2ml rename to 1-formats/k9/.machine_readable/descriptiles/META.a2ml diff --git a/k9-svc/.machine_readable/descriptiles/NEUROSYM.a2ml b/1-formats/k9/.machine_readable/descriptiles/NEUROSYM.a2ml similarity index 100% rename from k9-svc/.machine_readable/descriptiles/NEUROSYM.a2ml rename to 1-formats/k9/.machine_readable/descriptiles/NEUROSYM.a2ml diff --git a/k9-svc/.machine_readable/descriptiles/PLAYBOOK.a2ml b/1-formats/k9/.machine_readable/descriptiles/PLAYBOOK.a2ml similarity index 100% rename from k9-svc/.machine_readable/descriptiles/PLAYBOOK.a2ml rename to 1-formats/k9/.machine_readable/descriptiles/PLAYBOOK.a2ml diff --git a/k9-svc/.machine_readable/descriptiles/STATE.a2ml b/1-formats/k9/.machine_readable/descriptiles/STATE.a2ml similarity index 98% rename from k9-svc/.machine_readable/descriptiles/STATE.a2ml rename to 1-formats/k9/.machine_readable/descriptiles/STATE.a2ml index d4f5296b3..611b3f361 100644 --- a/k9-svc/.machine_readable/descriptiles/STATE.a2ml +++ b/1-formats/k9/.machine_readable/descriptiles/STATE.a2ml @@ -221,7 +221,7 @@ (snapshot "2026-02-28" (accomplishments "Created container-deploy.k9.ncl (Hunt-level, 3 environments, rolling deploy/rollback, cerro-torre verification)" - "Created NOT-a-good-fit.adoc (k9-svc/a2ml vs alternatives, 5 DEPRECATE + 10 KEEP, decision flowchart)" + "Created NOT-a-good-fit.adoc (1-formats/k9/a2ml vs alternatives, 5 DEPRECATE + 10 KEEP, decision flowchart)" "Added Container Deployment section to GUIDE.adoc (~165 lines, security level selection guide)" "Fixed Containerfile: Debian bookworm-slim -> Chainguard wolfi-base, apt-get -> apk" "Fixed AGPL-3.0-or-later -> PMPL-1.0-or-later in Containerfile and GUIDE.adoc"))))) diff --git a/k9-svc/CODE_OF_CONDUCT.adoc b/1-formats/k9/CODE_OF_CONDUCT.adoc similarity index 100% rename from k9-svc/CODE_OF_CONDUCT.adoc rename to 1-formats/k9/CODE_OF_CONDUCT.adoc diff --git a/k9-svc/CONTRIBUTING.adoc b/1-formats/k9/CONTRIBUTING.adoc similarity index 97% rename from k9-svc/CONTRIBUTING.adoc rename to 1-formats/k9/CONTRIBUTING.adoc index b9add4a3d..60f195625 100644 --- a/k9-svc/CONTRIBUTING.adoc +++ b/1-formats/k9/CONTRIBUTING.adoc @@ -22,7 +22,7 @@ suite ### Repository Structure .... -k9-svc/ ├── src/ # Source code (Perimeter 1-2) ├── lib/ # Library code +1-formats/k9/ ├── src/ # Source code (Perimeter 1-2) ├── lib/ # Library code (Perimeter 1-2) ├── extensions/ # Extensions (Perimeter 2) ├── plugins/ # Plugins (Perimeter 2) ├── tools/ # Tooling (Perimeter 2) ├── docs/ # Documentation (Perimeter 3) │ ├── architecture/ # ADRs, specs (Perimeter diff --git a/k9-svc/DOGFOODING-OPPORTUNITIES.adoc b/1-formats/k9/DOGFOODING-OPPORTUNITIES.adoc similarity index 99% rename from k9-svc/DOGFOODING-OPPORTUNITIES.adoc rename to 1-formats/k9/DOGFOODING-OPPORTUNITIES.adoc index 1986bd3b4..40a65eb53 100644 --- a/k9-svc/DOGFOODING-OPPORTUNITIES.adoc +++ b/1-formats/k9/DOGFOODING-OPPORTUNITIES.adoc @@ -428,7 +428,7 @@ https://github.com/hyperpolymath/robot-repo-bot *What Robot-Repo-Bot Does:* - Automated repository management - Workflow validation and fixes - Security updates - Already identified as -potential K9 consumer in k9-svc/ECOSYSTEM.scm! +potential K9 consumer in 1-formats/k9/ECOSYSTEM.scm! *Why K9 Is Perfect:* - Workflows need validation before applying - K9 contracts can encode workflow rules - Self-validating workflow changes - diff --git a/k9-svc/GUIDE.adoc b/1-formats/k9/GUIDE.adoc similarity index 100% rename from k9-svc/GUIDE.adoc rename to 1-formats/k9/GUIDE.adoc diff --git a/k9-svc/IANA-MEDIA-TYPE-APPLICATION.adoc b/1-formats/k9/IANA-MEDIA-TYPE-APPLICATION.adoc similarity index 100% rename from k9-svc/IANA-MEDIA-TYPE-APPLICATION.adoc rename to 1-formats/k9/IANA-MEDIA-TYPE-APPLICATION.adoc diff --git a/k9-svc/K9-ADOPTION-EXPANSION.adoc b/1-formats/k9/K9-ADOPTION-EXPANSION.adoc similarity index 99% rename from k9-svc/K9-ADOPTION-EXPANSION.adoc rename to 1-formats/k9/K9-ADOPTION-EXPANSION.adoc index 22b7cb396..3c66f7b33 100644 --- a/k9-svc/K9-ADOPTION-EXPANSION.adoc +++ b/1-formats/k9/K9-ADOPTION-EXPANSION.adoc @@ -240,7 +240,7 @@ schema === Key Innovations -==== 1. Ultimate Dogfooding (k9-svc/release-k9.k9.ncl) +==== 1. Ultimate Dogfooding (1-formats/k9/release-k9.k9.ncl) K9-SVC releases itself using a K9 component, creating a trust chain: diff --git a/k9-svc/LICENSE b/1-formats/k9/LICENSE similarity index 100% rename from k9-svc/LICENSE rename to 1-formats/k9/LICENSE diff --git a/k9-svc/README.adoc b/1-formats/k9/README.adoc similarity index 98% rename from k9-svc/README.adoc rename to 1-formats/k9/README.adoc index c66b50d46..599388754 100644 --- a/k9-svc/README.adoc +++ b/1-formats/k9/README.adoc @@ -50,7 +50,7 @@ cerro-torre image verification, and 3 environments (dev/staging/prod). |`NOT-a-good-fit.adoc` |N/A (documentation) -|Honest comparison of k9-svc/a2ml vs alternatives (Helm, Kustomize, Terraform, etc.). +|Honest comparison of 1-formats/k9/a2ml vs alternatives (Helm, Kustomize, Terraform, etc.). 5 DEPRECATE and 10 KEEP verdicts with decision flowchart. |=== @@ -198,7 +198,7 @@ K9 takes security seriously. Self-executing components require careful design an [source] ---- -k9-svc/ +1-formats/k9/ ├── must # Environment shim (POSIX shell) ├── Justfile # Orchestration recipes ├── pedigree.ncl # Core schema (The Brain) diff --git a/k9-svc/SECURITY-ANALYSIS.adoc b/1-formats/k9/SECURITY-ANALYSIS.adoc similarity index 99% rename from k9-svc/SECURITY-ANALYSIS.adoc rename to 1-formats/k9/SECURITY-ANALYSIS.adoc index 9ee44af5f..95575dedc 100644 --- a/k9-svc/SECURITY-ANALYSIS.adoc +++ b/1-formats/k9/SECURITY-ANALYSIS.adoc @@ -624,7 +624,7 @@ K9 is a self-validating configuration format for scenarios where traditional too === Immediate Actions (Week 1) -1. **Publish this security analysis** (k9-svc/SECURITY-ANALYSIS.adoc) +1. **Publish this security analysis** (1-formats/k9/SECURITY-ANALYSIS.adoc) 2. **Add security warnings** to README, GUIDE, SPEC 3. **Create k9-scan** static analysis tool (flag dangerous commands) 4. **Add --dry-run** mode to show commands before execution diff --git a/k9-svc/SECURITY-SOLUTIONS-VS-MITIGATIONS.adoc b/1-formats/k9/SECURITY-SOLUTIONS-VS-MITIGATIONS.adoc similarity index 100% rename from k9-svc/SECURITY-SOLUTIONS-VS-MITIGATIONS.adoc rename to 1-formats/k9/SECURITY-SOLUTIONS-VS-MITIGATIONS.adoc diff --git a/k9-svc/SECURITY.adoc b/1-formats/k9/SECURITY.adoc similarity index 100% rename from k9-svc/SECURITY.adoc rename to 1-formats/k9/SECURITY.adoc diff --git a/k9-svc/SPEC.adoc b/1-formats/k9/SPEC.adoc similarity index 100% rename from k9-svc/SPEC.adoc rename to 1-formats/k9/SPEC.adoc diff --git a/k9-svc/SPEC.adoc.invariants.adoc b/1-formats/k9/SPEC.adoc.invariants.adoc similarity index 100% rename from k9-svc/SPEC.adoc.invariants.adoc rename to 1-formats/k9/SPEC.adoc.invariants.adoc diff --git a/k9-svc/TESTING.adoc b/1-formats/k9/TESTING.adoc similarity index 100% rename from k9-svc/TESTING.adoc rename to 1-formats/k9/TESTING.adoc diff --git a/k9-svc/assets/k9-icon.svg b/1-formats/k9/assets/k9-icon.svg similarity index 100% rename from k9-svc/assets/k9-icon.svg rename to 1-formats/k9/assets/k9-icon.svg diff --git a/k9-svc/assets/leash-diagram.svg b/1-formats/k9/assets/leash-diagram.svg similarity index 100% rename from k9-svc/assets/leash-diagram.svg rename to 1-formats/k9/assets/leash-diagram.svg diff --git a/k9-svc/assets/signing-workflow.svg b/1-formats/k9/assets/signing-workflow.svg similarity index 100% rename from k9-svc/assets/signing-workflow.svg rename to 1-formats/k9/assets/signing-workflow.svg diff --git a/k9-svc/assets/triad-diagram.svg b/1-formats/k9/assets/triad-diagram.svg similarity index 100% rename from k9-svc/assets/triad-diagram.svg rename to 1-formats/k9/assets/triad-diagram.svg diff --git a/k9-svc/capabilities.ncl b/1-formats/k9/capabilities.ncl similarity index 100% rename from k9-svc/capabilities.ncl rename to 1-formats/k9/capabilities.ncl diff --git a/k9-svc/docs/DEPLOYMENT-NARRATIVE.adoc b/1-formats/k9/docs/DEPLOYMENT-NARRATIVE.adoc similarity index 100% rename from k9-svc/docs/DEPLOYMENT-NARRATIVE.adoc rename to 1-formats/k9/docs/DEPLOYMENT-NARRATIVE.adoc diff --git a/k9-svc/docs/IANA-MEDIA-TYPE.adoc b/1-formats/k9/docs/IANA-MEDIA-TYPE.adoc similarity index 100% rename from k9-svc/docs/IANA-MEDIA-TYPE.adoc rename to 1-formats/k9/docs/IANA-MEDIA-TYPE.adoc diff --git a/k9-svc/docs/OPTIMIZATION-GUIDE.adoc b/1-formats/k9/docs/OPTIMIZATION-GUIDE.adoc similarity index 100% rename from k9-svc/docs/OPTIMIZATION-GUIDE.adoc rename to 1-formats/k9/docs/OPTIMIZATION-GUIDE.adoc diff --git a/k9-svc/docs/PERFORMANCE.adoc b/1-formats/k9/docs/PERFORMANCE.adoc similarity index 99% rename from k9-svc/docs/PERFORMANCE.adoc rename to 1-formats/k9/docs/PERFORMANCE.adoc index f63dca58e..b5345f940 100644 --- a/k9-svc/docs/PERFORMANCE.adoc +++ b/1-formats/k9/docs/PERFORMANCE.adoc @@ -27,7 +27,7 @@ K9 prioritizes: [source,bash] ---- -cd k9-svc/benchmarks +cd 1-formats/k9/benchmarks chmod +x k9-bench.sh ./k9-bench.sh ---- diff --git a/k9-svc/docs/SECURITY-BEST-PRACTICES.adoc b/1-formats/k9/docs/SECURITY-BEST-PRACTICES.adoc similarity index 100% rename from k9-svc/docs/SECURITY-BEST-PRACTICES.adoc rename to 1-formats/k9/docs/SECURITY-BEST-PRACTICES.adoc diff --git a/k9-svc/docs/SECURITY-FAQ.adoc b/1-formats/k9/docs/SECURITY-FAQ.adoc similarity index 100% rename from k9-svc/docs/SECURITY-FAQ.adoc rename to 1-formats/k9/docs/SECURITY-FAQ.adoc diff --git a/k9-svc/docs/SECURITY-FOR-DECISION-MAKERS.adoc b/1-formats/k9/docs/SECURITY-FOR-DECISION-MAKERS.adoc similarity index 100% rename from k9-svc/docs/SECURITY-FOR-DECISION-MAKERS.adoc rename to 1-formats/k9/docs/SECURITY-FOR-DECISION-MAKERS.adoc diff --git a/k9-svc/docs/SECURITY-ROADMAP.adoc b/1-formats/k9/docs/SECURITY-ROADMAP.adoc similarity index 100% rename from k9-svc/docs/SECURITY-ROADMAP.adoc rename to 1-formats/k9/docs/SECURITY-ROADMAP.adoc diff --git a/k9-svc/docs/iana/application-vnd.k9-registration.txt b/1-formats/k9/docs/iana/application-vnd.k9-registration.txt similarity index 100% rename from k9-svc/docs/iana/application-vnd.k9-registration.txt rename to 1-formats/k9/docs/iana/application-vnd.k9-registration.txt diff --git a/k9-svc/leash.ncl b/1-formats/k9/leash.ncl similarity index 100% rename from k9-svc/leash.ncl rename to 1-formats/k9/leash.ncl diff --git a/k9-svc/pedigree.ncl b/1-formats/k9/pedigree.ncl similarity index 100% rename from k9-svc/pedigree.ncl rename to 1-formats/k9/pedigree.ncl diff --git a/k9-svc/register.ncl b/1-formats/k9/register.ncl similarity index 100% rename from k9-svc/register.ncl rename to 1-formats/k9/register.ncl diff --git a/k9-svc/scripts/check-6scm.sh b/1-formats/k9/scripts/check-6scm.sh similarity index 100% rename from k9-svc/scripts/check-6scm.sh rename to 1-formats/k9/scripts/check-6scm.sh diff --git a/1-formats/sub-specs/did-you-actually-do-that/README.adoc b/1-formats/sub-specs/did-you-actually-do-that/README.adoc index 6d2cdf573..b5085a7ae 100644 --- a/1-formats/sub-specs/did-you-actually-do-that/README.adoc +++ b/1-formats/sub-specs/did-you-actually-do-that/README.adoc @@ -39,7 +39,7 @@ green*. | 2. Pre-action gating | Entropy budgets, intent classification, confirmation for risky ops — *before* an op runs. -| `agentic-a2ml/` (`AGENTIC.a2ml`) +| `1-formats/a2ml/agentic/` (`AGENTIC.a2ml`) | 3. In-session invariant gates | Contractile MUST/TRUST/BUST/DUST/ADJUST/INTEND — block at session-close / pre-push / pre-merge. diff --git a/QUICKSTART-DEV.adoc b/QUICKSTART-DEV.adoc index 36ba3c726..b543d96de 100644 --- a/QUICKSTART-DEV.adoc +++ b/QUICKSTART-DEV.adoc @@ -14,7 +14,7 @@ link:README.adoc[README.adoc] (human), link:0-AI-MANIFEST.a2ml[0-AI-MANIFEST.a2m The *product* is the specs (AsciiDoc + A2ML). The code is reference implementations and language bindings that prove them: -* *Rust/SPARK* — `a2ml/bindings/rust`, `k9-svc/bindings/rust` +* *Rust/SPARK* — `a2ml/bindings/rust`, `1-formats/k9/bindings/rust` * *Deno* — protocol reference impls (`axel-protocol`, `0-ai-gatekeeper-protocol/mcp-repo-guardian`) * *Zig* — FFI/reference targets * *AsciiDoc / A2ML* — the specs, templates, and machine-readable metadata @@ -61,7 +61,7 @@ standards/ ├── README.adoc # Human front door (routing table) ├── 0-AI-MANIFEST.a2ml # Machine front door (agent entry) ├── REGISTRY.adoc # Prose: the registry + drift automation -├── a2ml/ k9-svc/ *-a2ml/ # Foundation specs (Stream 1) +├── a2ml/ 1-formats/k9/ *-a2ml/ # Foundation specs (Stream 1) ├── *-protocol/ # Protocol specs ├── *-readiness-grades/ # ARG / FRG / CRG / TRG frameworks ├── hypatia-rules/ # Dogfooding rules incl. HYP-S006 (drift) diff --git a/README.adoc b/README.adoc index 6fa009280..baed67d8e 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:1-formats/contractiles/[1-formats/contractiles/] and the `*-a2ml/` spec dirs +| link:a2ml/[a2ml/], link:1-formats/k9/[1-formats/k9/], 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 @@ -105,32 +105,32 @@ RSR boilerplate (LICENSE, CODE_OF_CONDUCT, CONTRIBUTING, SECURITY, MAINTAINERS) |=== |Subdirectory |Former Repository |Content -|`meta-a2ml/` -|link:meta-a2ml/[meta-a2ml] +|`1-formats/a2ml/meta/` +|link:1-formats/a2ml/meta/[meta-a2ml] |META.a2ml, STATE.a2ml, ECOSYSTEM.a2ml specs, IANA registration -|`playbook-a2ml/` -|link:playbook-a2ml/[playbook-a2ml] +|`1-formats/a2ml/playbook/` +|link:1-formats/a2ml/playbook/[playbook-a2ml] |PLAYBOOK.a2ml spec -|`agentic-a2ml/` -|link:agentic-a2ml/[agentic-a2ml] +|`1-formats/a2ml/agentic/` +|link:1-formats/a2ml/agentic/[agentic-a2ml] |AGENTIC.a2ml spec, contractiles, Nickel configs -|`neurosym-a2ml/` -|link:neurosym-a2ml/[neurosym-a2ml] +|`1-formats/a2ml/neurosym/` +|link:1-formats/a2ml/neurosym/[neurosym-a2ml] |NEUROSYM.a2ml spec, Nickel configs -|`anchor-a2ml/` -|link:anchor-a2ml/[anchor-a2ml] +|`1-formats/a2ml/anchor/` +|link:1-formats/a2ml/anchor/[anchor-a2ml] |ANCHOR.a2ml spec, contractiles -|`state-a2ml/` -|link:state-a2ml/[state-a2ml] +|`1-formats/a2ml/state/` +|link:1-formats/a2ml/state/[state-a2ml] |STATE.a2ml spec, library, IANA registration -|`ecosystem-a2ml/` -|link:ecosystem-a2ml/[ecosystem-a2ml] +|`1-formats/a2ml/ecosystem/` +|link:1-formats/a2ml/ecosystem/[ecosystem-a2ml] |ECOSYSTEM.a2ml spec, IANA considerations |`standards-update/` @@ -153,37 +153,37 @@ Every Hyperpolymath repository must include these machine-readable A2ML files in |`META.a2ml` |Primary |Architecture decisions (ADRs), development practices -|link:meta-a2ml/[meta-a2ml] +|link:1-formats/a2ml/meta/[meta-a2ml] |`STATE.a2ml` |Primary |Project state, phase, milestones, session history -|link:state-a2ml/[state-a2ml] +|link:1-formats/a2ml/state/[state-a2ml] |`ECOSYSTEM.a2ml` |Primary |Ecosystem positioning, related projects -|link:ecosystem-a2ml/[ecosystem-a2ml] +|link:1-formats/a2ml/ecosystem/[ecosystem-a2ml] |`PLAYBOOK.a2ml` |Execution |Executable plans, procedures, alerts -|link:playbook-a2ml/[playbook-a2ml] +|link:1-formats/a2ml/playbook/[playbook-a2ml] |`AGENTIC.a2ml` |Execution |AI agent operational gating, entropy budgets -|link:agentic-a2ml/[agentic-a2ml] +|link:1-formats/a2ml/agentic/[agentic-a2ml] |`NEUROSYM.a2ml` |Execution |Symbolic semantics, proof obligations -|link:neurosym-a2ml/[neurosym-a2ml] +|link:1-formats/a2ml/neurosym/[neurosym-a2ml] |`ANCHOR.a2ml` |Intervention |Project recalibration/realignment -|link:anchor-a2ml/[anchor-a2ml] +|link:1-formats/a2ml/anchor/[anchor-a2ml] |=== Templates available in `1-formats/templates/` directory. @@ -383,36 +383,36 @@ standards/ | +-- AGENTIC.a2ml.template | +-- NEUROSYM.a2ml.template | +-- PLAYBOOK.a2ml.template -+-- meta-a2ml/ # META.a2ml specification (absorbed satellite) ++-- 1-formats/a2ml/meta/ # META.a2ml specification (absorbed satellite) | +-- README.adoc | +-- spec/ | +-- examples/ -+-- playbook-a2ml/ # PLAYBOOK.a2ml specification ++-- 1-formats/a2ml/playbook/ # PLAYBOOK.a2ml specification | +-- README.adoc | +-- spec/ | +-- examples/ -+-- agentic-a2ml/ # AGENTIC.a2ml specification ++-- 1-formats/a2ml/agentic/ # AGENTIC.a2ml specification | +-- README.adoc | +-- spec/ | +-- examples/ | +-- 1-formats/contractiles/ | +-- ncl/ -+-- neurosym-a2ml/ # NEUROSYM.a2ml specification ++-- 1-formats/a2ml/neurosym/ # NEUROSYM.a2ml specification | +-- README.adoc | +-- spec/ | +-- examples/ | +-- ncl/ -+-- anchor-a2ml/ # ANCHOR.a2ml specification ++-- 1-formats/a2ml/anchor/ # ANCHOR.a2ml specification | +-- README.adoc | +-- spec/ | +-- examples/ | +-- 1-formats/contractiles/ -+-- state-a2ml/ # STATE.a2ml specification ++-- 1-formats/a2ml/state/ # STATE.a2ml specification | +-- README.adoc | +-- spec/ | +-- examples/ | +-- lib/ -+-- ecosystem-a2ml/ # ECOSYSTEM.a2ml specification ++-- 1-formats/a2ml/ecosystem/ # ECOSYSTEM.a2ml specification | +-- README.adoc | +-- spec/ | +-- docs/ @@ -455,13 +455,13 @@ standards/ **A2ML Format Family (local subdirectories):** -* link:meta-a2ml/[meta-a2ml] -- META.a2ml, STATE.a2ml, ECOSYSTEM.a2ml (primary tier) -* link:playbook-a2ml/[playbook-a2ml] -- PLAYBOOK.a2ml (execution tier) -* link:agentic-a2ml/[agentic-a2ml] -- AGENTIC.a2ml (execution tier) -* link:neurosym-a2ml/[neurosym-a2ml] -- NEUROSYM.a2ml (execution tier) -* link:anchor-a2ml/[anchor-a2ml] -- ANCHOR.a2ml (intervention tier) -* link:state-a2ml/[state-a2ml] -- STATE.a2ml (primary tier) -* link:ecosystem-a2ml/[ecosystem-a2ml] -- ECOSYSTEM.a2ml (primary tier) +* link:1-formats/a2ml/meta/[meta-a2ml] -- META.a2ml, STATE.a2ml, ECOSYSTEM.a2ml (primary tier) +* link:1-formats/a2ml/playbook/[playbook-a2ml] -- PLAYBOOK.a2ml (execution tier) +* link:1-formats/a2ml/agentic/[agentic-a2ml] -- AGENTIC.a2ml (execution tier) +* link:1-formats/a2ml/neurosym/[neurosym-a2ml] -- NEUROSYM.a2ml (execution tier) +* link:1-formats/a2ml/anchor/[anchor-a2ml] -- ANCHOR.a2ml (intervention tier) +* link:1-formats/a2ml/state/[state-a2ml] -- STATE.a2ml (primary tier) +* link:1-formats/a2ml/ecosystem/[ecosystem-a2ml] -- ECOSYSTEM.a2ml (primary tier) * link:standards-update/[standards-update] -- Standards update tooling **RSR/Rhodium:** diff --git a/SECURITY-ADVISORIES.adoc b/SECURITY-ADVISORIES.adoc index c57fddd44..fccbd2e4c 100644 --- a/SECURITY-ADVISORIES.adoc +++ b/SECURITY-ADVISORIES.adoc @@ -33,12 +33,12 @@ version: `rand` 0.9.3. Severity: low. |=== |Manifest |Path to `rand` |Exposure |Blocker -|`k9-svc/k9-sign/Cargo.toml` +|`1-formats/k9/k9-sign/Cargo.toml` |Direct declaration (`rand = "0.8"`) + `ed25519-dalek` 2.2 for Ed25519 keygen. |Production. Uses `rand::rngs::OsRng` as the CSPRNG for signing-key generation — never invokes the global `rand::rng()` path that the advisory targets. |`ed25519-dalek` 2.x requires `rand_core` 0.6; only `ed25519-dalek` 3.0 (currently pre-release `3.0.0-pre.6`) uses `rand_core` 0.9. Stable-track upgrade blocked until `ed25519-dalek` 3.x stabilises upstream. -|`k9-svc/tools/src/k9-init/Cargo.lock` +|`1-formats/k9/tools/src/k9-init/Cargo.lock` |Transitive via `tera` 1.20 → `rand` 0.8.5; also `phf_generator` → `chrono-tz-build` (build-dep only). |Build-time / template-render only. `k9-init` does not install a custom global logger. |`tera` 1.x still pins `rand` 0.8. Fix requires upstream `tera` 2.x migration (or a replacement template engine). diff --git a/TEST-NEEDS.adoc b/TEST-NEEDS.adoc index ea0bba28c..f3344c7b4 100644 --- a/TEST-NEEDS.adoc +++ b/TEST-NEEDS.adoc @@ -188,9 +188,9 @@ small/medium/large_manifest throughput - Render medium throughput - Round-trip (parse+render) for small/medium/large - TrustLevel comparison micro-benchmark -==== k9-svc/bindings/rust — 45 tests (Rust) +==== 1-formats/k9/bindings/rust — 45 tests (Rust) -Run: `+cargo test+` from `+k9-svc/bindings/rust/+` +Run: `+cargo test+` from `+1-formats/k9/bindings/rust/+` All 45 tests pass (9 inline unit tests + 3 doc tests + 33 CRG C integration tests). @@ -211,7 +211,7 @@ in origin, 1MB no panic, null bytes no panic, unicode no panic (4 tests) message (2 tests) - [x] *E2E/Reflexive*: parse .k9 fixtures from k9-svc dir, round-trip constructed component (2 tests) -*Benchmarks*: `+cargo bench+` from `+k9-svc/bindings/rust/+` - Parse +*Benchmarks*: `+cargo bench+` from `+1-formats/k9/bindings/rust/+` - Parse small/medium/multi-component throughput - Render medium throughput - Round-trip (parse+render) for small/medium/multi - SecurityLevel::from_str micro-benchmark @@ -221,14 +221,14 @@ SecurityLevel::from_str micro-benchmark * [x] Added `+proptest+` + `+criterion+` dev-dependencies to `+a2ml/bindings/rust/Cargo.toml+` * [x] Added `+proptest+` + `+criterion+` dev-dependencies to -`+k9-svc/bindings/rust/Cargo.toml+` +`+1-formats/k9/bindings/rust/Cargo.toml+` * [x] Created `+a2ml/bindings/rust/tests/crg_c_tests.rs+` — 36 tests covering all CRG C categories * [x] Created `+a2ml/bindings/rust/benches/a2ml_bench.rs+` — Criterion benchmarks (6 bench functions) -* [x] Created `+k9-svc/bindings/rust/tests/crg_c_tests.rs+` — 33 tests +* [x] Created `+1-formats/k9/bindings/rust/tests/crg_c_tests.rs+` — 33 tests covering all CRG C categories -* [x] Created `+k9-svc/bindings/rust/benches/k9_bench.rs+` — Criterion +* [x] Created `+1-formats/k9/bindings/rust/benches/k9_bench.rs+` — Criterion benchmarks (6 bench functions) * [x] The four runnable suites (MCP guardian, offline guardian core, A2ML Rust, K9 Rust) pass through the fail-loud `+just test+` aggregate diff --git a/TOPOLOGY.adoc b/TOPOLOGY.adoc index 3cde9a896..fdae5e4c9 100644 --- a/TOPOLOGY.adoc +++ b/TOPOLOGY.adoc @@ -22,15 +22,15 @@ ____ [cols="34%,33%,33%",options="header"] |=== | 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) +| K9 Self-Validating Components | link:1-formats/k9/[`+1-formats/k9/+`] | the K9 specification, security analysis and adoption guidance (implementations live in hyperpolymath/k9-ecosystem) | 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 -| AGENTIC.a2ml spec | link:agentic-a2ml/[`+agentic-a2ml/+`] | AI-agent operational gating / entropy budgets -| NEUROSYM.a2ml spec | link:neurosym-a2ml/[`+neurosym-a2ml/+`] | symbolic semantics / proof obligations -| PLAYBOOK.a2ml spec | link:playbook-a2ml/[`+playbook-a2ml/+`] | executable operational runbooks -| ANCHOR.a2ml spec | link:anchor-a2ml/[`+anchor-a2ml/+`] | project-recalibration intervention format +| META.a2ml spec | link:1-formats/a2ml/meta/[`+1-formats/a2ml/meta/+`] | architecture decisions / governance metadata format +| STATE.a2ml spec | link:1-formats/a2ml/state/[`+1-formats/a2ml/state/+`] | project-state metadata format (drives this registry's topology) +| ECOSYSTEM.a2ml spec | link:1-formats/a2ml/ecosystem/[`+1-formats/a2ml/ecosystem/+`] | ecosystem-positioning metadata format +| AGENTIC.a2ml spec | link:1-formats/a2ml/agentic/[`+1-formats/a2ml/agentic/+`] | AI-agent operational gating / entropy budgets +| NEUROSYM.a2ml spec | link:1-formats/a2ml/neurosym/[`+1-formats/a2ml/neurosym/+`] | symbolic semantics / proof obligations +| PLAYBOOK.a2ml spec | link:1-formats/a2ml/playbook/[`+1-formats/a2ml/playbook/+`] | executable operational runbooks +| ANCHOR.a2ml spec | link:1-formats/a2ml/anchor/[`+1-formats/a2ml/anchor/+`] | project-recalibration intervention format | A2ML — Attested Markup Language | https://github.com/hyperpolymath/a2ml/blob/main/README.adoc[`+hyperpolymath/a2ml+`] `+@ v1.0.0+` ⇗ | the typed/verified machine-readable document format; evicted from standards 2026-08-28 per #490 |=== diff --git a/agentic-a2ml/POINTER.adoc b/agentic-a2ml/POINTER.adoc new file mode 100644 index 000000000..764696b05 --- /dev/null +++ b/agentic-a2ml/POINTER.adoc @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: CC-BY-SA-4.0 +// SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell (hyperpolymath) += agentic-a2ml — MOVED +:toc: macro +:relfileprefix: ../ + +This path is a *pointer*, not content. The standard it held was relocated by the +*1-formats* district move and now lives at link:../1-formats/a2ml/agentic/[+1-formats/a2ml/agentic/+]. + +It exists so that a reference to the old path keeps resolving. Nothing under this +path is normative. + +[source,toml] +---- +# machine-readable pointer — stable shape, safe to grep +moved-to = "1-formats/a2ml/agentic/" +pointer = true +district = "1-formats" +---- diff --git a/anchor-a2ml/POINTER.adoc b/anchor-a2ml/POINTER.adoc new file mode 100644 index 000000000..0044ad30e --- /dev/null +++ b/anchor-a2ml/POINTER.adoc @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: CC-BY-SA-4.0 +// SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell (hyperpolymath) += anchor-a2ml — MOVED +:toc: macro +:relfileprefix: ../ + +This path is a *pointer*, not content. The standard it held was relocated by the +*1-formats* district move and now lives at link:../1-formats/a2ml/anchor/[+1-formats/a2ml/anchor/+]. + +It exists so that a reference to the old path keeps resolving. Nothing under this +path is normative. + +[source,toml] +---- +# machine-readable pointer — stable shape, safe to grep +moved-to = "1-formats/a2ml/anchor/" +pointer = true +district = "1-formats" +---- diff --git a/audits/assail-classifications.a2ml b/audits/assail-classifications.a2ml index f7d1874d1..19f487e91 100644 --- a/audits/assail-classifications.a2ml +++ b/audits/assail-classifications.a2ml @@ -36,7 +36,7 @@ ;; external or user input reaches the eval — parallel to ;; gitbot-fleet's fix-script carve-out. (classification - (file "k9-svc/benchmarks/k9-bench.sh") + (file "1-formats/k9/benchmarks/k9-bench.sh") (category "CommandInjection") (classification "bench-harness-own-command-table") (audit "k9-bench.sh benchmark_command/benchmark_scaling — eval over the script's own command table") @@ -142,19 +142,19 @@ rule: 'UnboundedAllocation' justification: 'Automated estate triage: reviewed as safe within its architectural boundary (e.g. local tooling, bounded reads, expected metaprogramming).' - suppression: - file: 'k9-svc/tools/src/k9-validate/src/main.rs' + file: '1-formats/k9/tools/src/k9-validate/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: - file: 'k9-svc/tools/src/k9-sign/src/main.rs' + file: '1-formats/k9/tools/src/k9-sign/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: - file: 'k9-svc/k9-sign/src/main.rs' + file: '1-formats/k9/k9-sign/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: - file: 'k9-svc/bindings/rust/src/parser.rs' + file: '1-formats/k9/bindings/rust/src/parser.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/component-readiness-grades/COMPONENT-READINESS-GRADES.a2ml b/component-readiness-grades/COMPONENT-READINESS-GRADES.a2ml index 629308f81..3adc2bff1 100644 --- a/component-readiness-grades/COMPONENT-READINESS-GRADES.a2ml +++ b/component-readiness-grades/COMPONENT-READINESS-GRADES.a2ml @@ -139,7 +139,7 @@ (automation-hooks (k9-integration (description "K9 self-validating components can automate grade promotion workflows") - (example "See k9-svc/README.adoc for Kennel/Yard/Hunt safety levels matching grade requirements") + (example "See 1-formats/k9/README.adoc for Kennel/Yard/Hunt safety levels matching grade requirements") (use-case "Grade B promotion: K9 contract validates 6+ diverse targets meet diversity-metrics before allowing promotion"))) (editorial-signoff diff --git a/component-readiness-grades/SELF-ASSESSMENT.adoc b/component-readiness-grades/SELF-ASSESSMENT.adoc index 0e79c4005..e4afc6634 100644 --- a/component-readiness-grades/SELF-ASSESSMENT.adoc +++ b/component-readiness-grades/SELF-ASSESSMENT.adoc @@ -33,7 +33,7 @@ Assessed: 2026-04-04 |**C (Self-Validated)** |PASSED -|158+ tests across 6 suites (groove grv6 10, mcp-repo-guardian 36, axel-protocol 14, repo-guardian-fs 29, a2ml/rust 47, k9-svc/rust 45). All CRG C categories present: unit, smoke, P2P, contract, aspect, E2E, benchmarks. +|158+ tests across 6 suites (groove grv6 10, mcp-repo-guardian 36, axel-protocol 14, repo-guardian-fs 29, a2ml/rust 47, 1-formats/k9/rust 45). All CRG C categories present: unit, smoke, P2P, contract, aspect, E2E, benchmarks. |**B (Broadly Validated)** |PASSED diff --git a/coordination.k9 b/coordination.k9 index f2b4d0755..7f0f33b3f 100644 --- a/coordination.k9 +++ b/coordination.k9 @@ -92,7 +92,7 @@ protected: reason: "RSR specification — the repo quality framework" - path: a2ml/ reason: "A2ML format specification and reference implementation" - - path: k9-svc/ + - path: 1-formats/k9/ reason: "K9 self-validating component specification" - path: k9-coordination-protocol/ reason: "K9 coordination protocol (this format's own spec)" diff --git a/docs/audits/audit-hypatia-cache-sha-corruption-2026-06-21.a2ml b/docs/audits/audit-hypatia-cache-sha-corruption-2026-06-21.a2ml index d45eb98e2..91ab4d5f0 100644 --- a/docs/audits/audit-hypatia-cache-sha-corruption-2026-06-21.a2ml +++ b/docs/audits/audit-hypatia-cache-sha-corruption-2026-06-21.a2ml @@ -57,8 +57,8 @@ re_enroll_scope = "out_of_scope (consumer repos + gitbot-fleet are not standar [companion_findings_nextgen_databases.k9_pedigree] file = "verisimdb/connectors/test-infra/deploy.k9.ncl" error = "Pedigree block missing 'name'" -schema_ref = "k9-svc/pedigree.ncl Metadata.name (String, no default -> mandatory)" -sample_ref = "k9-svc/pandoc/container/deploy.k9.ncl" +schema_ref = "1-formats/k9/pedigree.ncl Metadata.name (String, no default -> mandatory)" +sample_ref = "1-formats/k9/pandoc/container/deploy.k9.ncl" fix = "add metadata.name; ideally metadata.version + validation.pedigree_version + trust_level/security_level ('Kennel|'Yard|'Hunt)" scope = "out_of_scope (nextgen-databases repo-internal, pre-existing)" diff --git a/docs/audits/audit-hypatia-cache-sha-corruption-2026-06-21.adoc b/docs/audits/audit-hypatia-cache-sha-corruption-2026-06-21.adoc index f86450fd3..f150581bc 100644 --- a/docs/audits/audit-hypatia-cache-sha-corruption-2026-06-21.adoc +++ b/docs/audits/audit-hypatia-cache-sha-corruption-2026-06-21.adoc @@ -104,10 +104,10 @@ These surfaced on `nextgen-databases` alongside the central failure. They are **repo-internal**, pre-existing, and not addressed by #394: . *K9 pedigree validation.* `verisimdb/connectors/test-infra/deploy.k9.ncl` - fails "Pedigree block missing 'name'". In `k9-svc/pedigree.ncl`, + fails "Pedigree block missing 'name'". In `1-formats/k9/pedigree.ncl`, `Metadata.name | String` is the only metadata field with no `default`, so it is mandatory. Fix: add `metadata.name`; per the canonical - `k9-svc/pandoc/container/deploy.k9.ncl` sample, ideally also + `1-formats/k9/pandoc/container/deploy.k9.ncl` sample, ideally also `metadata.version` + `validation.pedigree_version` and a leash level — `trust_level`/`security_level` ∈ `'Kennel | 'Yard | 'Hunt` (a shell-running `deploy.k9.ncl` is `'Hunt`). diff --git a/docs/reorg/STREAM-PROMPTS.adoc b/docs/reorg/STREAM-PROMPTS.adoc index 471cd8304..02069c050 100644 --- a/docs/reorg/STREAM-PROMPTS.adoc +++ b/docs/reorg/STREAM-PROMPTS.adoc @@ -40,7 +40,7 @@ the verifiable registry that Streams 2 and 3 build on. [source,text] ---- -Work in the hyperpolymath/standards repo (a2ml/, k9-svc/, .machine_readable/). +Work in the hyperpolymath/standards repo (a2ml/, 1-formats/k9/, .machine_readable/). This is the foundational layer: the substrate between attestation (A2ML) and validation (K9) that the whole estate uses to stay stable, in sync, and attested. @@ -88,7 +88,7 @@ descriptiles (.machine_readable/): mechanism. Add a hypatia rule that flags a descriptiles file whose content drifts from its declared profile. -K9-SVC (k9-svc/): +K9-SVC (1-formats/k9/): 9. Capability model: closed core enum (fs.read, fs.write, net.fetch, process.spawn, container.run, secret.read, deploy.apply, rollback.apply) + reserved extension namespace; default-deny. diff --git a/docs/wikis/README.adoc b/docs/wikis/README.adoc index dff9e1e1d..c36664ff1 100644 --- a/docs/wikis/README.adoc +++ b/docs/wikis/README.adoc @@ -57,7 +57,7 @@ The wiki does not replace the canonical front doors — it *teaches* them: directory — keep it in step when tracks are added. * If/when a forge-hosted wiki (GitHub/GitLab) is adopted, this directory is the source of truth and is synced *out* to the forge, never hand-edited - there. (Mirrors the estate pattern in `k9-svc/*/docs/wikis/`.) + there. (Mirrors the estate pattern in `1-formats/k9/*/docs/wikis/`.) == TODO (scaffold → complete) diff --git a/docs/wikis/developers/index.adoc b/docs/wikis/developers/index.adoc index 46be38779..acff53772 100644 --- a/docs/wikis/developers/index.adoc +++ b/docs/wikis/developers/index.adoc @@ -27,7 +27,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, `1-formats/templates/`. -* K9 self-validating components: `k9-svc/`, `k9-coordination-protocol/`. +* K9 self-validating components: `1-formats/k9/`, `k9-coordination-protocol/`. * TODO: "write a valid STATE/META set and pass Validate A2ML". === 4. The protocols diff --git a/ecosystem-a2ml/POINTER.adoc b/ecosystem-a2ml/POINTER.adoc new file mode 100644 index 000000000..0e2b02e8c --- /dev/null +++ b/ecosystem-a2ml/POINTER.adoc @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: CC-BY-SA-4.0 +// SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell (hyperpolymath) += ecosystem-a2ml — MOVED +:toc: macro +:relfileprefix: ../ + +This path is a *pointer*, not content. The standard it held was relocated by the +*1-formats* district move and now lives at link:../1-formats/a2ml/ecosystem/[+1-formats/a2ml/ecosystem/+]. + +It exists so that a reference to the old path keeps resolving. Nothing under this +path is normative. + +[source,toml] +---- +# machine-readable pointer — stable shape, safe to grep +moved-to = "1-formats/a2ml/ecosystem/" +pointer = true +district = "1-formats" +---- diff --git a/k9-svc/POINTER.adoc b/k9-svc/POINTER.adoc new file mode 100644 index 000000000..ebd1ddb08 --- /dev/null +++ b/k9-svc/POINTER.adoc @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: CC-BY-SA-4.0 +// SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell (hyperpolymath) += k9-svc — MOVED +:toc: macro +:relfileprefix: ../ + +This path is a *pointer*, not content. The standard it held was relocated by the +*1-formats* district move and now lives at link:../1-formats/k9/[+1-formats/k9/+]. + +It exists so that a reference to the old path keeps resolving. Nothing under this +path is normative. + +[source,toml] +---- +# machine-readable pointer — stable shape, safe to grep +moved-to = "1-formats/k9/" +pointer = true +district = "1-formats" +---- diff --git a/meta-a2ml/POINTER.adoc b/meta-a2ml/POINTER.adoc new file mode 100644 index 000000000..7e9c35aaa --- /dev/null +++ b/meta-a2ml/POINTER.adoc @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: CC-BY-SA-4.0 +// SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell (hyperpolymath) += meta-a2ml — MOVED +:toc: macro +:relfileprefix: ../ + +This path is a *pointer*, not content. The standard it held was relocated by the +*1-formats* district move and now lives at link:../1-formats/a2ml/meta/[+1-formats/a2ml/meta/+]. + +It exists so that a reference to the old path keeps resolving. Nothing under this +path is normative. + +[source,toml] +---- +# machine-readable pointer — stable shape, safe to grep +moved-to = "1-formats/a2ml/meta/" +pointer = true +district = "1-formats" +---- diff --git a/neurosym-a2ml/POINTER.adoc b/neurosym-a2ml/POINTER.adoc new file mode 100644 index 000000000..afd403bc3 --- /dev/null +++ b/neurosym-a2ml/POINTER.adoc @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: CC-BY-SA-4.0 +// SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell (hyperpolymath) += neurosym-a2ml — MOVED +:toc: macro +:relfileprefix: ../ + +This path is a *pointer*, not content. The standard it held was relocated by the +*1-formats* district move and now lives at link:../1-formats/a2ml/neurosym/[+1-formats/a2ml/neurosym/+]. + +It exists so that a reference to the old path keeps resolving. Nothing under this +path is normative. + +[source,toml] +---- +# machine-readable pointer — stable shape, safe to grep +moved-to = "1-formats/a2ml/neurosym/" +pointer = true +district = "1-formats" +---- diff --git a/playbook-a2ml/POINTER.adoc b/playbook-a2ml/POINTER.adoc new file mode 100644 index 000000000..bc9851188 --- /dev/null +++ b/playbook-a2ml/POINTER.adoc @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: CC-BY-SA-4.0 +// SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell (hyperpolymath) += playbook-a2ml — MOVED +:toc: macro +:relfileprefix: ../ + +This path is a *pointer*, not content. The standard it held was relocated by the +*1-formats* district move and now lives at link:../1-formats/a2ml/playbook/[+1-formats/a2ml/playbook/+]. + +It exists so that a reference to the old path keeps resolving. Nothing under this +path is normative. + +[source,toml] +---- +# machine-readable pointer — stable shape, safe to grep +moved-to = "1-formats/a2ml/playbook/" +pointer = true +district = "1-formats" +---- diff --git a/scripts/build-registry.sh b/scripts/build-registry.sh index 02865cd00..f9ed5e6f5 100755 --- a/scripts/build-registry.sh +++ b/scripts/build-registry.sh @@ -60,15 +60,15 @@ 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) +k9-svc|foundation|1-formats/k9/|K9 Self-Validating Components|the K9 specification, security analysis and adoption guidance (implementations live in hyperpolymath/k9-ecosystem) 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 -agentic-a2ml|foundation|agentic-a2ml/|AGENTIC.a2ml spec|AI-agent operational gating / entropy budgets -neurosym-a2ml|foundation|neurosym-a2ml/|NEUROSYM.a2ml spec|symbolic semantics / proof obligations -playbook-a2ml|foundation|playbook-a2ml/|PLAYBOOK.a2ml spec|executable operational runbooks -anchor-a2ml|foundation|anchor-a2ml/|ANCHOR.a2ml spec|project-recalibration intervention format +meta-a2ml|foundation|1-formats/a2ml/meta/|META.a2ml spec|architecture decisions / governance metadata format +state-a2ml|foundation|1-formats/a2ml/state/|STATE.a2ml spec|project-state metadata format (drives this registry's topology) +ecosystem-a2ml|foundation|1-formats/a2ml/ecosystem/|ECOSYSTEM.a2ml spec|ecosystem-positioning metadata format +agentic-a2ml|foundation|1-formats/a2ml/agentic/|AGENTIC.a2ml spec|AI-agent operational gating / entropy budgets +neurosym-a2ml|foundation|1-formats/a2ml/neurosym/|NEUROSYM.a2ml spec|symbolic semantics / proof obligations +playbook-a2ml|foundation|1-formats/a2ml/playbook/|PLAYBOOK.a2ml spec|executable operational runbooks +anchor-a2ml|foundation|1-formats/a2ml/anchor/|ANCHOR.a2ml spec|project-recalibration intervention format 0-ai-gatekeeper-protocol|protocol|0-ai-gatekeeper-protocol/|0-AI Gatekeeper Protocol|the AI-agent entry/gating protocol behind 0-AI-MANIFEST k9-coordination-protocol|protocol|k9-coordination-protocol/|K9 Coordination Protocol|multi-agent coordination on top of K9 avow-protocol|protocol|avow-protocol/|AVOW Protocol|consent-attested messaging / origin attribution diff --git a/standards-map.toml b/standards-map.toml index 10ecb0fb1..2a8477279 100644 --- a/standards-map.toml +++ b/standards-map.toml @@ -215,11 +215,11 @@ canonical = false canon_slot = "" canonical_doc = "1-formats/k9//index.adoc" gate = "canon-self-conformance" -note = "implementations live in hyperpolymath/k9-ecosystem per this repo's own registry" +note = "implementations live in hyperpolymath/k9-ecosystem per this repo's own registry [1-formats district move: relocated to 1-formats/k9/; this path keeps a POINTER.adoc stub]" [[entry]] from = "meta-a2ml" -target = "1-formats/a2ml/ (pointer)" +target = "1-formats/a2ml/meta/ (pointer)" district = "1-formats" kind = "format-profile" files = 38 @@ -228,11 +228,11 @@ canonical = false canon_slot = "" canonical_doc = "1-formats/a2ml//index.adoc" 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." +note = "a2ml/ evicted 2026-08-28 by 24a12d6f; these 7 profile dirs (191 files) stayed behind. Finish the eviction or revert it. [1-formats district move: relocated to 1-formats/a2ml/meta/; this path keeps a POINTER.adoc stub]" [[entry]] from = "agentic-a2ml" -target = "1-formats/a2ml/ (pointer)" +target = "1-formats/a2ml/agentic/ (pointer)" district = "1-formats" kind = "format-profile" files = 37 @@ -241,11 +241,11 @@ canonical = false canon_slot = "" canonical_doc = "1-formats/a2ml//index.adoc" 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." +note = "a2ml/ evicted 2026-08-28 by 24a12d6f; these 7 profile dirs (191 files) stayed behind. Finish the eviction or revert it. [1-formats district move: relocated to 1-formats/a2ml/agentic/; this path keeps a POINTER.adoc stub]" [[entry]] from = "state-a2ml" -target = "1-formats/a2ml/ (pointer)" +target = "1-formats/a2ml/state/ (pointer)" district = "1-formats" kind = "format-profile" files = 30 @@ -254,7 +254,7 @@ canonical = false canon_slot = "" canonical_doc = "1-formats/a2ml//index.adoc" 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." +note = "a2ml/ evicted 2026-08-28 by 24a12d6f; these 7 profile dirs (191 files) stayed behind. Finish the eviction or revert it. [1-formats district move: relocated to 1-formats/a2ml/state/; this path keeps a POINTER.adoc stub]" [[entry]] from = "1-formats/sub-specs/did-you-actually-do-that/" @@ -271,7 +271,7 @@ note = "TRIAGE: <30 files each; none is a district" [[entry]] from = "anchor-a2ml" -target = "1-formats/a2ml/ (pointer)" +target = "1-formats/a2ml/anchor/ (pointer)" district = "1-formats" kind = "format-profile" files = 25 @@ -280,11 +280,11 @@ canonical = false canon_slot = "" canonical_doc = "1-formats/a2ml//index.adoc" 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." +note = "a2ml/ evicted 2026-08-28 by 24a12d6f; these 7 profile dirs (191 files) stayed behind. Finish the eviction or revert it. [1-formats district move: relocated to 1-formats/a2ml/anchor/; this path keeps a POINTER.adoc stub]" [[entry]] from = "ecosystem-a2ml" -target = "1-formats/a2ml/ (pointer)" +target = "1-formats/a2ml/ecosystem/ (pointer)" district = "1-formats" kind = "format-profile" files = 23 @@ -293,11 +293,11 @@ canonical = false canon_slot = "" canonical_doc = "1-formats/a2ml//index.adoc" 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." +note = "a2ml/ evicted 2026-08-28 by 24a12d6f; these 7 profile dirs (191 files) stayed behind. Finish the eviction or revert it. [1-formats district move: relocated to 1-formats/a2ml/ecosystem/; this path keeps a POINTER.adoc stub]" [[entry]] from = "neurosym-a2ml" -target = "1-formats/a2ml/ (pointer)" +target = "1-formats/a2ml/neurosym/ (pointer)" district = "1-formats" kind = "format-profile" files = 23 @@ -306,11 +306,11 @@ canonical = false canon_slot = "" canonical_doc = "1-formats/a2ml//index.adoc" 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." +note = "a2ml/ evicted 2026-08-28 by 24a12d6f; these 7 profile dirs (191 files) stayed behind. Finish the eviction or revert it. [1-formats district move: relocated to 1-formats/a2ml/neurosym/; this path keeps a POINTER.adoc stub]" [[entry]] from = "playbook-a2ml" -target = "1-formats/a2ml/ (pointer)" +target = "1-formats/a2ml/playbook/ (pointer)" district = "1-formats" kind = "format-profile" files = 15 @@ -319,7 +319,7 @@ canonical = false canon_slot = "" canonical_doc = "1-formats/a2ml//index.adoc" 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." +note = "a2ml/ evicted 2026-08-28 by 24a12d6f; these 7 profile dirs (191 files) stayed behind. Finish the eviction or revert it. [1-formats district move: relocated to 1-formats/a2ml/playbook/; this path keeps a POINTER.adoc stub]" [[entry]] from = "1-formats/templates/" diff --git a/state-a2ml/POINTER.adoc b/state-a2ml/POINTER.adoc new file mode 100644 index 000000000..f3791f1ab --- /dev/null +++ b/state-a2ml/POINTER.adoc @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: CC-BY-SA-4.0 +// SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell (hyperpolymath) += state-a2ml — MOVED +:toc: macro +:relfileprefix: ../ + +This path is a *pointer*, not content. The standard it held was relocated by the +*1-formats* district move and now lives at link:../1-formats/a2ml/state/[+1-formats/a2ml/state/+]. + +It exists so that a reference to the old path keeps resolving. Nothing under this +path is normative. + +[source,toml] +---- +# machine-readable pointer — stable shape, safe to grep +moved-to = "1-formats/a2ml/state/" +pointer = true +district = "1-formats" +---- diff --git a/toolchain-readiness-grades/TOOLCHAIN-READINESS-GRADES.a2ml b/toolchain-readiness-grades/TOOLCHAIN-READINESS-GRADES.a2ml index 8efd24a0a..d5815eac0 100644 --- a/toolchain-readiness-grades/TOOLCHAIN-READINESS-GRADES.a2ml +++ b/toolchain-readiness-grades/TOOLCHAIN-READINESS-GRADES.a2ml @@ -349,7 +349,7 @@ (automation-hooks (k9-integration (description "K9 self-validating components can automate TRG compliance checking") - (example "See k9-svc/README.adoc for Kennel/Yard/Hunt safety levels matching grade requirements") + (example "See 1-formats/k9/README.adoc for Kennel/Yard/Hunt safety levels matching grade requirements") (use-case "Grade C promotion: K9 contract validates dogfood users meet diversity-metrics before allowing promotion") (use-case "Grade B promotion: K9 contract validates downstream targets meet diversity-metrics and validates 100+ distinct external users")))