Justin's Setup, Memory Index¶
Auto-loaded every session. Index only; detail in linked topic files. Cap: 300 lines, 35KB (FORGE-DOCTRINE.md ยง12).
How to find things¶
Broken svc: reference_<service>_state.md; decisions: forge/memory/handoffs/; prefs: feedback_*.md; daily: forge/memory/daily/YYYY-MM-DD.md; fuzzy: /recall <query>; fleet IPs: forge/system-map/fleet.md; projects: auto-hook or forge/system-map/projects.md.
Conventions: frontmatter name/description/type; update in place; sign [Claude Code]; NEVER write ~/.forge-secrets/; index=forge/MEMORY.md (real), symlinked into both Claude project memory dirs as memory/MEMORY.md; topics: memory/general/<topic>.md.
State Topics¶
- Fleet Names | SSH Aliases | Worktrees
- Console: state | AVX2 (~/.local/bin/claude) | sandbox | tmux focus
- Vector: Claude setup | hardware | launcher
- /sshrequest | Premiere MCP (Sol)
- Services: Frigate CT108 | AdGuard CT105 | Media-server CT102
- Media: seerr pipeline (4K trap) | Seerr v3 | Audiobook+ebook; MyAnonaMouse/Tautulli via /recall
- n8n state CT106; Alexa ONLY
- ERPNext: biz-apps CT104 | daily post (NEVER re-run --apply) | compose | tunnel
- Parallel orchestration | Worktree Dev Agents (commit often, merge ONCE) | forge-data lifeos
- forge-mail Mautic | Apple Photos
- Link In Bio module v3 GO-LIVE DEPLOYED 2026-07-13 (sync pings, dashboard+visitor profiles, media kit, 12 presets, gated links, music/countdown, per-brand pixel inheritance, Shopify OAuth+orders, CSV export, Mautic perf, 13 CF audience fields); GOTCHA: wrangler deploy WIPES API page routes -> ALWAYS run scripts/forge_links_routes_reconcile.py after; pages need REPUBLISH; gusoutdoor.co apex Worker routes DEAD (Shopify O2O); Mautic campaigns pending; stats reset: scripts/forge_links_stats_wipe.py (PG=MIRROR, must wipe D1 too or 30s sync re-imports)
- Storage policy | Forge platform | cold archive
- Finn/net: BMC LAN (.68) | Intel AMT | MikroTik (.215) | Brother (.236) | GFiber (.1)
- Fidelity transfers (3 intentional; no dupes)
- Finances icon persistence ALWAYS _icon_key; NEVER merchant_norm
- CT finance module CANONICAL: finance.*=truth; per-ws scoped via app.finance_ws GUC (LIVE 2026-07-08, merged 9b25975); sharing v2 DEPLOYED 2026-07-14 (rode along on links ship 2f55acb; re-send to Krystal now) | old Flask app RETIRED
- Plex gotchas: GPU xe | 10-bit choppy; rest via /recall
- Infra gotchas: SMB trailing space | CF noTLSVerify | bg daemon holds pipe | turbopack root widening | crypto.subtle http LAN | Playwright profile lock | gluetun/qBit portforward | Links publish live-leak guard (dev can publish to LIVE CF zone; gated NODE_ENV=production 2026-07-11); Seerr SMTP / qBit save path / Docker nginx via /recall
- forge-metrics CT111
- GPT-5.6 Sol in Claude Code codex plugin (7 cmds, USE THIS) +
claudexalias via CLIProxyAPI :8317 (forge-cliproxy.service); Remote Control HARD-BLOCKED off api.anthropic.com -> claudex TERMINAL-ONLY (no /spawn/pool/TG bridge) - CT deploy OOM build dies silently at typecheck under RAM pressure; cap Node heap
- mkdocs build pipeline atomic double-buffer swap (2026-07-09 fix); publish lag up to ~2min, no longer flaky/404-prone
- telegram brain iteration starvation fix | chat ext thin-shell iframe
Workflow and Behavioral Topics¶
- Email: confirm | voice
- Forge-vs-Notion | Capture one-shots
- Telegram: reactions not text | one poller/token | no tables
- Em-dash sanitize
- Code: no threads+subprocess | date.today() banned | git stash | robust over quick
- Spawn: WDA model tiering (workers=sonnet/haiku) | pool claim | sandbox | cost-aware; worker results / remote spawning / parallel+Haiku via /recall
- Build: skill systems (atomic|orchestrator) | graduate hacks | generalist tools | register tools
- Docs: mkdocs links | drive link | CLAUDE.md routes | Remote Control delivery (SendUserFile render; mkdocs 404s until deploy)
- UX: no auto-post | no stopping | probe-first | no hand-drive
- Site: home button | home tile | no browser default dialogs (window.confirm banned; in-app modal)
- Notion: decommissioned, per-brand-DB preference carries forward | habits full schema
- Justin no code edits | Suite clean-slate | No bulk Notion import (ASK first)
- Ops: alert dedup | alerts plain English (10th-grade readable; what/impact/fix; Details last) | reboot preflight; ffmpeg -nostdin / Nabu Casa / bind-mount via /recall
- Overnight fanout pacing stagger big workflow launches; resumeFromRunId recovers session-limit deaths
- Infra rewrites: plan, approve, then opus workers forge scripts/skills/chat surface only; app features stay sonnet
- Style: coord tone | no stale status | no deny lists | persona sanitize | no encouragement; orient dispatch / AI-native / cal event-id / Hevy cadence via /recall
Project Topics¶
- Default domain | Second brain stack (TickTick OUT)
- QBO->ERPNext | Finance coord:
forge/data/finance/COORDINATION.md - Email hub-spoke | Forge data layer | GWS consolidation
- Codex surface vs IDE decision OPEN; don't tear down
- Subscription consolidation | NOVA wind-down | GOC pivot | Creator tools
- Sip site on CF Pages (push=deploy; NEVER touch MX)
- justinkrystal games hub (:8085)
User¶
- Adobe CC | Travel | Family
- Michael co-manages Gus | Content 2026 | Michael email
- No public justinsforge.com | Astra (iPhone; notify.astra)
Reference Topics¶
Integrations and APIs¶
- Social APIs | YT channel
- Cloudflare API | Context API (:7358) | Gmail client; GDoc pipeline / Gdrive upload via /recall
- Agent integrations HUB NEVER hand-roll auth | Forge Google access | Copper API (markai :8102)
- Google OAuth: arch | scopes; MCP CLI auth / gcloud / rest via /recall
- HA core: API | Echo+studio (tts NOT announce) | post-reboot | Eight Sleep (fix=2.4GHz AP)
- HA Alexa (Find Remote, TV, Lambda relay, CF bypass): via /recall
- Notion dead 2026-07-03; API playbook via /recall
- n8n: outbound | task creator | Tailscale: IPs | policy (Finn+Console only)
- Telegram: Google Cal client; format helpers / checklist forms via /recall
Tools and Surfaces¶
- Invoice | project scaffold | drive subsystem | asset grabber
- Content: browser stream (NEVER automate Google login) | browser MCP default | Hyperframes; YT downloader / WatchYouTube via /recall
- Session: orphan reaper | rebridge | warm pool | Fable 5; canary / home base / prompt toggles via /recall
- wellness pg sync (CreatorTrack reads PG only)
- Monitor: forge-monitor | forge-metrics | backup | strategy | log rotation
- Surfaces: receipts | tasks | usage | dashboard | launcher | claude-status sync | code-server | Forge Chat ext | Codex Remote (:7366; native app-server+ChatGPT auth+remote control)
- Agent: brain server (:8771) | auto-memory | auto-context | boot briefing | feature-plan (HARD-GATE) | tdd + execute-plan + debug-systematic (from superpowers 2026-07-09) | fanout (multi-agent orch; say "fanout"; "workflow"=n8n) | advisor (FORGE_CLAUDE_ADVISOR wires --advisor opus onto unattended cheap workers; raw-API bots excl.) | followup; deepresearch / learnskill via /recall
- Platform: eval harness | incident loop | bots-health | task queue | mkdocs | notify | recall | systemd; worker builder / TG robustness / site scaffold / homepage / plugins via /recall
- Automations: habits cron | check-ins | finance_query | orient+triage; inline actions / time-tracking via /recall
- Wellness: food log | Hevy | pollers (HA_URL only); training / retro / recovery stamp / fitness dash via /recall
Telegram Surface¶
- Fleet: Phase 4.2 | dispatch (MAX=4) | playbook
- Bots: remote-bridge | general purpose | quota | snooze | spawn isolation | alert fixer
- Brain tool catalog: 65 LLM-visible + 10 retired via RETIRED_TOOL_NAMES
- Bots dashboard bots.justinsforge.com (:8110): fleet cards + feeds + automations; REAL per-persona tool toggles via data/bot_tool_overrides.json, fail-open, no restart
Heavy-work skills¶
/email-triage [personal|business|<addr>] [window]|/strategy <brand>
CreatorTrack¶
- CT design system claude.ai/design proj 58990838; bundle forge/design-systems/creatortrack/; pulls tokens+previews for mockups; INCREMENTAL sync only;
/design-pullfinds+pulls new Design projects (discover script needs claude-design browser profile logged in) - CT dev testing WORKSPACE_DEV_AUTH=1; NEVER fresh-login over http | teardown | dev-slot reaper mem-band idle (none<60%/3h 60-85%/45m>85%); cap 5; over-cap DELETES worktree | commit often (reaper eats uncommitted work)
- CT warm dev-slot pool 3 warm slots :3067-9; registry SoT=slots.json; claim=secs (forge_creatortrack_slot_claim.sh); forge-ct-warm-slots timer refills, skips >85% mem; dev base=DAILY live-prod clone (forge_creatortrack_dev_base_refresh.sh, v17 pgbin)
- Dev gotchas: worktree turbopack symlink (
next dev --webpack) | stale .next-dev | hover-gate postcss cwd-absolute - CT bot API /api/capture -> ws
justin(67); :3070 | task notes+datetime - CT API token scoping DEPLOYED prod 2026-07-11 (merged main, migration applied, restarted); ctk_ PATs: per-app scopes+ws binding+expiry; enforced in currentUser via x-ct-pathname; NULL scopes=legacy full access (bot token still works, verified); scoped enforcement verified live
- CT dev-workflow loop LIVE 2026-07-11; forge_creatortrack_client.py (ws-90 scoped, reuses capture auth) +
/dev-queueskill + chat.justin "Dev queue" toggle; Send-to-Forge->In-Development on Tasks Status prop 1930; NEVER auto-Done (Workstream A task prims building parallel on feat/task-dev-primitives) - /ship skill one-cmd CT prod ship: preflight->merge --no-ff->migrations gate (pre-deploy)->deploy_prod.sh->verify->task Deployed+release slot; Fable/Justin only, never auto
- CT task primitives DEPLOYED prod 2026-07-11 (main, plain merge, no migration); board group-by any field + Type/Milestone selects + external-URL prop + task<->page relation (fwd+reverse "linked tasks" strip) + bulk paste + Timeline (dated bars/deps+drag-reschedule; generic, never "gantt"); ensureTasksApp seeds props on access (ws90 seeded, others on-access)
- CT Automations engine DEPLOYED prod 2026-07-12 (main 1b4a3b4); GENERIC per-ws trigger/condition/action rules on task changes (app.automations + builder UI in Settings>Workspace), NO "dev mode" label; loop guard MAX_DEPTH=5+MAX_ACTIONS=50 fan-out cap; admin-gated authoring; internal+webhook+github actions; dev-pipeline rules=preloaded examples | CT GitHub integration DEPLOYED prod 2026-07-12; both directions (inbound sig-verified webhook->linked task via URL match, fails closed 401; outbound task->branch/PR/issue idempotent, host-locked api.github.com)
- CT automated dev-pipeline full 5-feature pipeline LIVE 2026-07-12: Phase 1 (dev-queue structured feedback+auto-status In Review/Blocked, run-log, WIP/priority/dep guardrails, disabled scheduler) + Phase 2 (automations+github+activity feed); plan: memory/plans/creatortrack-automated-dev-pipeline-2026-07-11.md
- CT auth single-host Google login ONLY on app.creatortrack.ai | Google OAuth project GCP creatortrack-499820; publish to Production; enable APIs per-scope
- CT onboarding wizard LIVE on prod 2026-07-11 (merged to main, migration applied); 7-question new-user wizard + starter-app recs
- CT work hierarchy + Dashboard DEPLOYED prod 2026-07-12 (f5dafb6, no migration); Tasks pipeline Board (cols=ws Status prop, drag sends {status} only) + any-prop filters (status/custom-field, persisted) + Status quick-add chip; project progress-bar + Roadmap tab + Milestones; projects->goals "Linked Projects" rollup; Dashboard command center (sidebar entry below Home/Chat, show/hide per user, /dashboard reads live pipeline/attention/projects/goals/activity, no new storage); all GENERIC (no dev-mode label)
- UI shared: WeekStrip | SidePeek (styles unscoped) | /app segments LIVE
- CT editor shortcuts DEPLOYED 2026-07-12 (86487fe): mod+Shift+V literal paste, turn-into/duplicate/move/select-all keys, lib/editorShortcuts.ts registry drives creatortrack.ai/help, page-link icon adoption type-verified
- LIVE apps: News hub | Campaigns (sync timer ON) | Sales CRM (
salesvscrm) | chat agents | Admin analytics (PostHog CLOUD phase 2) - CT Calendar LIVE 2026-07-07; visibility key
<source>::<calId>; embed=CalendarWeekSegment - CT App Playbook ~/creatortrack/docs/APP-PLAYBOOK.md = definition of DONE for a CT app; read before app builds, review diffs vs its Section 7 table, gaps append back in the fixing commit
- CT Scheduling + Handles IN REVIEW 2026-07-13 feat/scheduling (task #39): Calendly-equiv at creatortrack.ai/
/ , live freeBusy write guard, NEVER confirm unwritable; ship needs forge feat/links-edge-ct-apex Worker deploy+routes reconcile - CT University+gamification LIVE 2026-07-11 (
3306ade): GLOBAL catalog (no workspace_id), acct-scoped progress/notes/marks/certs, CT Points+badges+streaks (opt-out), mutual connections+leaderboard+feed, Notion-style subtasks, asset-library block; pre-migration backup: forge/data/backups/ - CT gtasks/calendar task sync LIVE 2026-07-08; timed->gcal event, date-only->Google Tasks; deploy does NOT run migrations (prod DB lifeos)
- CT Contacts<->Google sync MERGED but DORMANT (needs People API + scope + migration)
- CT account deletion MERGED+DEPLOYED 2026-07-11; 90d retention; ACCOUNT_JOBS_TOKEN; purge timer units written STILL NOT enabled; restore=forge_creatortrack_account_restore.sh
- Finance: auto-cat | logos | sharing DEPLOYED 2026-07-14 | FIN connect NOT deployed
- CT food-log AI batch all on main | Intake tracking NOT deployed
- App Library redesigned 2026-07-06; multi-user/Cockpit handoffs in memory/handoffs/
Other¶
- Minecraft CT110; OFF by default; NEVER flag stopped | Reboot resilience
- Decommission: NOTION dead 2026-07-03; WORKSPACE APP dead 2026-07-04 (DB spine stays); n8n=Alexa only
Auto-promoted (pending placement)¶
Auto-dream appends here
- reference creatortrack blocks table missing workspace index: app.blocks (biggest table) lacked workspace_id index -> seq-scans on every collab change-cursor tick; fixed via migration; prod needs CONCURRENTLY apply
External Service Access¶
CF token ~/.forge-secrets/cloudflare.env; 10 zones. *.justinkrystal.com = media-server tunnel a55b7768-b42a-4d78-82b5-4a427bdbb9b7. Cloudflare API.
- justinsforge never public NEVER unauthenticated endpoints on justinsforge.com