Skip to content

feat(projects): add project identity and lifecycle foundation - #8561

Closed
mzxchandra wants to merge 4 commits into
stagingfrom
codex/project-entity-foundation
Closed

mzxchandra wants to merge 4 commits into
stagingfrom
codex/project-entity-foundation

Conversation

@mzxchandra

@mzxchandra mzxchandra commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Add Project identity and environment membership, session APIs for create/list/detail/lookup/rename/archive, and shared authorization operations.
  • Create a Project and its named initial environment, admin permissions, and starter workflow in one transaction. Reuse workspace eligibility, billing, and permission-group rules; preserve existing workspace creation callers.
  • Keep Projects consistent through workspace creation, forks, disconnects, archive, organization transfers, and account deletion. Add permission-group restrictions for Project Issues when a teammate has partial environment access.
  • Add an additive schema migration and a standalone backfill CLI with reviewed plans, bounded locking/retries, durable reports, reconciliation, and an operator runbook.

This is a draft foundation. Staging backfill rehearsal, later database membership/minimum-environment enforcement, and Project navigation/Issues CRUD remain separate rollout work. The backfill requires PostgreSQL 17+ and runs after compatible writers are deployed; it is not registered in the startup migration runner or a dedicated GitHub workflow.

Creation usage and examples: apps/sim/lib/projects/README.md. The guide distinguishes new Project onboarding from existing workspace creation, including required names, explicit scope, and response shapes.

Follow-up

  • Add Project-scoped files in a separate PR: nullable projectId ownership on the existing file model, valid-scope constraints, authorization, version history/collaboration, lifecycle handling, and Mothership tools/VFS support. Keep environment files restricted unless explicitly published to the Project. A designated Project brief can reference a stable document ID.
  • Omit a separate Project description field. Project names provide identification; Project-owned files will carry shared purpose, goals, and operating guidance.

Type of Change

  • New feature

Testing

  • 39 real PostgreSQL/Redis application integration checks and 9 dedicated backfill/CLI integration checks, with JSON reports; 299 focused neighboring tests.
  • Fresh database migration and repeat migration, app/database type-checks, lint, all 57 repository audits, migration safety, block registry, docs manifest, and generated-artifact checks.
  • Full repository test suite, including root script tests. Local tests used Node 24 with its matching isolated-vm binary and personal Bash startup files disabled.
  • Browser rehearsal and hosted backfill execution have not been performed.

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing (new tests pass the test-audit authoring gate)
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

@vercel

vercel Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
docs Ready Ready Preview Oct 2, 2026 6:07pm UTC

Request Review

@mzxchandra mzxchandra closed this Oct 2, 2026
@mzxchandra
mzxchandra deleted the codex/project-entity-foundation branch October 2, 2026 19:19

This branch was successfully deployed

1 active deployment
Preview — 0980ad1f Deployed Oct 2, 2026 by vercel[bot]
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