Paths/Backend Engineer/Service Design & Reliability / Production Readiness
Change the Contract Safely
Old clients and new servers have to coexist for at least one deployment. Write the expand and contract plan that makes that possible.
Validator
⏱ 0:00
IDLE — checks run live as you type commands; submit when done
01Requirements
live checks- File ~/backend/services/compatibility.md exists○
- The document describes the expand step○
- The document describes the contract step○
- The document states the backward compatibility rule○
02Walkthrough
1 of 4 revealed- 01
Describe the expand step
Add the new field and keep the old one. Both are valid for as long as old clients exist.
echo '# Changing a contract safely\n\n## Step 1 - expand\n\nAdd the new field and keep serving the old one. Nothing breaks, because both shapes are valid.' > ~/backend/services/compatibility.md - 3 locked · each failed submit reveals one
03Stuck?
0 of 3 revealedTake a hint without losing the lab — each one points at the thing to look at, not at the answer.
04AI Tutor
guides, never solvesTell me what you're stuck on — I'll nudge, not solve. Which requirement are you looking at?
04Notebook
saved locally in this browserlearner@lab — ubuntu:24.04
Session is disposable
↑/↓ recalls commands · Ctrl+Enter submits · type help for the command list