Desired state
Hostwright reads a strict Manifest v3 declaration and compares it with local runtime observations. It reports typed issues and produces a plan for review. It does not silently change a workload when the manifest changes.
Two kinds of state
Section titled “Two kinds of state”- Desired state is the project and service configuration in
hostwright.yaml. - Observed state is a point-in-time view read through the selected runtime provider. Stateful operations record it in SQLite schema v24.
The reconciler compares these records, applies admission and provider policy, and computes lifecycle actions. A dry-run shows the changes and a plan hash; the confirmed command revalidates that plan through authenticated local Control API 2.2 authority.
Why declaration helps
Section titled “Why declaration helps”- Reviewable change: examine the complete proposed plan before mutation.
- Idempotency: execution is bound to current project identity, provider capability, reservation, and operation authority.
- Recovery: durable checkpoints make interrupted operations inspectable and keep uncertain resources fenced until recovery is safe.
- Explicit limits: each service declares CPU and memory requests and limits; unsupported fields or provider behavior fail before effects.
The unit of declaration
Section titled “The unit of declaration”A project contains one or more services. The Manifest v3 contract describes images, resources, scheduling constraints, commands, ports, volumes, environment, secret references, probes, and restart behavior. Each field is documented in the Manifest reference.
Hostwright’s v0.0.2 scope is one Apple silicon Mac. Multi-Mac scheduling is outside this release. The implementation remains under development qualification; see Compatibility and Limitations.
