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.
Related Issues
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.