← Founder Hub

Command Center Dashboard

Your deeper founder operating cockpit for cross-system trust, live decisions, and blockers — nothing else. Read this page in order: Today, Decisions, then Watch. Build history, sprint/train status, and the founder decision log live on Buildout Tracker; recipe trust and the Sabrina coaching runtime live on the Sabrina page. This page should not duplicate the lane tactical pages, the Intake snapshot page, Buildout Tracker, or Sabrina.

Readiness: checking... Build Freshness: checking...
Founder read path: use Today for cross-system trust, Decide for approvals and judgment calls, and Watch for escalations. Intake capture belongs on Intake Status; direct lane operation belongs on the lane pages.
Source & Sync Reference supporting detail, not the main operating layer
Company Focus: Guardrail Health Auto-sync: every 60s
What Matters Now

Trust the operating system before you trust a single lane

Use this screen when the question is bigger than one page or one lane: can you trust the system today, and is anything cross-system getting shaky?

What Needs Action

Make the next founder choice, not ten

The Decision deck should narrow the page to the one approval, blocker, or escalation that actually needs your judgment instead of repeating tactical lane details.

Supporting Detail

Use Watch when a lane feels off

Runtime, sync, validation, and data-quality views stay here as support layers for escalation checks, not as a replacement for the lane pages themselves.

Archive / Reference

Build context stays preserved one layer down

Planning links, branch topology, canon, and handoff notes remain available here, but they should not compete with Today, Decide, and Watch.

What Matters Now Start with the cross-system read: can you trust today’s operating picture, how ready is the build, and which lane needs escalation first. live

Cross-System Trust

Edge function sync health — last 60 min
What this tells you: whether the Google Sheet → Supabase sync ran recently and cleanly. Green = synced within the last hour with no errors; amber/red means a run is late, stuck, or failing — check Lane Pulse / Incidents below.
Loading...

Buildout Readiness

Live from company_readiness_score()
Why it matters: a single rollup of how close the pilot build is to cohort-ready — pilot phase, composite readiness score, active company projects, and the next milestone to clear.
Pilot Phase
Pilot Hardening
Readiness Score
--
Company Projects
----
Next Milestone
Cohort-ready pilot workflows

Escalation Watch

Latest snapshot per operational lane
What this tells you: the most recent data point landed for each operational lane and how stale it is. Use this to decide which lane needs escalation next, then open that lane page for the tactical view.
Loading...
What Needs Action Your founder choice layer: what needs approval, what is blocked, and why. Nothing here deploys, writes, or promotes anything by itself. review-ready

Founder decisions right now

Authorize production promotion only after acceptance review explicit gate
Broaden external claims only when the supporting evidence is ready evidence gate
✓ The first two are available now. They stay within the founder-only test boundary.
⚠ The last two require an explicit decision; this dashboard cannot promote or broaden anything by itself.

What remains intentionally gated

The protected Founder-test dashboard is available for authorized founder use. Production promotion and any broader external claims remain separate, deliberate decisions.
The test console supports founder operations. It is not a public portal, does not make a product launch decision, and does not change the evidence standard for Guardrail Health.
Reviewing these choices changes nothing on its own. Production is not live.
Supporting Detail Day-to-day pipeline health: recent sync runs, incidents, validation checks, and data-quality flags. Raw rows and historical notes stay behind expandable sections. monitoring

Lane Pulse — Recent Sync Runs

Live from sabrina.sync_runs — last 15 runs. Stuck rows (started, no finished_at): checking...
Recent sync run rows — raw table, open by default while pipeline is under active watch
Loading...

Incidents & Drift

Live from sabrina.sync_errors — last 7 days
What this tells you: sync errors from the last 7 days plus a running log of known, already-triaged issues. An empty live list with only "resolved"/"known gap" entries below means nothing new needs attention.
Loading...
Known Issues — previously triaged, no action needed
  • resolved Pre-v28 stuck full-sync rows — 23 rows, all before 2026-06-04T06:40Z. Phase 2A finalization fix (commit 47ad973).
  • known gap InBody advanced fields (SMM percentile etc.) — tab absent from source sheet. 43 rows missing_advanced. Non-blocking.
  • resolved gsheet HTTP 500 on Weekly Plan (2026-06-04T05:51Z) — transient, pre-v28, no recurrence since.

Validation Checks

Phase 1 smoke tests — python -m pytest tests/ — all 6 pass
Why it matters: these are the structural smoke tests that must stay green for the pipeline's data classification to be trustworthy. All PASS = the sync logic is behaving as designed; any FAIL would mean lane/anchor/zero-value handling has regressed.
Anchor payloads match expected valuesPASS
CGM / Medication excluded from food totalsPASS
Explicit zero sodium not marked missingPASS
Full sync classifies all 3 lanesPASS
Lane-specific sync classifies from source fieldsPASS
Latest event: cycle → time → event_id orderPASS
data_quality_flags: checking...
Quality Notes — per-field notes and known gaps
  • ok Sodium — explicit 0 handled correctly since Phase 1
  • ok Fiber — tracked and exposed in Health dashboard
  • gap InBody advanced fields — 43 missing_advanced rows; logged in sync_runs notes
  • partial data_quality_flags — schema exists, 0 rows; pipeline writes not yet wired (Phase 2C)

Data Quality Flags

Live from sabrina.v_active_cycle_quality_flags (active cycle) + sabrina.data_quality_flags (persistent)
What this tells you: data-completeness flags raised for the active tracking cycle (e.g. missing fields, advanced metrics not yet captured). These are informational — they do not block sync or coaching, they just mark where source data is incomplete.
Loading...