---
status: resolved
parent: "[[038-implement-skill-map]]"
claimed-by: "019fbb66-80d0-7a01-8ac9-01255adfc7b2"
claimed-at: "2026-08-01T07:19:49-04:00"
blocked-by:
  - "[[039-implement-skill-old-workflow-research]]"
  - "[[043-implement-skill-treehouse-research]]"
  - "[[044-implement-skill-herdr-worktree-research]]"
  - "[[045-implement-skill-pi-worktree-extensions-research]]"
  - "[[076-implement-skill-matt-to-tickets-research]]"
tags:
  - ticket/grill
---

# Implement skill branch worktree policy grill

## Question

What branch and worktree policy should `implement` follow for normal tickets, parallel Wayfinder task execution, and wide-refactor or integration-branch exceptions?

## Resolution

`implement` should assume the caller, current session, future Pi extension, Treehouse, Herdr, or human operator has already provided the right checkout.
It is worktree-compatible, not a worktree orchestrator.
It verifies and reports the checkout where it is working, but it does not create, lease, clean up, or switch worktrees.

Before starting, `implement` checks for uncommitted changes.
It stops when changes are unrelated or ambiguous, and continues only when the dirty state is clearly already part of the selected work.
It never auto-stashes.

When starting new work, `implement` uses or creates a non-default branch from an updated default branch.
If it is already on an appropriate non-default branch prepared for this work, it continues.
If it is on the default branch, it fast-forwards the default branch and creates a task branch.
If the default branch cannot fast-forward cleanly, it stops.
Branch naming follows repository, user, or orchestrator convention.
If no convention is discoverable and `implement` must create a branch, it chooses a clear short descriptive name and reports it.

Dependency branch handling preserves the old `/implement` guardrail.
`implement` checks declared blockers and stops when prerequisite implementation work is not reachable from the current base, reporting which prerequisite appears unmerged.
It does not automatically branch from, merge, or cherry-pick sibling task work.
Explicitly planned integration-branch or wide-refactor exceptions may use the branch strategy stated by the plan.
