How giulio-leone/harness-os works
HarnessOS is an agent execution layer for persistent task lifecycle, recovery, policy-aware dispatch, and multi-agent orchestration; it leaves model inference to the host. A typical workflow enters through the MCP interface, reaches orchestration dispatch and session execution, and persists leases, checkpoints, and task state. The repository also includes a dashboard and a Rust harness workspace. Some major runtime modules are indexed but unsampled, so their capabilities are represented without speculative call edges; optional memory is shown separately.
Main entry points: session-orchestrator.ts Session orchestration · orchestration-supervisor.ts Supervisor tick · orchestration-assignment-runner.ts Assignment runner · dashboard-shell.tsx Dashboard UI
Components 24
Host Interfaces
- MCP tools
src/mcp/session-lifecycle-mcp-server.ts - MCP stdio
src/mcp/jsonrpc-stdio.ts - Lifecycle CLI
src/bin/session-lifecycle.ts
Orchestration
- Supervisor tick
src/runtime/orchestration-supervisor.ts - Issue planner
src/runtime/orchestration-planner.ts - Issue dispatcher
src/runtime/orchestration-dispatcher.ts - Assignment runner
src/runtime/orchestration-assignment-runner.ts - Symphony workflow
src/runtime/symphony-workflow.ts - Worktree management
src/runtime/worktree-manager.ts - Policy evaluation
src/runtime/policy-engine.ts - Orchestration contracts
src/contracts/orchestration-contracts.ts - Queue inspector
src/runtime/orchestration-inspector.ts
Session Runtime
- Lifecycle adapter
src/runtime/session-lifecycle-adapter.ts - Session orchestration
src/runtime/session-orchestrator.ts - Semantic memory
src/runtime/mem0-session-bridge.ts - Memory loader
src/runtime/default-mem0-loader.ts
Canonical State
- SQLite store
src/db/store.ts - Lease and queue state
src/db/lease-manager.ts - Checkpoint writer
src/db/checkpoint-writer.ts
Dashboard
- Dashboard queries
src/runtime/orchestration-dashboard.ts - Dashboard pages
apps/dashboard/app/page.tsx - Dashboard UI
apps/dashboard/components/dashboard-shell.tsx - Issue detail page
apps/dashboard/app/issues/[issueId]/page.tsx
Other components
- Agent host
Connections 21
- Agent host → MCP tools: calls tools
- MCP tools → Supervisor tick: runs tick
src/mcp/session-lifecycle-mcp-server.ts - Supervisor tick → Issue dispatcher: dispatches work
src/runtime/orchestration-supervisor.ts - Supervisor tick → Assignment runner: runs assignments
src/runtime/orchestration-supervisor.ts - Supervisor tick → Queue inspector: inspects queue
src/runtime/orchestration-supervisor.ts - Issue dispatcher → Worktree management: validates worktree
src/runtime/orchestration-dispatcher.ts - Assignment runner → Session orchestration: starts session
src/runtime/orchestration-assignment-runner.ts - Assignment runner → Symphony workflow: uses workflow
src/runtime/orchestration-assignment-runner.ts - Assignment runner → Worktree management: uses adapter
src/runtime/orchestration-assignment-runner.ts - Lifecycle adapter → Session orchestration: delegates to
src/runtime/session-lifecycle-adapter.ts - Session orchestration → Lease and queue state: claims and releases
src/runtime/session-orchestrator.ts - Session orchestration → Checkpoint writer: writes checkpoints
src/runtime/session-orchestrator.ts - Session orchestration → SQLite store: runs statements
src/runtime/session-orchestrator.ts - Lease and queue state → SQLite store: runs statements
src/db/lease-manager.ts - Policy evaluation → Orchestration contracts: uses policy types
src/runtime/policy-engine.ts - Session orchestration → Semantic memory: bridges memory
src/runtime/session-orchestrator.ts - Memory loader → Semantic memory: loads optionally
- Dashboard pages → Dashboard UI: renders
apps/dashboard/app/page.tsx - Issue detail page → Dashboard UI: renders detail UI
apps/dashboard/app/issues/[issueId]/page.tsx - Dashboard UI → Dashboard queries: loads dashboard data
- Dashboard queries → Queue inspector: uses queue inspection
src/runtime/orchestration-dashboard.ts