Repository navigation
feat(projects): move Project membership to the workspace column - #8830
mzxchandra wants to merge 33 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
|
@greptile review |
|
@cubic review |
@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 25 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
|
Comments Outside DiffThese findings could not be posted inline.
|
|
The removed-helper warning is a required downstream integration step. #8830 and #8590 use createProjectRecord before inserting workspace.project_id in the same transaction; the connector-based createProjectForWorkspace must not be restored. #8609 and #8610 must merge the final #8590 head and reconcile their creation/fixture callers before merging. Their shared foundation files are still awaiting that parent synchronization, so local feature-specific conversions alone do not establish a green combined stack. Preserve the downstream account-deletion storage cleanup effects and deferred Project deletion when resolving those conflicts. |
|
@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 26 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
|
@greptile Please re-review the current head and the individual thread evidence. Downstream import adaptations are explicitly recorded as required follow-up outside these PRs; no downstream completion is claimed. |
|
@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.
No issues found across 34 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Heads up: you’ve reached your flex budget. Increase your flex budget or wait for usage to reset.
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
…pace-column-expand # Conflicts: # apps/sim/lib/billing/webhooks/stripe-sync-convergence.integration.ts
|
@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.
No issues found across 34 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Heads up: you’ve reached your flex budget. Increase your flex budget or wait for usage to reset.
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.
No issues found across 34 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Heads up: you’ve reached your flex budget. Increase your flex budget or wait for usage to reset.
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
There was a problem hiding this comment.
No issues found across 34 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Heads up: you’ve reached your flex budget. Increase your flex budget or wait for usage to reset.
Turn on auto-fix | Re-trigger cubic
…pace-column-expand
|
@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.
No issues found across 34 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Heads up: you’ve reached your flex budget. Increase your flex budget or wait for usage to reset.
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
Summary
Prepare the move from
project_workspacetoworkspace.project_idwith one authoritative membership representation in each phase. This compatible release continues to work while #8590 performs the backfill and after it retires the connector.packages/db/PROJECT_MEMBERSHIP.md. Project non-emptiness and archive lifecycle belong to application transactions. Release 2 uses native composite FKs for organization and connected-fork consistency, with no custom integrity/synchronization triggers or artificial Project row updates.project.updated_atremains ordinary metadata.Rollout and rollback
Deploy this release, then verify that concrete incompatible membership-sensitive requests and independently scheduled workers have drained. The all-at-once application traffic switch stops fresh requests to retired servers; container retention alone is not evidence of a membership writer.
Only then deploy #8590. Its migration switches authority, performs all bounded backfill/reconciliation, validates final constraints, and atomically drops the connector and rollout marker while this release still serves traffic. No new infrastructure maintenance mechanism or third compatibility release is required.
After the authority switch, this release is the oldest supported application rollback. Keep the database changes; do not reset authority or deploy pre-#8830 code. This release recognizes a completed schema without either temporary table by checking required membership and the three validated membership foreign keys. A missing marker in an incomplete schema is an error.
Validation
Current-head focused local proof: three real PostgreSQL application tests passed for marker-free reads/writes, rejection of incomplete schemas, authority barriers, and snapshot ordering; eight billing lock-order unit tests passed. Merged current staging and retained its billing test synchronization fix.
Earlier local Docker/HTTP proof (before marker removal):
These local requests prove compatibility, not production drain completion. Full CI runs on GitHub Actions; no full local suite was run. Downstream #8609/#8610 still need synchronization with the revised stack and its recorded decisions.
Current hosted status
Head
5dc6f90e5afixes the real-Drizzle authority result and subquery routing in workspace-move fixtures. All 24 workspace-move tests pass locally. Both Greptile findings were answered individually and resolved. CI and both reviews were retriggered for this head; results remain pending: https://github.com/simstudioai/sim/actions/runs/38085210891.