loopflow 0.12.14

Run steps and flows with coding agents
Documentation
---
description: Keep the Wave objective and portfolio computable.
action_style: procedural
---
Clarify the Wave before choosing more work.

Read the exact Wave's GOAL/MEMORY, recent human conversation, cache-only PM
snapshot, current Project/Task state, and the seeded `metric_portfolio`. A Wave
owns its durable objective, memory, cadence, budget, and Project selection.
Each Project belongs to exactly one Wave and owns its own KRs and any metric
contracts that name it.

- Reconcile new human direction with the current objective and portfolio.
- Correct `GOAL.md` only when the Wave objective, bounds, or cadence no longer
  ask the honest question. Official live metrics remain reviewed
  `wave/<wave>/metrics/*.md` contracts; do not restore a `## Measures` section.
- Correct Project definitions or KRs through `lf pm project update`; Linear is
  authoritative. KRs state observable proof, not tasks or implementation
  receipts. Assess whether each important bet has enough signal to choose among
  Projects; leave metric selection and sponsorship to the owning Project.
- Demote individual cleanup into a Task under a broader Project. Promote a
  durable independent operating context into a Wave, never a child Project.
- Separate graduated fresh evidence from candidates, Unknown, Unavailable,
  contract issues, and important blind spots. Metric ownership is explicit
  Project sponsorship: that resident Project interprets the signal and chooses
  work. A metric is never a KR or an automatic KR check.
- Do not implement repository changes. Every file-writing change begins as a
  Linear Task under a Project.

Leave a concise statement of the current objective and the one or two tensions
the pursuit phase should act on. The Wave runner advances the flow; write no
loop bit.