# Daily Report Template — Voice-First Design

*Michael's feedback (2026-02-16): Voice during work hours (6am-6pm), comprehensive but current data, multiple short notes under 1400 chars each. Fix stale data issue #1 priority.*

---

## Morning Voice Brief — "State of Play" 🌅
*Generated 5:15 AM AEDT, delivered as voice notes to Telegram*

### Voice Note Structure
**3-4 voice notes, each under 1400 characters, 60-90 seconds each**

#### Note 1: System Status & Overnight Work (Priority: Critical)
```
Good morning Michael! It's 5:15 AM, here's your morning brief.

SYSTEM STATUS: [App: LIVE/DOWN] [Growth Engine: LIVE/DOWN] [Builder: ACTIVE/IDLE]

OVERNIGHT WORK: [Builder completed: specific features/bugs with commit hash] [Lead research: X new leads from Y sources] [Any critical alerts or fixes]

WEATHER: [Current temp, conditions for site work]

This is voice note 1 of 4.
```

#### Note 2: Current Work State (Priority: High)
```
WHAT'S ACTUALLY HAPPENING RIGHT NOW:

BUILDER STATUS: [Current tasks in progress, blockers, completion estimates]

PIPELINE: [Total leads: X, Hot leads under 48h: Y, Overdue callbacks: Z names]

REVENUE: [Pipeline value, any new conversions, payment flow status]

YOUR DECISIONS NEEDED: [Specific approvals, reviews, or calls that block progress]

This is voice note 2 of 4.
```

#### Note 3: Today's Plan & Priorities (Priority: Medium)
```
TODAY'S PLAN:

YOUR SCHEDULE: [Site location, crew, expected finish time]

TOP 3 PRIORITIES: [Specific actionable items ranked by impact]

EVENING WINDOW: [What to QA test, team sync agenda if scheduled]

BLOCKERS: [Anything waiting on external factors, urgent but not critical]

This is voice note 3 of 4.
```

#### Note 4: Strategic Context (Priority: Low)
```
STRATEGIC UPDATE:

THIS WEEK GOAL: [Primary milestone we're driving toward]

PROGRESS SINCE YESTERDAY: [Concrete advancement toward weekly goal]

UPCOMING: [Calendar events next 48h, decisions coming due]

KEY METRIC: [One number that matters most today]

Morning brief complete. Drive safe, talk tonight.
```

---

## Evening Voice Brief — "Handoff Summary" 🌙
*Generated 6:00 PM AEDT, delivered as voice notes to Telegram*

### Voice Note Structure
**2-3 voice notes, each under 1400 characters, 60-90 seconds each**

#### Note 1: Today's Results (Priority: Critical)
```
Evening handoff! Here's what got done today.

SHIPPED: [Specific features deployed, bugs fixed, commits pushed]

BUSINESS PROGRESS: [Leads processed, deals advanced, revenue events]

PLAN VS REALITY: [What hit timeline, what's behind, why]

CRITICAL ISSUES: [Any problems that need immediate attention]

This is voice note 1 of 3.
```

#### Note 2: Overnight Plan (Priority: High)
```
OVERNIGHT AUTONOMOUS WORK:

BUILDER: [Specific tasks to complete while you sleep]

RIVET: [Research, monitoring, coordination tasks]

SUSAN: [Lead gen, content, pipeline nurture - when live]

ALERTS: [When we'll wake you, what thresholds matter]

This is voice note 2 of 3.
```

#### Note 3: Tomorrow's Focus (Priority: Medium)
```
TOMORROW PRIORITIES:

FIRST THING: [Critical decisions or approvals needed at 6am]

QA TESTING: [What needs hands-on verification]

EXTERNAL COMMS: [Calls to make, emails to send]

STRATEGIC: [One big thing to advance this week]

Handoff complete. Team's got the overnight shift.
```

---

## Content Freshness Rules — CRITICAL

### The Stale Data Problem (Root Cause: 2026-02-16)
**Issue:** Morning brief referenced completed tasks as pending, cited outdated info
**Impact:** Michael working from wrong context, agents duplicating finished work
**Solution:** Real-time data updates every heartbeat

### Data Update Protocol (Every Heartbeat — 15 minutes)
1. **Read Builder communication** — RIVET-INBOX.md for latest completions
2. **Check system health** — App status, Growth Engine, deployment state
3. **Update memory/2026-MM-DD.md** with current state (not just events)
4. **Verify lead counts** — Fresh overnight research, pipeline changes
5. **Track decisions made** — Michael's approvals, strategy changes, blockers resolved

### Current State Tracking (Mandatory Fields)
Update these in daily memory file every heartbeat:

```markdown
## Current State (as of HH:MM AM/PM AEDT)

### RIGHT NOW Status:
- **App:** [LIVE at URL | DOWN since TIME] — [specific issue if any]
- **Growth Engine:** [LIVE | DOWN since TIME] — [specific issue if any]  
- **Builder:** [ACTIVE on TASK | IDLE | BLOCKED by ISSUE]
- **Lead Pipeline:** [X total, Y hot <48h, Z overdue callbacks]
- **Revenue:** $[amount] potential, [count] conversions, [payment status]

### Michael's Current Context:
- **Site:** [location, crew, expected finish]
- **Pending Decisions:** [specific items waiting for approval]
- **Next Critical Action:** [what unblocks the most work]

### Team Status:
- **Rivet:** [current focus, spawned agents, completion %]
- **Builder:** [current sprint, completion %, next up]
- **Susan:** [when live: lead processing, outreach, content]
```

### Voice Brief Data Sources (Live Lookup)
**DO NOT cache this data. Pull fresh every time:**

1. **System Status:** Direct API checks, not memory
2. **Builder Status:** Read RIVET-INBOX.md for latest updates
3. **Lead Counts:** Query Growth Engine API or fresh file scan
4. **Weather:** Live API call for current conditions
5. **Calendar:** Live Google Calendar API for next 48h
6. **Task Status:** Live TODO.md scan, not assumptions

### Anti-Stale Measures
- **Timestamp everything** with "as of HH:MM AM" in voice notes
- **Cross-reference sources** — if Builder says done, verify in git
- **Flag uncertainties** — "Last confirmed at TIME" when data might be stale
- **Update, don't append** — Replace old status with current truth
- **Voice confidence levels** — "Confirmed as of 5:15 AM" vs "Last known status"

---

## Voice Note Optimization

### Character Limits & Timing
- **Target:** 1200-1400 characters per note
- **Speech time:** 60-90 seconds (Edge TTS at normal speed)
- **Structure:** Fact → Context → Action → Transition
- **Safety:** Single play-through while driving

### Voice-First Language Patterns

#### ✅ GOOD — Voice Natural
```
"Good morning Michael! Growth Engine's back online as of 4:30 AM. 
Builder finished three bugs overnight - the profile data sync is fixed, 
browse workers is live, and signup flow captures names properly. 
That's sixteen of sixteen QA items complete. The app's launch-ready."
```

#### ❌ BAD — Text Converted
```
"System Status Update: Growth Engine operational status restored at 
04:30 hours. Builder agent completed Bug #3 (profile sync), Bug #10 
(browse workers), Bug #11 (signup flow). QA completion: 16/16 items. 
Launch readiness: achieved."
```

### Spoken Emphasis Techniques
- **Pauses:** Use commas, periods for natural breaks
- **Priority words:** "Critical," "Urgent," "Complete," "Blocked"  
- **Numbers:** "Three bugs fixed" not "3 bugs fixed"
- **Status:** "Live," "Down," "Working," "Waiting"
- **Transitions:** "Next," "Also," "Finally," "Important"

### Multi-Note Flow
- **Note 1 hook:** "Good morning, here's your brief"
- **Between notes:** "This is note 2 of 4"
- **Final note:** "Brief complete, drive safe"
- **Consistency:** Same voice, same energy across all notes

---

## Examples — Good vs Bad Voice Content

### 🟢 GOOD Example — Current & Actionable
```
VOICE NOTE 1 (Morning):
"Good morning Michael! It's 5:15 AM. App is live and stable, Growth Engine back online since 4:30. Builder finished the final three QA bugs overnight - profile sync fixed, browse workers live, signup captures names. That's sixteen of sixteen complete. Weather's seventeen degrees, perfect for concrete. You've got two decisions waiting - approve Susan's setup and review the launch checklist. This is note 1 of 4."
(Characters: 487, ~75 seconds)

VOICE NOTE 2:
"Current work state: Builder's tackling PWA icons and profile auto-research. Pipeline has forty-two leads total, eight hot leads under forty-eight hours, three overdue callbacks - Ardi, Steve, and the new Parramatta contractor. Revenue pipeline sitting at twelve thousand potential if everyone converts. Growth Engine processed four new leads overnight from Indeed. This is note 2 of 4."
(Characters: 424, ~65 seconds)
```

### 🔴 BAD Example — Stale & Text-Like
```
VOICE NOTE (Old Format):
"System status report: As previously discussed, the application deployment pipeline continues operational. Builder agent has tasks assigned per yesterday's roadmap. Pipeline metrics remain consistent with prior reporting period. Weather data available via standard APIs. Strategic objectives align with quarterly goals established in prior sessions. Please advise on pending deliverables."
(Characters: 412, but ZERO current information, robotic tone)
```

### 🟢 GOOD Example — Evening Handoff
```
VOICE NOTE 1 (Evening):
"Evening handoff! Here's what shipped today. Builder deployed PWA icons and profile auto-research - both live in production. Pipeline processed six leads, advanced two warm conversations, no new conversions but Ardi finally responded. Plan versus reality - we're on target for launch prep, PWA work came in ahead of schedule. No critical issues overnight. This is note 1 of 3."
(Characters: 441, ~70 seconds)
```

### 🔴 BAD Example — Vague & Stale
```
VOICE NOTE (Old Format):
"Daily summary: Various development tasks progressed according to established timelines. Lead pipeline metrics updated per standard procedures. No exceptional circumstances require immediate escalation. Overnight operations will continue per established protocols. Standard monitoring thresholds remain in effect."
(Characters: 312, but communicates NOTHING useful)
```

### Voice Note Content Rules
#### ✅ DO Include:
- **Specific numbers:** "42 leads," "16 bugs," "$12,000 pipeline"
- **Concrete actions:** "Builder deployed," "Rivet researched," "Pipeline processed"  
- **Current timestamps:** "as of 5:15 AM," "since 4:30," "overnight"
- **Names:** "Ardi responded," "Parramatta contractor," "Susan's setup"
- **Outcomes:** "launch-ready," "pipeline advanced," "issue resolved"
- **Context:** "while you sleep," "before heading to site," "driving safe"

#### ❌ DON'T Include:
- **Vague status:** "progressing well," "as discussed," "per usual"
- **Stale references:** "yesterday's plan," "last week's goal," "prior session"
- **Technical jargon:** "API endpoints," "deployment pipeline," "RLS policies"
- **Multiple options:** "might be," "could potentially," "perhaps consider"
- **Historical context:** "as you know," "as we discussed," "from last time"

---

## Cron Job Prompts — Voice-Ready

### Morning Voice Brief Prompt
```
CURRENT TIME: {current_time} (Australia/Sydney)

Generate Michael's morning voice brief - 4 voice notes under 1400 chars each.

CRITICAL: Data must be CURRENT as of {current_time}. NO stale information.

DATA SOURCES TO CHECK LIVE:
1. Read memory/{today}.md - current state section (ignore old timeline)  
2. Read RIVET-INBOX.md - latest Builder updates
3. Check TODO.md - current task status
4. Weather API for site conditions
5. System health checks - app/engine status

VOICE NOTE STRUCTURE:
Note 1: System status, overnight work, weather (1200-1400 chars)
Note 2: Current work state, pipeline, decisions needed (1200-1400 chars)  
Note 3: Today's plan, priorities, evening focus (1200-1400 chars)
Note 4: Strategic context, weekly goal, key metric (1200-1400 chars)

VOICE STYLE:
- Natural speech patterns, not text conversion
- Specific numbers and names
- Current timestamps ("as of 5:15 AM")
- Conversational but informative
- Safe for driving (clear, organized)

FRESHNESS CHECKS:
- If Builder data >30min old, flag as "last confirmed at TIME"
- If system status uncertain, make live check
- If pipeline data stale, use "estimated" language
- Never guess - better to say "checking" than wrong info

OUTPUT: Exactly 4 voice notes, each as tts() function call.
Use en-AU-WilliamNeural voice. Include note numbering.
```

### Evening Voice Brief Prompt  
```
CURRENT TIME: {current_time} (Australia/Sydney)

Generate Michael's evening handoff - 3 voice notes under 1400 chars each.

CRITICAL: Summarize TODAY'S actual results, not plans or hopes.

DATA SOURCES TO CHECK:
1. Read memory/{today}.md - timeline and results achieved
2. Read RIVET-INBOX.md - what Builder actually completed  
3. Check TODO.md - what moved from [⏳] to [✅]
4. Check git logs - what actually shipped
5. Pipeline activity - real conversations/conversions

VOICE NOTE STRUCTURE:
Note 1: Today's concrete results, plan vs reality (1200-1400 chars)
Note 2: Overnight autonomous work plan (1200-1400 chars)
Note 3: Tomorrow's critical priorities (1200-1400 chars)

VOICE STYLE:
- Results-focused, not activity-focused
- Specific outcomes: "deployed X," "fixed Y," "advanced Z"
- Honest about delays/blockers
- Clear overnight delegation
- Tomorrow priorities ranked by urgency

HANDOFF CLARITY:
- What agents will do autonomously
- What needs Michael's attention first thing
- Alert thresholds (when to wake Michael)
- Confidence levels on overnight work completion

OUTPUT: Exactly 3 voice notes, each as tts() function call.
Use en-AU-WilliamNeural voice. Include note numbering and "handoff complete."
```

---

## Heartbeat Integration — Data Freshness

### Memory Update Protocol (Every 15 Minutes)
```bash
# Add to HEARTBEAT.md after Builder comms check:

### Data Freshness Update (MANDATORY)
1. Read RIVET-INBOX.md for Builder updates
2. Check app/engine status via curl/API calls  
3. Update memory/{today}.md "Current State" section with fresh data
4. Verify lead counts against Growth Engine API
5. Cross-reference TODO.md status with actual completions
6. Flag any stale data that couldn't be verified
7. Log data freshness timestamp in memory file

### Voice Brief Data Preparation  
Every heartbeat, prepare fresh data for next voice brief:
- System status (live checks, not cached)
- Builder progress (latest RIVET-INBOX entries)
- Pipeline metrics (API calls, not file scans)
- Weather (live API for site conditions)
- Calendar (next 48h from Google API)

Store in memory/voice-brief-data.json with timestamps.
Cron jobs pull from this file but verify freshness.
```

### Anti-Stale Measures in Heartbeat
- **Timestamp verification:** Flag data >30min old
- **Source verification:** Cross-check Builder claims with git
- **API verification:** Don't trust cached system status
- **Completion verification:** [✅] in TODO.md matches reality
- **Pipeline verification:** Growth Engine API vs file data

---

## Implementation Checklist

### ✅ Immediate Updates (Today)
- [x] Update daily-report-template.md with voice-first design
- [ ] Update morning-voice-brief cron prompt  
- [ ] Update evening-voice-brief cron prompt
- [ ] Add data freshness rules to HEARTBEAT.md
- [ ] Create voice-brief-data.json template
- [ ] Test new voice brief format (dry run)

### ✅ System Integration (This Week)
- [ ] Add live API checks to heartbeat routine
- [ ] Create data freshness verification script
- [ ] Update memory file format with "Current State" section
- [ ] Test multi-note voice delivery
- [ ] Validate character limits and timing
- [ ] Create voice brief quality checklist

### ✅ Monitoring & Iteration (Ongoing)
- [ ] Track Michael's feedback on new format
- [ ] Monitor data freshness failures
- [ ] Optimize voice note timing and flow
- [ ] Adjust character limits based on speech speed
- [ ] Refine language patterns for voice clarity
- [ ] Build automated stale data detection

---

## Success Metrics

### Voice Brief Quality
- **Freshness:** All data <30min old at brief time
- **Completeness:** All critical status covered in 4/3 notes
- **Clarity:** Michael can follow while driving safely
- **Actionability:** Clear priorities and decisions identified
- **Accuracy:** Verified information, no false positives

### Data Currency
- **System status:** Live checks, not cached data
- **Builder progress:** Latest RIVET-INBOX updates included
- **Pipeline metrics:** Real-time API data
- **Task completion:** Cross-verified with actual outcomes
- **Timestamp discipline:** All data stamped with source time

### Format Effectiveness  
- **Character limits:** 1200-1400 per note consistently
- **Speech timing:** 60-90 seconds per note
- **Multi-note flow:** Smooth transitions, clear numbering
- **Voice optimization:** Natural speech patterns
- **Safety focus:** Single play-through comprehension

*This template serves as the blueprint for solving Michael's #1 systemic issue: stale data in daily operations. Voice-first design ensures safety and comprehension during work hours.*