Migration guidance check
Check whether a breaking change comes with clear steps for users to migrate.
F@fProblem
Breaking changes ship with a one-line note, and users learn the migration steps from each other in the issue tracker.
Goal
Ask the author for migration steps before release, when they still remember what changed.
Input / state
PR description, changelog entry and docs changes.
- description
- PR description.
- docs_changes
- Changelog and documentation changes in the PR.
- breaking_change
- What breaks, from the previous step.
Decision question
migration_guidanceHow clearly does this pull request tell users how to migrate?
Options
clear_stepsSays what changed, what users must do, and shows before and after.partialMentions the change but leaves out what to do or an example.missingNo migration information at all.
Allowed outcomes
Decided in your code from the answer and its confidence. Thresholds are yours to set and test.
- Clear stepsChoice is clear_steps and confidence meets your threshold.
- Ask for more detailChoice is partial and confidence meets your threshold.
- Ask for migration notesChoice is missing and confidence meets your threshold.
- Maintainer checksConfidence is below your threshold: probability is spread across options.
Example scenarios
Predefined demonstrations. No model is called; the outcome shown is an illustrative judgment.
Example state
{
"description": "Rename --out to --output",
"docs_changes": "CHANGELOG: --out renamed to --output. Replace `tool --out f` with `tool --output f`.",
"breaking_change": "CLI flag renamed"
}Outcome
IllustrativeChoice is clear_steps and confidence meets your threshold.
Why
Says what to change, with an example.
Using it well
- Show authors a short example of good migration notes in the reply; it saves another round.
Request definition
POST https://api.typesafe.ai/v1/systemone{
"model": "jev-latest",
"state": {
"description": "<description>",
"docs_changes": "<docs_changes>",
"breaking_change": "<breaking_change>"
},
"questions": {
"migration_guidance": {
"type": "choice",
"instructions": "How clearly does this pull request tell users how to migrate?",
"criteria": {
"clear_steps": "Says what changed, what users must do, and shows before and after.",
"partial": "Mentions the change but leaves out what to do or an example.",
"missing": "No migration information at all."
}
}
}
}Request shape from the System One API reference; a Kev server accepts the same body. Replace the placeholder state with your data. Requests need your own API key or server.
Version History
Initial version