fable-agent/PHASES/phase-04-feedback-loop.md

43 lines
1.2 KiB
Markdown

# Phase 4: Feedback Loop
**Purpose:** The core primitive — plan → execute → observe → reflect → refine.
**TS Module:** `src/tier2-primitives/loops/feedback-loop.ts`
## What It Does
Runs the phase machine for N iterations until convergence:
```
plan → execute → observe → reflect → refine
↑ │
└──────────────────────────────────────┘
```
Each phase produces structured output stored in the state accumulator.
## PhaseExecutor Interface
Implement this to connect any model:
```typescript
interface PhaseExecutor {
plan(task: string, previousIteration: LoopIteration | null): Promise<string>;
execute(plan: string): Promise<string>;
observe(executed: string): Promise<string>;
reflect(observation: string, previousIteration: LoopIteration | null): Promise<string>;
refine(reflection: string): Promise<string>;
}
```
## Usage
```bash
fable-agent run "Your goal" --loop 10
```
## Key Rules
- The executor determines the model — swap it to route phases differently
- Hooks: `onPhase`, `onIteration`, `onConverge` for observability
- The loop converges via rubric criteria, not iteration count