diff --git a/CHANGELOG.md b/CHANGELOG.md index c84bf86..5f1c060 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,25 @@ # Changelog +## 2026-09-16 11:46 UTC — Provider blueprint split into contract, spec template and appendix + +- **`docs/provider-contract.md`** is the generic provider specification: MUST/SHOULD/MAY + rules with the caller behind each one, 19 behaviour-profile axes with stable codes + (where providers may differ, such as blocking vs submit-and-return Create, or a + backend with no provisioning state), error taxonomy, credential hygiene, testing + obligations, the adding-a-provider checklist and the contract's known limits. It + names no existing provider. +- **`docs/provider-spec-template.md`** is the fill-in questionnaire a new provider's + design answers before implementation; entry numbers match the contract's profile + table. +- **`docs/providers-existing.md`** maps kubernetes, gcp and kvm to every profile and + keeps their per-provider reference notes, shared gaps and proposed features. +- **`docs/providers.md`** is now an index; README, CLAUDE.md and architecture.md point + at the new files. This supersedes the single-file blueprint written earlier on the + same branch. +- Two rules the callers enforce that were not written down before: orphan GC sweeps + providers sequentially with no deadline, so a hung `ListByTag` stalls all collection; + and the reconciler deletes an instance a backend reports as Stopped before start. + ## 2026-09-16 08:45 UTC — Provider health checks: ProviderHealth CRD, per-provider checks, gauges - **Each configured provider is now checked on a schedule** and reported in a