From 1d31387ba6cb0b96aa06b6213a0fcd62fdc88199 Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Sun, 20 Sep 2026 14:22:12 +0000 Subject: [PATCH] =?UTF-8?q?chore(phase3):=20honest=20integration=20audit?= =?UTF-8?q?=20=E2=80=94=20no=20fake=20cartridges=20or=20Groove=20REST?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Panoply is a library. Do not mint a BoJ cartridge. Disable template REST on groove.deed. Record gossamer/burble/cleave/spline as Phase 8. Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com> --- .machine_readable/6a2/ECOSYSTEM.deed | 8 +++- .machine_readable/integrations/groove.deed | 41 ++++++-------------- docs/reports/PHASE-3-INTEGRATIONS.adoc | 44 ++++++++++++++++++++++ docs/status/ROADMAP.adoc | 8 ++++ features/boj-server/README.adoc | 18 ++++----- 5 files changed, 80 insertions(+), 39 deletions(-) create mode 100644 docs/reports/PHASE-3-INTEGRATIONS.adoc diff --git a/.machine_readable/6a2/ECOSYSTEM.deed b/.machine_readable/6a2/ECOSYSTEM.deed index a2e1b00..b2bfe16 100644 --- a/.machine_readable/6a2/ECOSYSTEM.deed +++ b/.machine_readable/6a2/ECOSYSTEM.deed @@ -10,7 +10,13 @@ (related (project :name affinescript :relationship lessons-source) - (project :name standards :relationship standard-source)) + (project :name standards :relationship standard-source) + (project :name boj-server-cartridges :relationship registry-not-consumed) + (project :name groove :relationship protocol-not-advertised) + (project :name spline :relationship wire-layer-not-applied) + (project :name cleave :relationship adjacent-law-not-applied) + (project :name gossamer :relationship n-a-no-gui) + (project :name burble :relationship n-a-no-voice)) (not-the-same-as (project :name affinescript :why "broad surface language vs envelope-first discipline"))) diff --git a/.machine_readable/integrations/groove.deed b/.machine_readable/integrations/groove.deed index bbad571..a7dab63 100644 --- a/.machine_readable/integrations/groove.deed +++ b/.machine_readable/integrations/groove.deed @@ -1,38 +1,21 @@ -; SPDX-License-Identifier: MPL-2.0 -; Groove Protocol Manifest — declares API surfaces this project exposes. -; -; Consumed by the Groove bridge / zig-unified-api-adapter for snap-on/snap-off -; service discovery. Edit this file to match your project's actual APIs. -; -; See: https://github.com/hyperpolymath/standards/tree/main/groove-protocol - +;; SPDX-License-Identifier: MPL-2.0 +;; Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) +;; +;; Panoply is a library, not a Groove provider. Port 0, no surfaces. +;; Spec lives in metadatastician/groove (working draft). Do not enable +;; REST/gRPC/etc. until a process exists to advertise. (groove-manifest (version "1.0") - - ; Service identity — replace panoply with your project name (service "panoply") (service-version "0.1.0") - - ; Primary port — MUST be unique across the ecosystem. - ; Check PORT-REGISTRY.md in the standards repo before assigning. - ; https://github.com/hyperpolymath/standards/blob/main/PORT-REGISTRY.md - (port 0) ; 0 = not assigned yet — run `just groove-setup` to assign - - ; API surfaces this project exposes (dodeca-API) - ; Remove lines for API types you don't use. + (port 0) (api-surfaces - (rest (enabled true) (path "/api/v1")) - (grpc (enabled false) (port-offset 1)) - (graphql (enabled false) (path "/graphql")) + (rest (enabled false) (path "/api/v1")) + (grpc (enabled false) (port-offset 1)) + (graphql (enabled false) (path "/graphql")) (websocket (enabled false) (path "/ws")) - (sse (enabled false) (path "/events")) - (groove (enabled true) (path "/.well-known/groove"))) - - ; Health endpoint — used by Groove discovery + (sse (enabled false) (path "/events")) + (groove (enabled false) (path "/.well-known/groove"))) (health "/health") - - ; Capabilities — what this service can do for others (capabilities ()) - - ; Dependencies — what this service needs from others (dependencies ())) diff --git a/docs/reports/PHASE-3-INTEGRATIONS.adoc b/docs/reports/PHASE-3-INTEGRATIONS.adoc new file mode 100644 index 0000000..3ad2e2e --- /dev/null +++ b/docs/reports/PHASE-3-INTEGRATIONS.adoc @@ -0,0 +1,44 @@ +// SPDX-License-Identifier: CC-BY-SA-4.0 +// Copyright (c) Jonathan D.A. Jewell += Phase 3 — Integrations & cartridges +:revdate: 2026-09-20 + +Panoply is an **envelope-first language discipline** (Idris2 ABI + Zig FFI +library). It is not a server, desktop shell, or voice platform. + +== 3.1 boj-server-cartridge + +Classification: 🔴 audit → **N/A as author**; holding as consumer. + +* Registry exists: https://github.com/hyperpolymath/boj-server-cartridges + (plural). Hosts (`boj-server`, panll) fetch cartridges on demand. +* Panoply does **not** mint a cartridge: there is no MCP/BoJ capability + surface and no host runtime. +* `features/boj-server/` remains a README holding, not an installed cartridge. +* Future (Phase 8): if a Core checker ever needs a BoJ capability, consume a + cartridge from the registry — do not vendor one here. + +== 3.2 gossamer & burble + +Classification: 🔴 audit → **not relevant now** (🟡 adaptive later). + +* **gossamer** — desktop shell / groove consumer (native window around a web + frontend). Panoply has no GUI (launcher is `just`). +* **burble** — voice-first communications. Panoply has no voice plane. +* No integration to verify. Roadmap Phase 8 if a GUI or voice projection appears. + +== 3.3 groove, spline, cleave + +Classification: 🔴 audit → 🟠 corrective (groove lie) + 🟢 Phase 8. + +* **groove** (`metadatastician/groove`) — working draft 0.3; CLI + reference + provider exist **in that repo**. Panoply shipped a template + `groove.deed` with REST enabled and no HTTP server — **false**. Corrected: + all API surfaces disabled, port 0, no capabilities. +* **spline** — experimental seed; wire layer for groove. Not applied. +* **cleave** — design corpus toward a transmutable FFI↔SNIF↔protocol dial. + Conceptually adjacent to panoply ABI/FFI/API law, **not implemented here**. + Do not pretend the Zig adapter is a cleave kernel. + +Phase 8: consume groove (probe-only, bare-by-default) when there is a process +to advertise; consider cleave once SNIF/host exists; spline only with groove. diff --git a/docs/status/ROADMAP.adoc b/docs/status/ROADMAP.adoc index 935abf0..e9e639a 100644 --- a/docs/status/ROADMAP.adoc +++ b/docs/status/ROADMAP.adoc @@ -31,3 +31,11 @@ Design phase. Charter + RSR spine + Core/Evidence *specs*. No Core checker. * [ ] #9 none + zig-ffi contracts (do not close) * [ ] #10 ABI-1 in-tree Idris2 (do not close; typecheck SKIP without idris2) * [ ] #11 Hypatia ignore from findings dump + +== Phase 8 — deferred integrations + +* [ ] BoJ: consume a cartridge from `boj-server-cartridges` only if a host capability is needed +* [ ] Groove: advertise `/.well-known/groove` only when panoply has a process (bare-by-default until then) +* [ ] Cleave: map ABI/FFI/API dial once a SNIF/host exists +* [ ] Spline: only with a live groove session +* [ ] Gossamer / burble: only if a GUI or voice projection appears diff --git a/features/boj-server/README.adoc b/features/boj-server/README.adoc index 25f08a1..542ab24 100644 --- a/features/boj-server/README.adoc +++ b/features/boj-server/README.adoc @@ -1,16 +1,16 @@ // SPDX-License-Identifier: CC-BY-SA-4.0 // Copyright (c) Jonathan D.A. Jewell -= BoJ Server Integration += BoJ Server — holding (not a cartridge) :icons: font -This unit provides a "starting hand" for integrating with the **BoJ-Server** (Box of Justice) ecosystem — a high-rigor, verified server infrastructure. +Panoply is **not** a BoJ host and does **not** ship a cartridge. -== Integration Options +Canonical registry: +https://github.com/hyperpolymath/boj-server-cartridges -* **Core:** Use BoJ-Server as the primary verified backend for this project. -* **Bridge:** Utilize the BoJ-Server IPC bridge for cross-boundary communication. +Hosts (`boj-server`, panll) fetch cartridges from that registry. This +directory exists so the RSR feature slot is occupied with an honest +decline, not a fake integration. -== Related Repository - -For the full specification and source, visit: -https://github.com/hyperpolymath/boj-server +Phase 8: consume a registry cartridge if a Core checker needs a BoJ +capability. Do not vendor cartridge source here.