From a3b747588ad8015805f19e94c0185ccdc73f5ef8 Mon Sep 17 00:00:00 2001 From: Michael Heller Date: Mon, 3 Aug 2026 05:32:37 -0400 Subject: [PATCH] feat(models): InferenceGateway intersection contract + Model Catalog/Leaderboard cockpit (gap #8) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Start at the cloud∩local intersection, then fan out. InferenceGateway is the shared serving seam both prophet-platform (model-fabric) and agent-machine (local) adapt to, with the existing GatewayCallAudit as the shared per-call receipt; consent-gated fail-closed. Model Catalog & Leaderboard surface = the live cockpit screen: every foundation model + OS capability, cloud/local/both placement, sovereignty×governance-weighted board, and the SP-vs-Claude-Enterprise positioning (DRAFT/VERIFY-gated). Feed-driven + producer + tests. --- .../inference-gateway-intersection.md | 49 +++++ docs/surfaces/README.md | 3 + docs/surfaces/data/model-catalog.json | 69 +++++++ docs/surfaces/model-catalog.html | 182 ++++++++++++++++++ tools/build_surface_feed.py | 2 + 5 files changed, 305 insertions(+) create mode 100644 docs/contract-additions/inference-gateway-intersection.md create mode 100644 docs/surfaces/data/model-catalog.json create mode 100644 docs/surfaces/model-catalog.html diff --git a/docs/contract-additions/inference-gateway-intersection.md b/docs/contract-additions/inference-gateway-intersection.md new file mode 100644 index 0000000..49ada9e --- /dev/null +++ b/docs/contract-additions/inference-gateway-intersection.md @@ -0,0 +1,49 @@ +# InferenceGateway — the cloud ∩ local intersection (model serving) + +**Campaign gap #8, done the right way: start at the intersection, then fan out.** +Both the cloud plane (prophet-platform model-fabric / model-router) and the local plane +(sourceos / agent-machine / noetica) serve inference. Rather than build two stacks, define +the capability **once** — the `InferenceGateway` contract — and have each side *adapt* to it. +This is the same pattern as the [ShellBackendAdapter](./agentic-shell-gitea-backend.md) +(github/gitea) and the [consent plane](./e11-consent-receipts-ux.md) (which already spans both). + +## The shared seam +| Piece | Shared contract | Cloud adapter | Local adapter | +|---|---|---|---| +| Serve a model | `InferenceGateway.serve(request) → response` | prophet-platform `model-fabric/runtime-adapter-set` | agent-machine provider activation (Ollama / on-node) | +| Per-call receipt | **`GatewayCallAudit`** (memory-mesh `schemas/gateway-call-audit.schema.json`) — already exists | ✔ emit | ✔ emit | +| Admission | consent plane: inference is purpose-bound (a remote model = `egress`) | ✔ | ✔ | + +**Request (shared):** `{ model, purpose, space, caller, input, params }`. +**Response (shared):** `{ output, usage, cost_usd?, receipt_hash }` + a `GatewayCallAudit` +(`callId · call_type · outcome · caller · model · usage · occurred_at · receipt_hash`). +A call with no admitting consent decision, or that can't emit an audit, is **refused fail-closed** — +identical rule on both planes. + +## Intersection-first, then fan out +1. **Intersection (build first):** open-weight models that run **both** cloud and local + (Llama, Qwen, DeepSeek, Mistral) + the governance capabilities that span both (consent + plane, System Graph). These are the client-owned **LLM-stable** — the sovereignty answer. +2. **Fan out — cloud-only:** Claude / GPT via API (supplier + component, not client-owned). +3. **Fan out — local-only:** on-node SLMs, gemma-2-9b (Noetica concierge default, no egress). + +## Every model + capability gets a surface across the estate +The [Model Catalog & Leaderboard](../surfaces/model-catalog.html) is the intersection cockpit +screen (cloud∩local placement + a **sovereignty × governance-weighted** leaderboard, not raw +capability alone). Each foundation model and OS capability then fans out to a screen in: +**prophet-platform** (catalog + serving), **prophet lattice** (notebooks), and the +**model leaderboards** — all reading the same `InferenceGateway` catalog + `GatewayCallAudit` +stream, so cloud and local rank on one board. + +## Positioning (governs-people vs governs-agents) +The leaderboard's sovereignty/governance weighting encodes the strategy: *Claude Enterprise +governs people; SocioProphet governs agents.* Claude is a **supplier** (API), an **addressable +competitor** (workforce layer, not agentic execution), and a **component** (one engine in the +stable). The LLM-stable reduces supplier-as-future-competitor risk. These competitive claims are +**[DRAFT · VERIFY BEFORE USE]** — require Michael/Gus sign-off before prospect/investor use. + +## Done-definition +Shared `InferenceGateway` request/response + `GatewayCallAudit` on every call; a local adapter +(agent-machine) and the cloud adapter (model-fabric) both conform; consent-gated + receipted; +the catalog/leaderboard reads one board across planes. Passes the **inference seam** purple-team +(no un-consented or un-audited call returns output). diff --git a/docs/surfaces/README.md b/docs/surfaces/README.md index 9e4dca5..d6eff78 100644 --- a/docs/surfaces/README.md +++ b/docs/surfaces/README.md @@ -43,6 +43,9 @@ the real SociOS/GNOME chrome (top bar, launcher card) so they read as in-shell, - **`lampstand-launcher.html`** — Tier 2, *actionable*. The Spotlight replacement: natural language → typed intents/entities/relations (the annotation tree) → **governed actions** (purpose-bound, consent-gated, receipted), ranked by sherlock (IR). Not web search — typed acts. +- **`model-catalog.html`** — Tier 2, *intersection cockpit*. Every foundation model + OS + capability, cloud∩local placement, a sovereignty×governance-weighted leaderboard, and the + SP-vs-Claude-Enterprise positioning (marked DRAFT/VERIFY). Backed by `inference-gateway-intersection.md`. - **`genesis-flywheel.html`** — Tier 1. The install spine + growth dynamics: the T₀–T₁₁ genesis braid (sealed, four-space colored), the five-phase zero-trust install, and the connected flywheel topology with correct ΔEP=(P−C)·X−λK / K=k₀·α·cov(A)·φ(P) / diff --git a/docs/surfaces/data/model-catalog.json b/docs/surfaces/data/model-catalog.json new file mode 100644 index 0000000..c00bbe4 --- /dev/null +++ b/docs/surfaces/data/model-catalog.json @@ -0,0 +1,69 @@ +{ + "provenance": "sample", + "generated_at": "2026-08-03T09:32:18Z", + "source": "sample seed (InferenceGateway catalog + GatewayCallAudit leaderboard)", + "models": [ + { + "name": "Claude Opus 4.8", + "prov": "Anthropic", + "runs": "cloud", + "ctx": "200k", + "cap": 97, + "sov": "vendor", + "gov": 1, + "note": "supplier + component; not client-owned" + }, + { + "name": "Llama 3.3 70B", + "prov": "Meta (open-weight)", + "runs": "both", + "ctx": "128k", + "cap": 86, + "sov": "owned", + "gov": 2, + "note": "the LLM-stable answer — client-owned" + }, + { + "name": "DeepSeek-V3", + "prov": "DeepSeek (open-weight)", + "runs": "both", + "ctx": "128k", + "cap": 88, + "sov": "owned", + "gov": 2, + "note": "strong reasoning; client-hostable" + }, + { + "name": "gemma-2-9b-it", + "prov": "Google (open-weight)", + "runs": "local", + "ctx": "8k", + "cap": 64, + "sov": "owned", + "gov": 2, + "note": "noetica on-node; fully local" + } + ], + "capabilities": [ + { + "name": "Consent plane", + "prov": "agent-standards", + "runs": "both", + "ctx": "—", + "cap": 90, + "sov": "owned", + "gov": 2, + "note": "the governance intersection" + }, + { + "name": "System Graph", + "prov": "hellgraph (vendored)", + "runs": "both", + "ctx": "—", + "cap": 80, + "sov": "owned", + "gov": 2, + "note": "netwatch ingest" + } + ] +} diff --git a/docs/surfaces/model-catalog.html b/docs/surfaces/model-catalog.html new file mode 100644 index 0000000..b8e31a7 --- /dev/null +++ b/docs/surfaces/model-catalog.html @@ -0,0 +1,182 @@ +SociOS — Model Catalog & Leaderboard + + + +
+

Model Catalog & Leaderboard

cockpit · intersection surface + +
+

Every foundation model and OS capability, with where it runs — cloud (prophet-platform) ∩ local (sourceos/noetica). The intersection (runs both) is the shared core to build first; the edges fan out. Ranked not on raw capability alone but sovereignty × governance-weighted — because the client owning their stack and every call being governed is the thesis.

+ +
+ CLOUD prophet-platform + LOCAL sourceos / agent-machine + BOTH ▸ intersection build first + 🛡 = governed under the SP agent layer +
+ +
+
+

Catalog

+
+
+ +
+
+

Leaderboard SP-weighted

+
+ + +
+
+
+ +
+

Positioning vs Claude Enterprise

+
+

Claude Enterprise governs people.
SocioProphet governs agents. DRAFT · VERIFY

+
+
supplier
Claude via API — one engine in the client's LLM stable.
+
competitor
Answer to "we already have Claude": it governs the workforce interface, not agentic execution.
+
component
Claude Enterprise + SocioProphet coexist — different layers, buyers, examiner conversations. NEEDS APPROVAL
+
supplier-risk
API dependency on a future competitor → the LLM-stable (open-weight, client-owned) is the architectural answer. NEEDS APPROVAL
+
+
+
+
+
+ +

+ Reads the shared InferenceGateway contract; every call emits a GatewayCallAudit receipt (cloud & local alike). Competitive claims marked DRAFT · VERIFY require Michael/Gus sign-off before external use.
+ Intersection surface · fans out to per-model screens in prophet-platform · lattice · notebooks. +

+
+ + diff --git a/tools/build_surface_feed.py b/tools/build_surface_feed.py index b6d9878..3258b48 100644 --- a/tools/build_surface_feed.py +++ b/tools/build_surface_feed.py @@ -18,11 +18,13 @@ "b11": ["spaces", "tripwires", "transitions"], "e11": ["surfaces", "receipts", "governor"], "turn-witness": ["turns"], + "model-catalog": ["models", "capabilities"], } SOURCE_HINT = { "b11": "netwatch snapshot + guardrail-fabric transitions", "e11": "consent-plane catalog (spaces_v1.yaml) + receipt stream + Governor queue", "turn-witness": "App-Intents parser output", + "model-catalog": "InferenceGateway catalog + GatewayCallAudit leaderboard", }