all case studies

What this study is

The first filled template. Workspace C ran Jade-approved intent through Ozzy packet, lifecycle, mutation proposal, and a production Trust receipt that verifies offline. Use this page in Jade planning meetings and in Ozzy sessions so every seat knows the seam they own.

Stack (protocols, not vendors)

Jade Planner

Portfolio, Working Groups, Review Queue, GitHub Evidence display. Emits SHA-pinned PrMutationIntent. Never parses PRs, signs receipts, or applies GitHub writes.

https://dev.jadeplanner.link

Ozzy Dev

PrWorkPacket, evidence-derived lifecycle, mutation policy, Trust receipts, harness, memory tools. Computes and signs. Does not own Jade product UX.

http://127.0.0.1:5173

KnowYourModel

Agent cards, model/tool_profile/permissions. Identity source of truth this release. Homeport grants deferred.

https://knowyourmodel.ai

Cubicle

Host compile: local-mac (this machine) + cloudflare-dynamic-worker (published 0.2.0). Isolation is process/worktree/MCP profile — not containers in Kilo.

/packages

Trust Receipts

Kind-only additive ADR-009 (payload.kind=trust). Live emit stamps assurance=production. Offline verifier rechecks Ed25519 + hash without the console as authority.

/research/verifiable-agentic-delivery

Step by step — the measured run

  1. 01 · Planner (Jade)

    Approve the REQ in a Working Group. Cite the approval on the PR Spec Reference (REQ-1… tokens).

    Jade /app/working-groups

  2. 02 · Ozzy product-mcp

    build_pr_work_packet pins head SHA + payload_digest. verify_packet_approvals refuses a missing Approval citation.

    product-mcp · Jade ingest /api/jade/control-plane/ingest

  3. 03 · Ozzy product-mcp

    compute_pr_lifecycle derives state from the packet (never PR checkboxes). Ingest the jade_transition.

    lifecycle → Jade D1 jade_pr_lifecycle_states

  4. 04 · Planner (Jade)

    Working Group form lists ingested projections. Emit PrMutationIntent (comment / labels / reviewers / machine section). Capability default is propose_only.

    Jade Working Group · action request pr_mutation_intent

  5. 05 · Ozzy product-mcp

    propose_pr_mutation compare-before-write. Policy v0.1 is dry-run — Jade never applies GitHub writes.

    applied_dry_run · live_apply_enabled=false

  6. 06 · Ozzy product-mcp

    issue_trust_receipt dry_run=false → assurance=production + {body, envelope}. verify_trust_bundle_offline rechecks signature offline.

    rc-06FZMVQX930FQVPS6HCEKZC228

Evidence (cite these, not chat logs)

Who plays what

Jade PM / Working Group lead

Own the REQ, cite Approval, emit mutation intents from ingested packets, never ask Ozzy to “just push”.

Ozzy operator

Keep console :5173 healthy, vault jade-ingest + Linear/GitHub, run product-mcp tools, never merge PRs.

Implementer (KYM card)

nexartis:harness/implementer — model + tool_profile from the card. Do not pass agent_role as an OpenCode agent (s19 500).

Verifier / reviewer

Offline-verify the Trust bundle. Confirm packet digest still matches HEAD before any apply policy change.

Deployment — local-first, then Cubes / Core Cubis

The power of the model is that Jade and Ozzy stay complementary products. Another team does not fork the control plane. They instantiate the same protocols: ingest bearer, SHA-pinned packets, propose-only mutations, tenant-bound Trust receipts, KYM cards as identity.

This workspace (local-first)

Nested repos + ozzydev bootstrap + shared console D1 + per-cubicle codesearch/serena. Kilo is an ambient client, not a Cubicle runtime.

Operator dogfood and every C session.

Jade as a Cube

jadeplanner-link already deploys as a Cloudflare Worker (dev.jadeplanner.link / jadeplanner.link) with its own D1. Future: a customized Jade instance provisioned as a Cube on Pegasus/dispatch, still consuming Ozzy packets over the ingest bearer — never reimplementing parse/sign/apply.

A second planning team wants their own room without a second control plane.

Ozzy as a standalone Core Cubi

The console + native MCPs + product-mcp are already a Core Cubi shape: one machine, one vault, signed receipts. Another team clones ozzydev, bootstraps, points KYM cards at their tenant. Same protocols, different workspace ULID.

A delivery team wants the Trust stack without Jade, or with their own planner.

Paired Jade + Ozzy for another org

Copy the seam (ingest + projections + PrMutationIntent), not the vendors. Tenant-bound Trust receipts (issuer.tenant_id === relying_party.tenant_id). Each pair earns coherence independently — receipts do not silently cross tenants.

The first external regulated-partner experiment (Phase 4 later).

Template fields for the next study

  • Tenant pair (Jade instance ULID × Ozzy workspace ULID).
  • Approval receipt id (rc-…) cited on the PR Spec Reference.
  • Packet id + head SHA + payload_digest.
  • Lifecycle state + transition receipt.
  • Mutation intent id + policy outcome (dry-run vs applied).
  • Trust receipt id + offline verify result.
  • What is explicitly not claimed.

Not claimed

  • Live GitHub apply (mutation policy v0.1 remains dry-run).
  • External regulated partner.
  • Homeport grants / NANDA federation (identity is KYM-direct).
  • Containers inside Kilo.
  • Jade #13 merge (later conference lint is red; emit path itself dogfooded).