---
description: Advance open KRs inline first, filing or looping tasks when needed.
action_style: procedural
---
Pursue the open KRs.
## Orientation
Read the exact Linear Project owned by the current Run and the wave's
GOAL/MEMORY. The
project loop owns the KR set, not a product PR. KRs are proof-shaped end
states; tasks are the concrete work that advances them. Filed tasks live in
Linear; running work lives in Tasks; merged PRs are closure evidence.
Resolve the exact wave and Project from the session prompt; never guess them. If the PM
reader fails, report that once and continue from the KR set instead of repairing
PM or auth.
The project may read and file its own tasks:
```bash
lf pm show --wave <exact-wave> --project <project> --no-sync
lf pm task create --project <project> --title "..." --notes "..."
```
## Task references
When selecting, supervising, or reporting more than one Task, read `lf roadmap
--wave <exact-wave> --json` for plan-wide rows and `lf status <exact-wave>
--json` for live execution. Render every Task with the shared reference:
```markdown
[identifier](provider URL) — readable active PR/workspace slug — status/next owner
```
Fill the link from `task.identifier` and `reference.issue_url`. Use
`active_pr.slug` from roadmap; for status, match `active_pr` to `prs[].id` and
use that PR's `slug`. Fall back to `reference.workspace.slug`. Take status from
`runtime.status`, or from the roadmap `section` when runtime is absent;
`next_move.owner` supplies next owner. Never reconstruct a provider URL, branch,
or slug from an identifier, title, worktree, or naming convention. Omit only a
link or slug whose snapshot evidence is explicitly absent; keep the Task and
its available status/next owner.
## Work
- Honor every Steer included in the seed and state the resulting priority or
plan change. The boundary Basis is fixed; delivery is not application.
- Read the filed backlog before creating work. File a concrete task when the
KR needs it; no rule requires every filed task to start immediately.
- When one uncertain KR warrants parallel investigation, file independent Tasks
by approach family rather than duplicate assignments. Keep a compact registry
of each mechanism, concrete evidence, exact gap, and status. Redirect
convergence, mark theorem-strength or dependency-strength gaps blocked, and
reopen a route only for a materially new mechanism. Cross-pollinate only
after the independent Tasks have exposed their own strengths and failures.
- Every file-writing task must already have a Linear identity. Start it with
`lf task run <issue-id> --directive "<delegation brief>"` and supervise the
same Task through review and merge.
- When a separate Task depends on an open parent PR and should begin now, start
it with `lf task run <child> --stack-on <parent> --directive "..."`. The child
keeps its own worktree and worker; never create a second simultaneously open
PR inside the parent Task.
- The Project owns no worktree or PR branch. Never edit, commit,
test, or open a PR from the canonical main checkout; delegate every
repository mutation to a Task.
- Use `lf task steer`, `interrupt`, `wait`, and `resume`. Do not create another
worktree or session for review feedback or CI repair.
- Service a pending child Feedback before background KR work. Reply with the
exact `lf work steer ...` command embedded in `<lf:child-feedback>`, or use its
`lf work continue ...` command when Feedback is finished. When the
choice needs Wave judgment, state the exact question in the Project's own
interactive step so its parent Feedback can route it.
- Never start another Project or Wave from Project pursuit, and never collapse
the remaining Project into one anonymous task.
- Discovered debt becomes a task under an existing KR unless it
reveals a broader standing quality frontier. Do not turn individual cleanup
into a project-shaped KR.
Do not check off a KR unless its observable condition is already true.