Skip to content

Commit 9baf871

Browse files
docs: add breaking changes and rerecord impact section
Co-authored-by: Kent C. Dodds <me+github@kentcdodds.com>
1 parent 47fbea9 commit 9baf871

1 file changed

Lines changed: 45 additions & 0 deletions

File tree

docs/upgrade-research.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,51 @@ Based on draft changelog + schema/doc diffs against `2025-11-25`, these are the
168168

169169
---
170170

171+
## BREAKING CHANGES (video re-record required)
172+
173+
Definition used for this section (per request):
174+
175+
- **Counts as breaking:** any change to exercise step solution code, added exercises, removed/replaced exercises, or changed code path demonstrated in videos.
176+
- **Does not count as breaking:** instruction wording updates, link updates, and other docs-only edits with no solution code changes.
177+
178+
Assumption: this follows the current-spec-only policy above (no legacy compatibility path in teaching).
179+
180+
### Confirmed breaking changes for this repo update
181+
182+
1. **Elicitation capability and API usage updates across solution code**
183+
- Current solution code uses form-only patterns (`capabilities?.elicitation` and `elicitInput` form flow) in multiple solution tracks.
184+
- Moving to current-spec teaching (mode-aware elicitation and URL-mode coverage) changes solution code behavior and shape.
185+
- **Video impact:** re-record all affected walkthroughs where these solution files are explained or exercised (not just the dedicated elicitation module).
186+
187+
2. **Sampling step solutions must change to teach tool-enabled sampling**
188+
- Current sampling solutions call `createMessage` without `tools`/`toolChoice`.
189+
- Current-spec curriculum requires explicit sampling-with-tools flows and capability gating (`sampling.tools`).
190+
- **Video impact:** re-record Sampling module videos for steps whose solution code changes (simple + advanced tracks).
191+
192+
3. **Long-running tasks module requires solution-code redesign for tasks**
193+
- Current module teaches progress + cancellation; current-spec advanced coverage should include task lifecycle (`task` metadata, `tasks/get`, `tasks/result`, `tasks/list`, `tasks/cancel`).
194+
- This is a code-path change, not just a narration change.
195+
- **Video impact:** re-record long-running-task videos for any updated/replaced steps; new task-focused steps require new videos.
196+
197+
4. **Exercise topology changes (added/replaced steps) are breaking by definition**
198+
- Adding URL-mode elicitation step(s), sampling-with-tools step(s), and task lifecycle step(s) creates net-new recording requirements.
199+
- Replacing/removing existing steps (if done) also forces re-records for affected module intros/transitions.
200+
201+
### Likely non-breaking (no re-record required)
202+
203+
1. Pure spec-link/date updates.
204+
2. Wording-only clarifications in README/exercise instructions.
205+
3. Draft watchlist additions that are additive-only and not reflected in solution code yet.
206+
207+
### If draft became official a week later: additional re-record risk
208+
209+
1. **Low additional break risk** if we already implement this update as proposed.
210+
- Draft deltas are mostly additive/clarifying (`extensions` capabilities, trace-context `_meta` reservations, sampling clarifications).
211+
2. **Potential re-record trigger** only if videos hard-code now-stale capability object examples and omit additive fields entirely as “complete schema.”
212+
- Mitigation: narrate capability objects as extensible and reserve `_meta` trace keys from day one.
213+
214+
---
215+
171216
## What is currently missing in this workshop
172217

173218
### New concepts that should be represented

0 commit comments

Comments
 (0)