Plan: Connect Tasks -> Projects -> Goals and make the whole pipeline visible¶
URL: https://mkdocs.justinsforge.com/memory/plans/creatortrack-tasks-projects-goals-visibility-2026-07-12/
Date: 2026-07-12 Goal (plain): You have three levels of work, tasks (day to day), projects (multi-week efforts, "how far along"), goals (the quarter/year outcome). A lot already exists but is disconnected and hidden. This plan (1) gives Tasks a real pipeline board you can drag cards across, (2) makes projects show how-far-along and lay out on a roadmap, (3) rolls progress up to goals, and (4) adds one home screen that surfaces everything we just built (dev-queue, automations, GitHub, activity) so you actually use it.
What ALREADY exists (verified, so we connect/surface, not rebuild):
- Projects already compute progress rollups (ProjectStatusBoardView.tsx renders per-project progress bars; ProjectsApp.tsx loads "projects with rollups").
- The board component can read real status options already (ProjectBoardView.tsx:100 uses statusOptions when passed; the hardcoded DEFAULT_STATUSES is only the fallback). Task status pipeline lives on the Tasks Status prop.
- Goals app exists with progress %, targets, and milestones (lib/goals.ts).
- Tasks link to projects (projectRelId, the "Project" relation) and to lists (projectId).
- Filter/sort by any property exists in the database view (components/workspace/database/FilterSort.tsx).
- The pipeline itself (statuses, Result/Link fields, dev-queue, automations, GitHub, activity feed) is deployed.
Out of scope: rebuilding the collection engine (it is already generic); auto-merge/auto-deploy without a human; net-new goal math (reuse what goals has).
PHASE 1, See and drive the pipeline (Tasks level)¶
Task 1: Board view in the Tasks app, columns = your real pipeline statuses¶
- Files:
components/apps/tasks/TasksClient.tsx(add a "board" surface next to list/calendar/matrix/database/search/timeline), reusecomponents/apps/projects/ProjectBoardView.tsx, pass the Tasks Status options (the pipeline: Send to Forge / In Development / In Review / Ready to Merge / Deployed / Done / Blocked) asstatusOptions. Source those from the tasks collection's Status prop, not the hardcodedDEFAULT_STATUSESand not the project statuses. - What: the missing Kanban. Drag a card between columns to change its status, which is exactly the signal the dev-queue and automations react to. This is the primary visibility for the whole pipeline.
- Verify: open Tasks -> Board on ws 90; columns show all pipeline statuses; drag a card from Send to Forge to In Development and confirm the status persists and (if a rule matches) an automation fires.
- Commit:
feat(tasks): pipeline board view with real status columns
Task 2: Filter bar on the task list + board (any property)¶
- Files: reuse
components/workspace/database/FilterSort.tsx; wire a filter bar intoTasksClient.tsxlist + board surfaces; filter by status, Type, Priority, due, Project, tags, Result, etc. - What: "show me just bugs due this week", "just In Review", consistently across list and board.
- Verify: add a filter (Type = Bug AND status = In Development); the list + board narrow to matching tasks; clearing restores.
- Commit:
feat(tasks): filter bar (any property) on list + board
Task 3: Richer quick-add (set key properties at creation)¶
- Files:
components/apps/tasks/Composer.tsx(expand beyond date/priority/tags/pinned-select to include status + Type + any pinned custom field). - What: set status (e.g. straight to Send to Forge), Type, and priority when you add the task, instead of open-then-dropdown.
- Verify: quick-add a task with status=Send to Forge + Type=Feature; it lands with those set.
- Commit:
feat(tasks): richer quick-add (status/type/priority at creation)
PHASE 2, Projects show how-far-along + a roadmap¶
Task 4: Sharpen the project progress rollup (bar + pipeline breakdown)¶
- Files:
lib/projects.ts(rollup math),components/apps/projects/*(render). Projects already computeprogress; extend the display to a clear "% done + breakdown" (e.g. "12 tasks: 5 done, 2 In Review, 1 Blocked, 4 to go") using the pipeline statuses. - Verify: a project with tasks across several pipeline statuses shows a correct progress bar + the status breakdown; moving a task to Done nudges the bar.
- Commit:
feat(projects): progress rollup with pipeline breakdown
Task 5: Project roadmap / timeline (across weeks and months)¶
- Files: reuse
components/apps/shared/TimelineView.tsxat the project level; a roadmap surface in the Projects app showing each project as a dated bar (Start -> Target) with its progress and milestones. - What: the "zoom out and see how far along the big efforts are" view you described.
- Verify: two projects with date ranges render as bars on a month axis with progress fill; milestones mark on the bar.
- Commit:
feat(projects): roadmap timeline of projects
Task 6: Milestones within a project¶
- Files: use the existing
Milestonetask field + goals milestones; group/mark milestones inside a project (a milestone = a dated checkpoint that a set of tasks rolls into). - Verify: tag tasks with a Milestone value; the project view groups by milestone and shows each milestone's progress.
- Commit:
feat(projects): milestones grouping + progress
PHASE 3, Roll up to goals + one command center¶
Task 7: Connect projects -> goals (rollup upward)¶
- Files:
lib/goals.ts, the Goals app; link a project to a goal so the goal's progress reflects its projects (goals already track progress/targets, feed project rollups in). - Verify: a goal linked to 2 projects shows progress rolled up from their task completion.
- Commit:
feat(goals): roll project progress into goals
Task 8: "Dashboard" surface, everything we built at a glance¶
- Name + placement (per Justin): call it Dashboard. It looks like a page/app and sits in the left sidebar right below Home and Chat (above the other apps). It can be hidden or open (a collapsible/toggleable sidebar entry, remembered per user).
- Files: a new Dashboard surface + route in CT; the sidebar/nav component (place it under Home + Chat, with a show/hide toggle); it reads live data (no new storage) for: pipeline counts (Send to Forge / In Development / In Review / Blocked), a "Needs your attention" list (In Review + Blocked tasks), project progress bars, goal progress summary, and recent build/automation/GitHub activity.
- What: the single place that makes all the tools we built visible and usable, the answer to "give me visibility so I can utilize them". It summarizes all three levels (tasks/projects/goals) + the pipeline tools; it is NOT the Goals app (Goals stays its own app).
- Verify: Dashboard appears in the sidebar directly below Home and Chat, toggles hidden/open (persists); the page shows live pipeline counts, the attention list, project progress, goal summary, and recent activity for ws 90.
- Commit:
feat(dashboard): pipeline + projects + goals command center
Task 9: Register + document¶
- Files:
memory/general/reference_creatortrack_work_hierarchy.md, MEMORY.md index line, updatereference_creatortrack_task_primitives.md. - Commit:
docs(memory): tasks/projects/goals hierarchy + command center
Sequencing + how it gets built¶
- Phase 1 first (the pipeline board + filters, the biggest immediate visibility). Then Phase 2 (project how-far-along), then Phase 3 (goals rollup + command center).
- Built in an isolated CreatorTrack worktree by background agents, sequential, each task committed + verified. I review before merge; deploy on your go, same careful path as today.
Open choices to confirm¶
- Command center: a brand-new "Home" app vs a tab on an existing surface (recommend a new Home).
- How much of the project roadmap is net-new vs reusing the task Timeline (recommend reuse).