# Priority & Estimates

## Priority Values

| Value | Name   | Use When                  |
| ----- | ------ | ------------------------- |
| 0     | None   | Not yet triaged           |
| 1     | Urgent | Drop everything, fix now  |
| 2     | High   | Next up, unblocks others  |
| 3     | Medium | Normal priority (default) |
| 4     | Low    | Nice to have              |

## Estimate Values (Complexity)

The estimate scale belongs to the provider, and it is workspace
configuration — never assume it. The source of truth is:

```bash
flydocs run workspace.get-estimate-scale
```

This workspace (Linear, exponential scale) reports:

```json
{"provider": "linear", "scale": {"type": "fixed", "values": [0, 1, 2, 4, 8, 16], "label": "Estimate Points"}}
```

The table below reads that scale. If your workspace reports a different one,
the reported values win — the table's effort bands still apply in order.

A value outside the provider scale is rejected by the relay with the
enforced set (FLY-1279) — pick from the reported scale.

| Value | Name | Rough Effort         |
| ----- | ---- | -------------------- |
| 0     | —    | No estimate (tracking / epic parents) |
| 1     | XS   | < 1 hour             |
| 2     | S    | Hours                |
| 4     | M    | Half day to full day |
| 8     | L    | 2-3 days             |
| 16    | XL   | Week+ — consider decomposing |

## Guidance

- Set priority during Refine or Activate stages
- Set estimate during Refine stage (before Ready)
- If estimate is missing at Activate, set it before transitioning
- Estimate values vary by provider and workspace configuration — read the
  scale with `flydocs run workspace.get-estimate-scale` before setting one

## Decomposition

When an estimate is large (XL / 8+ or provider equivalent), prompt for decomposition:

1. **Identify natural boundaries** — separate concerns, independent deliverables, sequential phases
2. **Create child issues** — each should be independently estimable at M or smaller
3. **Link parent to children** — `flydocs run issue.link PARENT CHILD blocks` (parent blocks children conceptually)
4. **Re-estimate parent** — set to 0 or remove estimate, since children carry the work
5. **Move parent to a tracking role** — it becomes the "epic" or summary issue

**Split pattern:**

```
Original: FLY-100 "Build auth system" (XL)
  → FLY-101 "Add login endpoint" (S)
  → FLY-102 "Add session management" (M)
  → FLY-103 "Add role-based access control" (M)
  → FLY-104 "Add password reset flow" (S)
```

Don't force decomposition on every large issue — some are genuinely large and atomic. Use judgment. The prompt is: "This is estimated as XL. Can it be broken into smaller, independently deliverable pieces?"
