The Model Is Fungible, the Harness Is the Moat
joelclaw's system prompt, Inngest backbone, skills, and gateway map directly onto harness components in this taxonomy
The framing is simple enough to fit on a whiteboard: Agent = Model + Harness. The model handles reasoning — any frontier LLM. The harness is everything else: filesystems for durable state, bash and code execution as general-purpose tools, orchestration logic, hooks and middleware, and skills or MCPs for capability extension.
This matters because it names the thing most people treat as plumbing. The harness isn’t secondary to the agent — it’s half the agent. Durable storage, tool interfaces, orchestration guarantees, the middleware layer that intercepts and shapes each step — this is where sustained, stateful work becomes possible. A model without a harness is a very smart text transformer. The harness is what makes it operational.
joelclaw maps onto this cleanly. The system prompt is the behavioral contract layer. The 52 skills are the MCP-equivalent capability extension mechanism. Inngest is the orchestration backbone — durable execution, step memoization, event fan-out across 110+ functions. The gateway, built to hexagonal architecture conventions, routes messages across channels via Redis. NAS-backed storage is the filesystem layer. Every component has a place in the taxonomy — it’s a useful lens for explaining the system to someone new, or for auditing what’s missing.
The implication: once the harness is mature, model selection becomes increasingly incidental. The infrastructure keeps working across model generations. That’s where the compounding investment is.
Key Ideas
- Agent = Model + Harness — names both halves explicitly instead of treating the harness as invisible plumbing
- Filesystems = durable state — agents need persistent storage to span sessions; Redis and NAS-backed volumes serve this role in joelclaw
- Bash/code = general-purpose tool interface — arbitrary execution capability is what makes an agent open-ended rather than domain-specific
- Orchestration logic — durable workflows (Inngest), step sequencing, retry logic, event routing; this is ADR-0155 territory
- Hooks/middleware — the interception layer for context injection, telemetry emission, and gateway routing; see gateway middleware
- Skills/MCPs — the capability extension mechanism; joelclaw’s skills directory is this layer in practice
- Model fungibility — harness investment compounds across model generations; the reasoning core can be swapped without rebuilding the infrastructure
Links
- Source tweet
- @Vtrivedy10 on X
- Model Context Protocol — Anthropic’s standard for the skills/capability-extension layer
- Inngest — orchestration backbone in joelclaw’s harness
- ADR-0144: Gateway Hexagonal Architecture
- ADR-0155: Three-Stage Story Pipeline
- joelclaw skills on GitHub