| 1 | --- |
| 2 | name: migration-guidance |
| 3 | description: Use when changing how a v3 public API maps to v4, editing migration annotations, or regenerating migration/v3-to-v4.md. |
| 4 | --- |
| 5 | |
| 6 | Update guidance when a v3 public module or API is renamed, moved, removed, |
| 7 | replaced, or gains a materially different v4 contract. A v4-only API without a |
| 8 | v3 counterpart does not automatically need an annotation. |
| 9 | |
| 10 | 1. Account for every affected v3 symbol. |
| 11 | 2. Read [annotations.md](annotations.md) before adding or changing annotation |
| 12 | YAML. Verify every suggested replacement against implementation and tests. |
| 13 | 3. When checking or regenerating the reference, or when the API change exists in |
| 14 | a committed ref, read [generation.md](generation.md). Otherwise report that |
| 15 | generation is deferred. |
| 16 | 4. When output was generated, inspect it for unrelated movement and stale refs. |
| 17 | |
| 18 | The task is complete when every affected v3 symbol is accounted for, annotation |
| 19 | replacements are verified, checks and generation succeed when the change is in |
| 20 | a committed ref, and every generated difference is explained. Report deferred |
| 21 | checks explicitly for uncommitted API changes. |