Sixteen commits, all on one private deployment platform, spread across a very long day — a batch just after midnight and then a second run in the late afternoon.
The big architectural thread of the day — drivers that admit what they can't do — is written up properly in a separate post. This is everything else, which turned out to have its own through-line: most of it was about making a claim checkable.
1. Managed services as data, not as 72 classes
The catalogue seeds 24 managed service types. Four of them had provisioners. So a blueprint asking for MongoDB, RabbitMQ or MinIO got refused at validation — a clear failure, but a missing capability.
Filling that gap the obvious way meant 20 types × 3 backends = 60 more near-identical classes, each a copy of its two siblings, with one service's image tag and port living in three files that immediately start drifting apart.






