Skip to content

Plan: CreatorTrack + LifeOS autonomous overhaul (2026-07-03 overnight)

URL: https://mkdocs.justinsforge.com/memory/plans/creatortrack-autonomous-overhaul-2026-07-03/

Justin is away; run autonomously. Spawn worktree-isolated agents, each builds + typechecks + self-verifies in its own slot, I merge sequentially behind a tsc --noEmit + prod-smoke gate, deploy, and leave a morning handoff. Order = highest daily value first, so a partial night still ships the important things.

Orchestration model

  • Isolation: each agent runs in its own git worktree + DB clone via ~/forge/scripts/forge_suite_agent_bootstrap.sh <branch> <port> --no-server (worktree ~/forge-suite-wt/<branch>, clone ct_<branch>); dev server next dev --webpack. Prevents parallel file/DB collisions.
  • Merge: I merge each finished branch into main myself, resolve registration-file unions, git rm INTENT.md, npx tsc --noEmit clean, then prod npm run build + restart + curl /login==200 before the next merge. Never merge a red branch.
  • Bots (forge repo) workstream is separate from app (forge-suite) so it runs fully in parallel with no collision.
  • Rollback per surface: writes still revert via WORKSPACE_WRITE_TARGET; each merge is one commit.

Workstreams (agent per line; letter = merge order)

A. Bot API overhaul, "1 + 2" (forge repo). Make coordinator + inbox-capture + general-purpose all smarter. (1) Widen/complete NARROW capture verbs to full param passthrough for habits, tasks, food, calendar, knowledge, goals, journal, personal CRM (every field + date + quantity). (2) Add ONE generic creatortrack escape-hatch tool: authenticated read/write to any documented /api/* endpoint with arbitrary JSON, so the LLM composes calls for the long tail. Narrow tools hint "use creatortrack tool" on miss. Also: create pages, write page bodies, create full projects, uploads. Register in all three brains' tool sets. Deliver docs/API-BOTS.md update.

B. Tasks: times + reminders (forge-suite). Optional time on Due (date OR datetime); calendar places timed tasks at their time. Reminders: set an explicit time OR an offset with presets 5 min before (default), 30 min, 1 hour, plus none/at-time/1-day. Per the earlier tasks-due-time plan. Files: lib/tasks.ts, components/apps/tasks/Composer.tsx, TaskContextMenu.tsx, taskDate.ts, calendar views.

C. Habits UX fixes (forge-suite). (1) Multi-check auto-apply: checking an item applies immediately, NO save button. (2) Overview view: click a habit to open its page. (3) Fix the color-coding offset bug on the overview. Files: components/apps/habits/*.

D. Views filter/sort (forge-suite). Today / Tomorrow / Inbox / Next7 get a filter + sort bar: filter by tag, sort by time / priority / due. Files: components/apps/tasks/*View.tsx, TasksClient.tsx.

E. Habits <-> Tasks linking (forge-suite). Every habit gets task settings; scheduled habits push into Tasks via a list or tag so they appear in task views. Files: lib/habits.ts, habits settings, lib/tasks.ts bridge.

F. Knowledge quick-note -> task popup (forge-suite). Converting a quick note to a task opens a popup to fill task fields (due, priority, project, tags) instead of a bare convert. Files: components/apps/knowledge/*, app/api/knowledge/[id]/convert.

G. Fitness overview tab (forge-suite). New MAIN tab aggregating everything (workouts, recovery, sleep, food, habits-fitness) on one view. Files: components/apps/fitness/*, app/api/fitness/*.

H. Live polling / change badge (forge-suite). Lightweight change-detection: a cheap GET /api/changes?since=<cursor> returning a per-workspace version/max-updated_at; client polls it (idle-throttled, backs off, only refetches the affected app when the cursor advances). Shows when a bot-driven change lands (esp. Habits page) WITHOUT heavy polling. Files: a useWorkspaceChanges hook + a changes endpoint + wire into app clients.

I. Sharing + live collaboration (forge-suite) [best-effort, largest]. Share a workspace/project with a collaborator; live polling so co-editors see each other's changes; multi-user project work. Builds on core.node_shares + the H polling layer. Deepest unknown; may land as a solid first slice + handoff rather than complete.

Sequencing / priority

  1. A (bots) + B (task times) + C (habits UX) + H (polling) FIRST , the daily-driver wins.
  2. D (filter/sort) + F (knowledge->task) + E (habits<->tasks) next.
  3. G (fitness overview) then I (collaboration) last (largest, best-effort).

Risk controls (autonomous)

  • Every merge gated on tsc --noEmit clean + prod /login==200 + the workstream's own smoke test. A red branch is parked, not merged; I note it in the handoff and move on.
  • No destructive DB ops on live lifeos beyond additive migrations (validated on a clone first, as tonight). Pinned justin workspace protected.
  • Bots restarted one at a time (one-poller-per-token); bots-health after.
  • I do NOT touch email send, social posting, or anything outside CreatorTrack/LifeOS.
  • Morning handoff at memory/handoffs/creatortrack-overhaul-<date>.md: what merged, what's pending, what needs your eyes, with commit hashes.

What "done by morning" realistically means

High confidence: A, B, C, D, F, H. Medium: E, G. Best-effort with honest handoff: I. I will not fake completion , anything untested or partial is labeled as such.

[Claude Code]