Model server startup as a typed boot dataflow graph
Server startup currently relies on statement order and shared mutable state to communicate lifecycle dependencies.
Introduce a small generic pkg/boot package and move server lifecycle ownership into focused components under components/server. Typed outputs should carry ready values and declare graph edges at the same time.
Done when:
- The graph validates missing dependencies and cycles before startup.
- Independent components start in parallel.
- A consumer runs only after all of its producers publish successfully.
- The same edges produce reverse dependency-order shutdown.
commands.Serverremains the CLI policy, configuration, signal, and runtime-handoff layer.- Build saga recovery waits for BuildKit, the OCI registry, and registry host mapping.
- Build and deployment handlers are exposed only after every boot capability their request paths need is available.
- A disabled optional component, such as BuildKit, resolves successfully without holding the graph open.
- RFD-88 records the refined boot-only model and no longer promises runtime readiness conditions.
Implementation: mirendev/runtime#1096