# 2026-02-21 - Daily Log

## 06:00 Memory Review (cron)
Reviewed Feb 18, 19, and 20 daily logs. Key updates consolidated into MEMORY.md:

### What changed since last review
- Tradeify: major domain restructure (tradeify.ie -> holding page, NEXT app -> tradeify-app.pages.dev)
- Tradeify: waitlist form now saves to Supabase (table created). First signup: robert.doran@gmail.com (test)
- Tradeify: Stripe live keys stored. STRIPE_ENABLED still false.
- Tradeify: Background colour changed from #0D0D0D to #0f172a (navy)
- Tradeify: 4,202 programmatic SEO pages live (22 trades x 191 Irish towns)
- Tradeify: Mobile nav overlap fixed globally (all CTAs now bottom-16/4rem)
- Tradeify: Messaging broken (schema mismatch - conversations.customer_email vs customer_id, messages.booking_id vs conversation_id)
- Tradeify: Pre-launch item - revert TJA Plumbing listing (Rob's test data on trade@test.tradeify.ie)
- Cair Merchant Center: Second review rejected Feb 19 ("website needs improvement"). Next review Feb 26.
- Cair: Rob renamed all products to include "Ergonomic Office Chair". Open fixes remaining (4 items).
- Cair: Reminder set for Feb 25 9am
- HubSpot: 19 prospects loaded. Rob sending Ignite90 emails himself (likely Tuesday)
- BD Dashboard: now 305 total prospects
- Advisory Council cron: moved to Tue+Fri 8:01am
- Alan's Task Dashboard: deployed at alan-dashboard.pages.dev
- Mission Control: Skills tab added (51 skills grouped by category)
- Email delivery: Rob not receiving from max@tilt.ie -- files being sent via Telegram as backup
- Humaniser skill: updated with "Personality and Soul" section + synonym cycling + false ranges detection
- TTS voice: adjusted (stability 0.25, similarity 0.85, style 0.5)
- Blader humanizer: two new patterns merged into our skill

### Open Bugs (Tradeify - as of Feb 20 end)
1. Messaging broken: schema mismatch (SQL fix ready but Supabase dashboard was flaky)
2. Quote request needs to match Post Job flow (photos + detailed description)
3. "Claim it" link overlaps content (should be inside CTA bar)
4. Logo upload "saved locally" message (needs verify after column fix)

### Pending for today (Saturday Feb 21)
- Tradeify: Fix messaging schema (conversations + messages tables)
- Tradeify: Merge quote request with post job flow
- Tradeify: Rerun Golden Pages scraper (timed out Feb 20)
- Cair: Audit correct account (8498379366) -- STILL PENDING from Feb 19
- Check if email delivery issue can be diagnosed (max@tilt.ie -> robert.doran@tilt.ie going to spam?)

## Illumination Lighting Google Ads Analysis (Feb 21)
- Online sales dropped: €1k on Feb 15 (Saturday), then only €1k total from Feb 16-21
- Root cause: New Brand Search campaign launched Feb 17 at €35 CPA
- Brand Search spent €85, zero conversions, cannibalising PMax brand traffic
- PMax ROAS dropped from 2.68x (Feb 9-15) to 1.84x (Feb 16-21)
- PMax conversions dropped from 15 to 6.5 in same period
- Smart campaign (Donabate 20km) is for footfall only -- phone calls/local actions, not online sales
- Search campaign bid adjustments were at +310% desktop / -90% tablets (from Feb 19 review), Rob reverted to +140% / -30% today
- Rob changed Brand Search CPA from €35 to €15, keeping it running to learn
- Remarketing campaign essentially dead (1 click, €0 cost)
- Account-wide ROAS: 2.63x before → 1.51x after
- Friday Feb 27 reminder set to review performance

## Saturday Self-Improvement Scan (09:00)

### KEY FINDING: Anthropic OAuth ban is now official TOS
- Anthropic published Legal and Compliance page Feb 19 explicitly banning subscription OAuth tokens in any third-party tool, including their own Agent SDK
- Technical block went in January 9 (silently). Policy formalised this week.
- Our config uses auth.profiles["anthropic:maxtoken"] with mode "token" = subscription OAuth = the banned method
- Anthropic confirmed no account cancellations, but TOS is now unambiguous
- The Register, OpenClaw.rocks, piunikaweb all covered this this week
- Sent Rob full breakdown + options via Telegram. Awaiting his decision.

### Options presented to Rob:
1. Get Anthropic API key (compliant) - pay per token (~$50-150/mo estimated)
2. Shift primary to Gemini 2.5 Pro, Claude API as fallback only
3. Hybrid: Gemini Flash for routine tasks, Claude Opus API for complex reasoning
4. Add OpenRouter as backup provider hedge

### Other findings:
- Whisper model in config says "base" but TOOLS.md documents we switched to "tiny" on Feb 7. Config bug. Awaiting Rob's go-ahead to fix.
- OpenClaw v2026.2.15 installed. References online to v2026.2.17 and v2026.2.19. May be newer versions available.
- GitHub Agentic Workflows in technical preview (repo automation) - worth watching for Tradeify
- OpenRouter = good insurance play regardless of Anthropic decision

### Awaiting from Rob:
- OAuth/provider strategy decision
- Whisper fix approval
- OpenClaw update approval
- OpenRouter account decision

## Mission Control Skills Tab Upgrade
- Rebuilt Skills tab: clickable cards with full SKILL.md content in detail modal
- Added edit mode per sub-agent role (add/remove skills, localStorage persistence)
- Added "Add Skill" button to Max Shaw header + "Add New Role" card
- skills-content.json deployed (102 skills, full SKILL.md content loaded on demand)
- Deployed to tilt-mission-control.pages.dev

## Illumination Lighting Google Ads Deep Dive (morning session with Rob)
- **Root cause found:** New Brand Search campaign launched Feb 17 at €35 CPA, zero conversions, cannibalised PMax brand traffic
- **Second factor:** Two PMax campaigns running simultaneously (second one paused Feb 20) also competing
- **PMax ROAS dropped:** 2.68x (Feb 9-15) → 1.84x (Feb 16-21), CPA from €98 → €114
- **Search ROAS dropped:** 7.56x → 1.66x (but previous period was just 1 conversion, so unreliable)
- **Smart campaign (Donabate 20km):** Footfall only (phone calls/directions), NOT online sales. Leave running. 488 all-time conversions.
- **Changes made today by Rob:**
  - Brand Search: paused
  - PMax target ROAS: 323% → 290%
  - PMax daily budget: €200 → €600 (Google recommendation + added video)
  - Search target ROAS: 350% → 250%
  - Search daily budget: €850 → €150
  - Search device bids: reverted to +140% desktop, -30% mobile (were at +310%/-90%)
  - Search networks: still on Search + Display (flagged Display as junk traffic)
  - URL exclusion rules added: /blog, /contact, /gift
- **Account has 13 campaigns total**, only 3 active (PMax, Search, Smart)
- **Friday Feb 27 reminder set** to review performance
- **Key insight:** 8-10pm is peak sales time (couch shopping, people notice lighting at night)
- **Account ID confirmed:** Illumination Lighting, managed by Tilt

## OpenRouter Discussion
- Rob heard about OpenRouter on a podcast, wants to keep an eye on it
- Aligns with my morning scan recommendation as Anthropic OAuth hedge
- Rob aware of Anthropic ToS issue, considering options
- OpenRouter: free account at openrouter.ai, pay per token, 290+ models, 2-min config

## Local Business Automation Approach
- Rob shared a playbook for selling AI automation to local businesses (north county Dublin)
- Approach: call 10-15 local businesses, ask "what's the most annoying part of your day?", build n8n automations for €250-€5,000
- Reminder set for Feb 28 to revisit
