Deliver a usable first vertical slice of Sprout that proves the control-plane, site-agent, and provisioning model without overextending the product surface.
- site registration
- machine inventory CRUD
- lifecycle state tracking
- workflow creation and status tracking
- audit records for major actions
- one functioning site-agent path
- one functioning provisioning path
- CLI-first operator workflows
- builtin infrastructure providers (IPAM, network model, DHCP, DNS, hardware testing, machine allocation) working in default mode
- a production-grade web UI
- broad hardware vendor parity
- a built-in secrets platform
- a full repository or patch-management suite
- expansive Day 2 automation
- mature external provider implementations (external provider stubs exist but full NetBox/Nautobot/Kea/PowerDNS clients are post-MVP)
- repository scaffolding
- local development environment
- base service configuration
- PostgreSQL schema and migrations
- NATS messaging baseline
- site model
- machine model
- lifecycle state model
- workflow model
- audit model
- network and IP allocation models (for builtin providers)
- health and readiness endpoints
- machine and site API resources
- workflow endpoints
- authorization hooks and audit emission
- site-agent registration
- delegated workflow consumption
- status reporting
- one task execution path
- boot intent publication
- metadata delivery
- artifact retrieval
- install completion reporting
- IP allocation through IPAM provider
- DHCP lease management through DHCP provider
- provisioning DNS records through DNS provider
- hardware validation through hardware testing provider
- an operator can register a site and see agent status
- an operator can create a provisioning network and have IPs allocated
- an operator can create or import a machine
- an operator can trigger commissioning or provisioning through the API
- the site agent can execute and report the workflow
- builtin DHCP serves PXE options for provisioning interfaces
- hardware testing runs during commissioning (or is explicitly disabled)
- audit records show who requested the action and what happened
- end-to-end demo from API request to installed host status
- all MVP resources documented in OpenAPI
- local lab environment can run the core workflow without Kubernetes
- failure states are visible, not hidden