/stage --mode operational|experimental — set arena mode (default: operational).
/stage --dry-run — generate spec without spawning team.
Arena Geometry Selection
Geometry selection is question-type-driven and role/office-driven, not position-count-driven. Constitutional actors fill roles; positions materialize from their jurisdictional mandates, values, priorities, and evidence bases — not from assigned stance labels. Labels-only geometry produces theater (advocates checklist-optimize against assigned criteria); role-driven geometry produces authentic, resilient, honestly adversarial pressure.
Bracket-isolated advocates with wildcard chain-coherence challenger
Role / office-driven advocacy
Prefer constitutional actors over generic labels whenever a question has jurisdictional stake. An actor's mandate IS its value centroid; its operational data IS its evidence base. Authenticity compounds: an actor reasoning from genuine stake produces convergence when convergence is warranted and stalemate when stalemate is warranted — not both collapsed into compliance theater.
For Governed Triangulation and Tournament Lattice, actors may be offices, domain experts, or generic advocates — but if a constitutional actor has stake, prefer that actor.
For VPL and OA-VPL-T, constitutional-actor framing is load-bearing. Do not substitute generic labels.
Position count is downstream
Position count follows from geometry + actor selection, not the reverse. Do not pre-commit to a geometry by counting positions. Classify the question first, identify actors with jurisdictional stake, then select the geometry that fits that class. If the result yields 8+ positions, reconsider whether bracket isolation (VPL, Tournament Lattice) handles the spread.
Right-sizing — avoid default-to-max
Do not default to 7-wide or 11-wide tournaments. Large-scale geometry is correct for federation-shape questions with genuinely wide opposing-constitutional-actor fields; it is not correct for design review, pattern discrepancy, ambiguity resolution, or focused problem solving. A lean arena (e.g., 2 actors + wildcard, or governed-triangulation with 3 actors) is often the right geometry — fast, focused, honestly adversarial, and cheap to run.
Use lean arenas for:
targeted design or implementation decisions
pattern discrepancy / ambiguity resolution
/complement closure-inference challenges
/consolidate context-scope verification
small-scope problem solving where actors and question are clear
Use wide arenas (VPL, tournament-lattice, OA-VPL-T) only when the question genuinely requires broad constitutional surface coverage. Arena cost scales nonlinearly with advocate count — lead context accumulation (per Lead Context as Binding Constraint) is the real ceiling, not advocate capability.
Actor-backed belief systems vs spec-crafted opposing values
Prefer actor-backed value divergence: when constitutional actors have jurisdictional stake, their values naturally diverge from their mandates and evidence bases. The disagreement is organic, not framed.
Spec-crafted opposing-values geometry (where the show spec assigns values like "completeness vs coherence vs efficiency" to generic advocates) is a fallback pattern for cases where no naturally-diverging actors are available. It works, but is susceptible to framing bias — whoever authored the spec chose which values oppose which, and that framing silently shapes advocacy.
When both are available (an actor-backed geometry and a spec-crafted one), prefer the actor-backed. Reserve spec-crafted opposing-values for cases where actor stakes don't naturally pull apart on the question.
Execution Steps
Step 1: Classify Question and Identify Actors
Interactive mode (no --decision):
Ask: "What are you deciding? Describe the decision space."
Classify the question type (operational / constitutional / cross-rung / office-temporal / hypothesis / harpoon / tournament).
Identify jurisdictionally-relevant constitutional actors (Mogul, Crisis Steward, CBUX Steward, Civil Engineer, Ladder Auditor) when the question has federation-level stake. Prefer constitutional actors over generic labels.
Confirm the geometry selection with the user. Positions will materialize from actors' mandates and evidence bases; do not pre-assign stance labels.
Direct mode (--decision):
Parse decision statement.
Classify the question type from the statement.
Propose actors (constitutional preference when jurisdictional stake applies) and the matching geometry.
Confirm with user unless --template is explicit.
Step 2: Resolve Template
Select the template directory name from the Geometry Selection table in §Arena Geometry Selection. Template names on disk:
Read spec.md, tasks.yaml, scoring.yaml from template.
If template not found, report error.
Step 3: Generate Show Spec
Create a show specification YAML:
id:"<YYYY-MM-DD>_<slugified-decision>"title:"<decision statement>"arena:governed-triangulation|tournament-latticearena_mode:operational|experimentalstatus:stagedtemplate_ref:"<template path>"created_at:"<ISO-8601>"created_tic:<currentticnumber>agents:-name:ADVOCATE-Aposition:"<Position A description>"-name:ADVOCATE-Bposition:"<Position B description>"-name:ADVOCATE-Cposition:"<Position C description>"-name:LEADposition:orchestrator(doesnotadvocate)capture_policy:allow_subject_lessons:trueroute_subject_lessons_to_governance:true# false if experimentalallow_signals:true# false if experimentalallow_governance_mutation:false# always — human-gated via /reviewpressure_report_path:"audit-logs/arenas/pressure-reports/<id>.json"outcome: {}
Save to stage/specs/<id>.yaml.
If --dry-run: report the generated spec and exit.
Step 4: Validate
Before spawning:
Verify all task dependencies form a valid DAG (no cycles).
Advance to next phase only when ALL tasks in current phase complete.
Lead neutrality invariant: During synthesis and all prior phases, you must not advocate for any position. Your job is to extract surviving structure, not to pick a winner.
Step 7: Synthesis
After all rebuttals complete:
Read all advocate outputs (context reports, defenses, rebuttals).
Extract surviving structure — what survived challenge from all directions.
Identify dependency graph among surviving elements.
Propose implementation order if applicable.
Write synthesis to stage/shows/<id>/synthesis.md.
Step 8: Pressure Extraction
After synthesis:
Classify all findings along two axes:
Lesson Type
Description
subject
About the decision topic itself
process
About how the arena ran / could run better
meta
About governance, learning, or the system
Confidence Tier
Criteria
convergent
Independently discovered by 2+ opposed agents
reinforced
Supported by evidence from multiple phases
tentative
Single-source or speculative
Route by mode and confidence:
Finding
Operational Mode
Experimental Mode
convergent subject
→ BEACON candidate
BLOCKED
reinforced subject
→ CogPR candidate
BLOCKED
tentative subject
→ notes only
BLOCKED
convergent process/meta
→ BEACON candidate
→ BEACON candidate
reinforced process/meta
→ CogPR candidate
→ CogPR candidate
surviving contradictions
→ TENSION candidate
→ TENSION candidate
Write pressure report to audit-logs/arenas/pressure-reports/<id>.json:
RECOMMENDED (never required) expression for extracted pressure / CogPR candidates leaving the arena — the six-facet strike: KAT (IS, centroid) / APO (IS-NOT, heaviest: nearest excluded neighbors) / PAR (HOLDS) / PLE (COMPLEMENT) / ENA (COUNTER, the failure it answers) / TEL (TELOS). Plus optional fields: relations (sibling: / refines: / composes: / distinct_from: edges), apophatic_exclusions, slice_scope (arena findings are slice-scoped to the arena's decision space — declare it), cost_of_action, cost_of_inaction (neither primary), deferred_facets (declared absent, never fabricated).
Optional forever — an absent facet or field is never refused, and nothing here gates extraction, routing, or the live → completed flip. Full explainer: the EXPRESSION ray in the boot worldview (office-worldview.py).
Step 9: Governance Routing
After pressure extraction:
For each candidate_signal: emit to audit-logs/signals/YYYY-MM-DD.jsonl using standard signal format with "source": "arena:<id>".
For each candidate_cogpr: append to audit-logs/cprs/queue.jsonl with birth context including arena_id.
Enforce mode: if experimental, skip ALL subject-type candidates (do not emit them).
Log all routing decisions to microscan staging.
Step 10: Report
/stage complete
Arena: <id>
Template: governed-triangulation | tournament-lattice
Mode: operational | experimental
Positions: N agents
Phases: 5/5 complete
Synthesis: stage/shows/<id>/synthesis.md
Pressure: audit-logs/arenas/pressure-reports/<id>.json
Governance routing:
Signals emitted: N (M convergent, K tensions)
CogPRs queued: N
Blocked (mode): N subject candidates (experimental mode)
Next: /review to evaluate arena-generated candidates
Update show spec status: "live" → "completed".
Arena Registry
Append completed arena to audit-logs/arenas/registry.jsonl:
Index-currency gate (scope-time — gate on the call-site). After the
registry.jsonl append, run python3 audit-logs/arenas/arena-index-audit.py check. This is the emitter-side pairing for the tic-404 register-in-place index:
a new registry entry that never lands in FEDERATION-ARENA-INDEX.md is exactly
the staleness the checker enforces (the KI's own "runs at scope-time, not only
build-time" refinement). A stale result (exit 2) blocks flipping arena
status: live → completed until the index row lands — run arena-index-audit.py render (regenerates the derived spec↔report table between the <!-- arena-index: derived:start/end --> sentinels, adding the new arena as UNCLASSIFIED (curate)), curate its level, then re-run check to exit 0. The checker emits
sig_arena_index_stale on staleness and resolves it on heal (emit/resolve
symmetry), so an un-indexed arena is a live triage obligation read by
session-start / /siren, never a silent written-never-read gap.
Post-Processing: Arena Report Pipeline
After Step 10 (Report), optionally generate an archivist-envelope HTML report:
Run arena-report-generator.py --zone-root $ZONE_ROOT --arena-id $ARENA_ID
(or --tic N for multi-arena sessions)
This produces a report-manifest.json in the show directory
Dispatch arena-report-agent (spec: cgg-runtime/agents/arena-report-agent.md)
with the manifest path to generate the HTML report
The HTML report embeds JSON-LD archivist envelope metadata for governance retrieval
For multi-arena sessions (e.g., /cadence close with 2+ arenas), use --tic N to
capture all arenas sharing a source tic in a single unified report.
The report pipeline is archivist-envelope-compliant:
Capability: knowledge.extract
Envelope type: knowledge.summary
Callback mode: artifact
Critical Invariants
Role/office-driven, not position-assigned — positions materialize from actors' jurisdictional mandates, values, priorities, and evidence bases. Generic label-assigned positions produce theater (checklist-optimization against assigned criteria); role-driven positions produce authentic, resilient, honestly adversarial pressure. Constitutional actors (Mogul, Crisis Steward, CBUX Steward, Civil Engineer, Ladder Auditor) have natural value centroids from their mandates and natural evidence bases from operational data — prefer them whenever jurisdictional stake applies.
Actor-backed belief systems over spec-crafted opposing values — prefer naturally-diverging actor values over spec-assigned opposing-value labels. Spec-crafted opposing-values geometry works but carries framing bias from the spec author. Use it only when no naturally-diverging actors are available for the question.
Question-type-driven geometry selection — classify the question first (operational / constitutional / cross-rung / office-temporal / hypothesis / harpoon / tournament), then pick the geometry that fits. Position count is downstream of geometry + actor selection, never the primary axis.
Right-sized arenas — avoid default-to-max — do not default to 7-wide or 11-wide tournaments. Lean arenas (2 + wildcard, governed-triangulation with 3) are often the right geometry for design review, pattern discrepancy, ambiguity resolution, and focused problem solving. Reserve wide geometries for genuinely federation-surface-wide questions. Lead context is the binding constraint, not advocate capability.
No skipping phases — and no SILENT phase fusion — the phase sequence (context → defense → rebuttal → synthesis → pressure-extraction; OA-VPL-T's 0a/0b → brackets → paired → wildcard → synthesis → temporal → conformation → pressure) is the contract. For prose-only templates (OA-VPL-T, VPL, CRX — no tasks.yaml DAG), nothing mechanically blocks a LEAD from fusing or skipping phases, so the discipline is on the LEAD and must be made visible: any compression (phase fusion, rebuttal skip, fewer rounds, wildcard-instead-of-rebuttal) is a DECLARED exception — recorded in the spec under a compression: block AND in the pressure-report under compression_applied (naming which phases were fused/skipped and why). Silent compression is a breach of this skill's contract. A skipped rebuttal phase means convergence is unrebutted → tag the pressure-report false_convergence_risk: unrebutted (per Arena Velocity Guard: convergence faster than evidence accumulation is a hypothesis set, not a decision set).
Lead stays neutral — orchestrator, not advocate
Synthesis waits for all rebuttals — dependency gating
Pressure extraction is mandatory AND record-complete — arena incomplete without it — the arena is not completed until the record set exists ON DISK: per-phase advocate outputs under stage/shows/<id>/ (one file per phase per actor), synthesis.md, the pressure-report JSON at pressure_report_path, and a registry.jsonl append. In-context relay of findings by the LEAD is NOT a substitute for written records (per Manual-Ceremony-as-Pipeline-Substitute Discipline: a manual ceremony standing in for a pipeline must complete the pipeline's FULL output contract — here, the record trail). The LEAD verifies the files exist before flipping status: live → completed; a run with findings-but-no-records is compressed, not completed. The LEAD also runs arena-index-audit.py check after the registry.jsonl append — a stale index (exit 2) blocks the live → completed flip until the arena's row lands in FEDERATION-ARENA-INDEX.md (see Arena Registry § index-currency gate).
Governance mutation is human-gated — all routing to /review, no auto-update to CLAUDE.md
Convergent discoveries are high-confidence signal — independently discovered by opposed agents
Experimental mode blocks subject lessons — only process/meta lessons route to governance
Arena registry is append-only — audit trail
Post-hoc invariant conformation — do not score advocate positions against invariants during their turns; score after advocacy completes. In-arena scoring collapses advocacy into checklist-optimization.
When the SAME reasoner has (a) designed the arena spec, (b) authored supporting synthesis documents, and (c) recommended the arena pairing strategy, running paired arenas first risks confirmation-finding: each arena's prompt reflects the designer's framing, and cross-arena convergence confirms the framing rather than testing it. Protection: run ONE arena solo FIRST with an explicit forbidden-files list that names the designer-authored synthesis documents by path — the agent is constitutionally blocked from reading its own designer's narrative. If the solo arena's findings converge with the synthesis, the synthesis is validated; if they diverge, the synthesis has framing bias the designer missed. Only THEN run the second arena (paired or otherwise). Sequence matters because parallel paired arenas amplify whatever bias is in the prompts, while solo-first produces the independent-variable check. Validated at tic 170: the HT_operationtorque_field_shaping solo run (with synthesis-tuning-map.md and canonical-prior-dissection.md on a forbidden list) produced counter-evidence against the meta-principle CPR the same designer had minted at tic 169 — specifically recommending DO NOT inscribe 'governance shapes the field' as a meta-invariant, with only one narrow extractable primitive (cross-clade precedence-authority envelopes) surviving arbiter scrutiny. Without solo-first sequencing, this counter-evidence likely would not have surfaced.
IS-NOT (today): pressure extraction is 100% promotion-directed (→ CogPR / BEACON). An arena never receives a doctrine down-audit as input — there is no "re-evaluate this EXISTING KI at this rung" arena.
Forward: /stage hosts the C9 Stage-4 re-evaluation arena — a damaging down-audit finding opens a bounded opposing-values arena whose outcomes (demote/clarify/localize/recenter/exception/hold_in_dissonance/…) route to /review. The arena is the only down-lane mutation locus, and it air-gaps from doctrine (allow_governance_mutation:false).
Discipline: arenas produce governance input; /review judges; a damaging finding is a hypothesis, never an auto-demotion (Arena Velocity Guard).