V101: Projects module tables.
Creates five tables used by phoenix_kit_projects:
phoenix_kit_project_tasks— reusable task library with default assignees and estimated durationphoenix_kit_project_task_dependencies— "task A must finish before task B" links at the template (library) levelphoenix_kit_projects— project containers with start mode (immediate / scheduled)phoenix_kit_project_assignments— task instance in a project; copies duration + description from template (editable independently)phoenix_kit_project_dependencies— per-project assignment-level "A must finish before B" links
Each assignment and task template may have at most one assignee
(team, department, or person) — enforced by CHECK (num_nonnulls(...) <= 1)
on both tables.
Depends on V100 (staff tables) for the polymorphic assignee foreign keys.