# 2026-03-03

## Weekly Advisory Council Briefing (08:03)
Ran the full advisory council with 3 sub-agents (Revenue Analyst, Growth Strategist, Operations Critic).

Critical issues identified:
1. Tradeify has zero revenue capability -- Stripe disabled, SendGrid not set up, DNS not cut over. Proposed hard go-live Mar 12.
2. Illumination Lighting ROAS at 8-month low (2.13x). Remarketing burning ~6k/month on 1 click. Recommend pause.
3. Anthropic OAuth compliance risk open 12+ days with no decision. Risk of total shutdown.
4. 30k/month revenue gap with 3 prospect lists idle (Apollo 163, Dublin no-website 464, Ignite90 19).

Top 3 priorities: unblock Tradeify launch, start Dublin no-website outreach, send first 5 Ignite90 emails.
Quick wins: pause Illumination remarketing, pitch Mahony Group AI Sales Dev, audit Cair correct account, fix Tradeify message bugs.

Delivery: sent to Rob via Telegram.

## OpenRouter Test
- Confirmed working: spawned sub-agent on openrouter/anthropic/claude-sonnet-4, got response
- Rob's rule: OpenRouter credits (€30) for emergencies ONLY. Notify Rob via Telegram AND email before using.

## Claude Code Security Review - Tradeify
- Ran `/security-review` (failed due to no git remote), then `claude -p` with security prompt
- Claude Code v2.1.27, running Opus 4.5 via Rob's Claude Max
- Found 14 issues, all 12 actionable ones fixed and deployed:
  - CRITICAL: Hardcoded Supabase key in generate-sitemaps.py (now env var), unauthenticated payment endpoints (auth added), empty RLS policies on 5 tables, CORS wildcard (locked to tradeify domains)
  - HIGH: SQL injection in Search.tsx/supabase.ts (sanitised), XSS in main.tsx (textContent), permissions default to empty, crypto-secure verification codes
  - MEDIUM: PostJob form state, ErrorBoundary added, memory leaks patched

## Tradeify Bugs Fixed Tonight
- SPA routing: Added _redirects file for Cloudflare Pages
- Messages tab: Removed PermissionGate (was redirecting to /dashboard)
- View Plans button: Changed from /register to /pricing
- Pricing page: Synced with Upgrade page. Tiers: Free / Pro €39/mo / Enterprise €149/mo. NO Premium, NO Trial, NO Enterprise Plus.
- Branded profile page: Available on ALL tiers (moved from Enterprise-only)
- "Premium" references fixed to "Pro" in aiClient.ts and Account.tsx
- Messages: Added other-party display (shows customer when logged in as tradesperson, and vice versa)
- PermissionGate race condition: Fixed auth loading state - now waits for auth before checking permissions (was causing CRM and other gated pages to 404 on first load)
- last_message_sender_id: Added to conversations for "You:" prefix in message previews

## Still To Fix (overnight)
- MessageThread page: Header shows own name instead of other party, messages not aligned correctly (sent = right, received = left)
- Full QA audit of all pages still needed (Claude Code audit timed out)

## KiroTech / LEO Fingal
- Rob emailed LEO Fingal enquiring about startup supports/grants for Tradeify
- KiroTech = Rob + Kieran's company for ventures (separate from Tilt), registered in Fingal
- AI matching claimed in email - MUST BUILD before any demo (embed job descriptions against tradesperson profiles)
- Already noted in MEMORY.md

## Gemma 3 Models
- Rob interested in 4B and 9B models for local use
- 9B could handle sub-agent grunt work (research, formatting, classification)
- Rob's Mac is Intel though - will be slow. Mac Mini M4 would make it viable.
- Rob plans to install 9B tomorrow in office

## OpenClaw Updated
- v2026.3.1 -> v2026.3.2-beta.1
- New: PDF tool, Telegram streaming (partial mode default), session attachments, secrets management

## Rob's Feedback
- Frustrated that things changed since original build - tiers wrong, pages broken
- QA process needs enforcing: test EVERYTHING before saying "done"
- Lesson: Always run deployed site through full click-through audit before telling Rob it's ready

## Advisory Council Review (08:01 cron)

3 sub-agents ran in parallel (Revenue Analyst, Growth Strategist, Operations Critic).

### Critical findings consensus:
- Tradeify STRIPE_ENABLED=false — platform ready to launch, zero revenue capability, 7 Rob-gated blockers
- Illumination Lighting ROAS at 2.13x (8-month worst), dead remarketing burning €6k/mo with 1 click in 30 days
- Anthropic OAuth ban (Feb 19) still unresolved after 12 days — existential risk to operations
- €30k/month Tilt billings gap with 3 warm prospect lists (163 Apollo HOT, 464 Dublin no-website, 19 Ignite90) sitting idle

### Key actions identified:
- Send Rob single Tradeify launch checklist (7 items) today via Telegram
- Pause Illumination remarketing immediately (saves ~€6k/month)
- Start Dublin no-website phone outreach this week (201 have numbers, sites are live)
- Deliver MN Lead Intelligence report to Alan by Mar 6 deadline
- Cair Merchant Center audit still pending 13 days (correct account 8498379366)
- Anthropic OAuth decision needed before Rob returns

Briefing delivered to Rob via Telegram.

## Afternoon Session (Mar 3 2026)

### Tilt WordPress Case Study Work
- Accessed page 1514 (Love Irish Food OOH) via new app password: `[REDACTED]`
- Got full raw Flatsome shortcode content - page already exists and is published at tilt.ie/love-irish-food-shot-through-the-heart/
- Max's WP role has create/edit permissions issue (role returned empty) - can read pages but not create
- Paragraph written for Love Irish Food case study to match Illumination Lighting format
- Burns Pet Food social caption combined: "Developed by veterinary surgeon and founder John Burns, our products are built on a handful of simple, wholesome ingredients - everything your pet needs for complete holistic health, with no hidden extras."

### Golden Irish Eggs Notion Calendar
- Content calendar (20 posts) found at page ID 316a3e7a-7132-819f-8837-cd9cc9f584cc
- Underlying database: ID 316a3e7a-7132-810a-a17e-ca3e6a217ba6 (April 2026 Posts)
- Copied all 20 posts to new separate page: https://www.notion.so/Golden-Irish-Eggs-318a3e7a713280989cdce4af24080197
- New DB ID: 318a3e7a-7132-81ea-8933-e5d422ea5f74
- Rob wanted calendar view - Notion API cannot create views, must be done in app
- Rob wanted content separate so it doesn't expose full workspace to clients

### Canva OAuth Setup (major session)
- Client ID: OC-AZyzvHCpLI1P
- Secret saved to .env.canva (second key: cnvcaDY94vefRPKs1CoDgZYtqEGPNSBEn-jMAVDW5d3RdBH0c7b1fdd3)
- Had to create a CONNECT API INTEGRATION (not an App) at canva.com/developers/integrations
- Redirect URI must be http://127.0.0.1:3456/callback (localhost not allowed)
- Correct scope names: brandtemplate:content:read brandtemplate:meta:read (NOT brand_template)
- OAuth completed via local server on port 3456 - tokens saved to .env.canva-tokens
- Access/refresh tokens working, expire in 4 hours (refresh token persists)

### Canva API Capabilities (confirmed)
- CAN: list brand templates, list folder contents, export designs as PNG, create blank canvases, add designs to folders
- CANNOT: add text/images to designs, use stock library, autofill templates without dataset fields set up
- Golden Irish Eggs brand templates found: EAGrPDkzOvc (Instagram Post), EAGrPOqLrhY (Reel)
- Folder contents: WIN Pancake Maker, Reels subfolder, Educational subfolder (GIE Seasoning, Choline, Eyes, free range, fried egg), YouTube Recipes subfolder
- Exported GIE Breakfast design (DAGoFXmykbY) as PNG - brand style: dark teal green (#174636), golden amber text, bold serif, overhead food photography
- Created blank design "Spring on the Farm - April 1" (DAHC5iHOsHA) in GIE folder, added Canva link to Notion

### Triple Whale API
- API key: dc4ad920-f4ee-44dc-8f97-bb747d549d75 (saved to .env.triple-whale)
- Account: robert.doran@marketingnetwork.ie
- WhoAmI works but summary-page returns 403 - need to regenerate key with correct scopes (Summary Page enabled)
- Illumination Lighting Meta ads data also in Triple Whale - useful for cross-channel view

### OpenClaw Updated
- v2026.3.2-beta.1 -> v2026.3.2 stable (Rob shared release link)
- Rob ran `npm update -g openclaw` and it updated successfully

### MN Lead Intelligence Dashboard - Major Filter Update
- Problem: nearly all "company" visits were telecoms/ISPs/hosting providers, not actual businesses
- Added comprehensive RESIDENTIAL_ISPS filter including: all major international telecoms (Orange, Hutchison, Reliance Jio, Bharti Airtel, T-Mobile, Vodafone etc), cloud providers (AWS, Google Cloud, Azure, Equinix), VPNs, CDNs
- KEY MISTAKE: was deploying to mn-visitor-tracker worker, but dashboard calls mn-tracker worker - different workers!
- Fixed: now deploying to correct mn-tracker worker
- Result: companies list reduced from 75 to 6 genuine business visitors
- Remaining 6: Code200, ZURICH LDC public, Logitech, ATU, Mediahuis Technology & Product Studio NV, DXC Technology
- Pages viewed made clickable - now shows full URLs (fixed after discovering worker was storing paths not full URLs)
- Cloudflare Workers daily limit hit (100k requests) - dashboard down until midnight UTC reset
- Rob decided to wait for reset rather than upgrade to paid plan

### Cloudflare Workers Limit
- Hit 100k/day free tier limit from all the testing/deploys today
- Resets midnight UTC (~20:30 IST)
- Wait until tomorrow to verify dashboard working

### Model Switch
- Rob instructed switch to Sonnet for next 24h due to being at 65% allocation
- Switched: session_status model override set to anthropic/claude-sonnet-4-6

### Dublin Local Businesses Data
- 300 businesses in /clients/tilt/dublin-prospects/data/all-businesses.json
- Fields: name, rating, reviews, category, address, sector, phone, website, hasWebsite
- NO email addresses - scraped from Google Maps which doesn't include emails
- Enrichment options: scrape their websites, use Apollo lookup, manual research

## Evening Session (Mar 3 2026)

### Tilt Google Ads Budget Change - BLOCKED
- Attempted to increase "tilt dublin agencies" campaign budget from €10/day to €60/day
- Account: 116-804-4715 (max@tilt.ie)
- Google's "Confirm it's you" identity verification dialog blocks every save attempt
- The dialog has no way to complete from browser automation - requires Rob to log in and confirm directly
- Campaign still sitting at €10/day - Rob needs to do this manually
- Note: "You won't be able to skip this step after Mar 16, 2026" - ties into the advertiser verification warning
- Rob needs to: (1) log into ads.google.com, (2) complete identity verification, (3) then change budget to €60/day
- Advertiser verification completion should clear this blocker permanently

## Evening Session - SEO Machine & Tilt Keyword Analysis (22:14-22:49)

### SEO Machine (github.com/TheCraigHewitt/seomachine)
- Rob shared this Claude Code workspace for end-to-end SEO content production
- Features: /research, /write, /optimize, /publish-draft commands; 26 marketing skills; GA4/Search Console/DataForSEO integrations; WordPress REST API publishing with Yoast metadata
- Verdict: solid tool, relevant for Tilt's 91 keywords at position 31
- Rob asked how it would work for Tilt -- explained the setup + workflow
- Next: Rob said "let's analyse the 5 pages" -- did live audit

### Tilt WordPress Draft Pages Audit
- Pulled all 5 draft pages via WP REST API (credentials: Max@tilt.ie, `.env.tilt-wordpress`)
- ID 1142 (TikTok Shop blog) -- no longer exists (invalid post ID)
- **Findings:**
  - ID 1138 (Digital Marketing Agency Dublin): 249 words -- too thin, needs 6x expansion
  - ID 1139 (Social Media Marketing Agency Dublin): 468 words -- best structured, has H2/H3s, still needs doubling
  - ID 1140 (Social Media Agency Dublin): 226 words, WRONG SLUG (`-2` suffix), near-duplicate of 1141
  - ID 1141 (Social Media Agency Dublin): 243 words, correct slug `/social-media-agency-dublin/`
  - IDs 1140 & 1141 are keyword cannibals -- same target keyword, two pages. ID 1140 must be deleted.
  - No Yoast SEO meta set on any page

### Tilt Keyword CSV Analysis (91 keywords, all position 31)
- Rob uploaded full Semrush keyword export (Feb 3 - Mar 3, 2026)
- All 91 keywords unchanged at position 31 -- page 4, zero traffic
- **6 keyword clusters identified:**

| Cluster | Monthly vol | Page needed |
|---|---|---|
| Web Development Ireland | 2,700 | New page required |
| Social Media Agency | 2,530 | Draft ID 1139 (expand) |
| SEO Agency Ireland | 2,000 | New page required |
| Digital Marketing Agency | 1,370 | Draft ID 1138 (expand) |
| Marketing Agency Dublin | 1,040 | New page required |
| AI Agency Dublin/Ireland | 0 (new) | Draft ID 1510 (publish) |

- **Total combined volume: ~9,640/month, all invisible**
- **Root cause: no dedicated pages per cluster -- Google has nowhere to send traffic**
- **Action plan agreed:** Build 3 new pages, expand 2 drafts, publish AI Agency page = 6 pages total
- **Timeframe: if half rank page 1, meaningful traffic within 3-4 months**
- Rob not confirmed yet whether to use SEO Machine or do manually -- left open

### Illumination Lighting Budget Attempt (earlier evening)
- Tried to increase PMax budget from €350 to €400 -- Google "Confirm it's you" verification blocked save
- Same systemic issue as Tilt Google Ads account
- Advised Rob to complete identity verification manually at ads.google.com before Mar 16 deadline
- Budget remains at €350/day until Rob does this himself

