Roadmap and known limitations
hiveD is pre-1.0 and pre-alpha. The API surface under proto/hived/v1alpha1
may still change between minor versions, and all five ADRs are Draft.
Work is organized into milestones. M0 (foundations) is complete and shipped as v0.1.0. M1 (first colony) is in progress: its job is to make a Run actually execute.
M0: shipped in v0.1.0
| Area | What landed |
|---|---|
| Governance | LICENSE, DCO, NOTICE, CONTRIBUTING, SECURITY, docs/PROJECT.md, ADR-0001 through ADR-0004 (all Draft) |
| Proto | Colony, Agent, AgentVersion, Run and Event definitions with typed Apply/Get/List/Watch services, generated via buf and connect-go, gen/ checked in |
| Store | Postgres-backed resource store: shared resources and events tables, optimistic concurrency via resourceVersion, generation bumped only on spec change, AgentVersion immutability enforced, plus an in-memory implementation for tests. Watch is polling. |
| Keeper | hived-keeper with serve, migrate and version; the resource API for all five kinds |
| CLI | hived with apply -f, get, watch, events, run and version |
| Dev loop | deploy/compose Keeper plus Postgres; a mindD placeholder behind the mind profile, not required for a clean up |
| CI | build, race, import boundary, proto drift, lint, store integration, and main-only container jobs |
| Release | Tag-triggered releases: multi-arch image, cross-platform binaries, checksums.txt |
M1: landed so far
These also shipped in v0.1.0, ahead of the implementations that will use them. All are additive proto changes, so building the rest does not require a breaking API change.
- The
Toolresource:ToolServicewithApply/Get/List/Watch, and types MCP, BUILTIN and AGENT.hived apply,getandwatchunderstand the kind. - The Drone contract:
DroneServicewithBootstrap,HeartbeatandFinish, plusRunManifest,MemoryConfig,ToolDescriptorandControlSignal. - The Tool Broker contract:
ToolBrokerServicewithListRunToolsandCallTool, including the(run, step, callId)idempotency andreplayedsemantics that make a tool call survive a Cell restart. RunService.Logs, which returnsCodeUnimplementeduntil the Executor exists.- Run scheduler fields:
RunPhase.TIMED_OUT,RunSpec.cancel,RunStatus.attempt,RunStatus.observedGeneration,RunStatus.lastHeartbeatAt. - ADR-0005 (Draft): the Event
typevocabulary and the Keeper/Drone emitter split.
M1: in scope, not built yet
This is the honest gap. Every item below is planned for the current milestone and does not exist in v0.1.0.
| Not built | What it will do |
|---|---|
| Scheduler | Reconcile Run objects: resolve the AgentVersion, evaluate policy, mint tokens, build the Cell artifact, select an Executor, track lifecycle, handle resume. Without it a Run stays PENDING. |
Executor interface and local-docker | Provision a Cell. local-docker speaks the raw Engine API over a unix socket and works on podman and docker. |
hived-drone binary | The per-Cell runtime: the default agent loop, checkpoint and resume, and the Drone side of DroneService. |
| Model Gateway | OpenAI-compatible in, OpenAI-compatible out, plus a fake provider for tests. |
| Tool Broker implementation | The proto contract exists; the broker, one MCP server and the built-in spawn_run do not. |
| Real PASETO tokens | ADR-0002's v4.public issuance and verification. internal/identity is a no-op stub today. |
| Real mindD integration | kv and episodic through a vendored proto and a hand-written connect client, per ADR-0004. |
hived logs --follow | The flag parses; the command fails. |
examples/hello-agent | No examples directory exists. |
Definition of done for M1: kill the Cell mid-run and the Run resumes from its last checkpoint in a new Cell.