<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents**  *generated with [DocToc](https://github.com/thlorenz/doctoc)*

- [TODO: `<Project Name>` — milestone conventions](#todo-project-name--milestone-conventions)
  - [Creating a missing milestone](#creating-a-missing-milestone)
  - [Defaults and policy](#defaults-and-policy)
  - [What the milestone unlocks](#what-the-milestone-unlocks)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

<!-- SPDX-License-Identifier: Apache-2.0
     https://www.apache.org/licenses/LICENSE-2.0 -->

# TODO: `<Project Name>` — milestone conventions

The project uses GitHub milestones on its `<tracker>` repository to
pin an issue to the release it ships in. Milestones are the hand-off
signal from the remediation developer to the release manager; the
`security-issue-sync` skill creates and assigns them as part of the
`pr merged` → `fix released` transition.

TODO: list every milestone format the project uses, one row per
release train.

| Milestone format | Applies to scope label | Example | Source of the version |
|---|---|---|---|
| TODO: e.g. `Foo-X.Y.Z` | TODO: scope label that triggers this milestone format | TODO: e.g. `Foo-2.6.2` | TODO: release-plan page / `[RESULT][VOTE]` thread |

## Creating a missing milestone

TODO: the `gh api` recipe the sync skill uses when the needed
milestone does not yet exist in `<tracker>`. Most projects keep
this as:

```bash
gh api -X POST repos/<tracker>/milestones \
  -f title="TODO: milestone title" \
  -f description="TODO: optional short description"
```

## Defaults and policy

TODO:

- Default milestone for a new patch-train security issue.
- Legacy milestones that exist in the tracker but should not receive
  new security fixes.
- Policy for bumping a fix to the next **minor** release instead of
  the next patch (high-risk changes, bundles with other changes).

## What the milestone unlocks

Once the milestone is set on a `pr merged` tracker, the
`security-issue-sync` skill watches for the release to ship and
proposes the `pr merged` → `fix released` label swap, which hands
ownership off to the release manager for steps 13–15. See the
repo-level [`../../README.md`](../../README.md) for the step-by-step
lifecycle.
