Repository navigation
Conversation
The matrix published attach/detach partition and drop/reindex as migrate-supported, but migrate refuses all four. A guard test now runs every migrate-supported row through migrate.Run.
Keep drop-index as refused by migrate and fold in main's replica-identity refusals in its notes and in limitations; regenerate the capabilities page from the merged matrix.
Regenerate the capabilities page from the merged matrix, which now also carries main's add-column rewrite rows.
Test that every migrate: refused row refuses with its published reason, fix the two drifted tokens, and drop stale supported claims. Document --force, dry-run and diff caveats for attach/detach/drop-index, and define the ❌ mark uniformly.
There was a problem hiding this comment.
🟡 Changes recommended
The completeness guard accepts empty case lists and exemption reasons, allowing classifications without coverage or explanation.
1 open issue
What changed in this PR
Adds capability-driven integration coverage to verify that native schema changes preserve table storage, and corrects partition-operation support claims.
Changes:
- Tests native capability rows through
migrate.Runusing before-and-after filenodes. - Adds a completeness guard for test cases and exemptions.
- Marks partition attach and detach as planned rather than supported.
| File | Description |
|---|---|
pkg/migrate/no_rewrite_integration_test.go |
Adds native-operation tests and coverage checks. |
pkg/capabilities/capabilities.yaml |
Corrects partition-operation statuses and refusal details. |
docs/capabilities.md |
Updates the generated matrix and support totals. |
Review effort: Balanced
aparajon
force-pushed
the
armand/no-rewrite-claims-proven
branch
from
October 17, 2026 06:14
807f850 to
96c78b9
Compare
Each capability row whose imperative front door executes natively claims the change leaves the table's storage in place. A new integration test runs statements of every such row's shape through migrate.Run and fails if any table in the fixture schema gets a new filenode, and a coverage test fails when a natively executed row has no cases or exemption. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
aparajon
changed the base branch from
main
to
kiran01bm/fix-capabilities-refused-rows
October 17, 2026 06:16
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Base automatically changed from
kiran01bm/fix-capabilities-refused-rows
to
main
October 17, 2026 06:42
…ims-proven # Conflicts: # docs/capabilities.md # pkg/capabilities/capabilities.yaml
aparajon
marked this pull request as ready for review
October 17, 2026 18:59
aparajon
requested review from
JashLal,
Kiran01bm,
eeSeeGee,
jayjanssen,
jemiahw and
morgo
as code owners
October 17, 2026 18:59
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Why
docs/capabilities.mdis the public promise of what pg-sprite runs in place. A row that saysmigrateexecutes a change natively also claims the table is not rewritten. Until now that claim was checked one class at a time, as in #196, so a wrong row could stand until someone hit it. The array type-change and domain bugs were both that kind of gap.What
migratedoor executes natively, runs statements of that row's shape throughmigrate.Run, and fails if any table in the fixture schema got a new filenode.It reads the matrix as corrected by #188, which marks the rows
migraterefuses (attach, detach, drop index, reindex) as refused.🤖 Generated with Claude Code