Draft: feat(schema): retain ontology archives across migrations

What does this MR do and why?

A new webserver currently uses the new ontology before backfill finishes, so queries can fail. Retaining one ontology archive per schema lets it serve the active tables and switch at promotion, without blue-green deployments.

Existing installations need a preparatory release that publishes their current archive before the next schema upgrade.

Relates to #184 (closed).

Why this choice

This keeps the existing query engine. The trade-off is temporarily stale data while the new schema backfills; see deployment constraints.

Testing

Local checks passed: 1,282 unit tests, 53 integration tests, formatting and Clippy. Real GDK v96 → v97 → v96 passed, including a Rails issue update and restoration.

Performance Analysis

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

Each RPC keeps one snapshot. Missing archives fail closed and recover without restart; see serving behavior.

Validation records: /tmp/orbit-polish-validation.log and /tmp/orbit-upgrade-rollback-validation.log. The GDK run covered retained-table rollback, not rollback after garbage collection. Performance was not benchmarked.

Merge request reports

Loading
Loading