Maat Workflow — How Tasks Flow Between Tiers

The Pipeline (NON-NEGOTIABLE)

  1. Opus writes REQUIREMENTS to .claude/plans/<name>.md (and mirrors to .cursor/plans/)
  2. Opus ALSO adds the task to /tmp/maat-workqueue.md with a Priority number (P##)
  3. Sonnet reads /tmp/maat-workqueue.md and creates micro plans from requirements
  4. Haiku reads /tmp/maat-workqueue.md and dispatches workers

CRITICAL: Both Steps Required

  • Writing to .claude/plans/ = requirements doc (the WHAT)
  • Adding to /tmp/maat-workqueue.md = putting it in the queue (the WHEN/WHO)
  • If you only do step 1, Sonnet/Haiku won’t see it
  • If you only do step 2, there’s no requirements doc for workers to read
  • ALWAYS do BOTH

Workqueue Format (for appending new tasks)

### Priority XX: <Project> — <Task Name>
**Plan:** .claude/plans/<requirements-file>.md
**Workspace:** <path or "NEW HERU">
**Depends on:** <P## or "None">
**Status file:** /tmp/<project>-<phase>-done.md
 
**Sonnet Instructions:**
1. Read the plan file
2. Create micro plan
3. Break into phases/stories
 
**Worker prompt:**
\```
<detailed task for the worker agent>
\```

Key Locations

  • Requirements: .claude/plans/ + .cursor/plans/
  • Workqueue: /tmp/maat-workqueue.md
  • Status files: /tmp/<project>-<task>-done.md
  • Dispatcher log: /tmp/haiku-dispatcher-log.md
  • Execution report: /tmp/haiku-execution-report.md

Heru Feedback

  • Requirements: .claude/plans/heru-feedback-qa-platform.md
  • Workqueue entry: P29 in /tmp/maat-workqueue.md
  • Dedicated Mac build server coming (Quik’s spare M1 MacBook, 32GB RAM, 2TB)