Skip to content

refactor: inline the schema contract in the catalog - #834

Merged
azimafroozeh merged 5 commits into
ModernRelay:mainfrom
azimafroozeh:schema-contract-manifest-row
Oct 1, 2026
Merged

azimafroozeh merged 5 commits into
ModernRelay:mainfrom
azimafroozeh:schema-contract-manifest-row

Conversation

@azimafroozeh

@azimafroozeh azimafroozeh commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

What & why

Schema apply currently publishes table changes before installing three root schema files, leaving a recovery window between graph and contract publication. Inline the schema source, SchemaIR and identity in main's __manifest so one CAS publishes the contract, table references and graph head atomically.

This removes the schema-apply sentinel and separate schema-file installation protocol. Readers validate contract content from each newly observed manifest image and reuse validated state while freshness checks permit it. Combined cold-open scans, bounded small-file reads and acknowledged publication-batch reuse reduce repeated object-store reads.

Backing issue / RFC

  • Implements an accepted RFC: docs/rfcs/2026-09-30-schema-contract-in-manifest.md is included as a draft; acceptance is pending.

Checklist

  • One logical change, including storage-format conversion and recovery.
  • Tests updated for contract integrity, concurrency, retries, request counts and migration.
  • Developer/operator guides and release notes updated.
  • Checked against docs/dev/invariants.md.

Local verification

  • env RUST_MIN_STACK=16777216 cargo test --workspace --exclude omnigraph-gqt --exclude omnigraph-dst --locked --features omnigraph-engine/failpoints,omnigraph-cluster/failpoints --no-fail-fast: 3,498 passed, eight failed, 33 ignored at the full-suite checkpoint. Three integration failures were corrected, and one CLI timeout passed in isolation. Four forbidden_apis registry checks remain failing. The full suite was not rerun after the fixes.
  • cargo test -p omnigraph-gqt --locked: 447 passed, including 236 query cases.
  • From crates/omnigraph-dst, cargo test -p omnigraph-dst --locked: 109 passed, 31 ignored.

Targeted reruns passed 140 engine tests and 100 server tests. Workspace compilation, formatting, default/failpoint/GQT Clippy, documentation, release-note, spelling and whitespace checks pass.

Notes for reviewers

Storage format 13 requires an explicit offline upgrade from supported older formats. Stop all graph access and back up the entire graph root before running omnigraph upgrade.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@azimafroozeh
azimafroozeh force-pushed the schema-contract-manifest-row branch from e1ea84e to affdd7e Compare October 1, 2026 12:17
@azimafroozeh
azimafroozeh force-pushed the schema-contract-manifest-row branch from 22cea29 to de486a4 Compare October 1, 2026 13:17
@azimafroozeh
azimafroozeh added this pull request to the merge queue Oct 1, 2026
Merged via the queue into ModernRelay:main with commit 97f293e Oct 1, 2026
30 checks passed
@azimafroozeh
azimafroozeh deleted the schema-contract-manifest-row branch October 1, 2026 14:21
ragnorc added a commit that referenced this pull request Oct 1, 2026
…ifest

#834 removed the schema-apply sentinel; revalidation no longer reads it
and an insert makes 13 requests. The next lever now cites #837.
ragnorc added a commit to ragnorc/omnigraph that referenced this pull request Oct 1, 2026
On main after ModernRelay#834 the golden only falls (every changed row is a get).
ModernRelay#834 gave each owner its own control session, which removed the leak
the seam scheduler's seed re-pin avoided; 32_001 passes again.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant