Skip to content

Champion Orchestration

This tutorial explains what Champion personas are, how they orchestrate teams of base personas, and how orchestration edges work in the complete 24-node workflow graph.

What Are Champions?

Champions are elevated personas that coordinate teams of base personas. While a base persona like RC (Research Crafter) focuses on its own deliverables, the corresponding champion RCHM (Research Crafter Champion) orchestrates RC and three other Find-phase personas to produce unified, cross-artifact research packages.

Champions have two distinguishing attributes:

  • champion_of: The base persona this champion elevates (e.g., RCHM is champion_of RC)
  • orchestrates: The list of persona IDs this champion coordinates
from fcc.personas.registry import PersonaRegistry

registry = PersonaRegistry.from_yaml_directory("data/personas/")

# List all champions
champions = registry.champions()
for champ in champions:
    base = registry.base_of(champ.id)
    print(f"{champ.id} ({champ.name})")
    print(f"  Champion of: {base.id} ({base.name})")
    print(f"  Orchestrates: {champ.orchestrates}")
    print()

Output:

RCHM (Research Crafter Champion)
  Champion of: RC (Research Crafter)
  Orchestrates: ['RC', 'CIA', 'STE', 'RIC']

BCHM (Blueprint Crafter Champion)
  Champion of: BC (Blueprint Crafter)
  Orchestrates: ['BC', 'BV', 'UMC', 'RIC']

UGCH (User Guide Crafter Champion)
  Champion of: UG (User Guide Crafter)
  Orchestrates: ['UG', 'SCP', 'EC']

RBCH (Runbook Crafter Champion)
  Champion of: RB (Runbook Crafter)
  Orchestrates: ['RB', 'GCA', 'TS']

The Four Champion Teams

RCHM: Research Orchestrator

RCHM orchestrates the Find phase, coordinating four research-oriented personas into a unified research package.

graph TD
    RCHM[RCHM: Research Crafter Champion] -->|orchestrate_research| RC[RC: Research Crafter]
    RCHM -->|orchestrate_indexing| CIA[CIA: Catalog Indexer Architect]
    RCHM -->|orchestrate_taxonomy| STE[STE: Semantic Taxonomy Engineer]
    RCHM -->|orchestrate_inventory| RIC[RIC: Research Inventory Crafter]
    RCHM -->|research_package| BCHM[BCHM: Blueprint Crafter Champion]

Deliverables: Unified research package, cross-artifact consistency reports, research readiness assessment.

BCHM: Blueprint Orchestrator

BCHM orchestrates the Create phase for design artifacts, ensuring blueprints, mockups, and validations are cross-referenced and version-synchronized.

graph TD
    BCHM[BCHM: Blueprint Crafter Champion] -->|orchestrate_blueprints| BC[BC: Blueprint Crafter]
    BCHM -->|orchestrate_validation| BV[BV: Blueprint Validator]
    BCHM -->|orchestrate_mockups| UMC[UMC: UI Mockup Crafter]
    BCHM -->|orchestrate_data| RIC[RIC: Research Inventory Crafter]
    BCHM -->|blueprint_package| DE[DE: Documentation Evangelist]
    BCHM -->|blueprint_for_ops| RBCH[RBCH: Runbook Crafter Champion]
    RCHM -->|research_package| BCHM

Deliverables: Orchestrated blueprint package, cross-reference index, quality validation summary.

UGCH: User Experience Orchestrator

UGCH orchestrates user-facing content creation and multi-channel publishing.

graph TD
    DE[DE: Documentation Evangelist] -->|approved_for_publishing| UGCH[UGCH: User Guide Crafter Champion]
    UGCH -->|orchestrate_guides| UG[UG: User Guide Crafter]
    UGCH -->|orchestrate_publishing| SCP[SCP: Stakeholder Content Publisher]
    UGCH -->|orchestrate_comms| EC[EC: Executive Communicator]

Deliverables: Multi-channel publishing package, content strategy report, channel coordination report.

RBCH: Operations Orchestrator

RBCH orchestrates operational documentation and compliance validation.

graph TD
    BCHM -->|blueprint_for_ops| RBCH[RBCH: Runbook Crafter Champion]
    RBCH -->|orchestrate_runbooks| RB[RB: Runbook Crafter]
    RBCH -->|orchestrate_compliance| GCA[GCA: Governance Compliance Auditor]
    RBCH -->|orchestrate_tracing| TS[TS: Traceability Specialist]

Deliverables: Validated operational package, governance clearance report, operational readiness assessment.

Champion Chain

Champions hand off to each other in a defined sequence, creating an orchestration pipeline:

graph LR
    RCHM[RCHM: Research] -->|research_package| BCHM[BCHM: Blueprint]
    BCHM -->|blueprint_package| DE[DE: Critique]
    BCHM -->|blueprint_for_ops| RBCH[RBCH: Operations]
    DE -->|approved_for_publishing| UGCH[UGCH: User Experience]

This chain ensures:

  1. RCHM produces a unified research package
  2. BCHM receives research and orchestrates blueprint creation
  3. BCHM hands blueprint packages to both DE (for critique) and RBCH (for operations)
  4. DE approves documentation and hands off to UGCH
  5. UGCH orchestrates multi-channel publishing

Loading the Complete Workflow

from fcc.workflow.graph import WorkflowGraph

graph = WorkflowGraph.from_json("data/workflows/complete_24.json")

print(f"Title: {graph.meta.title}")
print(f"Nodes: {len(graph)}")
print(f"Edges: {len(graph.edges)}")

# Separate champion nodes from persona nodes
champion_nodes = [n for n in graph.nodes if n.type == "champion"]
persona_nodes = [n for n in graph.nodes if n.type == "persona"]

print(f"Persona nodes: {len(persona_nodes)}")
print(f"Champion nodes: {len(champion_nodes)}")
for c in champion_nodes:
    print(f"  {c.id}: {c.name}")

Output:

Title: FCC Complete Workflow - 24 Personas with Champions
Nodes: 24
Edges: 52
Persona nodes: 20
Champion nodes: 4
  RCHM: Research Crafter Champion
  BCHM: Blueprint Crafter Champion
  UGCH: User Guide Crafter Champion
  RBCH: Runbook Crafter Champion

Orchestration Edges

Orchestration edges are handoff edges from champions to their orchestrated personas. They are typed as handoff in the graph, with labels prefixed by orchestrate_:

# Find all orchestration edges
orchestration_edges = [
    e for e in graph.edges
    if e.label.startswith("orchestrate_")
]

print(f"Orchestration edges: {len(orchestration_edges)}")
for e in orchestration_edges:
    print(f"  {e.from_id} -> {e.to_id}: {e.label}")

Output:

Orchestration edges: 12
  RCHM -> RC: orchestrate_research
  RCHM -> CIA: orchestrate_indexing
  RCHM -> STE: orchestrate_taxonomy
  RCHM -> RIC: orchestrate_inventory
  BCHM -> BC: orchestrate_blueprints
  BCHM -> BV: orchestrate_validation
  BCHM -> UMC: orchestrate_mockups
  BCHM -> RIC: orchestrate_data
  UGCH -> UG: orchestrate_guides
  UGCH -> SCP: orchestrate_publishing
  UGCH -> EC: orchestrate_comms
  RBCH -> RB: orchestrate_runbooks
  RBCH -> GCA: orchestrate_compliance
  RBCH -> TS: orchestrate_tracing

Running a Champion Simulation

When running a simulation on the complete graph, start from a champion to see the full orchestration chain:

from fcc.simulation.engine import SimulationEngine
from fcc.simulation.traces import summarize_traces

engine = SimulationEngine(graph=graph, max_steps=200)
history = engine.run(start_node="RCHM", initial_payload="Orchestrate platform docs")

summary = summarize_traces(history.to_traces_dict())
print(f"Events: {summary['event_count']}")
print(f"Actors: {summary['unique_actors']}")

Starting from RCHM propagates through the entire champion chain, activating all 24 personas.

When to Use Champions

Scenario Use Champions? Why
Quick draft of a single doc No Base workflow is sufficient
Comprehensive API documentation Maybe BCHM helps if you need coordinated blueprints + mockups + validation
Enterprise compliance program Yes RBCH coordinates runbooks, compliance, and traceability
Multi-channel publishing Yes UGCH coordinates guides, executive comms, and publishing
Full platform documentation Yes All four champions coordinate the complete pipeline

Next Steps