The bar for this guide: hand it to someone with zero prior contact and they can run every dashboard. So we start from scratch — what a dashboard even is here, the six rooms, and a simple routine for when to open what.
A dashboard is one web page that answers one question about one part of the business. Most of them read live from "the brain" — a Postgres database (a big spreadsheet-in-the-cloud) that stores everything the business knows.
A good dashboard is glanceable: you look, you learn one thing, you either act or move on. If a page needs a manual or ten minutes of study, it is doing too much. Some pages in the current list are actually documents or one-off reports pretending to be dashboards — a big part of this audit is separating those out.
If you only did this, you'd be running the business correctly. Daily surfaces are a five-minute morning loop. Weekly ones are a Sunday/Monday review. On-trigger ones you open only when a specific thing happens.
| Cadence | Open this | When | Question it answers | 30-second read |
|---|---|---|---|---|
| Daily | Cockpit (Projects) | Morning, first thing (before 10:30 huddle) | What needs my attention today? | Read "Do now" (top 3) and the runway tile. Pick the top money block. |
| Daily | Finance Room | Morning, before 9am | How many days of cash are left? | Look at the big margin tile (above/below floor) and days-to-$0. Work the P0 cash-in tasks. |
| Daily | Marketing Room hub | Morning | What's the state of the ad machine? | Glance the four tiles. Then open Ads Autopilot. |
| Daily | Ads Autopilot | Morning, after the hub | What did the ad engine decide overnight? | Read the verdict row (Promote/Kill counts). Protect any pack with a real lead. |
| Daily | Sales Command Center | Morning + before any call block | What's real, and what's the one move? | Read the black tile (signed+paid) and the top "Do next" card. Any red OVERDUE = priority. |
| Daily | Delivery Board | Morning delivery check | Is any client at risk? | Scan the count band, then read only the AT-RISK rows. |
| Daily | Review Panel (Morning Brief) | Morning | Where are we vs plan, what's off-track? | Read hit-rate + off-track list. Comment on the money row. |
| Daily | Disciplines | Daily glance | Am I actually running my rituals? | Read the letter grade. (Note: logging is currently broken — see Fix List.) |
| Weekly | Company Scorecard | Sunday/Monday | Full cash review + pipeline vs burn | Net cash, weekly burn, runway weeks; weighted pipeline vs monthly expense. |
| Weekly | Creative Radar | Weekly, planning the next batch | Which angles should we test next? | Read the cross-lane pattern gaps (where competitors cluster, you don't). |
| Weekly | Sunday Sales Brief | Sunday/Monday | The one call that moves the number | Read the hero tile + Section 3 ("where your push changes the outcome"). |
| Weekly | Review Panel (Weekly Report) + Target Lock | Sunday/Monday | Grade the week, lock next week's targets | Read hit-rate; skim the 14 draft bars; reply "lock the targets." |
| Weekly | Accomplishments | Friday reflection / Sunday | What actually got done, and where did effort go? | Read the balance-check bars — did hours match priorities? |
| Weekly | North Star + PostHog | Weekly/monthly | Goal pacing + where leads come from | North Star: goal RAG pacing. PostHog: first vs last-touch source mix. |
| On-trigger | Consolidated P&L | Monthly, or "where did money go?" | Spend by category and month | Read the category rows; redder cell = more spend that month. |
| On-trigger | Profit First P&L | Modeling a pricing/growth decision | How many months to $5K take-home? | Drag a lever, watch the milestone tiles. It's a model, not reality. |
| On-trigger | Attribution Timeline | Investigating one specific lead | How did this one person find and move through us? | Click a lead on the left; read their stitched timeline on the right. |
| On-trigger | Ads Pipeline Board | When you suspect inventory is stuck | How many ads are stuck, and how old? | Read the stage tiles. (Everything's parked by design right now.) |
| On-trigger | Install SOP / Week-1 Runbook | When a new client signs | How do we onboard this signup? | Run the capacity gate, then work the phases. (These are playbooks, not dashboards.) |
| On-trigger | Infra Backlog / Builder Onboarding / Execution Pack | Sprint planning / reference | What's the build plan / the rules / what shipped Jul-18? | Reference docs. Read once, then link back as needed. |
The hub lists 27 in-house surfaces (plus PostHog, a login-gated external view we keep as-is). Most of them are not really dashboards, and several overlap. Here is the headline and the full ruling.
Verdict key: KEEP stays a live dashboard · TOOL kept but moves to a tools shelf · CONSOLIDATE folds into another board · RECLASSIFY is really a doc/report, move to a shelf · DEPRECATE retire it · BROKEN currently dead/empty.
| Room | Dashboard | Verdict | Why (one line) |
|---|---|---|---|
| 💸 Finance | Finance Room finance.html | KEEP | Canonical daily cash cockpit; freshest, server-baked. This is the room. |
| 💸 Finance | Company Scorecard | CONSOLIDATE | Weekly cash tiles duplicate the room; fold its projections + bets + liabilities in. |
| 💸 Finance | Consolidated P&L | CONSOLIDATE | Useful category P&L but stale (Jun-22); make it the room's P&L drill-down. |
| 💸 Finance | Profit First P&L | RECLASSIFY | It's a what-if modeling tool, not a report; move to a models shelf. Banned name in header. |
| 💸 Finance | Personal Finance | DEPRECATE BROKEN | URL is dead (DNS error); Cash-OS merge made a separate personal board redundant. |
| 📣 Marketing | Marketing Room hub | KEEP | The room's front door; fix the misleading "$0 live spend" tile. |
| 📣 Marketing | Ads Autopilot | KEEP | The operating cockpit; natural home of the CPQL hero graph. |
| 📣 Marketing | Creative Radar | KEEP | Keep for competitor/organic intel; drop its "Our Ads" tab; fix the branding. |
| 📣 Marketing | Ads Pipeline Board | CONSOLIDATE | Read-only stuck-inventory snapshot; fold into Ads Autopilot. |
| 📣 Marketing | Attribution Timeline | TOOL | A per-lead drill-down, not a glanceable board; move to a tools shelf. |
| 📣 Marketing | PostHog Acquisition | KEEP | Aggregate channel view; complements the per-lead timeline. External (login). |
| 📞 Sales | Sales Command Center | KEEP | The room's spine; honest about real vs test. Add a line-graph hero. |
| 📞 Sales | Sunday Sales Brief | RECLASSIFY | A dated weekly report that duplicates the Command Center; move to a reports shelf. |
| 📦 Fulfillment | Delivery Board | KEEP | The only true dashboard here; fix the guarantee-pace feed. |
| 📦 Fulfillment | Install SOP | RECLASSIFY BROKEN | A 6-week playbook, not a dashboard; also a dead EyeFly link. Move to docs. |
| 📦 Fulfillment | Week-1 Runbook | RECLASSIFY | An onboarding checklist, not a dashboard; banned name in title. Merge with Install SOP. |
| 🏗️ Projects | Cockpit | KEEP | The daily entry point; only board here rendering live, useful data. |
| 🏗️ Projects | Project Check | CONSOLIDATE BROKEN | Renders 0 projects (RLS lockout); cockpit already shows this data live. |
| 🏗️ Projects | Projects (deployed) | DEPRECATE BROKEN | Byte-identical public mirror of Project Check; also empty. |
| 🏗️ Projects | Infra Backlog | RECLASSIFY | A 6-week SOW build plan, not a dashboard. Move to docs. |
| 🏗️ Projects | Builder Onboarding | RECLASSIFY | An onboarding doc read once. Move to docs. |
| 🏗️ Projects | Execution Pack | RECLASSIFY | A dated one-off rollup; archive it, don't leave it in the live list. |
| 🔁 Loop | Review Panel | KEEP | The room anchor: this-week actuals vs bars + agent ledger. |
| 🔁 Loop | Target Lock | CONSOLIDATE | Review Panel's other half; a dated weekly report. Fold into its Weekly Report tab. |
| 🔁 Loop | HQ | DEPRECATE BROKEN | 100% empty via RPC, EyeFly-branded; duplicates cockpit + north-star. |
| 🔁 Loop | North Star 2026 | KEEP | Annual-goals view; make it the single top-of-house objectives surface. Needs goal rows. |
| 🔁 Loop | Accomplishments | KEEP | The reflection half of the loop; rich, real data. |
| 🔁 Loop | Disciplines | KEEP | The "did I run the loop?" meta-check; fix its logging, not its concept. |
Per room: one canonical live dashboard, and everything else moves onto a labeled shelf so "the dashboards" list only contains things you actually monitor.
| Room | The one live dashboard | What moves to a shelf |
|---|---|---|
| 💸 Finance | Finance Room | Company Scorecard + Consolidated P&L fold in · Profit First → Tools/models · Personal Finance retired |
| 📣 Marketing | Ads Autopilot (+ hub as index) | Ads Pipeline Board folds in · Attribution Timeline → Tools · Creative Radar & PostHog stay as weekly reads |
| 📞 Sales | Sales Command Center | Sunday Sales Brief → Reports shelf · :8765 cockpit stays a Tool, not a dashboard |
| 📦 Fulfillment | Delivery Board | Install SOP + Week-1 Runbook → Docs/SOP shelf (merged into one Install Playbook) |
| 🏗️ Projects | Cockpit | Project Check + Projects-deployed retired · Infra Backlog + Builder Onboarding + Execution Pack → Docs shelf |
| 🔁 Loop | Review Panel | Target Lock → Reports shelf · HQ retired · North Star + Accomplishments + Disciplines stay as loop views |
The three shelves the strays land on:
:8765 sales cockpit).scorecard_weekly with 25 metrics; (2) the Loop Engine's sp_department_* targets (6 lanes); (3) the Sales Command Center's own 24-metric contract. They use different tables and different metric lists, so "close rate" can mean three things. These must become one so a word means the same thing company-wide. (Akash decision.)Before the rooms, the numbers. There is no single scorecard today — there are four overlapping ones, and only part of any of them is wired to real data. This is the honest state, then the recommendation.
| System | Where it's defined | Metrics | Status |
|---|---|---|---|
| A. St. Pierre weekly scorecard | scorecard_metrics → view scorecard_weekly → weekly-scorecard.html | 25 | LIVE — this is the real one |
| B. Akash's "12 core metrics" | memory note (Jul-18 voice directive) | 12 | Newest intent; not yet reconciled with A |
| C. Old EyeFly scorecard | kpi_definitions; weekly-scorecard SKILL | 10 | STALE — data stopped ~Apr/May 2026 |
| D. Cash OS company scorecard | finance_metric_snapshots; company-scorecard HTML | ~3 | Finance-only; point-in-time, no history |
Plus two catalogs with no data feed: sp_metric_registry (51 draft metrics) and the Sprint-5 target tables (all current_value = 0).
Live with data (13): MRR ($31,450 vs $42K target), live-clients (40), new-deals, creatives-launched (566/wk), qualified-booked-calls (0s), calls-on-calendar, show-ups (0), live-qualified-calls (0), closes (0), cash-collected ($3,004/wk), new-convos, booked-appts (7/wk — the $200 money metric), at-risk-clients (1).
Empty — missing feed (12): net-new-mrr, churned-mrr, churned-clients, cpqbc, no-show-recovery, ltgp-per-call, pct-clients-on-guarantee-pace, client-facing-errors, satisfaction-response-time, time-to-kpi.
Silent collector bugs (2): sur (show-up rate) and close-rate both have a source query defined but land zero rows — they look like real zeros but are actually broken collectors.
Data recency: daily 06-26 → 07-17, weekly roll-up 06-22 → 07-13. The HTML was last generated Jul 11 (the render step isn't scheduled — the data is fresher than the page). Nearly every target carries target_is_guess = true — placeholders, not Akash-ratified.
Covered live: new ads (creatives-launched), qualified convos (new-convos), pending calls (calls-on-calendar), completed calls (show-ups/live-qualified — currently 0), onboarded (new-deals), live clients, inspections booked (booked-appts), MRR (partial).
The five holes — core items with no home in the scorecard:
| # | Core item | Where it lives (if anywhere) |
|---|---|---|
| 1 | Live ads | Not in scorecard; only sp_ad_metrics_daily (last 07-14) |
| 3 | Leads | Not in scorecard; lives in sp_funnel_events (live to 07-18) |
| 10 | Inspections delivered | NOT TRACKED ANYWHERE |
| 11 | Expenses | Only Cash OS point-in-time (no history) |
| 12 | Churn + net-new / projected MRR | churned-clients / churned-mrr / net-new-mrr all EMPTY |
Under it, at most three KPIs per department. Green = tracked today, amber = partially, red = not tracked.
| Room | Dept KPI | Lead/Lag | Tracked today? |
|---|---|---|---|
| 💸 Finance | Runway to $0 (days) | Lagging | Yes (point-in-time tile) |
| Trailing-30d burn ($/day) | Leading | Yes ($139.95/day) | |
| SP cash collected (sprint) → CPQL/RPL | Lagging | Partial (proxy $0; CPQL/RPL not computed) | |
| 📣 Marketing | CPQL — cost per qualified lead (hero) | Leading | No (biggest gap; not wired) |
| New ads launched / week | Leading | Yes (counts built, not live) | |
| Qualified leads / week | Lag→lead | Partial (no "qualified" flag) | |
| 📞 Sales | RPL — revenue per lead (hero) | Bridge | No (named nowhere on screen; denominator unresolved) |
| Real booked calls / week | Leading | Yes (honest 0) | |
| Cash collected | Lagging | Yes (honest $0) | |
| 📦 Fulfillment | % clients on guarantee pace (hero) | Leading | No (target NULL for 40/40 clients) |
| Booked appointments / inspections / week | Lagging | Yes (7/wk, the $200 metric) | |
| At-risk clients | Leading | Partial (sources disagree: 1 vs 2) | |
| 🏗️ Projects | Infrastructure completion % | Leading | No (hand-typed prose, no table) |
| Active projects w/ a dated next action | Lagging | Partial (column exists, board RLS-locked) | |
| Numbered outcomes shipped / week | Leading | No (nothing rolls it up) | |
| 🔁 Loop | Rolling weekly hit-rate | Leading | Yes (33% now) |
| Ritual adherence rate | Leading | Partial (log understates) | |
| Weekly throughput (to-dos / week) | Lagging | Yes (~100/wk) |
Akash's standard: every kept dashboard should open with a 12-week line-graph hero. Today that's mostly impossible — the history doesn't exist yet.
finance_metric_snapshots holds a single row of net_cash + runway_weeks, so no burn/runway line can be drawn yet.weekly_kpi_snapshots table has 387 rows back to Jan 2025, but they're stale EyeFly codes — useless for current SP graphs.scorecard_values and finance_metric_snapshots — append, never overwrite. The 06:15 chain already runs; it just needs to accrue a series instead of replacing one row. Until then, every "hero line graph" below is aspirational.Recommended hero line series per kept dashboard (what each should trend once history accrues):
| Dashboard | Hero line series |
|---|---|
| Finance Room | (1) business cash vs floor · (2) runway days-to-$0 · (3) trailing-30d burn |
| Cockpit | (1) net cash / runway-days · (2) daily burn |
| Ads Autopilot / Marketing hub | (1) CPQL over time · (2) new ads launched/week · (3) qualified leads/week (+ daily live-ad count) |
| Creative Radar | link-CTR + leads over time for the top packs |
| Sales Command Center | (1) real booked calls/week · (2) cash collected/week · (3) RPL |
| Delivery Board | (1) % clients on guarantee pace · (2) at-risk client count |
| Review Panel | (1) rolling weekly hit-rate · (2) off-track count |
| North Star | goal-progress % over time, RAG-banded, per goal |
| Accomplishments | to-dos-finished-per-week (or hands-on hours/week) |
| Disciplines | ritual-adherence % per day (7-day trend) |
This room answers one question: can the business survive long enough to earn its first client cash? Cash flow is oxygen, and right now the business is breathing through a straw.
Per the Cash OS directive (Jul 18), personal and business money are managed as one pool for operations — so the room blends them for survival, while keeping them separate for profit-and-loss and tax.
The hero number is runway = net cash ÷ weekly burn. Today the story is stark: business cash is $2,826.18, which is $376.03 below the draft cash floor, and the account reaches $0 in about 20 days at the current burn of $139.95/day. No St. Pierre client revenue is live yet; this month leaned on a $3,000 Fundbox loan draw — a warning sign, not income. The room's daily job is to point at the one move that brings cash in before the floor breaks.
Core company KPI this room feeds: Runway (days/weeks of cash before $0).
Reconciliation: the KPI synthesis confirms Cash OS metrics live only in finance_metric_snapshots (1 row each, no history). The numbers exist for today, but there is no time-series to trend them yet.
| Dashboard | Verdict | Why |
|---|---|---|
| Finance Room | KEEP | Canonical, freshest (Jul 18), server-baked off the 06:15 chain. This is the room. |
| Company Scorecard | CONSOLIDATE | Local, week-of Jul-13; cash tiles duplicate the room. Fold in its projections, bets, liabilities. |
| Consolidated P&L | CONSOLIDATE | Live but stale (Jun-22). Make it the room's linked P&L drill-down. |
| Profit First P&L | RECLASSIFY | An interactive projection console, not a report. Move to a models shelf; fix banned name. |
| Personal Finance | DEPRECATE | URL is dead (DNS error). Cash-OS merge already folded personal cash into the room. |

sp_funnel_daily stale. KPI strip: operating net (30d) −$5,632.48, opex run-rate $325.45/wk (down 25.6%), sprint cash $0.00, outside funding $3,000.


cfo_briefing and analyst_run events Jul 17–18. Snapshots: Daily Jul-18 formula fa-1.2.0. Assumption changes: none recorded yet (finance_assumption_changes is empty). Recent completions run back to May/June (Plaid backend, transaction loads).
sp_funnel_daily, 192h old → marketing falls back to bank actuals). Reconciliation: business-cash and personal-cash PASS to the cent; txn-delta ADVISORY (−$143.53 posting lag); meta-vs-bank NOTED ($371 billing-timing). Four open questions for Akash: (1) lock the cash floor (control-room still shows stale $1,500), (2) confirm available-vs-current cash, (3) nine metrics unsourced, (4) which Capital One lines are business vs personal.



This room has one job: turn creative volume into qualified leads at the lowest possible cost. You pour ads in the top (hooks, headlines, formats); what should come out the bottom is qualified leads — real people who fit the foundation & waterproofing niche and are worth a sales call.
The single number that says the machine is working is CPQL — cost per qualified lead = ad spend ÷ qualified leads. Lower is better.
Right now the machine is mostly idling on purpose: 532 ads built and paused, waiting for Akash to flip them live. A tiny canary is actually spending (~$123 total, which bought exactly 1 lead). So today the room is less "watch numbers climb" and more "get the inventory launched cleanly." Strategy is cold direct-offer at broad targeting — the copy does the targeting.
Core company KPI this room feeds: New MRR — qualified leads are the front of the revenue pipeline; CPQL is the leading cost signal.
sp_ad_metrics_daily (last 07-14), leads in sp_funnel_events (to 07-18), but no join filters "qualified" and divides by spend. Boards show raw CPL ($123.07 for 1 lead), never a qualified cost. This is the room's biggest measurement gap.| Dashboard | Verdict | Why |
|---|---|---|
| Marketing Room hub | KEEP | The room index; fix the "$0 / Zero ads serving" tile that contradicts the cockpits. |
| Ads Autopilot | KEEP | The operating cockpit and decision engine; CPQL's natural home. |
| Creative Radar | KEEP | Rescope to competitor + organic intel; drop the "Our Ads" tab; fix the branding. |
| Ads Pipeline Board | CONSOLIDATE | Read-only stuck-inventory list; fold its "oldest offenders" into Ads Autopilot. |
| Attribution Timeline | TOOL | A per-lead investigation drill-down, not a glanceable board; tools shelf. |
| PostHog Acquisition | KEEP | Aggregate acquisition-source view; complements the per-lead timeline. |












2026-07-08 | paused_meta_staged | staged_paused | Codex | 9.9d, every one carrying the same note: "Keep paused until launch QA and an explicit live activation command."







This is the "People pipeline" room — where a lead becomes a booked call becomes a signed, paid client. Its one job: keep every real opportunity moving right. Lead in → qualified → booked call → close → cash.
The room runs on one source of truth. The honest answer today (refreshed Jul-22): 5 real contacts, 1 genuine booked call (a concrete-leveling contractor), 0 closes, $0 cash collected — show rate computes 100% off that single call (n=1). Two filter bugs were fixed Jul-22 (a test-flag leak and a booking clean-run window) that had been mis-counting; the walkthrough screenshots further down are the Jul-19 capture and predate the fix. The hero tile literally reads "UNPROVEN — $0 CASH" and stays red until signed-and-paid clients > 0.
Everything else is test data or plumbing the room quarantines so it can't pollute the real numbers. 15 of 16 CRM contacts and most GHL opportunities are flagged test and excluded — the room's most important discipline: no phantom pipeline.
Core company KPI this room feeds: Cash collected (entity = St. Pierre) → MRR. This room is the last mile before money lands.
Note: this board runs its OWN 24-metric contract ("METRIC-CONTRACT sc-0.1.0"), a narrower system than the company's 25-metric scorecard_weekly. That divergence should be reconciled so "close rate" means one thing company-wide.
| Dashboard | Verdict | Why |
|---|---|---|
| Sales Command Center | KEEP | The room's spine — deterministic, server-baked, honest about real vs test. Add a line-graph hero. |
| Sunday Sales Brief | RECLASSIFY | A dated one-off HTML that's a subset of the Command Center. Move to a reports shelf. |
:8765 sales cockpit be a dashboard? No. It's an operational tool (a dialer/worklist you act inside), not a read-only scoreboard. It belongs on a tools/apps shelf, cross-linked from the Command Center's Do-next section — the dashboard hub should stay for read-only trend/status surfaces.


sp_ghl_messages backfill + unlocked stage-probability map), not a zero.

sp_ghl_messages (7,857), sp_funnel_events (127), sp_contractor_applications (52), sp_calendly_events (27), sp_ghl_opportunities (37), sp_sales_contacts (16). EMPTY (clean): sp_sales_deals (0). STALE: sp_ad_metrics_daily (4d), sp_funnel_daily (8d). RISK: published_workflow_risk (3). Open questions for Akash: (1) lock the stage→probability map; (2) reclassify the 3 codex seeds (yes → real pipeline = 10); (3) cash-vs-floor definition; (4) leads denominator — 52 apps vs 127 funnel events vs 1 real contact (this blocks RPL).
This room answers one question: once a client has paid, are we actually delivering what we promised? stpierre.ai sells contractors a guarantee — a set number of leads (and booked inspections) per month. Fulfillment turns "cash collected" into "client stays happy and renews."
Three surfaces: one real dashboard (the Client Delivery Board, one row per each of 40 active clients) and two step-by-step playbooks (the 6-week install SOP and the Week-1 runbook) that are documents, not dashboards.
The stated hero is clients on guarantee pace — exactly right. The problem: there's no data behind it. All 40 clients show "no guarantee set" because nobody entered each client's monthly lead target, and the board never joins in leads actually delivered. So the hero renders blank across the board. The one live metric that matters is booked appointments (inspections booked) — 7/week, the "$200 money metric."
Core company KPI this room feeds: MRR retention — specifically churn (churned-clients / churned-MRR).
Note: inspections delivered (vs booked) is NOT TRACKED ANYWHERE — if the guarantee is written on delivered inspections, that feed must be built before the hero can be trusted.
| Dashboard | Verdict | Why |
|---|---|---|
| Delivery Board | KEEP | The only true dashboard here; the correct spine — one row per client with health, retention, pace. |
| Install SOP | RECLASSIFY | A 6-week playbook, not a dashboard; currently a dead EyeFly link. Retire or rehost as a doc. |
| Week-1 Runbook | RECLASSIFY | An onboarding checklist; banned "St. Pierre Digital" name in title. Merge with Install SOP. |

monthly_lead_target, so the guarantee-pace column is blank for everyone; and there's no sp_client_updates table yet, so "latest drafted update" is empty for everyone too. Two whole columns are placeholders.monthly_lead_target). Red flag = at-risk climbing (open those rows, check risk reasons).
knoxville-tn-cs-58-foundations-and-waterproofing (Regina) with risk reason "churn dated 2026-04-15", and minneapolis-mn-cl-dbs-residential-solutions (Regina) with "risk_level high." Five WATCH rows are "risk_level moderate" (both Lowcountry Scapes, both Blackburn, youngstown-oh). Notably every client's Health pill is GREEN even the two at-risk ones — Health and Retention are two different scores that can disagree. Wk target / Guarantee pace read "not set" / "no guarantee set" on every row. Many clients have no CSM ("—"). The healthy tail (south-jersey, springfield, tucson/vista/wichita, waterford) is all GREEN / Retention OK / 0 open cx. Days-in-delivery range 84–198.
eyefly-sp-install-sop.pages.dev's DNS address could not be found. DNS_PROBE_STARTED." The Cloudflare Pages project appears deleted or never re-deployed. No SOP content is viewable.
This is the "are we building the machine, and can we keep the lights on while we do it?" room. It tracks the Project pipeline — the builder's side, where every unit of work is a numbered outcome (a thing that ships), not a person. Akash owns people and money; this room owns the build.
The one board that earns its keep is the Cockpit — the daily "what needs attention today?" entry point that fuses runway, the day's work blocks, habits, and the big finish lines. The rest is noise: two "project board" surfaces (project-check and projects-deployed) are the same page rendered twice and both show zero projects (a data lockout, not an empty business), and three more (infra-backlog, builder-onboarding, execution-pack) are documents, not dashboards.
Core company KPI this room feeds: Runway (weeks) = net cash ÷ weekly burn. This room is where money gets spent to build, not earned.
projects table has a next_action column, but the board that reads it is RLS-locked and renders 0.Note: the live 25-metric scorecard has no builder / Project-pipeline lane at all. And Cash OS runway has no history to plot (1 row) — the cockpit's runway line is a projection off one baked point until a snapshot series is wired.
| Dashboard | Verdict | Why |
|---|---|---|
| Cockpit | KEEP | The room hero and daily entry point; only board here rendering live, useful data. |
| Project Check | CONSOLIDATE | Renders 0 projects (RLS lockout). Cockpit's "finish lines" already shows this data live. |
| Projects Deployed | DEPRECATE | Byte-identical public mirror of Project Check; also empty. A second copy of a broken page. |
| Infra Backlog | RECLASSIFY | A 6-week SOW (build plan with user stories). Not a dashboard. |
| Builder Onboarding | RECLASSIFY | An onboarding doc read once. Not a dashboard. |
| Execution Pack | RECLASSIFY | A dated one-off execution rollup. Not a dashboard. |



index.html connects with the publishable key and queries the projects table directly. This is the Supabase RLS lockdown pattern — the publishable key is locked out of the raw table, so the query returns zero rows even though projects exist. The cockpit renders fine because it reads different, readable tables (handoffs/signals/finance).v_dash view and point the board at that, rather than opening anon policies on the base table.
v_dash-fixed version once.






act_1096498922089551.This is the room where the week runs as a loop: pick the bars (project), do the work (execute), grade yourself against the bars (reflect), and adjust (learn). Everything else is a department; this room is the machine that keeps them honest week over week.
It has six surfaces that split into three jobs. Two are the target machine (target-lock drafts next week's bars; review-panel reads this week's actuals). Two are top-of-house goal views (hq and north-star). Two are reflection views (accomplishments and disciplines).
The problem is sprawl and double-counting. review-panel and target-lock are two halves of one system. hq and north-star both want to be "top of house," and hq is empty. The room can collapse to three live dashboards plus one weekly report without losing a single question.
Core company KPI this room feeds: Runway (indirect) — this room keeps execution on the bars that produce cash. Its truest north-star is the Rolling Weekly Hit-Rate.
| Dashboard | Verdict | Why |
|---|---|---|
| Review Panel | KEEP | Room anchor: this-week actuals vs bars, the off-track list, and the agent ledger in one place. |
| Target Lock | CONSOLIDATE | Review-panel's other half; a dated single-week artifact. Fold into its Weekly Report tab. |
| HQ | DEPRECATE | 100% empty via RPC, EyeFly-branded; duplicates cockpit + north-star. Nothing uniquely owned. |
| North Star 2026 | KEEP | Annual goals with RAG pacing — make it the single top-of-house surface (so hq can die). Needs goal rows. |
| Accomplishments | KEEP | The reflection half of the loop. Unique, rich, real data. |
| Disciplines | KEEP | The "did I run the loop?" meta-check. Fix its logging, not its concept. |
sp_department_* loop). hq and north-star overlap as top-of-house views, and hq additionally duplicates the Projects-room cockpit. Separately: this room's sp_department_* target machine is a different target system from the scorecard room's 25-metric scorecard_weekly — two parallel target/actual systems that should reconcile to one.





active=false and metrics parked; Collins-owned onboarding steps re-tagged to agent/Akash (Collins fired 2026-07-18); a marketing-ops preflight recorded 532 verdicts (208 pass / 324 fail); the Sunday-projections rite drafted next-week targets at "rolling hit rate=23%." Earlier Exception-Router rows show metrics "off pace (0 vs expected)" routed to the morning brief as P1.




ritual_runs, while the 5 physical disciplines track in routine_completions, "which is still empty." So the F measures an empty log, not zero discipline — wire the runs before trusting the grade.Every defect found across the audit, worst-first. P0 = data plumbing that makes hero metrics impossible · P1 = broken/misleading surfaces · P2 = naming, staleness, registry · P3 = cosmetics and plain-English legends. "Owner" = who has to act: Mechanical a builder can just do; Akash needs your decision.
| Sev | What's broken | Where | Recommended fix | Owner |
|---|---|---|---|---|
| P0 | No history for cash/runway or any KPI — line-graph heroes are impossible. finance_metric_snapshots holds 1 row. | All rooms (hero graphs) | Wire a nightly KPI snapshot job that appends every core + dept KPI to scorecard_values / finance_metric_snapshots (append, never overwrite). The 06:15 chain already runs. | Mechanical |
| P0 | Project boards render 0 — publishable key queries the raw projects table (RLS lockout), returns zero rows. | project-check, projects-deployed | Expose a curated SELECT-only v_dash view and point the board at it (never open anon policies on the base table). | Mechanical |
| P0 | HQ 100% empty — get_mission_control() RPC returns nothing across every section (RLS lockout signature). | hq | Verdict is DEPRECATE (content duplicates cockpit + north-star), so retire rather than re-plumb. | Akash |
| P0 | Silent collector bugs — sur (show-up rate) and close-rate have a source query but land zero rows (fake zeros). | scorecard, sales command center | ✓ Done (Jul-22): two Sales filter fixes (test-flag leak + booking clean-run window) made both collectors return real rows — show rate 100% (n=1), close rate a real 0% off 1 booking, not a fake zero. Scorecard side still to verify. | Mechanical |
| P0 | Guarantee-pace hero is dark — monthly_lead_target is NULL for 40/40 clients; the board never joins leads delivered. | delivery-board | Enter each client's monthly lead target (Akash), then wire the pace = delivered ÷ target join (Mechanical). | Akash + Mechanical |
| P0 | CPQL / RPL — the two named room heroes — are computed on no surface (spend and leads exist but are never joined + filtered to "qualified"). | marketing, sales | Agree a "qualified lead" definition (Akash), then build the join (Mechanical). | Akash + Mechanical |
| P0 | Leads denominator undecided — 52 Typeform apps vs 127 funnel events vs 1 real contact. Blocks RPL entirely. | sales command center (open Q4) | Pick the canonical leads denominator. | Akash |
| P0 | Five of the 12-core items are untracked: live ads, leads, inspections delivered (nowhere), expenses (point-in-time only), churn / net-new MRR (empty). | scorecard / 12-core mapping | Wire feeds: live ads from sp_ad_metrics_daily, leads from sp_funnel_events, build an inspections-delivered feed, add expense + churn/net-new-MRR collectors. | Mechanical |
| P1 | THREE parallel target/actual systems: scorecard_weekly (25), loop sp_department_* (6 lanes), sales.html's own 24-metric contract. "Close rate" means three things. | cross-room | Collapse to one target system so a metric name is defined once company-wide. | Akash |
| P1 | Dead URL — eyefly-personal-finance-dashboard.pages.dev returns DNS_PROBE_FINISHED_NXDOMAIN. | personal-finance | Delist from the hub (Cash-OS merge already folded personal cash into the finance room). | Mechanical |
| P1 | Dead URL — eyefly-sp-install-sop.pages.dev DNS-fails; also EyeFly-branded. | install-sop | Remove from the registry; rehost as a doc on a stpierre.ai surface if the content is still wanted. | Mechanical |
| P1 | Broken "THIS WEEK" iframe — embed to the W30 plan shows a broken-image icon on the hero page. | cockpit | Point the embed at the live W30 plan file, or drop the panel. | Mechanical |
| P1 | Wrong "$0 / Zero ads serving" tile while the cockpits show $123.07 spend, 111 live ads, 1 lead. The tile isn't reading live data. | marketing-room hub | Wire Live Spend to the same source Ads Autopilot uses. | Mechanical |
| P1 | Published-workflow risk = 3 — three live external-send surfaces flagged RISK (mis-branded FB "concrete" workflow + 2 Slack actions) could fire sends behind the room's back. | sales command center | Prove each of the 3 unpublished (or disable them) to clear the flag. | Akash + Mechanical |
| P1 | Data hygiene — knoxville-tn-cs carries a churn date of 2026-04-15 (3 months ago) yet still counts as an active client. | delivery-board | Reconcile: remove from the active 40 if churned, or clear the stale date. | Akash + Mechanical |
| P1 | GREEN health pills on AT-RISK rows — Health and Retention are two scores that contradict, with no on-page explanation of which wins. | delivery-board | Explain what each column measures; decide which drives the "act on this client" signal. | Mechanical |
| P1 | Scorecard owners are EyeFly-era (Sean, Jason, Jean, JM, Regina, Collins) — Collins was fired Jul-18. | scorecard_metrics | Re-assign metric owners to current St. Pierre roles; remove Collins. | Akash |
| P2 | Banned company name "St. Pierre Digital" / "EyeFly" on 5 surfaces — creative-radar (via Meta page name), week1-runbook title, profit-first-pnl header, accomplishments footer, hq EyeFly branding. | 5 boards | Replace with stpierre.ai on every surface; fix the Meta page name at its source (feeds creative-radar). | Mechanical |
| P2 | Stale renders with no loud warning — consolidated-pnl (Jun-22 snapshot, 27d), review-panel (header week Jul 6–12), weekly-scorecard.html (rendered Jul-11), cockpit money hero (baked Jul-17/18). | 4 boards | ✓ Partly done (Jul-22): finance, cockpit, and sales now re-bake daily at 6:45am (launchd com.stpierre.finance-room-render). Still open: consolidated-pnl / review-panel / weekly-scorecard scheduling + the loud "STALE — last updated N days ago" banner past the refresh window. | Mechanical |
| P2 | brain.dashboards registry table is referenced in docs but does not exist (only v_dash_* views). | docs / hub footer | Either create the registry table or correct the docs to stop referencing it. | Mechanical |
| P2 | weekly-scorecard.html (the live 25-metric board) is missing from the dashboards hub, while the hub's scorecard card points at the older Cash OS company-scorecard file. | dashboards hub | Add weekly-scorecard.html to the hub; repoint or relabel the Cash OS card. | Mechanical |
| P2 | All 25 scorecard targets are unratified (target_is_guess=true); only 6 have real target rules. | scorecard_metrics | Ratify the targets so red/amber/green bands mean something. | Akash |
| P2 | Two cash framings disagree and aren't labeled — business-only $2,826 / ~20 days vs combined −$198.85 / 0 weeks (and "business-only = 106 days" on the same tile). | finance-room, company-scorecard, cockpit | Pick one canonical framing as "the number"; label the other side-by-side. | Akash |
| P3 | Acronyms undefined on every board — MRR, CPQL, RPL, CPQBC, CAC, LTGP, RLS, WIG, DoD, ICE, RAG, VSL, GHL, DND/STOP, opex, etc. | all rooms | Add a one-line glossary or first-use tooltip per surface (Start Here section here already lists them). | Mechanical |
| P3 | UNKNOWN striped grey cards look broken. | finance-room, sales | Add a legend: "Grey = no data source yet. We show UNKNOWN instead of a fake $0." | Mechanical |
| P3 | State-tag badges (DRAFT / LOCKED / PROXY / UNSOURCED / UNKNOWN) have no legend. | sales command center | Add a five-item badge legend at the top of the scoreboard. | Mechanical |
| P3 | Format suffixes (Postit, Napkin, Lock, iMessage, Safari, X) and niche codes (CS / CL / CF / FR) unexplained. | ads-autopilot, delivery-board | Add a one-line legend for each set. | Mechanical |
| P3 | Empty states read as failure — habits grid "0/240" all grey, "9.9d" red counts, attribution timeline opens blank, "no update drafted" on 40 rows. | cockpit, ads-pipeline, attribution, delivery-board | Style empty/parked states distinctly from real misses; move the "expected while parked" note next to the scary count; add a default hint on the timeline. | Mechanical |
| P3 | review-panel shows three different metric counts on one page (15 scored / 14 tracked / 60 targets). | review-panel | Reconcile to one count and one label. | Mechanical |
| P3 | Sunday brief hero reads "$49 draft weighted value" (5% DRAFT × $975) without a loud "not a forecast" label. | sunday-sales-brief | Label weighted/draft estimates as "unproven estimate — not a forecast." | Mechanical |
St. Pierre Dashboard Field Guide · audit 2026-07-19 · recommendations only, no live surface was modified · source: room analyses + KPI synthesis in dashboard-guide/analysis/.