---
name: sprint-graph
description: "Use when an Engineer composes a sprint graph from a verified seed before writing plan projections."
---

# sprint-graph: compose outcomes into executable vertical lanes

Use this planning subskill after `thinking` and before the graph contract. It is provider-neutral
composition guidance. The `../planning/references/graph-contract.md` is the sole validator for
graph and projection rules; do not restate its checklist here.

## Compose from outcomes

1. Start with every seed deliverable as an outcome node. Give it an accepted terminal result and
   name the evidence that proves that result. A deliverable without an evidence path is not a
   graph node yet.
2. Classify each edge as either a dependency or an interface. A dependency says that one node
   must finish before another can start. An interface says what the producer publishes and what
   the consumer reads. Give each interface one producer, an explicit version, and only the
   consumers that need it.
3. Build vertical lanes around outcomes, not technical layers. Keep the source, validation,
   artifact, and review steps for one outcome reachable through the same lane. A worker or an
   independent reviewer is useful only when it has a reachable input, a bounded output, and a
   named evidence or acceptance edge.
4. Close every terminal path with the failure response, rollback boundary, and durable evidence
   location. Support nodes may not dangle outside an outcome or silently become a second owner.

## Choose width deliberately

Parallelize only a ready frontier whose lanes have disjoint mutable paths, independent interfaces,
and no ordering edge between them. Serialize nodes when they share a file, interface publication,
mutable artifact, or review decision. If the work is one dependency chain, use one single-drive
lane. If two or more complete vertical lanes are genuinely independent, use concurrent multi-lane
execution and bound the fan-out to the resident capacity and available reviewers. Logical width
does not grant extra processes; queue excess work behind the frontier.

Before validation, check that each node has one owner, each lane has one accountable outcome, and
each worker and independent reviewer can be reached from a deliverable and can reach accepted
evidence. Then hand the composition to the graph contract and regenerate all projections from the
source plan.

## Inheritance and profile boundary

`sprint-graph` is a planning subskill, not a startup role or an execution skill. Keep `plant` as
the thin command entry and `planting` as the root-local Planter profile; this guidance does not
merge or replace that intentional split.
