docs: update roadmap with Phase 2 (Dynamic Pipelines) completion status
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
40028b7ced
commit
2c75317e9f
1 changed files with 60 additions and 5 deletions
65
ROADMAP.md
65
ROADMAP.md
|
|
@ -3,7 +3,7 @@
|
|||
> Single source of truth for project status and remaining work.
|
||||
> Previous planning documents (IMPLEMENTATION_PLAN.md, UPGRADE_PLAN.md) are archived in `docs/archive/`.
|
||||
|
||||
*Last updated: 2026-03-14*
|
||||
*Last updated: 2026-03-14 (Phase 2 complete)*
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -67,6 +67,47 @@
|
|||
| **Weekly executive report** | Full report page at `/reports/weekly/[date]` with KPI strip, completed, deadlines, at-risk, upcoming sections |
|
||||
| **Skill data model** | `Skill`, `UserSkill`, `StageSkillRequirement` in schema with seed data — **no assignment UI yet** |
|
||||
|
||||
### Phase 2: Multi-Brand Ready (Dynamic Pipelines)
|
||||
|
||||
| Feature | Status |
|
||||
|---|---|
|
||||
| **WP1 — RBAC Foundation** | ✅ Complete |
|
||||
| `Permission` enum (20 perms) + `OrgRolePermission` model | ✅ |
|
||||
| `requireAuth(permission?)` replaces `getAuthSession()` across all 28 API routes | ✅ |
|
||||
| Default permissions per role (ADMIN/PRODUCER/ARTIST) with org-level overrides | ✅ |
|
||||
| Permission matrix settings page (`/settings/permissions`) | ✅ |
|
||||
| **WP2 — Org Hardening** | ✅ Complete |
|
||||
| Denormalized `organizationId` on Deliverable + DeliverableStage | ✅ |
|
||||
| `assertOrgAccess()` on all project/deliverable/stage API routes | ✅ |
|
||||
| Backfill script (`scripts/backfill-org-ids.ts`) | ✅ |
|
||||
| **WP3 — Dynamic Pipeline Schema** | ✅ Complete |
|
||||
| `PipelineTemplate`, `PipelineStageDefinition`, `PipelineStageDependencyV2` models | ✅ |
|
||||
| `pipelineTemplateId` on Project, `stageDefinitionId` on DeliverableStage | ✅ |
|
||||
| Stage resolver normalizes old/new definitions | ✅ |
|
||||
| `deliverable-service.ts` creates stages from project's dynamic pipeline | ✅ |
|
||||
| Migration script (`scripts/migrate-to-dynamic-pipelines.ts`) | ✅ |
|
||||
| **WP4 — Pipeline Template CRUD** | ✅ Complete |
|
||||
| Full service: list, get, create, update, archive, duplicate | ✅ |
|
||||
| Stage CRUD: add, update, remove, reorder | ✅ |
|
||||
| Dependency management with cycle detection | ✅ |
|
||||
| Pipeline validation (cycles, orphans, root stages) | ✅ |
|
||||
| 8 API routes under `/api/pipelines/` | ✅ |
|
||||
| **WP5 — Pipeline Builder UI** | ✅ Complete |
|
||||
| `@xyflow/react` dependency graph visualization | ✅ |
|
||||
| Pipeline list page (`/settings/pipelines`) with create, duplicate, archive | ✅ |
|
||||
| Pipeline editor page with two-panel layout (stage list + dependency graph) | ✅ |
|
||||
| Stage edit sheet, validation banner, custom edge with delete | ✅ |
|
||||
| **WP6 — Invite System & Org Onboarding** | ✅ Complete |
|
||||
| `Invitation` model with token-based accept flow | ✅ |
|
||||
| Invitation service: create, list, revoke, accept | ✅ |
|
||||
| Team settings page (`/settings/team`) with member list + invite form | ✅ |
|
||||
| **WP7 — Custom Fields & Notification Rules** | ✅ Complete |
|
||||
| `CustomFieldDefinition` model + `customFields` JSON on Project/Deliverable | ✅ |
|
||||
| `NotificationRule` model (org-scoped event + conditions + channels) | ✅ |
|
||||
| CRUD services, validators, hooks, API routes for both | ✅ |
|
||||
| Custom fields settings page (`/settings/fields`) | ✅ |
|
||||
| Notification rules settings page (`/settings/notifications`) | ✅ |
|
||||
|
||||
---
|
||||
|
||||
## Remaining Work — Priority Order
|
||||
|
|
@ -735,8 +776,13 @@ Note: `Dockerfile` and `docker-compose.yml` already exist in the repo root — r
|
|||
| Model | Status |
|
||||
|---|---|
|
||||
| Organization, User, Account, Session | ✅ |
|
||||
| PipelineStageTemplate, PipelineStageDependency | ✅ |
|
||||
| Project, Deliverable, DeliverableStage | ✅ (with pgvector embedding columns) |
|
||||
| PipelineStageTemplate, PipelineStageDependency | ✅ (legacy global, kept for backward compat) |
|
||||
| PipelineTemplate, PipelineStageDefinition, PipelineStageDependencyV2 | ✅ (Phase 2 — org-scoped dynamic pipelines) |
|
||||
| OrgRolePermission | ✅ (Phase 2 — RBAC) |
|
||||
| Invitation | ✅ (Phase 2 — invite system) |
|
||||
| CustomFieldDefinition | ✅ (Phase 2 — custom fields) |
|
||||
| NotificationRule | ✅ (Phase 2 — notification rules) |
|
||||
| Project, Deliverable, DeliverableStage | ✅ (with pgvector, customFields JSON, org denormalization) |
|
||||
| StageAssignment, Revision, Comment | ✅ |
|
||||
| Notification | ✅ |
|
||||
| AutomationRule, AutomationExecution | ✅ |
|
||||
|
|
@ -779,6 +825,12 @@ src/
|
|||
│ │ ├── reviews/ # A7 Review sessions
|
||||
│ │ ├── templates/ # D3 Project templates
|
||||
│ │ └── settings/
|
||||
│ │ ├── permissions/ # ✅ Phase 2 RBAC matrix
|
||||
│ │ ├── pipelines/ # ✅ Phase 2 Pipeline builder
|
||||
│ │ ├── team/ # ✅ Phase 2 Team + invitations
|
||||
│ │ ├── fields/ # ✅ Phase 2 Custom fields
|
||||
│ │ ├── notifications/ # ✅ Phase 2 Notification rules
|
||||
│ │ └── skills/ # ✅ Skills management
|
||||
│ ├── (portal)/[token]/ # C3 Client portal (external)
|
||||
│ ├── (external)/review/ # B3 External review links
|
||||
│ └── api/
|
||||
|
|
@ -789,12 +841,14 @@ src/
|
|||
│ ├── workload/ # ✅ Capacity grid + heatmap components
|
||||
│ ├── calendar/ # ✅ Calendar components
|
||||
│ ├── reports/weekly/ # ✅ Weekly report components
|
||||
│ ├── pipeline-builder/ # ✅ Phase 2 Pipeline graph + stage list
|
||||
│ ├── revisions/ # A1 Image comparison (to build)
|
||||
│ ├── review/ # A2-A7 Full review viewer (to build)
|
||||
│ ├── automations/ # D1 Automation UI (to build)
|
||||
│ └── search/ # ✅ Smart search panel
|
||||
├── lib/
|
||||
│ ├── pipeline/ # ✅ Dependency engine + stage machine
|
||||
│ ├── pipeline/ # ✅ Dependency engine + stage machine + stage resolver
|
||||
│ ├── rbac/ # ✅ Phase 2 permissions + org scope + requireAuth
|
||||
│ ├── automation/ # ✅ Event bus + rule engine + executor
|
||||
│ ├── services/ # Business logic per entity
|
||||
│ └── validators/ # Zod schemas
|
||||
|
|
@ -822,11 +876,12 @@ export NVM_DIR="$HOME/.nvm" && [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
|||
|
||||
| Library | Purpose | Feature |
|
||||
|---|---|---|
|
||||
| `@xyflow/react` | Pipeline dependency graph visualization | ✅ Phase 2 WP5 (installed) |
|
||||
| `sharp` | PNG alpha compositing + image validation + thumbnail generation | A1, E1, E2 |
|
||||
| `bcryptjs` | Password hashing for portal links | C3 |
|
||||
| `@react-pdf/renderer` | PDF export for weekly report download button | C — weekly report enhancement |
|
||||
|
||||
---
|
||||
|
||||
*Document version: 1.0 — Created 2026-03-14*
|
||||
*Document version: 1.1 — Updated 2026-03-14 (Phase 2: Dynamic Pipelines complete)*
|
||||
*To be updated as features are built and priorities shift.*
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue