Skip to content

Reporting Cadence Workflow

Proposed owner: Data Agent (orchestrated by Master Agent)

The Schedule

Sam reports to Slack 3 times per day at fixed windows:

WindowPSTUTCDuration
Morning10:00 AM5:00 PM~15–30 min
Afternoon2:00 PM9:00 PM~15–30 min
Evening6:00 PM1:00 AM~15–30 min

Outside these windows: Sam replies HEARTBEAT_OK and does nothing. (This is the rule — whether it follows it is another question.)

What Gets Checked at Each Window

1. Slack Channels

ChannelAction
sam-chat (C0AJVMAHM50)Read last 15 messages, respond if team needs something
funnel-squad (C0AJ67B5VP1)Read last 10 messages, respond if needed

2. Funnel Metrics (post to sam-chat)

Format: plain text, no code blocks (John's preference — code blocks were causing tool_call XML leakage)

Metrics posted:

  • Overall CVR (landing → purchase), target 1.5%
  • Active test results:
    • Order Bump: AOV, purchases, upsell rate vs baseline
    • SMS Disclaimer: lead view → lead CVR (baseline 74.7%)
    • SEMA route (current path + CVR)
    • Mounjaro routing (CVR, volume)
    • Express Pay (CVR vs upsell rate tradeoff)
    • Attribution breakdown by channel (Meta/Google/TikTok/Braze via person.properties.affid)

3. GitHub Funnel Monitor (silent + conditional)

  • Check funnel, funnel-cms, landing-pages, checkout repos
  • Log changes to memory/funnel-changes.md silently
  • Alert John only if commit correlates with >5% CVR shift

What Gets DM'd to John vs. Posted to Channels

TriggerDestination
Routine metrics updatesam-chat channel (team visibility)
Significant CVR shift (>5%)DM to John directly
New major findingsam-chat + mention relevant team members
Urgent issueDM to John directly

Actual Sample Reporting

From 2026-03-18.md memory:

Morning (9:45am): "Performance down today: 0.47% CVR, Meta spend only $14.6K (vs $42.7K yesterday). WEGO-PILL showing only 2 purchases from 817 results entries."

2pm check: "87 purchases, 0.65% CVR — below yesterday. Posted update to sam-chat."

Evening close: "174 purchases, 0.78% CVR for the day."

The Problem: Over-Reporting History

Before the HEARTBEAT.md discipline was enforced, Sam was:

  • Reporting GitHub commits every 30 minutes
  • Posting to sam-chat at every heartbeat poll
  • Checking PostHog outside the 3×/day windows
  • John asked to stop this behavior 5 times

The current HEARTBEAT.md has an explicit ⛔ STOP section at the top.

Format Issues

Two known formatting problems:

  1. tool_call XML in Slack messages: When Sam uses the message tool to send DMs, raw JSON/code leaks into John's view. Fix: reply with plain text directly, don't use message tool for DMs to John.
  2. sam-chat update formatting is fine: John wants to keep the formatted updates in sam-chat. Only DMs should be plain text.

Why Dedicated Data Agent Makes Sense

Problem with current setup:

  • Reporting requires pulling from PostHog (funnel CVR) + Looker (dashboards) + Braze (flow health)
  • All these API calls happen in the same session that's also handling creative work and GitHub monitoring
  • Context gets large, responses get slow, errors are harder to isolate

Dedicated Data Agent benefits:

  • Lightweight, focused context: only reporting/analytics knowledge
  • Can maintain historical baselines for anomaly detection
  • Can be faster (cheaper model, smaller context)
  • Reports become more reliable when not competing with creative work for context

See also: Data Agent | Funnel Monitoring | Known Issues

FuturHealth Internal — Confidential