Use the verbatim prompt at .flywheel/prompts/polish-beads.md.
Each round, verify:
- Self-containment — a fresh agent can execute without the plan.
- Dependencies —
depends_onis correct; no missing edges. - Tests — concrete obligations with logging expectations.
- Coverage — cross-reference vs
.flywheel/plans/*.md. - Duplicates — merge overlapping beads (see
dedupe-beadsprompt). - Forge invariants — permission gate,
LEGAL_TRANSITIONS, UI < 120KB, provider probe ~1.5s.
Stop when two consecutive rounds produce only small corrective
edits. If polishing has flatlined after 3 rounds, switch to a fresh
session and .flywheel/prompts/fresh-eyes.md.
Final round: run through a different model (e.g. switch Claude ↔ Codex). Different models catch different things.