Worktree Feature: Full Pipeline
The most complex Smithers example: role-specific Codex agents, with sequential
Claude fallback, through a full development lifecycle.
Pipeline
- Discover: Read PRD, break into ordered independent tickets
- Implement: Write code end-to-end per ticket with GPT-5.6 Luna
- Validate: Run
bun test - Review: Review with GPT-5.6 Sol; use Claude only if Codex is unavailable
- ReviewFix: Address review issues
- Report: Generate final report
<Loop> until the Codex-first review seat approves or max
iterations are reached. Agent arrays are sequential fallback chains, not
parallel reviewers.
Schema Setup: smithers.ts
Schema definitions are insmithers.ts. See Worktree Feature Schemas for the full field list. The file ends with the createSmithers(...) registration call:
Entry Point: workflow.tsx
Agents: agents.ts
Implement task receives agent={implementAgents}. The review component
below receives agent={reviewAgents}.
Validation Loop: ValidationLoop.tsx
Codex-First Review: Review.tsx
Ticket Pipeline: TicketPipeline.tsx
Running
Key Patterns
createSmithersregisters 6 output schemas; generates typedtables,outputs, andTaskcomponents.CodexAgent/ClaudeCodeAgentrun real agents with full filesystem access; Codex is ordered first and Claude is fallback-only.- Role-specific chains route implementation to Luna and review to Sol, then advance to Claude only when Codex is unavailable or fails.
<Loop>iterates implement/validate/review/fix until the Codex-first review seat approves orMAX_REVIEW_ROUNDSis exhausted.ctx.latest(schemaKey, nodeId)reads the highest-iteration output for a task.- MDX prompts —
.mdxfiles serve as prompt templates with JSX interpolation. skipIfskips already-completed tickets on resume.continueOnFailprevents a single review failure from blocking the pipeline.- Dynamic ticket mapping —
unfinishedTickets.map()renders oneTicketPipelineper ticket.