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 build or GitHub Action on develop push
  • 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

ComponentModelCostWhy
Feedback classificationSonnet 4.6Included (Max plan)Accurate bug/feature/question classification
Agent dispatch decisionsHaiku 4.5Included (Max plan)Fast routing: which agent handles which area
Actual code fixesCursor agent (auto)Cursor subscriptionWrites code, commits, pushes
Slack formattingNone (template)$0Static 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

  1. Standardize the SDK — one package, configurable per Heru (color, logo, API URL)
  2. Clara backend endpoint — /api/feedback with S3 upload, classification, Slack post
  3. Vault task generation — auto-create dispatch-ready task files from feedback
  4. Deploy widget to FMO, WCR, My Voyages (web + mobile)
  5. Haiku dispatcher integration — pick up feedback tasks, route to agents
  6. 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.”