Problem
Roomote has durable tasks, artifacts, repositories, environments, and automation work items, but no project planning model for milestones, dependencies, acceptance, or project-scoped permissions.
Proposed behavior
Add the additive database and typed service foundation for projects, project repositories, immutable plan versions, milestones, plan items, dependencies, task/evidence links, members, and configurable role grants.
Reuse the existing Drizzle schema conventions, server-only database boundary, repository/environment/task relations, authorization patterns, and N-1 rollback guarantee. Do not repurpose tasks or automation work_items.
Acceptance criteria
- Project, milestone, item, dependency, membership, and role schemas are typed and covered by constraints.
- Dependency cycles are rejected with a useful cycle path.
- Unauthorized users cannot read or mutate project entities.
- Additive migrations preserve one-release application rollback.
- Archive/delete behavior preserves linked task and artifact history safely.
Validation
Package-scoped database tests, schema constraints, service authorization tests, and N-1 rollback coverage.
Problem
Roomote has durable tasks, artifacts, repositories, environments, and automation work items, but no project planning model for milestones, dependencies, acceptance, or project-scoped permissions.
Proposed behavior
Add the additive database and typed service foundation for projects, project repositories, immutable plan versions, milestones, plan items, dependencies, task/evidence links, members, and configurable role grants.
Reuse the existing Drizzle schema conventions, server-only database boundary, repository/environment/task relations, authorization patterns, and N-1 rollback guarantee. Do not repurpose
tasksor automationwork_items.Acceptance criteria
Validation
Package-scoped database tests, schema constraints, service authorization tests, and N-1 rollback coverage.