fix(schema): validate archives before promotion and rollback

What does this MR do and why?

Schema switches could proceed without usable ontology archives. This checks archives before migration and promotion, switches active/retired statuses together, and retains rollback tables by recorded retirement time. Existing deployments need an archive-publishing release first; backfilling and serving stay unchanged.

Relates to #184 (closed). Slice 2 of !2433 (closed), stacked on !2436 (merged), which targets !2434 (merged).

Testing

57 Docker schema tests and 451 unit tests pass. Four regressions fail on the parent. Workspace Clippy, formatting, and changed-document checks pass.

Performance Analysis

  • This merge request does not introduce any performance regression. If a performance regression is expected, explain why.

Not benchmarked; extra archive reads occur at startup and promotion.

Agent context

Review moved archive validation before view changes and reused the status read for cleanup. Recovery tests preserve campaigns and version state; concurrent reads cover repeated promotions. The single-node status-write guarantee does not extend across NATS, DDL, or replicas. Lock lifetime is unchanged.

Sources: promotion, status batch, retention, rollout requirements.

Edited by Jean-Gabriel Doyon

Merge request reports

Loading
Loading