When top-level task mentions "TDD" or "test-driven", planner now
creates test-first task pairs:
1. Write failing test (must fail for RIGHT reason, not syntax errors)
2. Make test pass (depends on failing test task)
This enforces TDD through task structure rather than acceptance criteria.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
- Add acceptanceCriteria field to tasks (structured checklist)
- Add --accept flag to create/update commands (repeatable, append-only)
- Add failed status for catastrophically stuck tasks
- Implement planner/worker/judge agent loop in run command:
- Planner (gpt-5.2): breaks down tasks, reorganizes tree, writes criteria
- Worker (sonnet/codex): implements tasks, cannot mark done
- Judge (haiku): verifies acceptance criteria with no-excuses policy
- Hybrid replanning: after NOT_DONE and every N completions
- Parent tasks blocked until all children are done
- Add getDescendants method for children tree traversal
- Update getReady/getBlocked/getClosed to use children tree for scope
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Add Maestro E2E test flows for app launch and sidebar interactions. Implement download progress tracking with speed/ETA display in file explorer. Extend task CLI with parent-child hierarchy, body content from stdin, and ancestor context in task show. Fix explorer sidebar gesture to allow horizontal scrolling while preserving close swipe. Replace hardcoded monospace font with Fonts.mono constant. Fix RefreshControl to only show spinner on manual pull-to-refresh.
- Add task store with dependency tracking and CLI (packages/server/src/tasks/)
- Extract principal param logic to shared util for server/app reuse
- Improve activity curator: collapse timeline, dedupe tool calls, simpler output
- Add MessageInput ref for focus control after agent cancel
- Include recent activity in wait timeout messages
🤖 Generated with [Claude Code](https://claude.com/claude-code)