# Contrat de ticket — Proposer / Apply-ticket / Auto-label

Ce document fixe le format minimal et les invariants des tickets d’édition.
Objectif : parsing fiable par scripts + workflows.

## Invariants (non négociables)
Doivent toujours exister dans le body du ticket :

- `Chemin: /.../`
- `URL locale: ...#...` (utile pour audit humain)
- `Ancre: #p-...`
- `Type: type/...`
- `State: state/...`
- `Proposition (remplacer par):`

## Texte actuel : best effort
Priorité :
1) `Texte actuel (copie exacte du paragraphe):`
2) sinon `Texte actuel (extrait):` + note de troncature

> Même si le texte actuel est un extrait, l’ancre + chemin rendent le ticket opposable.

## Catégorie (optionnelle)
- `Category: cat/...` (ou vide)

## Pourquoi ce contrat ?
- `apply-ticket.mjs` dépend de repères textuels stables
- `auto-label-issues` dépend de `Type/State/Category`
- on veut éviter des tickets “illisibles machine” qui cassent l’industrialisation
