Skip to content

Add the project scoping plan and track its status in the plans index - #53

Merged
haphantran merged 2 commits into
mainfrom
project-scoping-plans
Nov 10, 2026
Merged

haphantran merged 2 commits into
mainfrom
project-scoping-plans

Conversation

@haphantran

Copy link
Copy Markdown
Collaborator

Adds the five-phase plan under plans/project-scoping/ for making a project the scoping unit for every artifact, and a Project scoping track row in plans/README.md.

Phases 1 to 3 shipped in #41, #42 and #44. projectId is still optional on most artifact models, so Phase 5 (making it required) is open. The master plan's status line says so.

The five-phase plan for making a project the scoping unit for every artifact. Phases 1 to 3 shipped in #41, #42 and #44; making projectId required (Phase 5) is still open.
Copilot AI balanced review requested due to automatic review settings November 9, 2026 22:40

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The move plan omits project-scoped EPackage handling, leaving external package references that buildManifest rejects and blocking checkpoints and dependent lifecycle operations.

3 open issues
What changed in this PR

Adds a five-phase plan for making projects the scoping unit for artifacts and tracks its progress in the plans index. This documentation-only PR records shipped work from #41, #42, and #44 while leaving Phase 5 hardening open.

Changes:

  • Adds a master plan covering architecture, design decisions, sequencing, and rollout.
  • Adds phase plans for backend foundations, frontend scope, creation rules, access control, and hardening.
  • Marks the project-scoping track as in progress.
File Description
plans/​README.md Adds the project-scoping track and status.
plans/​project-scoping/​phase-5-hardening-and-cleanup.md Plans required scoping, artifact moves, and cleanup.
plans/​project-scoping/​phase-4-project-access-control.md Defines membership, sharing, and authorization work.
plans/​project-scoping/​phase-3-scoped-creation-and-conformance.md Plans scoped creation, imports, and relationship validation.
plans/​project-scoping/​phase-2-frontend-project-scope.md Describes project selection and frontend list filtering.
plans/​project-scoping/​phase-1-backend-foundation.md Defines schema, API, and backfill foundations.
plans/​project-scoping/​00-master-plan.md Summarizes scope, decisions, rollout, and current status.

Review effort: Balanced

Comment on lines +11 to +12
report any row in the 7 scoped tables with `projectId IS NULL`, excluding `isExample`
template packs (decision Q3).
Comment on lines +33 to +35
- Moving a **metamodel** moves its models, diagrams, and viewpoints with it (compute
the closure, show it, move atomically in a transaction). Codegen packs/test
cases/rules that resolve to it are moved too.
Comment on lines +54 to +59
## 4. Server-side list filtering (performance, optional but planned)

Phase 2 filters client-side. Add `?projectId=` support to the list endpoints and pass the
current project from the frontend service caches, so large tenants stop shipping full
lists. Keep client-side filtering as fallback. This also positions the caches to be
per-project later if memory becomes an issue.
The plan predates Phases 1 to 3 shipping. It audits seven scoped tables where the schema has nine, its move closure leaves the metamodel's EPackage behind, which checkpoints reject, and it treats server-side list filtering as future work although it has shipped.
@haphantran
haphantran merged commit fe3e044 into main Nov 10, 2026
3 checks passed
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.

2 participants