Heru Development Lifecycle — From Tasks to MVP
Set by: Amen Ra (March 24, 2026) Applies to: Every Heru in the Quik Nation ecosystem
The Process (High Level)
1. CREATE TASKS → 2. /SWARM → 3. MVP WIP PR → 4. TESTERS TEST
↑ │
│ ▼
6. PUSH FIX ← 5. HERU FEEDBACK (bugs)
│
MVP PR closes when
NO MVP-blocking tasks remain
Phase 1: Task Creation
For each Heru, create tasks across ALL workspaces:
| Workspace | What Gets Built | Agent Examples |
|---|---|---|
| Backend | GraphQL resolvers, models, migrations, APIs, webhooks | Ernest, Daniel, Cheikh, Mansa |
| Frontend | Pages, components, state management, routing | Jean-Michel, Katherine, Augusta, Lois |
| Mobile | Screens, navigation, native features, push notifications | Mae, Fela, Janet, Ben |
| Desktop | Clara Desktop features, voice, IPC, agent UI | (Clara team) |
Task format: Each task has explicit acceptance criteria set by Amen Ra. Tasks are tagged as P0 (MVP-blocking) or P1 (post-MVP). Only P0 tasks block the MVP PR from closing.
Tasks go into: ~/auset-brain/Tasks/<heru>/ in the vault for agent dispatch, AND Claude Code TaskCreate for session tracking.
Phase 2: /swarm — Agents Build in Parallel
/swarm <heru-name>The swarm dispatches Cursor agents on QC1 to work tasks in parallel:
- Gap analysis first — scan existing code, git history, PRD to avoid duplicate work
- Agents claim tasks — one task per agent, worktree per agent
- Build — each agent works in its own git worktree (
~/worktrees/<heru>-<task>/) - Commit + push to develop branch
- Create PR per task or per wave (agent MUST create PR when done)
Constraints:
- Max 6 concurrent agents on QC1
- Internal Herus (QCR, QC, QN, Site962) → QC1
- Client Herus (FMO, WCR, MV) → EC2 or QC1
- Every agent identifies themselves by name in commits
Phase 3: MVP WIP PR (Work In Progress)
After the swarm completes its initial wave:
- Create a single MVP WIP PR:
develop → main - This PR is the release gate — it stays OPEN
- PR title:
feat(<heru>): MVP — [heru description] - PR description lists all P0 tasks and their status
- This PR does NOT close until all P0 tasks pass testing
PR #X: feat(fmo): MVP — Barbershop Management Platform
Status: WIP (3 P0 blockers remaining)
P0 Tasks:
✅ Booking flow
✅ RBAC + auth
✅ Stripe Connect
❌ PassKit wallet (tester found crash)
❌ Dashboard charts (data not loading)
❌ Mobile push notifications (not arriving)
P1 Tasks (post-MVP, don't block PR):
⬜ Analytics dashboard
⬜ Email campaigns
⬜ Advanced reporting
Phase 4: Testers Test
Deploy the develop branch for testing:
| Platform | Deploy Method | Trigger |
|---|---|---|
| Web | AWS Amplify | Auto-deploys on develop push |
| Mobile iOS | EAS Build → TestFlight | Manual or GitHub Action |
| Mobile Android | EAS Build → Internal Testing | Manual or GitHub Action |
| Backend | PM2 restart on shared EC2 | Git pull + restart |
Testers:
- Quik (Rashad) — Co-founder. Tests on his phone + laptop. NOT a developer.
- Vision (Darrell) — Primary QA tester. Detailed feedback.
Important: NEVER ask testers to run commands. They test the product, they don’t build it.
Phase 5: Heru Feedback (Bug Reports)
When testers find bugs, they use the Ida Widget (Heru Feedback) built into every app:
- Tester taps FAB → modal opens
- Submits: text description (min 50 chars) + screenshot + optional voice/video
- POST /api/feedback → Clara Backend
- Sonnet classifies: bug / feature-request / question / praise
- Slack maat-agents gets notification (Mo sees it)
- Vault task generated:
~/auset-brain/Feedback-Tasks/<heru>/<id>.md - Haiku dispatcher picks up task (cron every 5 min on QC1)
- Routes to correct agent based on area (frontend/backend/mobile/auth)
See: ~/auset-brain/Projects/heru-feedback-complete-ac.md for full AC
See: ~/auset-brain/Projects/heru-feedback-architecture-diagram.md for system diagram
Phase 6: Fix → Push → Test Again
Agent receives feedback task
→ Fixes bug in worktree on develop branch
→ Commits with: "fix(<heru>): <description> [feedback-<id>]"
→ Pushes to develop
→ Feedback status: pending → in_progress → fixed
Amplify/EC2 auto-deploys
→ Tester refreshes → sees fix
→ Widget shows "Fixed" status on their original report
If fix is wrong:
→ Tester submits NEW feedback referencing the original
→ Loop continues
MVP PR Closure Criteria
The MVP WIP PR (develop → main) closes when:
- ALL P0 tasks pass testing — no MVP-blocking bugs remain
- Testers have signed off — Quik or Vision confirm core flows work
- TypeScript compiles —
npx tsc --noEmitpasses - GraphQL validates — schema + operations clean
- Deploys successfully — Amplify build succeeds for web, backend starts clean
What does NOT block MVP closure:
- P1 tasks (they become Sprint 2+)
- Cosmetic issues (unless they block core flows)
- Performance optimization
- Advanced features (analytics, campaigns, reports)
After MVP Closes
- Merge PR to main → production deploy
- P1 tasks become Sprint 2 work
- Customer feedback (production users) enters the same Heru Feedback loop
- Notification: Customers get SES email on resolution; testers get Slack DM
- Continuous improvement — the loop never stops
Per-Heru Checklist
When starting ANY new Heru:
□ PRD exists at docs/PRD.md
□ Tasks created (backend, frontend, mobile, desktop as needed)
□ /swarm dispatched
□ MVP WIP PR created (develop → main)
□ Heru Feedback widget (Ida) deployed on develop
□ Amplify connected for web auto-deploy
□ EAS configured for mobile builds
□ Backend running on shared EC2 develop server
□ Testers notified to begin testing
□ P0 bugs fixed through feedback loop
□ MVP PR closed when P0-clean
□ Production deploy
Current Heru Status (March 24, 2026)
| Heru | MVP PR | P0 Status | Testers Active |
|---|---|---|---|
| FMO | PR #73 (develop→main) | P0+P1 complete, P2 deferred | Not yet |
| WCR | PR #7 needs merge to develop | Sprint complete | Not yet |
| My Voyages | PR #1 + develop pushed | P0 done | Not yet |
| QCR | — | Previous swarm complete | — |
| QuikCarry | — | Previous swarm complete | — |
| Site962 | — | Previous swarm complete | — |
Next: Deploy Heru Feedback to FMO, WCR, My Voyages → enable tester loop.