-- Which CLI a mission runs on, and therefore which rootfs image its microVM -- boots (per A6: one image per CLI, independently versioned). -- -- NULL means "the default" rather than a specific CLI, so existing missions -- keep their current behaviour without a backfill: the microVM path reads NULL -- as the golden rootfs, and the container path ignores the column entirely. -- -- No CHECK constraint listing the CLIs. The set of images is a property of the -- NODES (which ones have been built there), not of the schema, and a constraint -- here would have to be migrated every time an image is added while still not -- guaranteeing the image exists anywhere. The node validates and reports a -- missing image by name; a wrong value fails loudly at launch rather than -- silently booting something else. ALTER TABLE missions ADD COLUMN IF NOT EXISTS backend text; COMMENT ON COLUMN missions.backend IS 'CLI/rootfs backend for microvm runtime_kind (e.g. claude, kimi, glm). NULL = default image.';