Heru Feedback — Complete AC & Architecture
Set by: Amen Ra (March 24, 2026) Priority: P0 — Foundation for all Heru testing Next Session: Build this exclusively, deploy to FMO + WCR + My Voyages
What Heru Feedback Does
Testers (Quik, Vision) use a widget in the app to report bugs. Those reports automatically become agent tasks. Agents fix. Testers see the fix on the next build. Zero manual task creation.
Architecture
TESTER (Quik/Vision)
→ Heru Feedback Widget (Ida) in web/mobile app
→ Screenshot, text, voice recording, screen recording
→ POST to Clara backend API (/api/feedback)
CLARA BACKEND
→ Stores feedback in database (Feedback model)
→ Classifies: bug / feature-request / question / praise
→ Posts to Slack #maat-agents (formatted for agents)
→ Writes task file to vault: ~/auset-brain/Feedback-Tasks/<heru>/<id>.md
DISPATCH (Automatic)
→ Haiku dispatcher reads new feedback tasks
→ Routes to correct agent based on area (frontend/backend/mobile)
→ Agent gets: screenshot + description + reproduction steps + affected page
→ Agent fixes on develop branch → commit → push
TESTER SEES FIX
→ Web: Amplify auto-deploys develop → tester refreshes
→ Mobile: EAS build triggered → TestFlight/Internal Testing update
→ Backend: PM2 restart on EC2 develop server
Acceptance Criteria
AC-1: Widget (Ida) Deployed on All 3 Herus
- FMO web: Feedback FAB visible on all pages (develop env)
- FMO mobile: Feedback FAB visible in all builds
- WCR web: Feedback FAB visible on all pages
- WCR mobile: Feedback FAB visible in all builds
- My Voyages web: Feedback FAB visible on all pages
- My Voyages mobile: Feedback FAB visible in all builds
- Widget features: Text input, screenshot capture, voice recording, screen recording
- Branding: Each Heru gets its own widget color/logo
AC-2: Clara Backend Receives Feedback
- POST /api/feedback endpoint works
- Feedback stored in PostgreSQL (Feedback model: id, heru, type, text, screenshot_url, voice_url, screen_recording_url, page_url, user_agent, user_id, status, created_at)
- Screenshots/recordings uploaded to S3
- Feedback classified automatically (bug/feature/question/praise)
- Model for classification: Sonnet (via Claude Code session or Messages API — cheap, accurate)
AC-3: Slack Notification
- Every feedback item posts to Slack maat-agents (C0AKANS4UNB)
- Format: Heru name, type (bug/feature), description, screenshot thumbnail, page URL
- @mentions relevant agent if area is identifiable (frontend → Katherine, backend → Daniel, mobile → Mae)
AC-4: Task Generation
- Feedback automatically generates a task file in vault
- Path:
~/auset-brain/Feedback-Tasks/<heru>/<feedback-id>.md - Task file includes: description, reproduction steps (from tester), screenshot URL, affected page, priority (bugs = P0, features = P1)
- Task file follows dispatch format (prompt, workspace, agent assignment)
AC-5: Agent Dispatch (Automatic)
- Haiku dispatcher picks up new feedback tasks within 5 minutes
- Routes to correct Cursor agent on QC1 based on:
- Frontend issue → Annie/Jean-Michel/Phillis
- Backend issue → Ernest/Daniel
- Mobile issue → Mae
- Auth issue → Clark/Thurgood
- Agent gets full context: screenshot + description + page URL + existing code
- Agent fixes → commits to develop → pushes
- Feedback status updated: pending → in_progress → fixed
AC-6: Tester Sees Fix
- Web: Amplify auto-deploys develop branch (already configured for most Herus)
- Mobile: EAS build from develop → TestFlight (iOS) / Internal Testing (Android)
- Trigger: manual
eas buildor GitHub Action on develop push
- Trigger: manual
- Backend: PM2 restart on shared EC2 develop server
- Feedback widget shows “Fixed” status on the same item the tester reported
AC-7: Dashboard (Admin)
- Admin can view all feedback for their Heru
- Filter by status: pending / in_progress / fixed / wont_fix
- See screenshot + description + agent who fixed + commit link
- Bulk actions: close, assign, re-open
Models Used
| Component | Model | Cost | Why |
|---|---|---|---|
| Feedback classification | Sonnet 4.6 | Included (Max plan) | Accurate bug/feature/question classification |
| Agent dispatch decisions | Haiku 4.5 | Included (Max plan) | Fast routing: which agent handles which area |
| Actual code fixes | Cursor agent (auto) | Cursor subscription | Writes code, commits, pushes |
| Slack formatting | None (template) | $0 | Static format, no AI needed |
SDK (Frontend Widget)
The Heru Feedback SDK is a React component (<HeruFeedback />) that:
- Renders a floating action button (FAB)
- Opens a modal with: text input, screenshot button, voice record button, screen record button
- Posts to Clara backend
- Shows submission confirmation + status tracking
Already partially built — exists in FMO (from P0 swarm) and possibly WCR. Needs to be standardized and deployed to all 3.
What to Build Next Session
- Standardize the SDK — one package, configurable per Heru (color, logo, API URL)
- Clara backend endpoint — /api/feedback with S3 upload, classification, Slack post
- Vault task generation — auto-create dispatch-ready task files from feedback
- Deploy widget to FMO, WCR, My Voyages (web + mobile)
- Haiku dispatcher integration — pick up feedback tasks, route to agents
- Test the loop — submit fake feedback → agent fixes → verify deploy
The Promise to Testers
“Report it once. An agent fixes it. You see the fix on your next refresh or build update.”