From a353529e02ae75675f8d932e0a088bfce17a1e4c Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Mon, 16 Mar 2026 14:19:09 +0000 Subject: [PATCH 1/7] chore: restructure 6a2ml files into .machine_readable/6a2/ --- .machine_readable/{ => 6a2}/AGENTIC.a2ml | 0 .machine_readable/{ => 6a2}/ECOSYSTEM.a2ml | 0 .machine_readable/{ => 6a2}/META.a2ml | 0 .machine_readable/{ => 6a2}/NEUROSYM.a2ml | 0 .machine_readable/{ => 6a2}/PLAYBOOK.a2ml | 0 .machine_readable/{ => 6a2}/STATE.a2ml | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename .machine_readable/{ => 6a2}/AGENTIC.a2ml (100%) rename .machine_readable/{ => 6a2}/ECOSYSTEM.a2ml (100%) rename .machine_readable/{ => 6a2}/META.a2ml (100%) rename .machine_readable/{ => 6a2}/NEUROSYM.a2ml (100%) rename .machine_readable/{ => 6a2}/PLAYBOOK.a2ml (100%) rename .machine_readable/{ => 6a2}/STATE.a2ml (100%) diff --git a/.machine_readable/AGENTIC.a2ml b/.machine_readable/6a2/AGENTIC.a2ml similarity index 100% rename from .machine_readable/AGENTIC.a2ml rename to .machine_readable/6a2/AGENTIC.a2ml diff --git a/.machine_readable/ECOSYSTEM.a2ml b/.machine_readable/6a2/ECOSYSTEM.a2ml similarity index 100% rename from .machine_readable/ECOSYSTEM.a2ml rename to .machine_readable/6a2/ECOSYSTEM.a2ml diff --git a/.machine_readable/META.a2ml b/.machine_readable/6a2/META.a2ml similarity index 100% rename from .machine_readable/META.a2ml rename to .machine_readable/6a2/META.a2ml diff --git a/.machine_readable/NEUROSYM.a2ml b/.machine_readable/6a2/NEUROSYM.a2ml similarity index 100% rename from .machine_readable/NEUROSYM.a2ml rename to .machine_readable/6a2/NEUROSYM.a2ml diff --git a/.machine_readable/PLAYBOOK.a2ml b/.machine_readable/6a2/PLAYBOOK.a2ml similarity index 100% rename from .machine_readable/PLAYBOOK.a2ml rename to .machine_readable/6a2/PLAYBOOK.a2ml diff --git a/.machine_readable/STATE.a2ml b/.machine_readable/6a2/STATE.a2ml similarity index 100% rename from .machine_readable/STATE.a2ml rename to .machine_readable/6a2/STATE.a2ml From 8a0d9e1d81f54e33fd0e0d5a02ed77de3c1c52ad Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Mon, 16 Mar 2026 14:19:17 +0000 Subject: [PATCH 2/7] chore: add SPDX headers to source files --- src/config_store/config_store.adb | 1 + src/config_store/config_store.ads | 1 + 2 files changed, 2 insertions(+) diff --git a/src/config_store/config_store.adb b/src/config_store/config_store.adb index 3c7b7bd..9493089 100644 --- a/src/config_store/config_store.adb +++ b/src/config_store/config_store.adb @@ -1,3 +1,4 @@ +-- SPDX-License-Identifier: PMPL-1.0-or-later with Ada.Environment_Variables; with Ada.Strings.Unbounded; with Ada.Directories; diff --git a/src/config_store/config_store.ads b/src/config_store/config_store.ads index 64b7a3d..8ee800f 100644 --- a/src/config_store/config_store.ads +++ b/src/config_store/config_store.ads @@ -1,3 +1,4 @@ +-- SPDX-License-Identifier: PMPL-1.0-or-later -- src/config_store/config_store.ads package Config_Store is -- ... other config definitions ... From 26aec85b7df4ea3106b19c114555f78bf912849b Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Mon, 16 Mar 2026 14:36:31 +0000 Subject: [PATCH 3/7] =?UTF-8?q?feat:=20add=20CLADE.a2ml=20=E2=80=94=20clad?= =?UTF-8?q?e=20taxonomy=20declaration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Part of gv-clade-index Phase 1: every repo declares its identity, primary clade, and forge mappings for the VeriSimDB central registry. Co-Authored-By: Claude Opus 4.6 (1M context) --- .machine_readable/CLADE.a2ml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .machine_readable/CLADE.a2ml diff --git a/.machine_readable/CLADE.a2ml b/.machine_readable/CLADE.a2ml new file mode 100644 index 0000000..85c73f2 --- /dev/null +++ b/.machine_readable/CLADE.a2ml @@ -0,0 +1,26 @@ +# SPDX-License-Identifier: PMPL-1.0-or-later +# Clade declaration — part of the gv-clade-index registry +# See: https://github.com/hyperpolymath/gv-clade-index + +[identity] +uuid = "15105645-61bc-559b-9e88-c11916719ac0" +primary-forge = "github" +primary-owner = "hyperpolymath" +canonical-name = "modshells" +prefixed-name = "nl-modshells" + +[clade] +primary = "nl" +secondary = ["ix"] +assigned = "2026-03-16" +rationale = "" + +[forges] +github = "hyperpolymath/modshells" +gitlab = "hyperpolymath/modshells" +bitbucket = "hyperpolymath/modshells" + +[lineage] +type = "standalone" +parent = "Modular shell framework" +born = "2026-03-16" From 259cc87b302caea0f5349bb3b7d47bb66e24d0c1 Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Mon, 16 Mar 2026 14:42:08 +0000 Subject: [PATCH 4/7] chore: update manifest paths to .machine_readable/6a2/ --- .claude/CLAUDE.md | 14 +++++++------- 0-AI-MANIFEST.a2ml | 34 +++++++++++++++++----------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md index 1f18a05..c9d7b96 100644 --- a/.claude/CLAUDE.md +++ b/.claude/CLAUDE.md @@ -2,12 +2,12 @@ The following files in `.machine_readable/` contain structured project metadata: -- `STATE.scm` - Current project state and progress -- `META.scm` - Architecture decisions and development practices -- `ECOSYSTEM.scm` - Position in the ecosystem and related projects -- `AGENTIC.scm` - AI agent interaction patterns -- `NEUROSYM.scm` - Neurosymbolic integration config -- `PLAYBOOK.scm` - Operational runbook +- `.machine_readable/6a2/STATE.a2ml` - Current project state and progress +- `.machine_readable/6a2/META.a2ml` - Architecture decisions and development practices +- `.machine_readable/6a2/ECOSYSTEM.a2ml` - Position in the ecosystem and related projects +- `.machine_readable/6a2/AGENTIC.a2ml` - AI agent interaction patterns +- `.machine_readable/6a2/NEUROSYM.a2ml` - Neurosymbolic integration config +- `.machine_readable/6a2/PLAYBOOK.a2ml` - Operational runbook --- @@ -28,7 +28,7 @@ The following files in `.machine_readable/` contain structured project metadata: | **Bash/POSIX Shell** | Scripts, automation | Keep minimal | | **JavaScript** | Only where ReScript cannot | MCP protocol glue, Deno APIs | | **Nickel** | Configuration language | For complex configs | -| **Guile Scheme** | State/meta files | STATE.scm, META.scm, ECOSYSTEM.scm | +| **Guile Scheme** | State/meta files | .machine_readable/6a2/STATE.a2ml, .machine_readable/6a2/META.a2ml, .machine_readable/6a2/ECOSYSTEM.a2ml | | **Julia** | Batch scripts, data processing | Per RSR | | **OCaml** | AffineScript compiler | Language-specific | | **Ada** | Safety-critical systems | Where required | diff --git a/0-AI-MANIFEST.a2ml b/0-AI-MANIFEST.a2ml index 824a69a..5545da0 100644 --- a/0-AI-MANIFEST.a2ml +++ b/0-AI-MANIFEST.a2ml @@ -14,12 +14,12 @@ This is the AI manifest for **modshells**. It declares: ### Machine-Readable Metadata: `.machine_readable/` ONLY These 6 SCM files MUST exist in `.machine_readable/` directory ONLY: -1. **STATE.scm** - Project state, progress, blockers -2. **META.scm** - Architecture decisions, governance -3. **ECOSYSTEM.scm** - Position in ecosystem, relationships -4. **AGENTIC.scm** - AI agent interaction patterns -5. **NEUROSYM.scm** - Neurosymbolic integration config -6. **PLAYBOOK.scm** - Operational runbook +1. **.machine_readable/6a2/STATE.a2ml** - Project state, progress, blockers +2. **.machine_readable/6a2/META.a2ml** - Architecture decisions, governance +3. **.machine_readable/6a2/ECOSYSTEM.a2ml** - Position in ecosystem, relationships +4. **.machine_readable/6a2/AGENTIC.a2ml** - AI agent interaction patterns +5. **.machine_readable/6a2/NEUROSYM.a2ml** - Neurosymbolic integration config +6. **.machine_readable/6a2/PLAYBOOK.a2ml** - Operational runbook **CRITICAL:** If ANY of these files exist in the root directory, this is an ERROR. @@ -40,7 +40,7 @@ Bot-specific instructions for: ## CORE INVARIANTS -1. **No SCM duplication** - Root must NOT contain STATE.scm, META.scm, etc. +1. **No SCM duplication** - Root must NOT contain .machine_readable/6a2/STATE.a2ml, .machine_readable/6a2/META.a2ml, etc. 2. **Single source of truth** - `.machine_readable/` is authoritative 3. **No stale metadata** - If root SCMs exist, they are OUT OF DATE 4. **License consistency** - All code PMPL-1.0-or-later unless platform requires MPL-2.0 @@ -58,12 +58,12 @@ modshells/ ├── README.md # Project overview ├── [your source files] # Main code ├── .machine_readable/ # SCM files (6 files) -│ ├── STATE.scm -│ ├── META.scm -│ ├── ECOSYSTEM.scm -│ ├── AGENTIC.scm -│ ├── NEUROSYM.scm -│ └── PLAYBOOK.scm +│ ├── .machine_readable/6a2/STATE.a2ml +│ ├── .machine_readable/6a2/META.a2ml +│ ├── .machine_readable/6a2/ECOSYSTEM.a2ml +│ ├── .machine_readable/6a2/AGENTIC.a2ml +│ ├── .machine_readable/6a2/NEUROSYM.a2ml +│ └── .machine_readable/6a2/PLAYBOOK.a2ml └── .bot_directives/ # Bot instructions ``` @@ -73,8 +73,8 @@ modshells/ ✅ Understand canonical locations (.machine_readable/, .bot_directives/) ✅ Know the invariants (no SCM duplication, etc.) ✅ Check for MCP enforcement (if applicable) -✅ Read `.machine_readable/STATE.scm` for current status -✅ Read `.machine_readable/AGENTIC.scm` for interaction patterns +✅ Read `.machine_readable/6a2/STATE.a2ml` for current status +✅ Read `.machine_readable/6a2/AGENTIC.a2ml` for interaction patterns ## LIFECYCLE HOOKS @@ -86,7 +86,7 @@ When starting a new session: 2. Log session start (optional but recommended) - Format: `[YYYY-MM-DD HH:MM:SS] Session started: [agent-name]` - Location: `.machine_readable/session-log.txt` -3. Read `.machine_readable/STATE.scm` +3. Read `.machine_readable/6a2/STATE.a2ml` 4. Check for blockers 5. State understanding of canonical locations @@ -94,7 +94,7 @@ When starting a new session: When ending a session: -1. Update `.machine_readable/STATE.scm` if changes made +1. Update `.machine_readable/6a2/STATE.a2ml` if changes made 2. Log session end (optional but recommended) - Format: `[YYYY-MM-DD HH:MM:SS] Session ended: [summary]` - Location: `.machine_readable/session-log.txt` From b2f8a4e012fdb747f3eb83f44666314ac421f875 Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Tue, 17 Mar 2026 21:35:47 +0000 Subject: [PATCH 5/7] =?UTF-8?q?chore:=20Big=20Unification=20=E2=80=94=20at?= =?UTF-8?q?tach=20to=20BoJ=20Server=20/=20Casket=20architecture?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/boj-build.yml | 19 +++++++++++++++++++ .machine_readable/anchors/ANCHOR.a2ml | 18 ++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 .github/workflows/boj-build.yml create mode 100644 .machine_readable/anchors/ANCHOR.a2ml diff --git a/.github/workflows/boj-build.yml b/.github/workflows/boj-build.yml new file mode 100644 index 0000000..d474939 --- /dev/null +++ b/.github/workflows/boj-build.yml @@ -0,0 +1,19 @@ +name: BoJ Server Build Trigger + +on: + push: + branches: [ main, master ] + workflow_dispatch: + +jobs: + trigger-boj: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Trigger BoJ Server (Casket/ssg-mcp) + run: | + # Send a secure trigger to boj-server to build this repository + curl -X POST "http://boj-server.local:7700/cartridges/ssg-mcp/build" -H "Content-Type: application/json" -d "{\"repo\": \"${{ github.repository }}\", \"branch\": \"${{ github.ref_name }}\", \"engine\": \"casket\"}" + continue-on-error: true diff --git a/.machine_readable/anchors/ANCHOR.a2ml b/.machine_readable/anchors/ANCHOR.a2ml new file mode 100644 index 0000000..d2bfebb --- /dev/null +++ b/.machine_readable/anchors/ANCHOR.a2ml @@ -0,0 +1,18 @@ +# ⚓ ANCHOR: modshells +# This is the canonical authority for the modshells repository. + +id: "org.hyperpolymath.modshells" +version: "1.0.0" +clade: "unknown" +status: "active" + +# SSG Configuration (Unified boj-server build) +ssg: + engine: "casket" + output_dir: "public" + boj_trigger: true + cartridge: "ssg-mcp" + +# Relationships +parents: + - "org.hyperpolymath.boj-server" From 2d85aea8777a369928d8d3852f86580d4e96292a Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Tue, 17 Mar 2026 21:46:06 +0000 Subject: [PATCH 6/7] =?UTF-8?q?chore:=20Big=20Unification=20=E2=80=94=20at?= =?UTF-8?q?tach=20to=20BoJ=20Server=20/=20Casket=20architecture?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/boj-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/boj-build.yml b/.github/workflows/boj-build.yml index d474939..b59be5f 100644 --- a/.github/workflows/boj-build.yml +++ b/.github/workflows/boj-build.yml @@ -15,5 +15,5 @@ jobs: - name: Trigger BoJ Server (Casket/ssg-mcp) run: | # Send a secure trigger to boj-server to build this repository - curl -X POST "http://boj-server.local:7700/cartridges/ssg-mcp/build" -H "Content-Type: application/json" -d "{\"repo\": \"${{ github.repository }}\", \"branch\": \"${{ github.ref_name }}\", \"engine\": \"casket\"}" + curl -X POST "http://boj-server.local:7700/cartridges/ssg-mcp/invoke" -H "Content-Type: application/json" -d "{\"repo\": \"${{ github.repository }}\", \"branch\": \"${{ github.ref_name }}\", \"engine\": \"casket\\"}"} continue-on-error: true From ef694776a02ffeff415ac37028b1c9c2dac5c845 Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Wed, 18 Mar 2026 17:13:33 +0000 Subject: [PATCH 7/7] chore(ci): maximize ci/cd values via dependabot and permissions --- .github/workflows/boj-build.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/boj-build.yml b/.github/workflows/boj-build.yml index b59be5f..610a8d6 100644 --- a/.github/workflows/boj-build.yml +++ b/.github/workflows/boj-build.yml @@ -1,19 +1,17 @@ name: BoJ Server Build Trigger - on: push: - branches: [ main, master ] + branches: [main, master] workflow_dispatch: - jobs: trigger-boj: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - - name: Trigger BoJ Server (Casket/ssg-mcp) run: | # Send a secure trigger to boj-server to build this repository curl -X POST "http://boj-server.local:7700/cartridges/ssg-mcp/invoke" -H "Content-Type: application/json" -d "{\"repo\": \"${{ github.repository }}\", \"branch\": \"${{ github.ref_name }}\", \"engine\": \"casket\\"}"} continue-on-error: true +permissions: read-all