Handoff: CreatorTrack prod follow-ups (2026-07-03)¶
URL: https://mkdocs.justinsforge.com/memory/handoffs/creatortrack-prod-followups-2026-07-03/
You are an Opus Remote Control session picking up CreatorTrack follow-ups. Justin drives priorities live.
Context¶
- App repo
/home/justinwieb/forge-suite(Next 16 + RLS Postgres on CT109lifeos). main -> dev.creatortrack.ai :3060 (creatortrack-dev) and prod app.creatortrack.ai :3070 (creatortrack-prod). Both systemd units run Node 22 (/home/justinwieb/.nvm/versions/node/v22.22.2/bin). - The full 12-app suite + chat + mobile PWA overhaul shipped to PROD tonight. Full session context: creatortrack-suite-build-handoff-2026-07-02 +
memory/daily/2026-07-02.md.
Rig (how to work)¶
- Isolated slot:
~/forge/scripts/forge_suite_agent_bootstrap.sh <branch> <port> --no-server(worktree~/forge-suite-wt/<branch>, DB clonect_<branch>). Worktree dev servers MUST usenext dev --webpack(Turbopack panics on the symlinked node_modules). - Migrations:
python3 ~/forge/scripts/forge_workspace_new_migration.py "<desc>"in the worktree; validate on a freshcreatortrack_dev_baseclone (create as postgres, thenalter database ... owner to lifeos_admin) before applying to LIVE lifeos. - Merge:
git merge <branch>, resolve the registration-file unions if any,git rm INTENT.md,npx tsc --noEmitclean, restartcreatortrack-dev. Prod:npm run build+sudo systemctl restart creatortrack-prod; verifycurl -s -o /dev/null -w "%{http_code}" https://app.creatortrack.ai/login== 200.
PRIORITY 1 (start here): Account-deletion 500¶
core.auth_delete_user (Auth.js adapter deleteUser) FK-violates: app.nodes.created_by/updated_by (and probably other created_by/updated_by audit FKs across app. / core.) have no ON DELETE rule, so deleting any user who authored content fails (repro: user creates a page -> delete user -> nodes_updated_by_fkey violation). ROOT-CAUSE which FKs are involved (grep the schema + migrations for created_by/updated_by references to core.users), then implement a real strategy via an idempotent migration + adapter fix. Options: reassign authored content to a sentinel "deleted user", or ON DELETE SET NULL on the audit FKs (audit columns can be nullable), or soft-delete the user. Pick one, justify, make it correct before broader multi-user. QA: create a user, author content, delete the account, confirm no FK error and content integrity is sane.
PRIORITY 2: Mobile "+" Quick Note sublabel copy¶
lib/mobile-tabs.ts QUICK_CREATE: the mobile "+" Quick Note sublabel says "Jot into your Knowledge inbox" but it actually writes to a plain standalone "Quick Notes" page (NOT the Knowledge app inbox, unlike the gated Topbar quick-note). Fix the sublabel to describe what it really does.
STANDING BACKLOG (after 1+2, or as Justin directs)¶
- Bot-API capstone: machine-auth shipped personal access tokens (
core.api_tokens, Bearerctk_...) +docs/API-BOTS.md. Mint a token (viaPOST /api/tokens, session-auth) and wire the forge Telegram inbox-capture + LifeOS coordinator bots to create tasks/projects/pages/habits/notes as Justin in his workspace, pointed at prod. - Worktree/DB-clone teardown: ~30 finished slots under
~/forge-suite-wt/+ theirct_<branch>clones on CT109.git -C ~/forge-suite worktree remove <path> --force+DROP DATABASE ct_<branch>(as lifeos_admin). Basecreatortrack_dev_basepersists. Reclaims disk (Console root hit 100% tonight; keep it under control).
[Claude Code]