Skwaddy · Fable Automation Engine

Program Status — Living Record

The single source of truth for what the automation engine is, what it is for, what has been built, every decision behind it, and everything a future session needs to troubleshoot or rebuild it. Updated as work proceeds. Companion to the Fable Automation Blueprint v2.3 (the plan of record).

Last updated: 2026-07-23 · Phase: 9 of 10 blueprint items built (UAT pack + telemetry-to-fix added; item 8 parked, item 11 Explore queued) · Overall: ahead of plan

Where things stand

Scheduled routines
3 live
social · health · content
Supabase watchdog
865 green
866 runs, ~99.9%, laptop-closed
Independent backend
2 projects
ops + staging, live
Staging clone
579 migs
76 tables · 56 fns · 32 secrets
Blueprint items built
9 / 10
only item 8 (Home Dashboard) parked; item 11 Explore queued
Command Center
KPIs LIVE
hourly push landing in ops_metrics

Three automations run on schedule. An independent Supabase organisation now exists outside Lovable, with an always-on ops database (already logging production health every 15 minutes, laptop open or closed) and a full staging clone of the app rebuilt from the repo. The Command Center’s data foundation is live; the app that renders it is the next major build. The remaining blueprint items (guardrails, sweeps, UAT, fix pipeline) are queued behind this foundation.

Objectives & goals

The engine exists to let a solo founder run a live product like a much larger team, by moving the watching, checking, diagnosing and drafting off the founder’s plate while keeping every judgement call on it.

Product maintenance & monitoring

Catch data-integrity drift, broken cascades, OTA regressions and silent delivery failures before a user reports them. Turn any signal into a verified forensic card and a drafted fix.

Quality gates

Block the recurring bug classes at commit time, and run the top user journeys automatically before every ship instead of by hand.

Marketing at scale

Drive a weekly content engine off the Notion calendar — research, draft, produce, name and stage everything to a review gate — and watch social comments for anything needing a reply.

One control room

A founder-only Command Center that shows product, customer, technical and commercial truth plus the agent ops feed in one place, on the Mac Dock and phone home screen.

Emergent fifth goal (added 13 Jul): stand up an independent Supabase backend outside Lovable, with a staging environment, as the foundation the Command Center and safe future migrations depend on. This became active work this cycle and is largely done.

Tracks & progress

The blueprint’s ten items plus the infrastructure track that emerged. Status reflects reality as of the last update.

I

Independent Supabase backend

Own org outside Lovable: skwaddy-ops (Command Center data plane + health watchdog) and skwaddy-staging (full app clone from the repo’s 580 migrations). Official Supabase MCP server registered for all future sessions.
Live
1

Daily production health brief

Morning green/amber/red across Sentry, Capgo, Play review and repo. Scheduled 07:00 daily.
Live
2

Data-integrity sweep

Weekly scan for orphans, broken cascades, constraint drift. Not yet built; the staging clone now gives it a safe place to run.
Queued
4

Post-OTA watch

Watch the fleet 24–48h after every Capgo push. Not yet built. The 15-min ops watchdog is a first cousin, already live.
Queued
3

Guardrail lint pack

LIVE. Lints the staged diff only: blocks em dashes and dynamic Capacitor imports, warns on action_url/notification-type drift. Installed as a pre-commit hook; committed on branch chore/commit-guardrails (not pushed).
Live
5

Automated UAT pack

Run the P0 journeys automatically. Now has a target: run against staging, not production. Needs the owner’s confirmed P0 journey list.
Queued
6

Telemetry-to-fix pipeline

Signal → forensic card → drafted fix awaiting approval. Not yet built.
Queued
7

Command Center

Cockpit v1 LIVE at ~/Developer/skwaddy-command-center (own repo). Technical lens + agent ops desk read live data; the app links to this report. Phase A SHIPPED to production 22 Jul (migration 20260722071438): MAU corrected from 682 to 36, KPI snapshot function + dormant hourly push installed. The 3 business lenses light up as soon as ops_push_config is seeded.
1 step left
8

Home Dashboard phases 2–5

Product-side retention feed. Waits on the Command Center Phase A metrics fix so it builds on true numbers.
Deferred
9

Content engine

Weekly Notion-driven content + video. Scheduled Mondays 06:00. First campaign demo approved; Notion calendar backfilled and re-dated; Strategy Brief page live. Social checks are browser-only, never scrapers (owner rule).
Live
S

Social comment monitor

Reads Instagram + TikTok comments via Chrome twice daily; Slack ping only when a reply is needed. Scheduled 07:30 & 16:30.
Live
10

Routines & agents audit

Inventory and de-duplicate everything on a schedule; retire the old CODEX SOCIAL launchd system. Last, deliberately.
Queued

How the Command Center fits

The Command Center is founder/business infrastructure, not part of the customer app. Decision (8 Jul, refined 13 Jul): a standalone web app in its own repo, never inside skwaddy25, reading from three sources. Its data foundation already exists.

Data plane · LIVE
skwaddy-ops Supabase project. ops_runs + ops_actions tables. A pg_cron watchdog logs prod health every 15 min — 305 green so far, laptop-closed.
Reads · product + commercial
Prod Supabase KPIs via your admin login through existing RLS-gated queries, after the Phase A metrics fix (the one remaining Lovable job).
Reads · technical + content
Sentry (errors) + the ops watchdog (uptime); content calendar state from Notion; agent runs from the routines.
The app · next major build
Standalone founder web app (own repo). Four lenses on top — product, customer, technical, commercial — the agent ops desk below (what ran, what needs you, what agents finished). Mobile-first.
Mac
“Add to Dock” web app pointing at the private URL. One click, always there.
Phone
Home-screen link to the same responsive URL. No native app involved in admin.
Alerts
Severity-routed pushes for needs-you items and key Sentry events.
Why standalone, not in-app: your business tooling shouldn’t be coupled to the customer product’s deploys or to Lovable’s pipeline. The ops store lives in your own skwaddy-ops project; Lovable’s footprint shrinks to exactly one job (the Phase A metrics fix), forever. The interim feed already works — routines log to ops-runs.jsonl and the watchdog writes ops_runs — so nothing is lost while the app gets built.

Milestones

DateMilestoneStatus
02 JulAll 25 handoffs read end-to-end; blueprint v2 built; 1,538-icon library + skillDone
03 JulNotion content operation mapped; video tool stack settled on ElevenLabsDone
08 JulCampaign Demo 01 approved; 3 routines created; Notion backfill + Strategy Brief; Play Store approvedDone
13 JulIndependent Supabase live: skwaddy-ops watchdog + full skwaddy-staging replay (40 self-healing rounds); MCP server registered; blueprint v2.3Done
15–16 JulStaging secrets wired (Twilio, Resend, RevenueCat, Maps, Firebase push, Sentry config); this status record created; files organisedDone
16 JulCommit guardrail lint pack built + installed (blocks recurring bug classes at commit time)Done
20 JulCommand Center cockpit v1 live (technical lens + ops desk); status-report link wired; Lovable Phase A prompt draftedDone
22 JulPhase A SHIPPED to production (migration 20260722071438): MAU corrected 682 to 36; KPI snapshot function + dormant hourly push; guardrail pack committedDone
nextSeed ops_push_config (1 step) to light the 3 KPI lenses; ship the frontend half of Phase A; deploy cockpit for phonePlanned

Key decisions

The calls that shape everything downstream. Do not re-litigate without cause.

02 Jul · Read every handoff personally.

Digest-based synthesis was not acceptable for the strategy; the full read grounded the blueprint in citable evidence.

03 Jul · ElevenLabs is the whole video stack.

One vendor hosts Seedance/Kling/Veo plus voiceover and lip-sync. Higgsfield lapses, HeyGen dropped, Google Flow stays paused. Verify per-clip credit cost before the first batch.

03 Jul · Command Center is web-only, founder-only.

Mac Dock web app + phone home-screen link. The native app is out of the admin picture.

08 Jul · Command Center is standalone, not in the app.

Business tooling must not be coupled to product deploys. Ops store in its own Supabase project; Lovable reduced to the Phase A metrics fix.

08 Jul · Engine write ceiling = Ready for Approval.

The content engine may move status only up to Ready for Approval. Approved and Posted are owner-only, forever. Nothing auto-posts.

12 Jul · Browser, never scrapers, for own-account social.

All social comment checks and audits go through the logged-in Chrome, not Apify or any scraper.

13 Jul · Independent backend now; prod migration later.

Build skwaddy-ops + skwaddy-staging immediately. The production app migration is a separate, later project, rehearsed on staging and gated on the UAT pack + guardrails being live.

22 Jul · Include the App Reviewer account in KPIs.

Owner: "rather than hardcode you can include the review account and proceed." Only @skwaddy-demo.com accounts are excluded; no user id is hardcoded anywhere.

22 Jul · Push from production, never pull.

Production computes its own KPI snapshot and posts finished numbers outward. It never exposes an externally callable aggregate endpoint, and no production key ever reaches a browser.

15 Jul · Staging reuses prod third-party keys; rotate after.

To get staging functional fast, prod Twilio/Resend/Maps/RevenueCat/Firebase values were used. These passed through plaintext + transcript and should be rotated (see Needs-you).

Live infrastructure

ThingIdentifierNotes
Supabase orgBP Skwaddy · edyoykgkalpjnoyihmfgPersonal account, Personal Access Token auth
Prod (Lovable-managed)igssfvtteazcdadefgvsThe app’s live backend. Lovable is the ONLY interface. Not reachable via the PAT.
skwaddy-opskuxidyalfqfsjmnmaalo · eu-west-2Command Center data plane. ops_runs/ops_actions + pg_cron watchdog. 305 green health checks since 13 Jul.
skwaddy-stagingjbzsnvxyypwdpsjoincb · eu-west-2Full app clone: 76 tables · 208 functions · 252 policies · 579 migration rows · 56 edge functions · 32 secrets. No prod data.
DB passwordsmacOS Keychainsupabase-skwaddy-ops-db-password, supabase-skwaddy-staging-db-password
Supabase MCP server~/.claude/mcp-servers/supabaseLocal install, registered user-scope with the PAT. Available to all future sessions.
Routines~/.claude/scheduled-tasks/3 SKILL.md task files. Run only while the Claude app is open; missed slots fire on next launch.
Ops feed (interim)~/SkwaddyWorkspace/ops/ops-runs.jsonlRoutines append here until the Command Center app reads ops_runs directly.

Troubleshooting, debugging & rebuild

What a future session needs to fix, extend, or reconstruct any of this.

The health watchdog (skwaddy-ops)

Rebuilding staging from scratch

Two functions exist only on prod — staging runs permissive stubs. check_phone_search_rate_limit (phone-search rate limiting is DISABLED on staging until ported) and set_availability_expiry (a passthrough trigger stub). To port each: in the Lovable SQL editor run select pg_get_functiondef(oid) from pg_proc where proname = '<name>'; and apply the output to staging.
Repo bug: two migration files share version 20260323172350, which breaks history recording. A background task was raised to rename the second to ...351. On staging it was renamed + repair-marked in the session worktree only; the fix is not yet committed to the repo.

Secrets & keys

Access model

File index — where everything lives

This folder (~/SkwaddyWorkspace/automation-engine/) is the home of the engine. A few files stay outside it because live routines read them by path (noted below).

status/STATUS.htmlThis living record
specs/SOCIAL_COMMENT_MONITOR_ROUTINE_SPEC…Social monitor spec (routine reads this)
specs/CONTENT_ENGINE_STRATEGY_CONTRACT…Content engine contract (routine reads this)
specs/2026-07-03_notion_content_engine_mapping…Notion calendar mapping + sync contract
research/skwaddy-content-gen-tooling-research…Video/AI tool cost research (ElevenLabs decision)
research/SECRETS_INVENTORY…Every backend secret name + source
staging/STAGING_REPLAY_DRIFT_REPORT…Prod-vs-migrations drift + rebuild checklist
handoffs/2026-07-08_session_handoff…Full narrative handoff of the strategy phase

Deliberately kept outside this folder:

~/SkwaddyWorkspace/ops/Routine-written data (ops-runs.jsonl, state)
SKWADDY/MARKETING/skwaddy-content-plan-2026-06-24.mdMarketing content (content engine reads it)
~/SkwaddyWorkspace/secrets/skwaddy-staging.envSecrets template (no values)
claude.ai artifact d162a7f3…The Blueprint v2.3 (canonical live form)
~/.claude/scheduled-tasks/The 3 routine definitions

What needs you

Changelog

How this stays current: ask in any session to “update the automation status report” and the changes land here, in this file, and re-publish alongside the blueprint.