Repository navigation
feat(projects): enforce Project membership and retire the connector - #8590
mzxchandra wants to merge 86 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
…ty-enforcement # Conflicts: # apps/sim/lib/projects/__integration__/foundation.integration.ts
There was a problem hiding this comment.
All reported issues were addressed across 162 files
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Turn on auto-fix | Re-trigger cubic
Lock and verify effective legacy memberships before materializing reviewed assignments and applying the shared detach policy. Reject resume reports whose code hash differs before changing their checkpoint. Isolate local pubsub subscriber failures so healthy archive subscribers still receive notifications. Extend existing CLI and real-database integration coverage for mixed memberships, concurrent and stale connector changes, unchanged mismatched reports, replay, and local subscriber delivery.
|
@cubic-dev-ai review this PR |
@mzxchandra I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 165 files
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Turn on auto-fix | Re-trigger cubic
|
@cubic-dev-ai review this PR |
@mzxchandra I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 166 files
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Turn on auto-fix | Re-trigger cubic
|
@cubic-dev-ai review this PR |
@mzxchandra I have started the AI code review. It will take a few minutes to complete. |
|
@cubic-dev-ai review this PR |
@mzxchandra I have started the AI code review. It will take a few minutes to complete. |
Summary
Complete the migration to
workspace.project_idafter #8830 has deployed. Release 2 migrations run before application promotion, while release 1 still serves traffic. The registered runner therefore switches the sole membership authority before incremental backfill, keeping live writes and reconciliation consistent without dual writes or synchronization triggers.NOT NULLandON DELETE RESTRICT, and removesproject_workspace.workspace ACCESS EXCLUSIVE NOWAIT. Connector mode requires an intact connector and all columns NULL. The transaction updates only the checked singleton to column mode and commits before discovery or bulk backfill. Transient contention retries the whole transaction; an already committed switch is idempotent and never reversed on later failure.Deployment prerequisites and rollback
Deploy #8830 first. With
ALL_AT_ONCErouting, old servers receive no fresh requests after traffic cutover. Before this migration switches authority, verify the exact compatible digest and completion of concrete membership-sensitive old in-flight operations and worker activity. Mere container retention or long workflow execution does not establish a membership dependency. The database barrier drains participating transactions; operational drain evidence and the deployment preflight remain required.If reconciliation stops after switching, keep column mode, resolve the reported conflicts through the reviewed operator path, and resume the normal migration runner. Operator invocation outside the deployment workflow still requires fresh release/drain evidence and a direct primary connection; never insert a completion receipt manually.
The authority-aware #8830 release is the oldest supported application rollback after the switch and after contraction. Keep the expanded/contracted schema and
project_membership_rolloutcolumn-phase row. Never demote authority or deploy pre-#8830 code. No third compatibility release or marker-cleanup release is required.Type of Change
Testing
e5da5c8abdb6c649fe73d855c95c24277a88614f, integrating expansionb9bc57287107d1ebe7618f5031725a0131c7c291and staging OAuth0405; Project expansion0406 and enforcement0407.Checklist