# chachamaru127/claude-code-harness architecture

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

- Interactive diagram: https://gitdiagram.com/chachamaru127/claude-code-harness
- Repository: https://github.com/chachamaru127/claude-code-harness

## Overview

Claude Code Harness is a multi-agent development plugin whose central workflow turns an authorized request into an approved plan, implementation, verification and correction, independent review, drift reconciliation, and release preflight. The Go CLI and hook runtime provide command dispatch and execution-time safety; supporting subsystems manage parallel workers, sessions, memory, and release health. The graph combines documented workflow relationships with sampled Go call/import evidence. Several capabilities are documented but their implementation was not sampled, so those links cite the README rather than implying inspected code paths.

Main entry points: [`go/cmd/harness/main.go`](https://github.com/chachamaru127/claude-code-harness/blob/main/go/cmd/harness/main.go) (Harness CLI), [`go/cmd/harness/work_team.go`](https://github.com/chachamaru127/claude-code-harness/blob/main/go/cmd/harness/work_team.go) (Work execution), [`go/internal/reviewiterate/reviewiterate.go`](https://github.com/chachamaru127/claude-code-harness/blob/main/go/internal/reviewiterate/reviewiterate.go) (Review cycle), [`go/internal/guardrail/pre_tool.go`](https://github.com/chachamaru127/claude-code-harness/blob/main/go/internal/guardrail/pre_tool.go) (Guardrail checks)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workflow["Delivery workflow"]
  node_planning["Plan drafting<br/>[plans.go]"]
  node_implementation["Work execution<br/>[work_team.go]"]
  node_verification["Verification<br/>[ci.go]"]
  node_review["Review cycle<br/>[reviewiterate.go]"]
  node_review_persist["Review persistence"]
  node_sync["Plan sync<br/>[sync.go]"]
  node_release["Release preflight<br/>[releasetrain.go]"]
end

subgraph group_runtime["CLI and hooks"]
  node_cli["Harness CLI<br/>[main.go]"]
  node_hook_runtime["Hook handlers"]
  node_state[("Project state<br/>[store.go]")]
end

subgraph group_safety["Execution safety"]
  node_guardrail["Guardrail checks<br/>[pre_tool.go]"]
  node_policy["Policy rules<br/>[rules.go]"]
  node_runtime_floor["Runtime floor<br/>[runtimefloor.go]"]
end

subgraph group_coordination["Agents and sessions"]
  node_orchestrator["Worker orchestration<br/>[orchestrator.go]"]
  node_ledger[("Orchestration ledger")]
end

subgraph group_operations["Project operations"]
  node_session_monitor["Session monitoring<br/>[monitor.go]"]
  node_memory["Harness memory<br/>[companion.go]"]
  node_doctor["Environment diagnosis<br/>[doctor.go]"]
  node_generation["Host generation<br/>[gen.go]"]
end

node_user(("Developer"))

node_user -->|"requests work"| node_cli
node_cli -->|"dispatches plan"| node_planning
node_planning -->|"requests approval"| node_user
node_user -->|"authorizes work"| node_implementation
node_implementation -->|"runs checks"| node_verification
node_implementation -->|"submits result"| node_review
node_review -->|"returns findings"| node_implementation
node_review -.->|"persists verdict"| node_review_persist
node_review -.->|"informs reconciliation"| node_sync
node_sync -.->|"precedes release"| node_release
node_cli -->|"dispatches hooks"| node_hook_runtime
node_hook_runtime -.->|"evaluates actions"| node_guardrail
node_guardrail -->|"evaluates rules"| node_policy
node_guardrail -->|"checks floor"| node_runtime_floor
node_guardrail -->|"reads context"| node_state
node_implementation -->|"runs parallel tasks"| node_orchestrator
node_orchestrator -->|"uses lifecycle state"| node_state
node_orchestrator -.->|"records outcomes"| node_ledger
node_session_monitor -.->|"collects session state"| node_state
node_session_monitor -->|"checks candidate"| node_release
node_cli -.->|"monitors sessions"| node_session_monitor
node_cli -->|"runs diagnosis"| node_doctor
node_cli -->|"generates host config"| node_generation
node_user -.->|"uses stored context"| node_memory

click node_cli "https://github.com/chachamaru127/claude-code-harness/blob/main/go/cmd/harness/main.go"
click node_planning "https://github.com/chachamaru127/claude-code-harness/blob/main/go/cmd/harness/plans.go"
click node_implementation "https://github.com/chachamaru127/claude-code-harness/blob/main/go/cmd/harness/work_team.go"
click node_verification "https://github.com/chachamaru127/claude-code-harness/blob/main/go/internal/ci/ci.go"
click node_review "https://github.com/chachamaru127/claude-code-harness/blob/main/go/internal/reviewiterate/reviewiterate.go"
click node_review_persist "https://github.com/chachamaru127/claude-code-harness/blob/main/go/cmd/harness/subagentstop_reviewer_persist.go"
click node_sync "https://github.com/chachamaru127/claude-code-harness/blob/main/go/cmd/harness/sync.go"
click node_release "https://github.com/chachamaru127/claude-code-harness/blob/main/go/internal/releasetrain/releasetrain.go"
click node_hook_runtime "https://github.com/chachamaru127/claude-code-harness/tree/main/go/internal/hookhandler"
click node_guardrail "https://github.com/chachamaru127/claude-code-harness/blob/main/go/internal/guardrail/pre_tool.go"
click node_policy "https://github.com/chachamaru127/claude-code-harness/blob/main/go/internal/policy/rules.go"
click node_runtime_floor "https://github.com/chachamaru127/claude-code-harness/blob/main/go/internal/runtimefloor/runtimefloor.go"
click node_state "https://github.com/chachamaru127/claude-code-harness/blob/main/go/internal/state/store.go"
click node_orchestrator "https://github.com/chachamaru127/claude-code-harness/blob/main/go/internal/breezing/orchestrator.go"
click node_ledger "https://github.com/chachamaru127/claude-code-harness/blob/main/go/internal/orchestrationledger/orchestrationledger.go"
click node_session_monitor "https://github.com/chachamaru127/claude-code-harness/blob/main/go/internal/session/monitor.go"
click node_memory "https://github.com/chachamaru127/claude-code-harness/blob/main/go/internal/harnessmem/companion.go"
click node_doctor "https://github.com/chachamaru127/claude-code-harness/blob/main/go/cmd/harness/doctor.go"
click node_generation "https://github.com/chachamaru127/claude-code-harness/blob/main/go/cmd/harness/gen.go"

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_planning,node_implementation,node_verification,node_review,node_review_persist,node_sync,node_release toneBlue
class node_cli,node_hook_runtime,node_state toneAmber
class node_guardrail,node_policy,node_runtime_floor toneMint
class node_orchestrator,node_ledger toneRose
class node_session_monitor,node_memory,node_doctor,node_generation,node_user toneIndigo
```

## Components

### Delivery workflow

- [Plan drafting](https://github.com/chachamaru127/claude-code-harness/blob/main/go/cmd/harness/plans.go): `go/cmd/harness/plans.go`
- [Work execution](https://github.com/chachamaru127/claude-code-harness/blob/main/go/cmd/harness/work_team.go): `go/cmd/harness/work_team.go`
- [Verification](https://github.com/chachamaru127/claude-code-harness/blob/main/go/internal/ci/ci.go): `go/internal/ci/ci.go`
- [Review cycle](https://github.com/chachamaru127/claude-code-harness/blob/main/go/internal/reviewiterate/reviewiterate.go): `go/internal/reviewiterate/reviewiterate.go`
- [Review persistence](https://github.com/chachamaru127/claude-code-harness/blob/main/go/cmd/harness/subagentstop_reviewer_persist.go): `go/cmd/harness/subagentstop_reviewer_persist.go`
- [Plan sync](https://github.com/chachamaru127/claude-code-harness/blob/main/go/cmd/harness/sync.go): `go/cmd/harness/sync.go`
- [Release preflight](https://github.com/chachamaru127/claude-code-harness/blob/main/go/internal/releasetrain/releasetrain.go): `go/internal/releasetrain/releasetrain.go`

### CLI and hooks

- [Harness CLI](https://github.com/chachamaru127/claude-code-harness/blob/main/go/cmd/harness/main.go): `go/cmd/harness/main.go`
- [Hook handlers](https://github.com/chachamaru127/claude-code-harness/tree/main/go/internal/hookhandler): `go/internal/hookhandler`
- [Project state](https://github.com/chachamaru127/claude-code-harness/blob/main/go/internal/state/store.go): `go/internal/state/store.go`

### Execution safety

- [Guardrail checks](https://github.com/chachamaru127/claude-code-harness/blob/main/go/internal/guardrail/pre_tool.go): `go/internal/guardrail/pre_tool.go`
- [Policy rules](https://github.com/chachamaru127/claude-code-harness/blob/main/go/internal/policy/rules.go): `go/internal/policy/rules.go`
- [Runtime floor](https://github.com/chachamaru127/claude-code-harness/blob/main/go/internal/runtimefloor/runtimefloor.go): `go/internal/runtimefloor/runtimefloor.go`

### Agents and sessions

- [Worker orchestration](https://github.com/chachamaru127/claude-code-harness/blob/main/go/internal/breezing/orchestrator.go): `go/internal/breezing/orchestrator.go`
- [Orchestration ledger](https://github.com/chachamaru127/claude-code-harness/blob/main/go/internal/orchestrationledger/orchestrationledger.go): `go/internal/orchestrationledger/orchestrationledger.go`

### Project operations

- [Session monitoring](https://github.com/chachamaru127/claude-code-harness/blob/main/go/internal/session/monitor.go): `go/internal/session/monitor.go`
- [Harness memory](https://github.com/chachamaru127/claude-code-harness/blob/main/go/internal/harnessmem/companion.go): `go/internal/harnessmem/companion.go`
- [Environment diagnosis](https://github.com/chachamaru127/claude-code-harness/blob/main/go/cmd/harness/doctor.go): `go/cmd/harness/doctor.go`
- [Host generation](https://github.com/chachamaru127/claude-code-harness/blob/main/go/cmd/harness/gen.go): `go/cmd/harness/gen.go`

### Other components

- **Developer**

## Connections

- Developer → Harness CLI: requests work (evidence: `README.md`)
- Harness CLI → Plan drafting: dispatches plan (evidence: `README.md`)
- Plan drafting → Developer: requests approval (evidence: `README.md`)
- Developer → Work execution: authorizes work (evidence: `README.md`)
- Work execution → Verification: runs checks (evidence: `README.md`)
- Work execution → Review cycle: submits result (evidence: `README.md`)
- Review cycle → Work execution: returns findings (evidence: `README.md`)
- Review cycle → Review persistence: persists verdict
- Review cycle → Plan sync: informs reconciliation
- Plan sync → Release preflight: precedes release
- Harness CLI → Hook handlers: dispatches hooks (evidence: `go/cmd/harness/main.go`)
- Hook handlers → Guardrail checks: evaluates actions
- Guardrail checks → Policy rules: evaluates rules (evidence: `go/internal/guardrail/pre_tool.go`)
- Guardrail checks → Runtime floor: checks floor (evidence: `go/internal/guardrail/pre_tool.go`)
- Guardrail checks → Project state: reads context (evidence: `go/internal/guardrail/pre_tool.go`)
- Work execution → Worker orchestration: runs parallel tasks
- Worker orchestration → Project state: uses lifecycle state (evidence: `go/internal/breezing/orchestrator.go`)
- Worker orchestration → Orchestration ledger: records outcomes
- Session monitoring → Project state: collects session state
- Session monitoring → Release preflight: checks candidate (evidence: `go/internal/session/monitor.go`)
- Harness CLI → Session monitoring: monitors sessions
- Harness CLI → Environment diagnosis: runs diagnosis (evidence: `go/cmd/harness/doctor.go`)
- Harness CLI → Host generation: generates host config (evidence: `go/cmd/harness/gen.go`)
- Developer → Harness memory: uses stored context
