// Package reconcile is the agent-side control core (slice 4): the engine that
// converges actual Proxmox state toward a desired state, the per-guest serializer
// that all mutation sources funnel through (doc 03 §10), the field-normalization
// layer that keeps Proxmox round-trip quirks from reading as drift, and the durable
// operation journal + idempotency store.
//
// Phase A (this file set) is structural and runs LIVE but UNFED: at slice 4 there is
// no desired-state provider (hub serving is slice 10, provisioning is slice 7), so
// the live engine computes an empty action set and performs ZERO mutations. The
// engine, serializer, normalizer, journal, and planner are all exercised against
// synthetic fixtures. The first live convergence arrives when slice 10 serves desired
// state into the DesiredProvider seam.
//
// Phase B (added later) layers the benign/destructive classifier and the
// reversibility gate (doc 03 §4) plus the signed-op consuming layer over
// internal/authz (doc 04) in front of the queue's executor — so every mutation passes
// the gate. Phase A deliberately wires only the benign-on-existing-guest action set:
// Start / Stop / SetConfig.
//
// Action set scope (slice 4): Start, Stop, SetConfig on EXISTING guests only.
// Provisioning (restore-to-new-guest) and destroy/overwrite are out of scope here —
// the destructive set is classified and gated in Phase B but not wired to live
// execution, because nothing serves destructive deltas until slice 10.
package reconcile
