Four Layers, One Harness

Four Layers, One Harness An architecture diagram generated by Archify. Claude Code · runtime · RUNTIME Claude Code runtime Codex · runtime · RUNTIME Codex runtime OpenCode · runtime · RUNTIME OpenCode runtime Roles · Thomas · Shaper · Builder · Rin · QA · HARNESS Roles Thomas · Shaper · Builder · Rin · QA Skills · 16 packaged skills · HARNESS Skills 16 packaged skills Memory / Ledger · what actually happened · HARNESS Memory / Ledger what actually happened Hooks · 4 lifecycle hooks · HARNESS Hooks 4 lifecycle hooks Tracker · GitHub · Jira · Linear · COORDINATION Tracker GitHub · Jira · Linear herdr · one pane per agent · COORDINATION herdr one pane per agent git worktrees · one checkout per ticket · COORDINATION git worktrees one checkout per ticket Your Project · repo · CONTEXT.md · ADR · YOUR PROJECT Your Project repo · CONTEXT.md · ADR Thomas asks frontier Builder claims worktree blocks a dangerous command RUNTIME HARNESS COORDINATION YOUR PROJECT Legend Frontend Backend Database Security External

Runtime Is a Choice, Not a Dependency

  • • Claude Code, Codex, and OpenCode all drive the same harness underneath
  • • Roles, skills, hooks, and the ledger are runtime-agnostic — nothing here is Claude-only
  • • Swapping runtimes mid-project changes the driver seat, not the harness

The Ledger Is Not a Log

  • • Every hook receipt and every gate decision lands in memory/ledger, not just stdout
  • • Skills and roles are read at session start, not baked into a fixed binary
  • • 16 skills stay reusable across every role that needs them

Coordination Lives Outside the Pane

  • • The tracker is the state substrate; herdr panes and worktrees are disposable
  • • Every claim is written to the tracker before a worktree is even created
  • • Hooks gate the boundary between the harness and your actual project repo