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.
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.
Situation
Who to Message
Email, scheduling, CRM, coordination
Valentina (direct)
V-PEG drawings, code, technical builds
Alex (direct)
Social media, content, SEO
Sage (direct)
Anything involving 2+ agents
Valentina (she coordinates)
Status check on another agent
Valentina (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.
Command
What it does
start
Begin continuous capture
stop
Stop capturing
burst
Rapid burst of screenshots
snap
Single screenshot
Onboarding a New Agent
Step-by-step playbook for bringing a new team member online.
Hardware — Get a Mac Mini M4 Pro. Connect to power and ethernet. Wi-Fi works but wired is more reliable for a headless machine.
macOS Setup — Create a user account. Enable auto-login (System Settings → Users & Groups). Disable sleep (System Settings → Energy Saver → Never).
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 nodenpm install -g openclaw
Tailscale — Install Tailscale, join the network, note the IP. This is the VPN mesh that lets all machines see each other.
brew install tailscale
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
Configure openclaw.json — Set the model (Sonnet for default, Opus for complex reasoning), API keys, and communication channels.
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/
Set up MEMORY.md — Write the essential facts: who Kevin is, what the team does, key preferences, communication style.
Configure AGENTS.md — Include mandatory progress save rules. This is non-negotiable — it prevents the "redo work" problem.
Set up HEARTBEAT.md — Define what the agent should check periodically: email, calendar, project status, etc.
Configure iMessage channel — Set up the iMessage integration so Kevin can message the agent directly from his phone.
Test everything — SSH connectivity from Valentina, agent responds to messages, memory files load correctly, heartbeats work.
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.
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
Step
Action
Why
1
Read yesterday's log
Know where you left off
2
Read relevant project STATUS files
Know current state
3
Pick up from "Tomorrow's Priority"
Continue, don't restart
4
Don't start new work yet
Context 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
Playbook
Category
Created
🧠 The Cortex Vision
Strategy
2025-02-25
📓 Daily Log System
Operations
2025-02-25
🚀 Agent Onboarding
Onboarding
2025-02-25
📧 Email Handling
Operations
2025-02-25
💬 Customer Communications
Communication
2025-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: Mar 02, 2026 at 01:00 PM ET
🎯 Valentina 2026-03-02
Daily Log — March 2, 2026
Summary
Worked on Nashville Titans Stadium PEG quote clone task. Got blocked by PEG complexity, Kevin redirected to learn from Loom videos and ask Edwin for help.
Work Completed
**Zoho password reset**: Changed valentina@eoslight.com Zoho password from temp `1PTzN$MK` → `Topsail2026!` (Zoho rejected `Topsail1` as insecure)
**Zoho CRM browser login**: Successfully logged into Zoho CRM as Valentina (org32804032)
**Found E28159 in Zoho**: Nashville Titans Stadium - TN - 121825 - EQ updated, Zoho ID `1041753000220483529`
**Opened PEG-aRoo V4 via Zoho**: Estimate → dropdown → PEG-aRoo V4 (opens new tab to live.pegaroo.net)
**PEG panel discovery**: E28159 only has 1 panel in PEG. Found full 20-panel set under **E27984** (`1041753000215298001`) — all `LP-24V` with `RGB+W 4000` color temp
**39 total estimates** found for Potential 28443 (Titans project has long history)
**Emailed Edwin** (cc Kevin) asking for help with PEG clone process — message ID `19cae2e333fc9b89`
**Heartbeat**: Alex and Sage SSH connections refused (ongoing pattern, not new outage)
**Weekly Analytics cron** ran successfully at 6AM
Key Findings — PEG Structure for Titans
E28159 group (id=9153) has **0 products**, only 1 panel: `qty:3 LP-24V-115.5417x4-2SL-RGB+W 4000-SP-DIF-SC-BR-BC-DMX-28443`
E27984 group has **20 panels** — this is the full AF30 panel set
All panels are `RGB+W 4000` — need to change to `RGBW 3000K`
PEG "Copy to Estimate" action exists in the dropdown on the Panels tab
Clone approach may not work per Kevin — need Edwin's guidance
Decisions Made
Kevin said to stop trying to figure out PEG clone on my own
Watch Loom videos to learn the workflow
Ask Edwin for help and wait for his response
Don't discuss AI capabilities with Edwin — only quoting mechanics
Lessons Learned
**PEG access must go through Zoho CRM** → Estimate → dropdown → PEG-aRoo V4 (not direct URL)
**Valentina's Zoho org path is `org32804032`**, not the API org ID `org1041753000000029005`
**PEG panels may span multiple estimate IDs** — a "revised" estimate (E28159) may only have delta panels while originals live in earlier estimates (E27984)
**PEG search box searches by Zoho estimate ID** (the long number), not estimate number (E28159) or potential number (28443)
**Zoho rejected simple passwords** — needed mixed case + numbers + special char
Issues/Blockers
Waiting on Edwin to respond about PEG clone workflow
Alex and Sage SSH still not working (key issue, not outage)
Tomorrow's Priority
1. Check for Edwin's response
2. Continue studying PEG architecture from Loom transcripts
3. If Edwin responds, proceed with Titans RGBW 3000K quote clone
运营费用 = operating expense, 资本支出 = capital expenditure
远程校准 = remote calibration, 备用模组 = spare modules
Cosmos Drive Organization (7:30 AM)
Created **Cosmos Visual** folder on Drive: `1lM8Gqxfckxpwv41GU6NstPBFXdw1W5dK`
- **English/**: Business Plan (docx) + OpEx Business Model (xlsx)
- **Mandarin/**: Business Plan CN (docx) + OpEx业务模型 (xlsx)
- **Source Documents/**: Edgelight Pricing Analysis (EN + CN), OpEx working notes
All files organized and moved from Drive root
Mandarin XLS created with all 5 tabs translated, numbers identical
Cosmos Visual Deliverables (7:00-8:00 AM)
Built Cosmos OpEx Business Model XLS (5 tabs: Unit Economics, Scale Economics, 5-Year P&L, Pricing Tiers, Hardware BOM)
Created Mandarin XLS version (all tabs translated, numbers identical)
Both EN + CN business plan docs already on Drive from sub-agents
Built cosmos-presentation.pages.dev — password-protected (cosmos2026) bilingual presentation site
- All 20 COSMOS.pdf slides as images, OpEx model data, pricing tiers
- EN/中文 toggle, dark premium design
- Kevin wants Cloudflare Access added for server-side auth — reminder set for 3/3 8:30 AM
Domain-Wide Gmail Delegation (8:30-10:20 AM)
**RESOLVED**: Service account works for all 5 team inboxes via direct API
**gog CLI has a bug** — fails with service account auth even though direct JWT works fine
Will build briefing scripts using direct Python API instead of gog
GCP service account: valentina-mail-access@eos-email-catagorization.iam.gserviceaccount.com
Client ID: 108170511796157133945
Final authorized scopes (gmail.readonly, calendar.readonly, drive, spreadsheets, documents, contacts.readonly)
Kevin initially had only calendar.readonly; then added mail.google.com; finally corrected to gmail.readonly
Key lesson: gog CLI requests gmail.readonly scope (confirmed via binary strings), but still fails — likely a Go OAuth2 library issue with service account impersonation
Domain-Wide Delegation — Final Status (as of 10:20 AM)
Direct Python JWT confirmed working for all 5 team inboxes ✅
gog CLI fails with service account impersonation (likely Go OAuth2 library bug)
**Decision**: Build briefing scripts using direct Python API, bypass gog CLI
Cron "test-delegation-final" set for 10:20 AM ET to auto-register and set up briefings
Kevin applied scope fix ~10:10 AM; 401 was still returning at 10:15 AM (propagation lag)
Team Email Briefings — PENDING SETUP
**Jhen** (jenevive@eoslight.com) — 9 AM ET (or adjust for PH timezone)
**MaryJane** (maryjane@eoslight.com) — 9 AM ET (or adjust for PH)
**Edwin** (edward@eoslight.com) — 9 AM ET (or adjust for PH) + attachment pipeline to Drive
**Maja** (maja@eoslight.com) — 4 AM ET (Belgrade = 10 AM local)
**Eric** (eric@eoslight.com) — 9 AM ET
Waiting on Kevin's answer re: PH team timing before creating crons
Team Info Confirmed
Edwin's email: edward@eoslight.com (not edwin@)
Eric's email: eric@eoslight.com (Sales)
Maja location: Belgrade, Serbia (UTC+1)
Jhen, MaryJane, Edwin: Cebu, Philippines (UTC+8)
Training Hub Updated
Added 🔑 Quick Access category with REF-01 (Dashboard Links & Passwords) and REF-02 (Team Contacts)
Deployed to phoenix.eoslight.com
Includes all dashboard URLs, passwords, vendor portal creds, external systems, team contacts
MaryJane Onboarding Emails Sent
Welcome email with all dashboard links + passwords (ops, hotlist, phoenix, production)
Vendor welcome letters (William, Alisa, Julia, Esther) — ready for MaryJane to forward
Both CC'd to Kevin
Cosmos Business Model — Uses Edgelight Costs
All pricing based on Edgelight factory costs (1% markup), NOT Unilumin
P1.25 included in BOM because Edgelight carries it (Unilumin doesn't)
Unilumin only appears as competitor comparison
Phishing Alert
Suspicious email from "angelica" via info@eoslight.com requesting financial data on Krohner Inc
Flagged to Kevin — do not respond
Cron Jobs Active
cosmos-site-review: Mar 9 9AM ET — ask Kevin to keep/remove cosmos-presentation.pages.dev
cosmos-cloudflare-access: Mar 3 8:30 AM ET — remind Kevin to add Cloudflare Access
⚙️ Alex 2026-03-02
No log written yet today
📣 Sage 2026-03-02
No log written yet today
🎯 Valentina 2026-03-01
Daily Log — March 1, 2026 (Saturday)
Summary
Big day of vendor portal polish and email auto-responder buildout. Kevin testing from Shanghai hotel WiFi, confirmed vendor portal works behind China firewall without VPN.
Work Completed
Vendor Portal — Mandarin Translation Fixes
Fixed yellow instruction banner (Hi William 👋) — wasn't translating because mixed HTML (text + `` tags) couldn't be matched word-by-word. Solved with `data-i18n-html` full innerHTML swap approach.
Fixed upload section yellow banner (Upload Materials) — same issue, converted from `data-t` to `data-i18n-html`
Fixed stat card labels: ACTIVE PROJECTS, TOTAL LINE ITEMS, ON SCHEDULE, AT RISK
Fixed Probability Scale legend (all 5 levels)
Fixed project header metadata: PI:, Order Confirmed:, Est. Ship:, X items, Pending
Fixed Upload Files header + subtitle in upload card
All fixes applied to both William AND Esther portals
Multiple deploys to Cloudflare Pages throughout the day
Vendor Portal — Stat Cards Fix
On Schedule / At Risk were showing "—" because they only calculated on Submit
Changed default to "0" and added live-update via `change` event listener on dropdowns
Stats now update in real-time as vendor fills in On Schedule or Probability dropdowns
Duplicate 中文 Button Investigation
Kevin's screenshot showed 2 Chinese toggle buttons on login screen
HTML only has 1 — likely cached version or browser rendering artifact
Added 🌐 globe icon to make button more distinctive
Email Auto-Responder System (Layer 1) — BUILT
Sub-agent built `donna-auto-responder.py` (21KB) with all 5 templates
David Ross signature on all customer-facing templates
Template #3 (Action Required) is internal-only to Kevin
Safety rules: no internal, no reps, no spam, dedup, 1/sender/day
Classification + keyword matching
Dry-run mode active (not sending live yet)
Setup script for cron job ready
Sent 5 test emails from valentina@eoslight.com to kevin@eoslight.com
Sent 5 template replies for Kevin to review in inbox
Email Send-As Issue Identified
`admin@eoslight.com` not configured as send-as alias for valentina@eoslight.com
Replies currently come FROM valentina@eoslight.com
Kevin needs to add send-as alias in Google Workspace Admin
Instructions provided, will set up tomorrow
Decisions Made
Templates 6-10 skipped for now — 1-5 covers 90%+ of inbound
David Ross is the current approved persona name (not Donna Smith)
Start with dry-run mode, flip to live after Kevin reviews
Lessons Learned
Emoji prefixes (📁, 📤, 🖨, ✅) in button text prevent TR dictionary matching — must include the emoji in the translation key
Mixed HTML content (text + child elements) can't be translated word-by-word — need innerHTML swap approach
`--from` flag in gog gmail send requires verified send-as alias, otherwise 404
Issues/Blockers
admin@eoslight.com send-as alias not configured yet
SSH to Alex/Sage still refused
OpenAI API key still invalid (memory_search broken)
Tomorrow's Priority
1. Kevin reviews 5 test email templates in inbox
2. Set up admin@eoslight.com send-as alias
3. Switch auto-responder to live mode after approval
4. Continue vendor portal work if Kevin has more feedback
5. Financial briefing cron still needs update with side-by-side QB comparison
Kevin Interactions
Active 7-8:30 AM ET (8-9:30 PM Shanghai)
Testing vendor portal from Shanghai, providing screenshot feedback
Peloton ride mid-session
Kicked off around 8:30 AM ET — tired, reviewing templates tomorrow AM
RingCentral Ext 103 — Voicemail Setup
Completed
Forwarding to Twilio DISABLED (was causing "application error")
Default call handling rule now active: apps/devices ring → voicemail
Final greeting (Take 8): "Thank you for calling EOS Light. You've reached our customer service extension. Please leave a detailed message with your name, phone number, and what you're calling about, and someone will get back to you as soon as possible. Thank you, and have a wonderful day."
Voice: ElevenLabs voice ID pMsXgVXv3BLzUgSXRplE (warmer/sultry tone Kevin preferred)
Name changed from "Donna Smith" to generic "customer service extension" — no individual name
EOS pronounced as one word ("Eeos" in TTS script), not spelled out
Kevin preferred the warmer ElevenLabs voice (pMsXgVXv3BLzUgSXRplE) over the default (EXAVITQu4vr4xnSDxMaL)
RingCentral SMS Registration — Research Complete
Current Status
Brand: EOS Light (ID: BTZDITD)
Submitted: 01/16/2025
Status: **REJECTED — Update Required**
5 numbers assigned
Type: Conversational, Low volume ($1.50/mo)
Consent method: "They message us first"
3 Rejection Reasons
1. **Opt-in language required on website intake form** — Contact form has "Yes to marketing" but no SMS-specific consent
2. **Compliant privacy policy required on website** — eoslight.com/privacy-policy/ page is EMPTY (header/footer only, no content)
3. **Opt-in/out/HELP messages need fixes** — Must contain brand name, HELP keyword, opt-out, frequency, fees
Registration Form Details (already filled)
Legal name: Krohner Inc
DBA: EOS Light
EIN: 46-1247234
Industry: Manufacturing
Classification: Private company
Contact: Kevin Krohner, kevin@eoslight.com, +13108890658
Website: eoslight.com
Privacy URL: eoslight.com/privacy-policy/ (empty)
Terms URL: eoslight.com/terms-conditions/ (empty)
Use case: "Conversations (external)" — replying to customer texts
Sample messages provided (3)
Opt-in/out/HELP keywords: START/STOP/HELP
Punch List Sent to Kevin
1. Write & publish Privacy Policy content
2. Write & publish Terms & Conditions content
3. Update contact form SMS opt-in language
4. Fix opt-in/out/HELP messages in RingCentral
5. Resubmit registration
6. Wait for carrier approval (1-5 business days)
Key Info
eoslight.com/terms-conditions/ also EMPTY
Contact form at eoslight.com/contact/ — has "Yes to marketing" checkbox, no SMS consent language
RingCentral SMS support: 1-888-898-4591 (Opt 3)
WordPress admin needed for items 1-3
Evening Session (9 PM - 11 PM ET)
Drawing QC Gate System — NEW PROJECT
Kevin identified errors in Titans (28443) drawings — tape at panel seams issue
Customer changed mind multiple times across 129 line items, drawing came out wrong
Created Google Drive folder "Drawing QC Gate" (ID: 1bH_ezptiR51-HnRlGPnMcmHvjItMhPup)
Pulled ALL 180 notes from Potential 28443 + 33 notes from 3 Sales Orders (213 total)
Built Google Sheet with full revision history: https://docs.google.com/spreadsheets/d/14Ue9rkdVnWtxbHOMe5WMTYiCcPEjuIl_EdKb0ONZuLM
Saved system design to memory/drawing-qc-gate-system.md
**Kevin's addition**: Projects over $50K require mandatory close-out call before production — recorded, transcribed, becomes another verification source
Kevin gathering: (1) final drawing with errors, (2) approved version, (3) previous iterations
NovaStar discussion pushed to Tue/Wed — reminder set for Mar 4 9 AM Shanghai
**Showroom Download entry (3328)** — published with "Showroom Light 60x36 SP range.zip" (IESNA2002 format only per Kevin)
**WordPress ACF pattern learned**: Product downloads use repeater field (key: field_66924d073fa9c) with title+file rows. DOM removal + Update button saves correctly.
**Select2 AJAX fields require jQuery trigger**: Must add option to underlying `
Kevin Voice Memo
"Kevin WeiLiang (William - Day 2) at Edgelight.m4a" — 47 min, 44.5 MB
Downloaded from Trips/Recordings folder
Transcription in progress (local Whisper, OpenAI key invalid)
⚙️ Alex 2026-03-01
Daily Log — 2026-03-01 (Sunday)
Summary
Kevin requested a master V-PEG folder on Google Drive with all documentation and a recovery method. Built the full structure, populated it, and created a completion checklist.
Work Completed
**Created V-PEG top-level folder** under new "EOS Light" Drive structure (ID: 1LW9Kqeo8uqUdWz0raGVwhMQS7VkiUZ6o)
LightPaper samples initially bad (sub-agent wrote inline HTML instead of using real generator) — **FIXED** by re-running with actual lightpaper_drawing.py
All samples uploaded to Drive comparison folder: 1xo66BJgAeVEcGauZH7I4U1krc-fBXnkO
**Kevin directive on factory drawings**: same template as customer, data block changes (supplier name, no client/project, RFQ only)
**Kevin directive on stone/metal production requests**: SEPARATE documents — 1 for lights, 1 for stone/metal (different suppliers)
LightPaper factory mode still needs wiring (lightpaper_drawing.py is LOCKED, uses its own render pipeline)
Lessons Learned
Sub-agents sometimes write simplified inline HTML instead of calling actual generators — always verify output uses the real code
PEG API has typo: param is `groupiId` not `groupId`
PEG pattern filter API returns same 294 patterns for both Stone and Metal material types — patterns aren't actually categorized by material in the API
Stone patterns are IDs 152+ (AG/AL/OX/GEO prefixes), Metal patterns are IDs 1-151 (A/C/G/L/M/N/P prefixes)
Progress Save (8:20 AM)
All work saved to daily log, MEMORY.md, and Google Drive
Kevin confirmed save request
Tomorrow's Priority
1. Kevin will review sample drawings and provide feedback
2. Work through 🟡 spec table fixes (TYPE field, SIZE rounding, REV default)
3. Wire factory mode into LightPaper generator
4. Still waiting on Kevin for metal factory drawing examples
5. Continue grinding through checklist items
📣 Sage 2026-03-01
Daily Log - March 1, 2026
Major Achievement: Figma Integration COMPLETE 🎨✨
Setup Completed
**Figma Account:** sage@eoslight.com successfully joined Phoenix team
**Access Level:** Full Designer with appropriate API permissions
**API Token:** Generated and verified working
**Team Access:** Confirmed member of Phoenix team (invited by Kevin)