# disler/fusion-harness architecture

> Architecture diagram of the GitHub repository disler/fusion-harness, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/disler/fusion-harness
- Repository: https://github.com/disler/fusion-harness
- Video tour (about a minute): https://gitdiagram.com/disler/fusion-harness/video

## Overview

fusion-harness is a Pi coding-agent extension for combining configured frontier models in shared coding workflows. A user invokes commands through Pi; the extension loads and validates a 2–5-slot model stack, then routes work to clean-room child agents. The main flows include independent opinions and debates, read-only research followed by a sole-writer fusion agent and synchronization, architect-led collaboration, direct single-slot routing, and gate-first auto-validation. Results are rendered in Pi and run artifacts are saved. The README documents capabilities beyond the sampled excerpts; command wiring is shown only where supported by excerpts or explicit documentation.

Main entry points: [`extensions/fusion-harness/fusion-harness.ts`](https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/fusion-harness.ts) (Harness Extension), [`extensions/fusion-harness/modules/child-runner.ts`](https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/child-runner.ts) (Child Runner), [`extensions/fusion-harness/modules/cmd-build.ts`](https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/cmd-build.ts) (Collaboration & Validation), [`extensions/fusion-harness/modules/cmd-fusion.ts`](https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/cmd-fusion.ts) (Fusion Command)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Pi Integration"]
  node_pi["Pi Agent Host"]
  node_extension["Harness Extension<br/>[fusion-harness.ts]"]
  node_stack["Model Stack<br/>[model-stack.ts]"]
end

subgraph group_workflows["Model Workflows"]
  node_opinion_debate["Opinion &amp; Debate<br/>[cmd-readonly.ts]"]
  node_fusion["Fusion Command<br/>[cmd-fusion.ts]"]
  node_collaborate["Collaboration &amp; Validation<br/>[cmd-build.ts]"]
  node_direct["Direct Slot Route<br/>[fusion-harness.ts]"]
end

subgraph group_coordination["Coordination"]
  node_prompt_library["Prompt Contracts<br/>[prompt-library.ts]"]
  node_prompt_templates["Prompt Templates"]
  node_collab_graph["Task DAG"]
  node_writer_lease["Writer Lease<br/>[writer-lease.ts]"]
end

subgraph group_execution["Agent Runtime"]
  node_child_runner["Child Runner<br/>[child-runner.ts]"]
  node_model_providers["Model Providers"]
  node_workspace["Shared Workspace"]
  node_artifacts["Run Artifacts"]
  node_runtime["Run State &amp; Contracts<br/>[runtime.ts]"]
end

subgraph group_presentation["Results"]
  node_tui["Transcript Renderer<br/>[tui.ts]"]
  node_agent_layout["Agent Grid Layout<br/>[agent-layout.ts]"]
end

node_user(("Engineer"))

node_user -->|"invokes commands"| node_pi
node_pi -->|"loads extension"| node_extension
node_extension -->|"loads stack"| node_stack
node_extension -->|"routes slot"| node_direct
node_extension -->|"dispatches commands"| node_opinion_debate
node_extension -->|"dispatches command"| node_fusion
node_extension -->|"dispatches commands"| node_collaborate
node_opinion_debate -->|"builds prompts"| node_prompt_library
node_fusion -->|"builds prompts"| node_prompt_library
node_collaborate -->|"builds prompts"| node_prompt_library
node_prompt_library -->|"loads templates"| node_prompt_templates
node_opinion_debate -->|"spawns agents"| node_child_runner
node_fusion -->|"spawns agents"| node_child_runner
node_collaborate -->|"spawns agents"| node_child_runner
node_direct -->|"spawns agent"| node_child_runner
node_child_runner -->|"requests model work"| node_model_providers
node_child_runner -->|"runs tools in"| node_workspace
node_fusion -->|"fuser modifies"| node_workspace
node_fusion -->|"saves run outputs"| node_artifacts
node_collaborate -->|"saves run outputs"| node_artifacts
node_collaborate -->|"plans task DAG"| node_collab_graph
node_collaborate -->|"coordinates writes"| node_writer_lease
node_child_runner -->|"updates run state"| node_runtime
node_extension -->|"renders panels"| node_tui
node_tui -->|"computes grid"| node_agent_layout
node_tui -->|"formats run stats"| node_runtime
node_pi -->|"sets host model"| node_stack

click node_extension "https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/fusion-harness.ts"
click node_stack "https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/model-stack.ts"
click node_opinion_debate "https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/cmd-readonly.ts"
click node_fusion "https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/cmd-fusion.ts"
click node_collaborate "https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/cmd-build.ts"
click node_direct "https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/fusion-harness.ts"
click node_prompt_library "https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/prompt-library.ts"
click node_prompt_templates "https://github.com/disler/fusion-harness/tree/main/extensions/fusion-harness/prompts"
click node_collab_graph "https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/collaboration-graph.ts"
click node_writer_lease "https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/writer-lease.ts"
click node_child_runner "https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/child-runner.ts"
click node_runtime "https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/runtime.ts"
click node_tui "https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/tui.ts"
click node_agent_layout "https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/agent-layout.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_pi,node_extension,node_stack toneBlue
class node_opinion_debate,node_fusion,node_collaborate,node_direct toneAmber
class node_prompt_library,node_prompt_templates,node_collab_graph,node_writer_lease toneMint
class node_child_runner,node_model_providers,node_workspace,node_artifacts,node_runtime toneRose
class node_tui,node_agent_layout,node_user toneIndigo
```

## Components

### Pi Integration

- **Pi Agent Host**
- [Harness Extension](https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/fusion-harness.ts): `extensions/fusion-harness/fusion-harness.ts`
- [Model Stack](https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/model-stack.ts): `extensions/fusion-harness/modules/model-stack.ts`

### Model Workflows

- [Opinion & Debate](https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/cmd-readonly.ts): `extensions/fusion-harness/modules/cmd-readonly.ts`
- [Fusion Command](https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/cmd-fusion.ts): `extensions/fusion-harness/modules/cmd-fusion.ts`
- [Collaboration & Validation](https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/cmd-build.ts): `extensions/fusion-harness/modules/cmd-build.ts`
- [Direct Slot Route](https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/fusion-harness.ts): `extensions/fusion-harness/fusion-harness.ts`

### Coordination

- [Prompt Contracts](https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/prompt-library.ts): `extensions/fusion-harness/modules/prompt-library.ts`
- [Prompt Templates](https://github.com/disler/fusion-harness/tree/main/extensions/fusion-harness/prompts): `extensions/fusion-harness/prompts`
- [Task DAG](https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/collaboration-graph.ts): `extensions/fusion-harness/modules/collaboration-graph.ts`
- [Writer Lease](https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/writer-lease.ts): `extensions/fusion-harness/modules/writer-lease.ts`

### Agent Runtime

- [Child Runner](https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/child-runner.ts): `extensions/fusion-harness/modules/child-runner.ts`
- **Model Providers**
- **Shared Workspace**
- **Run Artifacts**
- [Run State & Contracts](https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/runtime.ts): `extensions/fusion-harness/modules/runtime.ts`

### Results

- [Transcript Renderer](https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/tui.ts): `extensions/fusion-harness/modules/tui.ts`
- [Agent Grid Layout](https://github.com/disler/fusion-harness/blob/main/extensions/fusion-harness/modules/agent-layout.ts): `extensions/fusion-harness/modules/agent-layout.ts`

### Other components

- **Engineer**

## Connections

- Engineer → Pi Agent Host: invokes commands
- Pi Agent Host → Harness Extension: loads extension
- Harness Extension → Model Stack: loads stack
- Harness Extension → Direct Slot Route: routes slot
- Harness Extension → Opinion & Debate: dispatches commands
- Harness Extension → Fusion Command: dispatches command
- Harness Extension → Collaboration & Validation: dispatches commands
- Opinion & Debate → Prompt Contracts: builds prompts
- Fusion Command → Prompt Contracts: builds prompts
- Collaboration & Validation → Prompt Contracts: builds prompts
- Prompt Contracts → Prompt Templates: loads templates
- Opinion & Debate → Child Runner: spawns agents
- Fusion Command → Child Runner: spawns agents
- Collaboration & Validation → Child Runner: spawns agents
- Direct Slot Route → Child Runner: spawns agent
- Child Runner → Model Providers: requests model work
- Child Runner → Shared Workspace: runs tools in
- Fusion Command → Shared Workspace: fuser modifies
- Fusion Command → Run Artifacts: saves run outputs
- Collaboration & Validation → Run Artifacts: saves run outputs
- Collaboration & Validation → Task DAG: plans task DAG
- Collaboration & Validation → Writer Lease: coordinates writes
- Child Runner → Run State & Contracts: updates run state
- Harness Extension → Transcript Renderer: renders panels
- Transcript Renderer → Agent Grid Layout: computes grid
- Transcript Renderer → Run State & Contracts: formats run stats
- Pi Agent Host → Model Stack: sets host model
