Daily Note — 2026-04-11
Clara Agents Team — claraagents.com
Session Type: Continuation from 2026-04-10 (VRD + Playbook rewrite session)
What Was Completed
VRD + Playbook Rewrite (from 2026-04-10, session survived compaction): All 5 Cursor agent prompts fully rewritten with IP protection rule incorporated:
prompts/2026/April/10/01-ca-web-full.md— Web (Next.js 16), ClaraVoiceWidget is dumb proxyprompts/2026/April/10/02-ca-mobile.md— Mobile (Expo RN), clara-voice.ts only voice fileprompts/2026/April/10/03-ca-desktop.md— Desktop (Electron Forge, NOT Tauri)prompts/2026/April/10/04-ca-backend.md— Backend, surface-scripts.ts owns ALL scriptsprompts/2026/April/10/05-ca-tests.md— Tests, ip-boundary.test.ts scans frontend files
Critical rule: Clara’s voice scripts live ONLY in backend/src/features/ai/clara/scripts/surface-scripts.ts
Cursor Agent Execution (Prompt 01 — Web):
Cursor agent dispatched 01-ca-web-full.md and merged feat/web-complete. Commits:
- Full Apollo Client + Redux-Persist + Clerk provider stack
- ClaraVoiceWidget (dumb — sends surface ID, plays audio back)
- Landing page (hero, showcase, how-it-works, pricing, waitlist)
- Dashboard with sidebar + AgentCard + DeployAgentModal
- API routes:
/api/voice/session,/api/voice/respond,/api/graphql(proxy),/api/billing-portal - Backend: surface-scripts.ts, voice session service, GraphQL resolvers
- Significant additional work: Cloudflare Pages deploy, TypeScript fixes across multiple PRs
Code Review (docs/review/2026-04-11-web-surface-review.md): Grade: B-
- IP Protection: PASS ✓ (grep confirmed zero script leaks)
- CRIT-01: billing-portal/route.ts — no auth, no Stripe session creation
- HIGH-01: Voice proxy swallows backend HTTP status codes
- HIGH-02: TTS fires on every page load (bot abuse risk)
- HIGH-03: Checkout flow broken (pricing inconsistency, no try/catch)
- HIGH-04: Clerk webhook has no Svix signature verification
- HIGH-05: Dead Apollo singleton in lib/apollo-client.ts
- 6 medium issues, 8 low issues
Decisions Made
- IP rule confirmed working end-to-end — move forward with dispatch of prompts 02-05
- Fix CRIT-01 and HIGH-01/04 before merging web surface to develop
- HIGH-05: Delete
frontend/lib/apollo-client.ts(dead code) - Checkout pricing must be standardized: 99/mo Pro across all files
What’s Next (Priorities)
- Fix CRIT-01:
billing-portal/route.ts— addauth()+stripe.billingPortal.sessions.create() - Fix HIGH-04: Add Svix verification to
backend/src/routes/webhooks.ts - Fix HIGH-03: Align pricing (99) across landing + pricing pages, add try/catch to
onCheckout - Fix HIGH-01: Forward HTTP status in both voice proxy routes
- Delete HIGH-05: Remove dead
frontend/lib/apollo-client.ts - Dispatch prompts 02-05 to QCS1 Cursor (mobile, desktop, backend, tests)
- Set Amplify env vars: DATABASE_URL, CLERK_* for claraagents
- After all surfaces merge → submit Stripe merchant account
- Clara Code team: BLOCKED pending /family discussion
Blockers
- Stripe checkout: blocked until merchant account approved
- Clara Code team: blocked pending Mo’s /family discussion
Tasks Updated
- Task #310 (
Build claraagents.com landing page): in_progress → web surface B- review, needs 5 fixes before merge
Session 74 (context-continue save — HQ)
CF Pages — BOTH DEPLOYED ✅
- claracode.ai (
clara-codeCF Pages project): develop branch live athttps://develop.clara-code.pages.dev- Final fix: graphql explicit dep + vercel.json installCommand no-op + edge runtime + ES2024 tsconfig + wrangler.toml env rename
- claraagents.com (
claraagentsCF Pages project): develop branch live athttps://develop.claraagents.pages.dev
/gran diagnosis
- TS1501 regex v-flag errors in
packages/tui/src/utils.ts→ bumped tsconfig to ES2024 target+lib npx tsc --noEmit→ clean
Next up
- Custom domain DNS (develop.claracode.ai, develop.claraagents.com)
- EAS Build Clara Agents mobile
- Test IDE/Terminal Clara Code surfaces