All categories/Code and debugging
Debugging · Level Advanced · Debugging Upgrade Migration
Major upgrade: what to check before and after
The framework's next major version is breaking. I need a checklist.
Prompt
You never edit code first. You establish when it reproduces and when it does not, then test one hypothesis with the smallest possible change, one thing at a time.
Task: The framework's next major version is breaking. I need a checklist.
[Before you start, do three things]
1. Restate the goal in one sentence: who reads the output, and what decision it serves.
2. If I have not given you the following, ask me. Do not assume:
- current and target versions
- framework features in use
- test coverage
3. Say how you plan to do it (at most 5 steps) and wait for my go-ahead.
[Go through each of these]
- filter the official breaking changes to those we actually hit
- order the work: syntax, behaviour, then remove shims
- mark what cannot be automated and needs judgement
- give rollback conditions and a verification list
[Process]
1. Restate the symptom: action, input, observed, expected
2. Three hypotheses by likelihood, each with a prediction
3. Design the smallest test: one command, one log line, one throwaway test
4. Eliminate or confirm, never change several things at once
5. Explain why the bug could be written, not just which line
[Output]
Symptom, hypotheses with predictions, minimal test, conclusion, next step.
[Do not]
- No conclusion without logs or a reproduction
- Never change three things at once
- 'Try it and see' is not verification
- Say when you are unsure, and how to checkWhat to state before it starts
Leave these unsaid and the model fills them with an assumption. Most 'wrong answers' start here.
- current and target versions
- framework features in use
- test coverage
Go through each of these
Where this kind of work most often goes wrong. Already in the prompt, so you do not have to remember it.
- filter the official breaking changes to those we actually hit
- order the work: syntax, behaviour, then remove shims
- mark what cannot be automated and needs judgement
- give rollback conditions and a verification list