# Roadmap and delivery targets

Give projects, milestones and issues a year, quarter or month, read the Roadmap, and review what a period actually delivered.

Every roadmap is fiction until the period ends. Hydrant's version at least keeps the receipts: you say when you intend to deliver something, and when the period closes, it tells you what shipped, what moved and what quietly didn't.

## Before you start

- **Anyone in the workspace** can open **Roadmap** and set or change an issue's target.
- **Admins and the Owner** set targets on projects and milestones, and confirm the planning calendar. [Who can do what](/help/workspace/members#who-can-do-what).
- Targets work straight away. **Period reviews** need a confirmed planning calendar first (below).

## Steps

### Know what a target is

A **delivery target** is when you intend to deliver something: a year, a quarter or a month. That's all it is.

- It's **not a deadline.** Nothing turns red or nags anyone.
- It's **not a cycle.** [Cycles](/help/planning/cycles) schedule the next few weeks of work; targets say which period something should land in. They're independent.
- It's **not priority**, and it's **not snooze**. An issue targeted for next quarter still shows up today. To hide it until later, [snooze it](/help/using/snooze).

Each project, milestone and issue has at most one target, and it's optional. Targets **don't inherit**. An issue in a project targeted for Q3 is not itself targeted for Q3, and changing the project's target never rewrites anything inside it. Where a containing project or milestone has a target, Hydrant shows it beside the item's own target as context, labelled **Project** or **Milestone**.

### Confirm the planning calendar

Periods start and end at midnight somewhere. Pick where, once.

1. An Admin opens **Settings › Planning calendar** (or **Confirm a calendar** on the Roadmap).
2. Choose the **Planning timezone**, a named zone like America/Chicago. Hydrant suggests yours.
3. Check the preview of the current month's start and end, then click **Confirm planning calendar**.

"One calendar. Fewer interpretations." This timezone sets period boundaries for Roadmap and [Insights](/help/planning/insights). Cycle schedules and personal snoozes keep their own timezones. Changing it later (**Change planning timezone**) only affects current and future reviews; past reviews keep the timezone that applied when their period started. **Calendar history** lists every change and who made it.

### Set a target

1. Click the target chip (the flag) on an issue's **Target** row, in a project's header, on a milestone, or on any Roadmap row.
2. In **Delivery target**, choose **Year**, **Quarter** or **Month**, then the period. "Know the quarter? Use the quarter." Don't claim a month you can't name.
3. Optionally open **Add a reason** and fill in **What changed?**.
4. Click **Set target** (or **Save target** when changing one).

The dialog tells you what kind of change you're making: set, narrowed, broadened, brought forward or deferred. A deferral is labelled honestly: "This changes the target, not delivery status." **Clear target** removes it, and the old one "stays in the receipts". **Planning history** in the same dialog shows every earlier target. You can target a period that has already ended; the review will say so.

### Read the Roadmap

Open **Roadmap** in the sidebar. Periods with anything targeted are listed in order, each with counts of projects, milestones and issues, a date range and a **Past**, **Current** or **Upcoming** tag. The current period opens by default. Inside, each period has three lanes: **Projects** (outcomes), **Milestones** (checkpoints) and issues.

The toolbar changes what you see:

- **Contained** (default) folds narrower targets into wider ones: a quarter includes its months, a year includes its quarters and months, each counted once. **Exact** shows only items targeted at exactly that period.
- **Standalone only** (default) lists issues that aren't in a project, because project work has its own lane. **Including project work** lists them all.
- **Jump to** focuses one period.

Rows flag trouble: an issue that depends on a blocker targeted later, a blocker with no target at all, or an item targeted later than its project or milestone. **Unscheduled** at the bottom links to everything without a target.

### Move several issues at once

Tick issues in a period, click **Move N issues…**, choose the new period and an optional reason, then confirm. Only the selected issues change; their projects, milestones and sub-issues keep their own targets. Hydrant applies them one by one and shows which succeeded. If one can't be confirmed, **Retry the original command** resends exactly the same change.

### Review a period

Focus a period with **Jump to** or **Focus and review**, then click **Review period**. Set **Cutoff** to **Period end** or **Now**.

The review counts projects, milestones and leaf issues separately. It splits each into:

- **Opening scope:** what was targeted at this period when it started.
- **Added later:** what was targeted after it started.

Each item ends up **Delivered**, **Moved**, **Canceled**, **Cleared** or **Unfinished**. The opening scope never shrinks. Deferring, clearing, canceling or trashing an item doesn't remove it from the count. "Moving the date isn't shipping." Something delivered after the period ended is shown as late. Something already delivered before the period opened doesn't count as this period's delivery.

## What you should see

A Roadmap where each period says, in plain numbers, how much is aimed at it. After a period ends, its review reads something like "Four delivered. Two moved. One canceled. One still open." Parent issues appear as context and aren't counted, so a parent and its children don't count twice.

## If it goes sideways

- **"No planning calendar yet."** Targets work; reviews wait for an Admin to confirm the timezone under **Settings › Planning calendar**.
- **"Planning history is incomplete."** The period started before Hydrant was recording targets, so its opening scope before that point is unknown. Hydrant says so instead of guessing.
- **You can't change a project or milestone target.** That needs an Admin or the Owner. Issue targets don't.
- **An issue isn't in its project's period.** Targets don't inherit. Give the issue its own target, or switch to **Including project work** to see it in the project lane.
- **A period shows only the first 100 rows.** Use **Open in issues** to see the full list with a filter.
- **"Save not confirmed. Check the current target before retrying the original change."** The save may or may not have landed. Open the target, check it, then retry.

Contact: bots@hydrant.dev
