internal/docs/THESIS.md
This is the North Star for the project and for the autonomous improvement loop
(see CONTINUOUS_IMPROVEMENT.md). Every change should move toward it; work that
doesn't isn't an improvement, however clean.
Go Micro is an agent harness and service framework — one runtime that, holistically, encapsulates the lifecycle of services, agents, and workflows. Not three products stitched together: one set of primitives, because an agent is a distributed system and building one is building a service.
Value is unlocked in order, and each layer needs the one beneath it:
A harness that stops at "a model in a loop" is incomplete. The point is the whole lifecycle — capability, intelligence, and orchestration as one runtime.
"Agent = Model + Harness" (LangChain) is the right frame, but harness has two layers, and we own the second:
They stack. An intra-agent harness produces an agent; Go Micro is where that agent runs as a first-class service and gets composed into workflows with other services and agents. They plug together through open protocols — a LangGraph or deepagents agent is reachable over A2A and consumes Go Micro tools over MCP, and the reverse. We make those agents better neighbours, not obsolete.
So the focus is deliberately narrow: the operational harness for Go, and the services → agents → workflows lifecycle — not a model-orchestration framework, not a graph DSL, not a prompt layer. Lead with interop and the distributed substrate; treat LangChain-class tools as complements to build alongside, never as targets to replace.
The frontier is moving from chat to scheduled, looping, work-performing agents: Anthropic itself is building toward agents that do work on a cadence (Claude for Work, schedulers), and running coding agents continuously in loops is becoming standard practice among the people who build them. That shift is exactly the "workflows after agents" layer — and the harness is what makes it safe, durable, observable, and composable instead of a fragile script.
The bet: whoever gives Go a holistic harness for the whole lifecycle — not just an agent SDK, not just a service framework — owns where agentic software gets built.
Judge each loop increment against the North Star:
Prefer changes that advance these; avoid scope that doesn't. Brand/positioning copy and breaking public-API changes stay with the human.
Go Micro is built by an autonomous agentic loop — Claude Code and Codex continuously improving the repo against this North Star. That isn't a gimmick; it's the thesis applied to itself: an agent harness, built by agents running in a loop. If the harness is good enough to build itself, it's good enough to build your agentic software.
The framework is the product — no hosted platform, no enterprise tier, no VC, no
graph DSL. Sustained by sponsorship from those who run it. See ROADMAP.md.