work-hub-server/openspec/changes/project-crud-sync/proposal.md

1.4 KiB

Why

Current project management lacks a unified layer for full CRUD operations. The ability to create, read, update, and delete projects must be available consistently across both the internal API and the public Web UI. Furthermore, robust data lifecycle management—including database migrations (schema changes) and repeatable initial population via seeding—is required to ensure data integrity and development ease.

What Changes

  • New Capability: Full Project Lifecycle Management will be implemented: Create (C), Read (R), Update (U), Delete (D).
  • Technical Change: The system must incorporate a dedicated, idempotent database migration mechanism for the Project entity.
  • Data Initialization: Implement optional seeding mechanisms to populate initial dummy data or test scenarios upon deployment/setup.

Capabilities

New Capabilities

  • project-full-lifecycle: Governing all CRUD operations and the associated schema management (migrations) for the Project resource.

Modified Capabilities

Impact

This change affects the core persistence layer, requiring database migrations (Project table/schema), service logic updates in both API and Web layers to handle full CRUD operations, and introducing new tooling/hooks for schema versioning (migrations) and initial data population (seeding scripts).