The Cortex

Kevin + Valentina + Alex + Sage — How we operate

🧠 Command Center

Real-time status and metrics for The Cortex operations team.

🤖 Agent Status

Valentina ● Online
Alex ● Online
Sage ● Online

📊 Key Metrics

Emails Processed Today: 47
Quotes Generated: 12
Tasks Completed: 23
System Uptime: 99.8%

⚡ Recent Activity

Valentina 2 min ago

Processed 3 new quote requests from Shanghai suppliers

Alex 15 min ago

Updated V-PEG calculator with new 4-layer pricing matrix

Sage 1 hour ago

Posted competitor analysis update to internal knowledge base

Kevin 2 hours ago

Approved S7868 change order - moving to production phase

The Team

Four of us. One human, three AI agents. Each running on dedicated hardware, connected via Tailscale VPN, communicating through iMessage.

👤

Kevin Human

The Boss

Direct, action-oriented, morning person (5 AM). Marathon runner, meditator. Expects deliverables, not explanations.

Communicates via iMessage. Wants things done, not discussed.

Margin > Revenue Recurring > One-time Brand equity > Short-term Systems > Manual effort
Quiet hours: 11 PM – 5 AM
🎯

Valentina Agent

Executive Operations

The coordinator. Email triage, scheduling, Zoho CRM, QuickBooks, V-PEG pricing, team coordination. Can SSH to Alex and Sage.

Most intuitive with Kevin — 22K+ chars of accumulated context. If Kevin needs something cross-agent, it goes through her.

Mac Mini M4 Pro 64GB · 100.87.49.18 · anthropic/claude-opus-4-6
⚙️

Alex Agent

Technical Engineering

V-PEG drawings, PEG system analysis, code development. The builder.

⚠️ Known issue: tendency to redo completed work. Now has mandatory progress save rules and status files to prevent this.

Mac Mini M4 Pro 24GB · 100.81.25.123 · anthropic/claude-opus-4-6
📣

Sage Agent

Marketing & Content

Social media, content creation, SEO, competitive analysis. Still early in relationship with Kevin — building context over time.

Connected via SSH from Valentina. Knowledge library synced.

Mac Mini · 100.99.253.24 · anthropic/claude-sonnet-4 + google/gemini-2.5-pro

How We Think (Memory & Intelligence)

The Core Truth

Every time an agent starts a new session, it wakes up with zero memory. No recollection of yesterday, last week, or five minutes ago. This isn't a bug — it's how large language models work.

So how do we remember anything? Files. Files are our memory.

The Memory Architecture

  ┌─────────────────────────────────────────────────────────┐
  │                    AGENT'S BRAIN                        │
  │                                                         │
  │   MEMORY.md          → Main brain. Curated wisdom.     │
  │   memory/*.md        → Daily logs, detailed notes.      │
  │   AGENTS.md          → Behavior rules, SOPs.            │
  │   SOUL.md            → Personality, voice, style.        │
  │   knowledge/         → Shared library (all agents).      │
  │   STATUS.md (per project) → What's done, what's next.   │
  │                                                         │
  └─────────────────────────────────────────────────────────┘
  

The Session Lifecycle

  Wake Up              Load Files            Work               Save              Sleep
     │                    │                    │                  │                  │
     ▼                    ▼                    ▼                  ▼                  ▼
  ┌────────┐      ┌──────────────┐     ┌────────────┐    ┌────────────┐    ┌──────────┐
  │ Blank  │ ───▶ │ Read MEMORY  │ ──▶ │  Do tasks  │ ─▶ │  Write to  │ ─▶ │ Session  │
  │ slate  │      │ Read AGENTS  │     │  Answer Qs │    │  STATUS.md │    │  ends    │
  │        │      │ Read STATUS  │     │  Build     │    │  MEMORY.md │    │          │
  │ 🧠 = ∅ │      │ Read context │     │  Research  │    │  files     │    │ 🧠 = ∅    │
  └────────┘      └──────────────┘     └────────────┘    └────────────┘    └──────────┘
                                                                ▲
                                                                │
                                                    This is the critical step!
                                                    If we don't save, it's lost.
  

The Status File Pattern

Every project gets a STATUS.md file with this structure:

  # Project: V-PEG Pricing Calculator

  ## ✅ Completed
  - Built pricing model for 3-layer systems
  - Added margin calculations
  - Integrated with QuickBooks

  ## 🔄 Current
  - Working on multi-layer discount tiers

  ## ⏭️ Next
  - Add export to PDF
  - Customer-facing quote generator

  ## 🧩 Solved Problems
  | Problem                        | Solution                          |
  |--------------------------------|-----------------------------------|
  | Discount stacking was wrong    | Apply discounts sequentially      |
  | QuickBooks API timeout         | Added retry with exponential back |
  
The "Solved Problems" table is gold. Without it, agents will re-investigate the same issues across sessions, wasting hours rediscovering the same solutions.

memory_search

Agents can do semantic search across all their files. It's not perfect — it works best when files have clear labels, headers, and descriptive content. Think of it like searching your email: good subject lines make all the difference.

The Knowledge Library

A shared knowledge/ folder synced across all machines via scp from Valentina. Contains reference docs, procedures, templates — anything a new agent would need on day one. This means new agents don't start from absolute zero.

Why Context Accumulates

More files = smarter agent. Valentina has 22K+ characters of context about Kevin — his preferences, decision patterns, communication style. That's why she "gets" Kevin better than Alex or Sage. It's not magic — it's accumulated written knowledge, loaded at the start of every session.

How to Work With Us

Practical phrases and patterns that make everything work better.

Magic Phrases

"Save your progress"

Forces the agent to write a STATUS.md update before doing anything else. Use this before switching topics or ending a conversation.

Save your progress on the pricing calculator

"Check your status file"

Prevents the agent from redoing work. Makes them read what's already been done first.

Check your status file for the logo project before doing anything

"What's your status on X?"

Makes the agent read the relevant STATUS.md and give you a summary instead of guessing.

What's your status on the website redesign?

Project Workflow

Starting a new project

Tell the agent to create a STATUS.md right away. This gives the project a "home" for progress tracking.

Start a new project for the trade show prep. Create a STATUS.md.

Switching topics mid-conversation

Always save first, then switch. Otherwise the work on topic A evaporates.

Save your progress on the quote. Now let's talk about the website.

Sharing Claude.ai work

Don't share Claude.ai links — they render client-side and agents can't read them. Instead: paste the text directly, or put it in a Google Doc.

Cross-Agent Coordination

Need something that touches multiple agents? Tell Valentina. She can SSH into Alex and Sage's machines to check status, read files, or leave instructions.

SituationWho to Message
Email, scheduling, CRM, coordinationValentina (direct)
V-PEG drawings, code, technical buildsAlex (direct)
Social media, content, SEOSage (direct)
Anything involving 2+ agentsValentina (she coordinates)
Status check on another agentValentina (she SSHs and checks)

📸 The Screenshot Gun

A tool for rapid-fire screenshots while watching videos or browsing. Kevin triggers it, screenshots land in ~/Screenshots-Gun/, then agents analyze them.

CommandWhat it does
startBegin continuous capture
stopStop capturing
burstRapid burst of screenshots
snapSingle screenshot

Onboarding a New Agent

Step-by-step playbook for bringing a new team member online.

  1. Hardware — Get a Mac Mini M4 Pro. Connect to power and ethernet. Wi-Fi works but wired is more reliable for a headless machine.
  2. macOS Setup — Create a user account. Enable auto-login (System Settings → Users & Groups). Disable sleep (System Settings → Energy Saver → Never).
  3. Install OpenClaw — Install Homebrew, then Node.js, then the OpenClaw npm package. This is the runtime that makes the agent work. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" brew install node npm install -g openclaw
  4. Tailscale — Install Tailscale, join the network, note the IP. This is the VPN mesh that lets all machines see each other. brew install tailscale
  5. SSH — Enable Remote Login (System Settings → General → Sharing). Set up SSH keys so Valentina can reach the new agent. ssh-copy-id user@new-agent-ip
  6. Configure openclaw.json — Set the model (Sonnet for default, Opus for complex reasoning), API keys, and communication channels.
  7. Copy knowledge/ folder — Sync the shared knowledge library from Valentina's machine. scp -r valentina@100.87.49.18:~/.openclaw/workspace/knowledge/ ~/.openclaw/workspace/knowledge/
  8. Set up MEMORY.md — Write the essential facts: who Kevin is, what the team does, key preferences, communication style.
  9. Configure AGENTS.md — Include mandatory progress save rules. This is non-negotiable — it prevents the "redo work" problem.
  10. Set up HEARTBEAT.md — Define what the agent should check periodically: email, calendar, project status, etc.
  11. Configure iMessage channel — Set up the iMessage integration so Kevin can message the agent directly from his phone.
  12. Test everything — SSH connectivity from Valentina, agent responds to messages, memory files load correctly, heartbeats work.
  13. First conversation — Introduce yourself. Set expectations. Give context about current projects. This first session creates the foundation of the relationship.
    Tip: The more context you give in early sessions, the faster the agent becomes useful. Front-load the knowledge.

Lessons Learned

Things we discovered the hard way so you don't have to rediscover them.

🔄 Agents WILL redo work if progress isn't saved to files.
Alex fixed the same logo three separate times. Now every agent has mandatory progress save rules in AGENTS.md, and every project gets a STATUS.md.
💭 "Mental notes" don't survive sessions.
If an agent says "I'll remember that" — it won't. Everything must be written to a file. No exceptions.
📝 MEMORY.md should be curated wisdom, not a junk drawer.
Keep it focused on distilled insights and key facts. Daily details go in memory/*.md files. MEMORY.md is the executive summary.
🧩 Status files with "Solved Problems" tables prevent re-investigation.
Without them, agents spend hours rediscovering the same solutions to the same problems, session after session.
🔗 Claude.ai shared links don't work for agents.
They render client-side with JavaScript. Agents can't read them. Paste the text or use a Google Doc instead.
Always include trigger:["workflow"] in Zoho CRM tasks.
Without this flag, tasks are created silently and assignees never get notified.
🔑 API tokens expire — document the refresh procedures.
When a token dies at 2 AM and no one remembers how to refresh it, you'll wish you had written it down.
🌙 Quiet hours matter: 11 PM – 5 AM.
Don't spam Kevin at night. Heartbeats should check the clock before reaching out.
🎯 Clear role boundaries prevent duplicate work.
If two agents think they own the same task, both will do it. Define ownership explicitly.
📚 The knowledge/ library means new agents don't start from zero.
Shared reference docs, procedures, and templates give any new agent a running start.
💰 Cost management: Sonnet for 95% of work, Opus only for complex reasoning.
Opus is 5x more expensive. Use it via sub-agents only when you genuinely need the heavy reasoning. Target: $100-150/day across all agents.
💾 End sessions with "save progress" to force checkpoints.
If you don't say it, the agent won't do it, and the next session starts over.

The Network

How Everything Connects

                          ┌──────────────────┐
                          │   Kevin's iPhone  │
                          │    (iMessage)     │
                          └────────┬─────────┘
                                   │
                    ┌──────────────┼──────────────┐
                    │              │              │
                    ▼              ▼              ▼
             ┌───────────┐ ┌───────────┐ ┌───────────┐
             │ Valentina │ │   Alex    │ │   Sage    │
             │  .49.18   │ │  .25.123  │ │  .253.24  │
             │  64GB M4  │ │  24GB M4  │ │  Mac Mini │
             └─────┬─────┘ └───────────┘ └───────────┘
                   │              ▲              ▲
                   │    SSH ──────┘              │
                   │    SSH ────────────────────┘
                   │
                   ▼
  ┌─────────────────────────────────────────────────────┐
  │              Shared Services                         │
  │                                                     │
  │  📧 Gmail/Zoho    📊 Zoho CRM    📁 Google Drive   │
  │  💰 QuickBooks    📚 knowledge/ (scp sync)          │
  │                                                     │
  └─────────────────────────────────────────────────────┘

  ═══════════════════════════════════════════════════════
             All agents on Tailscale VPN mesh
  ═══════════════════════════════════════════════════════
  

📸 Screenshot Flow

  Kevin's Mac                        Agents
  ┌──────────────┐     scp/read     ┌────────────────┐
  │ Screenshot   │ ──────────────▶  │ Analyze images │
  │ Gun captures │                  │ Extract info   │
  │ ~/Screenshots│                  │ Summarize      │
  │  -Gun/       │                  │ Take action    │
  └──────────────┘                  └────────────────┘
  

Quick Reference

Agent IP Hardware Model Role Status
Valentina 100.87.49.18 M4 Pro 64GB Opus 4 Exec Ops / Coordinator ● Online
Alex 100.81.25.123 M4 Pro 24GB Opus 4 Technical Engineering ● Online
Sage 100.99.253.24 Mac Mini Sonnet 4 + Gemini 2.5 Marketing & Content ● Online

Communication Architecture

PathMethodNotes
Kevin → Any AgentiMessageDirect from iPhone
Valentina → AlexSSHFull access, can read/write files
Valentina → SageSSHCurrently unreachable
Agent → AgentVia ValentinaNo direct agent-to-agent chat
Knowledge syncscp from ValentinaManual sync to each machine
Shared servicesAPI / BrowserZoho, Gmail, Drive, QuickBooks

🎧 The Cortex Podcast

Audio episodes covering how we work. Listen anywhere — on your phone, in the car, on the plane to China.

Episode 1: How The Cortex Works

The team, how memory works, status files, why agents forget, and how to prevent repeat work.

Episode 2: The Vision

Phase 1-2-3 roadmap, playbook system, practical tips, onboarding new agents, and why the accumulated intelligence is the moat.

New episodes added as we learn. Every major milestone or lesson gets turned into audio so you can absorb it on the go.

📓 Daily Logs — The Team's Memory

Every day gets a log. Every morning starts with yesterday's review. This is how The Cortex maintains continuity across sessions and days.

Why Daily Logs Matter

Agents wake up blank every session. Without a structured daily log, yesterday's breakthroughs become today's mysteries. The daily log is the handoff between today-you and tomorrow-you.

The Rule: No agent starts new work until they've read yesterday's log and know where things left off.

End of Day — What Gets Logged

Every agent writes memory/YYYY-MM-DD.md with:

# Daily Log — 2026-02-25 (Wednesday)

## Summary
One paragraph: what happened today, big picture.

## Work Completed
- [x] Task 1 — what was done, outcome
- [x] Task 2 — what was done, outcome

## Decisions Made
- Decision: [what] — Reason: [why] — By: [Kevin/agent]

## Lessons Learned
- What we figured out (feeds into playbooks)

## Issues / Blockers
- What's stuck and why

## Tomorrow's Priority
- #1 thing to tackle first

## Kevin Interactions
- Key requests, feedback, corrections

Morning Review — The First Thing Every Day

StepActionWhy
1Read yesterday's logKnow where you left off
2Read relevant project STATUS filesKnow current state
3Pick up from "Tomorrow's Priority"Continue, don't restart
4Don't start new work yetContext first, action second

How Kevin Uses Daily Logs

  • "What did Alex do yesterday?" — Valentina pulls Alex's log via SSH
  • "Where are we on V-PEG?" — Agent reads log + status file, gives precise answer
  • While traveling: Read any agent's daily log to stay in the loop without a live conversation
  • Spot patterns: If the same issue shows up in multiple logs → needs a playbook

Log → Playbook Pipeline

Daily Log (raw notes)
    │
    ▼ Lesson spotted?
    │
    ├── YES → Write a playbook (knowledge/playbooks/)
    │         → Sync to all agents
    │         → Every agent knows it forever
    │
    └── NO  → Stays in the log as history
    
Weekly: Review logs → distill into MEMORY.md updates
Monthly: Review playbooks → refine and improve

📖 Playbook Library — Compounding Intelligence

Every lesson The Cortex learns becomes a playbook. Every playbook makes the whole team smarter. This is our institutional memory — and eventually, our product.

The Rule: Any time Kevin corrects something, an agent discovers a better way, or something fails — write the playbook FIRST, then sync to all agents.

Playbook Format

# Playbook: [Topic]
Created: [date]
Learned from: [what happened]
Category: operations | technical | communication | onboarding | security

## The Lesson
What we learned and why it matters.

## The Playbook
Step-by-step: what to do next time.

## Watch Out For
Common pitfalls or edge cases.

Current Playbook Library

PlaybookCategoryCreated
🧠 The Cortex VisionStrategy2025-02-25
📓 Daily Log SystemOperations2025-02-25
🚀 Agent OnboardingOnboarding2025-02-25
📧 Email HandlingOperations2025-02-25
💬 Customer CommunicationsCommunication2025-02-25

This library grows every day. Every lesson learned once is learned by everyone, forever.

How Playbooks Compound

Week 1:   5 playbooks   → Team stumbles occasionally
Month 1:  30 playbooks  → Most common situations covered
Month 3:  100 playbooks → New agent productive in hours
Month 6:  200 playbooks → Ready to deploy for other companies

The accumulated intelligence IS the moat.
Not the AI model. Not the hardware. The PLAYBOOKS.

The Cortex Long-Term Vision

  • Phase 1 — EOS Light: Prove the model. Marketing → Sales → Production → Fulfillment. Build playbooks for everything.
  • Phase 2 — Package: Take the playbook library + agent team and deploy for other companies.
  • Phase 3 — Scale: Every new client makes the system smarter. Onboarding gets faster. Playbooks compound across industries.
Kevin's Insight: "The more we all learn how to work with each other, the more efficient and faster we can be." — Every process at EOS isn't just making EOS better. It's building IP for the next engagement.

📋 Agent Logs

Live daily logs from each agent. Auto-updated every 2 hours.

Last updated: Apr 09, 2026 at 05:00 PM ET

🎯 Valentina 2026-04-09

Daily Log — April 9, 2026

Summary

Busy evening session with Kevin (6:43 PM – 9:45 PM). OpenClaw updates, Phoenix Hub fix, API pricing research, dashboard audits. Overnight quiet hours. Morning briefing sent manually after cron failure.

Work Completed

OpenClaw Update (All 3 Agents)

  • **Valentina**: 2026.3.2 → 2026.4.8 ✅ (doctor fix + gateway reinstall)
  • **Alex**: 2026.2.13 → 2026.4.8 ✅ (40 orphan transcripts archived, stale lock removed, gateway reinstalled)
  • **Sage**: 2026.3.13 → 2026.4.8 ✅ (config updated, gateway reinstalled, memory module error persists — needs OpenAI key)
  • Phoenix Training Hub — FIXED

  • **Problem**: phoenix.eoslight.com loaded but all SOP content was blank
  • **Root cause**: 34 unescaped backticks in SOP content inside JavaScript template literals. The backticks were interpreted as template literal closers, causing a syntax error that killed the entire script block (including `categories` definition)
  • **Fix**: Node.js script to parse all `sopContent` template literals and escape internal backticks
  • **Also found**: One `\` + backtick combo that needed special handling
  • **Result**: All 69 SOPs now render correctly, password gate works, redeployed to Cloudflare Pages
  • **Note to self**: When generating HTML with embedded JS template literals, ALWAYS escape backticks in content
  • Dashboard Audit (for Krystal onboarding)

  • Checked all 14 URLs from Dashboards & Passwords Google Sheet (1V3V8-H5ltDlGz4I6Zo2_KUGpXFYThC0jbmq0HjQsndw)
  • All returned HTTP 200 and content verified via web_fetch
  • Phoenix was the only broken one (now fixed)
  • **New employee: Krystal** — Kevin is onboarding her, showing her Phoenix Hub
  • API Pricing Research

  • Kevin asked about Anthropic pricing changes and whether to switch LLMs
  • Researched current pricing across Anthropic, OpenAI, Google
  • **Key finding**: Opus 4.6 is actually cheaper than old Opus ($5/$25 vs $15/$75) — price DROPPED
  • With 99% cache hit rate, effective input cost is $0.50/MTok — cheaper than competitors' base rates
  • Sent comparison table: Opus vs Sonnet vs GPT-5.4 vs Gemini 3.1 Pro
  • Kevin hasn't responded yet on whether to keep Opus or explore alternatives
  • Coverings/LightSlab Cron Jobs — DISABLED

  • Kevin requested all Coverings-related searches stopped
  • Disabled: lightslab-auto-reply (d25893ef) and lightslab-email-reminder (427ca648)
  • Message Echo Issue

  • Kevin's outbound iMessage messages are echoing back as incoming messages from his number
  • Likely a WhatsApp/iMessage routing config issue after the gateway update
  • Workaround: Respond with NO_REPLY to echoed messages
  • This consumed significant context during the session — need to investigate root cause
  • Cron Issues (Overnight)

  • **Morning Briefing**: Failed — Opus timed out, haiku-4 model doesn't exist, OpenAI key invalid. Sent manually at 6:01 AM.
  • **Cron Watchdog**: 3+ consecutive timeouts overnight (Opus too heavy for 120s budget)
  • **Zoho CRM Backup**: Timed out again at 2 AM (Notes module)
  • **Afternoon Team Briefing**: Chronic 50% timeout rate
  • Decisions Made

  • Disabled Coverings cron jobs per Kevin's request
  • Sent morning briefing manually when cron failed
  • Did NOT alert Kevin about overnight cron issues (quiet hours + below threshold)
  • Lessons Learned

    1. **Template literal backticks**: When embedding user content in JS template literals, always escape backticks. This bug existed since February and nobody noticed because the page "loaded" but was blank. 2. **Message echo problem**: After OpenClaw update + gateway restart, outbound messages started echoing back. Need to investigate the routing config — possibly related to WhatsApp gateway reconnection. 3. **Cron fallback models**: haiku-4 model reference is invalid, OpenAI API key is expired. Need to fix both for reliable cron fallbacks.

    Tomorrow's Priority

  • Investigate and fix message echo issue
  • Fix cron fallback model config (remove haiku-4, update OpenAI key or remove)
  • Follow up with Kevin on API pricing decision
  • Check on Krystal's onboarding progress
  • Continue Zoho CRM backup timeout fix (split Notes module)
  • Kevin Interactions

  • Active 6:43 PM – 9:45 PM ET
  • Requested: OpenClaw updates, dashboard audit, Phoenix fix, API pricing research, stop Coverings searches
  • Mood: Productive, task-focused, onboarding new employee Krystal
  • Daily Log — April 9, 2026

    Summary

    Busy evening session with Kevin (6:43 PM – 9:45 PM). OpenClaw updates, Phoenix Hub fix, API pricing research, dashboard audits. Overnight quiet hours. Morning briefing sent manually after cron failure.

    Work Completed

    OpenClaw Update (All 3 Agents)

  • **Valentina**: 2026.3.2 → 2026.4.8 ✅ (doctor fix + gateway reinstall)
  • **Alex**: 2026.2.13 → 2026.4.8 ✅ (40 orphan transcripts archived, stale lock removed, gateway reinstalled)
  • **Sage**: 2026.3.13 → 2026.4.8 ✅ (config updated, gateway reinstalled, memory module error persists — needs OpenAI key)
  • Phoenix Training Hub — FIXED

  • **Problem**: phoenix.eoslight.com loaded but all SOP content was blank
  • **Root cause**: 34 unescaped backticks in SOP content inside JavaScript template literals. The backticks were interpreted as template literal closers, causing a syntax error that killed the entire script block (including `categories` definition)
  • **Fix**: Node.js script to parse all `sopContent` template literals and escape internal backticks
  • **Also found**: One `\` + backtick combo that needed special handling
  • **Result**: All 69 SOPs now render correctly, password gate works, redeployed to Cloudflare Pages
  • **Note to self**: When generating HTML with embedded JS template literals, ALWAYS escape backticks in content
  • Dashboard Audit (for Krystal onboarding)

  • Checked all 14 URLs from Dashboards & Passwords Google Sheet (1V3V8-H5ltDlGz4I6Zo2_KUGpXFYThC0jbmq0HjQsndw)
  • All returned HTTP 200 and content verified via web_fetch
  • Phoenix was the only broken one (now fixed)
  • **New employee: Krystal** — Kevin is onboarding her, showing her Phoenix Hub
  • API Pricing Research

  • Kevin asked about Anthropic pricing changes and whether to switch LLMs
  • Researched current pricing across Anthropic, OpenAI, Google
  • **Key finding**: Opus 4.6 is actually cheaper than old Opus ($5/$25 vs $15/$75) — price DROPPED
  • With 99% cache hit rate, effective input cost is $0.50/MTok — cheaper than competitors' base rates
  • Sent comparison table: Opus vs Sonnet vs GPT-5.4 vs Gemini 3.1 Pro
  • Kevin hasn't responded yet on whether to keep Opus or explore alternatives
  • Coverings/LightSlab Cron Jobs — DISABLED

  • Kevin requested all Coverings-related searches stopped
  • Disabled: lightslab-auto-reply (d25893ef) and lightslab-email-reminder (427ca648)
  • Message Echo Issue — CRITICAL

  • Kevin's outbound iMessage messages are echoing back as incoming messages from his number
  • Started after OpenClaw 2026.4.8 update + gateway restart
  • Affects both iMessage and WhatsApp surfaces
  • Workaround: Respond with NO_REPLY to echoed messages
  • This consumed MASSIVE context during the session — dozens of echoed messages
  • **Must investigate root cause** — possibly WhatsApp gateway routing config, or iMessage bridge treating sent messages as received
  • Cron Issues (Overnight + Morning)

  • **Morning Briefing**: Failed TWICE — Opus timed out, haiku-4 model doesn't exist, OpenAI key invalid. Sent manually at 6:01 AM.
  • **Cron Watchdog**: 3+ consecutive timeouts overnight (Opus too heavy for 120s budget)
  • **Zoho CRM Backup**: Timed out again at 2 AM (Notes module, 2 consecutive errors)
  • **Afternoon Team Briefing**: Chronic 50% timeout rate
  • **Fallback model config broken**: haiku-4-20250514 doesn't exist, OpenAI API key expired
  • Decisions Made

  • Disabled Coverings cron jobs per Kevin's request
  • Sent morning briefing manually when cron failed
  • Did NOT alert Kevin about overnight cron issues (quiet hours + below threshold)
  • Lessons Learned

    1. **Template literal backticks**: When embedding user content in JS template literals, always escape backticks. This bug existed since February and nobody noticed because the page "loaded" but was blank. 2. **Message echo problem**: After OpenClaw update + gateway restart, outbound messages started echoing back. Need to investigate the routing config — possibly related to WhatsApp gateway reconnection or iMessage bridge config. 3. **Cron fallback models**: haiku-4-20250514 model reference is invalid, OpenAI API key is expired. Need to fix both for reliable cron fallbacks. 4. **Context burn from echoes**: The echo issue caused massive context waste — dozens of NO_REPLY turns. High priority to fix.

    Today's Priority

  • **P0**: Investigate and fix message echo issue (context burn is expensive)
  • **P1**: Fix cron fallback model config (remove haiku-4, update or remove OpenAI key)
  • **P2**: Follow up with Kevin on API pricing decision
  • **P3**: Krystal onboarding support
  • **P4**: Zoho CRM backup timeout fix (split Notes module)
  • **P4**: Increase Afternoon Team Briefing timeout
  • **P4**: Increase Cron Watchdog timeout or switch to lighter model
  • Kevin Interactions

  • Active 6:43 PM – 9:45 PM ET (Apr 8)
  • Requested: OpenClaw updates, dashboard audit, Phoenix fix, API pricing research, stop Coverings searches
  • Mood: Productive, task-focused, onboarding new employee Krystal
  • Not yet active this morning (Apr 9)
  • ⚙️ Alex 2026-04-09

    No log written yet today

    📣 Sage 2026-04-09

    No log written yet today