Skip to content

ci(gateway): detect generated binding drift - #448

Merged
Mathih13 merged 1 commit into
mainfrom
ci/issue-368-binding-drift
Sep 7, 2026
Merged

Mathih13 merged 1 commit into
mainfrom
ci/issue-368-binding-drift

Conversation

@Mathih13

@Mathih13 Mathih13 commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

Subscribed-table parity cannot detect drift in private tables, reducers, or other generated definitions. A later binding refresh can therefore reveal old omissions mixed with the intended change.

This adds an offline complete-tree check to the existing checksum-verified SpacetimeDB 2.7.1 job. It generates Rust bindings with --include-private, applies only the documented digit-spelling and spline-comment exceptions, formats with the pinned Rust toolchain, and compares every file with the committed Gateway tree. CLI-level tests prove that a missing or modified generated definition fails the check.

The current raw generation differs in four documented files only: the aura and gossip digit spellings, plus the creature spline comment. After normalization, all 967 files match. No generated row, reducer, type, or serialization shape changes in this PR.

Validation:

  • two independent full generation checks: 967 files current
  • python3 -m unittest scripts/tests/test_check_gateway_bindings.py: 2 passed
  • cargo test -p lyracore-gateway --test schema_parity: 110 passed
  • cargo check -p lyracore-gateway
  • cargo fmt --all -- --check
  • broader Gateway suite: 1,298 passed; one unrelated trace-dump test could not write to the pre-existing /tmp/gw-writer-crash directory owned by another user

Closes #368

Authored by GPT-5.6 Sol at high effort through Codex in T3 Code.

@coderabbitai

coderabbitai Bot commented Sep 7, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 15 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 10 included reviews currently available.

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 38349f89-659f-4dbd-9ed7-cca10b46c703

📥 Commits

Reviewing files that changed from the base of the PR and between 0b8631d and b072d75.

📒 Files selected for processing (4)
  • .github/workflows/module-durable.yml
  • docs/danger-zones.md
  • scripts/check-gateway-bindings.py
  • scripts/tests/test_check_gateway_bindings.py

Comment @coderabbitai help to get the list of available commands.

@Mathih13
Mathih13 merged commit 38a78b8 into main Sep 7, 2026
7 checks passed
@Mathih13
Mathih13 deleted the ci/issue-368-binding-drift branch October 11, 2026 18:20
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.

CI: committed gateway bindings drift between regenerations

1 participant