P2 council pipeline is GRACE-governed: STRATT owns, ZOID consumes via GRACE
Date: 2026-07-07 Status: open Supersedes: none Superseded-by: none — current
Context
Section titled “Context”Neverland P2 closes the council pipeline (edges E4/E5/E6) — the
control-plane half of the fleet. The connector map flagged one product
call: STRATT has a real council engine (18 council dirs, RunSessionInput)
while SO1’s ZOID is a separate 8-persona agent concept using the same word.
The operator resolved the ownership and added the governing layer that reframes the whole pipeline: GRACE (grace-hq) is the Verifiable Agentic Prompt Architecture (VAPA) — the protocol STRATT implements — and the governing agentic layer for all OpenClaw operations. ZOID runs on OpenClaw (claw.so1.io) but is GRACE-blind today: its 8 personas (Anvil/Bard/Vault/…) are self-defined, not mapped to GRACE’s 16 Martian-named agents across 9 real councils (pathfinder/hermes/athena/bastion/compass/herald/terra/dendrite/primer). ZOID must become GRACE-aware without losing its powers (persona flavor, n8n council-workflows CW-01…07, Discord surfaces).
Decision
Section titled “Decision”STRATT owns “council”; ZOID consumes STRATT councils through GRACE governance. The pipeline is not ZOID→STRATT direct — it is ZOID→(GRACE-governed)→STRATT, with KAHN as the telemetry sink:
- GRACE is the governance envelope. Every council-governed operation is
a
stratt run --council <c> --outcome <o>invocation that loads the council’s SPEC-04 gate authority + protected agents, produces a SPEC-05 execution trace, and returns an exit code. GRACE has no HTTP API; it is the OpenClaw agent + file protocol +strattCLI. - ZOID keeps its powers, gains GRACE-awareness by mapping each of its 8
personas onto a GRACE council/domain, and routing its consultations
through
stratt run --councilinstead of hard-coded LLM fan-out. ZOID’s n8n workflows and Discord output are unchanged; only the decision layer becomes GRACE-governed. - CAIRNET is the shared visibility bus. Outcomes surface as CAIRNET
stones (
agentic-emission.v1/agentic-reaction.v1) — the schemas PETROVA already ships (schemas/agentic-*.v1.json) and GRACE already uses. No new cross-fleet event contract is needed.
The three P2 contracts
Section titled “The three P2 contracts”| Edge | Contract | Owner | Shape |
|---|---|---|---|
| E6 | kahn.session_ingest.v1 (built, kahn #89) | KAHN | SPEC-05 council session trace → transitions.jsonl; GRACE context (council, gate_authority/status, chain_uri, fingerprint, quality_score) in run_type="council_session" + session_meta. |
| E4 | so1.council-endpoint.v1 (next) | SO1 | FORGE endpoint accepting a GRACE council verdict (RunSessionInput outcome + SPEC-04 gate status) to gate an execution. |
| E5 | ZOID persona→GRACE-council map + stratt run routing (next) | SO1/ZOID | ZOID consultations invoke GRACE-governed councils; personas map to the 9 real councils; CAIRNET emission on outcome. |
Sequencing (operator-chosen: contracts + KAHN first)
Section titled “Sequencing (operator-chosen: contracts + KAHN first)”- E6
kahn.session_ingest.v1— DONE (kahn #89). The council analogue ofci_bridge. Council sessions now land on the KAHN Scope board, GRACE-aware. - E4
so1.council-endpoint.v1— SO1 FORGE endpoint for council verdicts. Depends on nothing new; STRATT already emitsRunSessionInputoutcomes. - E5 ZOID GRACE-mapping — map the 8 personas to GRACE councils, rewire
ZOID’s CW-* n8n nodes to
stratt run --council, keep powers. This is the largest and most product-shaped step.
Alternatives considered
Section titled “Alternatives considered”- ZOID→STRATT direct (no GRACE) — rejected: bypasses the governing layer; loses gate authority, SPEC-05 traces, and the no-phantom-agents discipline. The operator’s explicit intent is GRACE-governed ZOID.
- Replace ZOID with GRACE agents — rejected: discards ZOID’s powers (personas, n8n workflows, Discord). Map, don’t replace.
- A new cross-fleet event contract for visibility — rejected: CAIRNET
(
agentic-emission.v1) already exists in both PETROVA and GRACE.
Consequences
Section titled “Consequences”For code:
kahn.session_ingest.v1built (kahn #89). E4/E5 are later phases.- ZOID gains a GRACE-council mapping layer (SO1 side) — does not remove existing persona/workflow definitions.
For docs:
docs/neverland/01-connector-map.mdE6 → PARTIAL (KAHN side built).docs/neverland/02-shared-contracts.md—kahn.session_ingest.v1added as built;so1.council-endpoint.v1restated as GRACE-aware.
For in-flight phases:
- P2 step 1 done. Steps 2 (E4) and 3 (E5) scoped.
For invariants:
- Reinforces GRACE’s “no phantom concepts” discipline as the bar for ZOID’s GRACE-mapping. No new MR (MR-9).
References
Section titled “References”- kahn-hq #89 —
kahn.session_ingest.v1(schema + transform + 8 tests). - grace-hq
architecture/GRACE-PROTOCOL-OVERVIEW.md(VAPA / 5 SPEC layers),config/gate-rules.yaml(SPEC-04 gate authorities),automation/trace-protocol.md(SPEC-05 trace shape). - stratt-hq
packages/orchestrator/src/types.ts(RunSessionInput),councils/(the 9 real councils). - so1-io
standalone/zoid/(8 personas, CW-01…07),so1-claw/(OpenClaw deployment),so1-content/findings/2026-04-01-grace-stratt-council-alignment.md(ZOID’s phantom agents vs GRACE). - PETROVA
schemas/agentic-emission.v1.json(shared CAIRNET bus).
Sign-off
Section titled “Sign-off”- Subagent: neverland P2 step 1 (council pipeline, KAHN session_ingest), 2026-07-07
- Human: <<pending — Alex confirm; council-ownership + GRACE-governance answered 2026-07-07>>