internal/docs/DEVELOPMENT_STRATEGY_ASSESSMENT.md
Date: 2026-06-24
Scope: README, roadmap, website docs, internal design notes, examples, harnesses, and blog narrative around agents, services, and workflows.
Go Micro has a coherent v6 thesis: agents are distributed systems, so the framework should make agents, services, and workflows one set of Go-native primitives rather than a separate orchestration product. The repository already has the right foundation: services are self-describing tools, agents add model + memory + tools with plan/delegate, flows provide deterministic event-driven execution, and MCP/A2A/x402 make the system interoperable with external agents and paid tools.
The next phase should not be another broad feature push. The best strategic move is to make the current promise consistently true under real usage:
The public README positions Go Micro as “a framework for building agents and services in Go.” The important distinction is that an agent is not treated as an external chatbot wrapper; it is a service with an LLM, memory, discovered tools, registry presence, and RPC reachability. That makes the messaging clear and differentiated from graph-first agent frameworks.
Agent.Chat, can be called over RPC, can be reached from micro chat, and get built-in plan and delegate tools.The blog has progressed from “microservices become AI tools” through first-class agents, planning/delegation, workflows, guardrails, durability, A2A, and sponsorship. That narrative is strong because it tells a product story: Go Micro did not bolt agents onto a framework; it reframed microservices as the runtime substrate for agentic systems.
The project already spans services, agents, flows, MCP, A2A, x402, multiple model providers, code generation, CLI, dashboard, examples, and deployment. The roadmap correctly identifies hardening as the current priority. More surface area before conformance and resilience would increase support burden and weaken trust.
The AI package presents one model interface, but each provider has different tool-call semantics, streaming APIs, errors, rate limits, and refusal behavior. If micro chat, NewAgent, and flows behave differently by provider, users will perceive the framework as unreliable even when the service layer is solid.
Agents that plan, delegate, pay, or run unattended need deadlines, cancellation, retries, resumability, tracing, audit history, and human-intervention states. Without these, agent features remain demos rather than production workflows.
Some internal design/status documents are intentionally obsolete or historical. The public roadmap and changelog are now the canonical sources. Future docs should make current/shipped/proposed status explicit to avoid confusion.
There are many targeted examples, but the strategy needs one polished real-world build that exercises services, agents, flows, guardrails, history/runs, MCP/A2A, and deployment as a continuous path.
Goal: make the existing v6 promise repeatable.
Cross-provider conformance matrix
plan, delegate, guardrails, refusal/stop behavior, and structured errors.Getting-started contract in CI
micro new → micro run → HTTP/RPC call succeeds.Failure semantics in the agent loop
context.Context deadlines propagate through model calls, tool execution, delegation, flows, and gateway calls.Docs status cleanup
README.md, ROADMAP.md, and website roadmap aligned.Goal: make long-running agent work production-grade.
Durable agent loop
Checkpoint model from flows.Agent observability
RunInfo into OpenTelemetry spans/events.micro runs / micro history as first-class inspection commands if not already complete.Streaming end to end
ai.Stream uniformly where provider support exists.micro chat, agent Ask/Chat, A2A message/stream, and any UI surface that remains.Human-in-the-loop state
ApproveTool into pause/resume or input-required states for long runs.Goal: turn the thesis into one maintained proof path.
Build and maintain one example application that demonstrates:
The support-agent example is a strong candidate because it naturally includes service lookups, prioritization, customer communication, human approval, and event-triggered automation.
new → run → chat → inspect → deploy.The language should move from “framework for services” to “agent harness on top of services.” A service framework helps teams build callable capabilities. An agent harness is the runtime that makes a model safe and useful around those capabilities: discovery, tool schema, execution, state, guardrails, workflows, delegation, observability, and interop.
Recommended public language:
This keeps the original microservices heritage but reframes it for the agent market. The service layer is not old positioning; it is the reason the harness is credible. Agents need real capabilities, and Go Micro services are typed, discoverable, callable capabilities.
To be relevant as agent infrastructure, Go Micro should make the following product bets visible and real:
RunInfo to tracing and CLI inspection.Go Micro has a strong, timely strategic position: the service framework for building agentic systems in Go. The current opportunity is to make that position trustworthy. Development should bias toward conformance, resilience, durable execution, observability, and a polished end-to-end developer path before expanding the feature surface.