Paths/Backend Engineer/Service Design & Reliability / Boundaries & Contracts
Publish the Event Contracts
An event is a promise to every consumer, present and future. Write the contract with the version, the schema and the owner.
Validator
⏱ 0:00
IDLE — checks run live as you type commands; submit when done
01Requirements
live checks- File ~/backend/services/events.yaml exists○
- The config names the events and their versions○
- The config points at the schema and the owning service○
02Walkthrough
1 of 3 revealed- 01
Write the first event
Every event carries a name, a version and the schema it follows. The version is what lets you evolve it later.
echo 'events:\n - name: order.created\n version: 2\n schema: schemas/order_created_v2.json\n owner: orders-service\n consumers: [payment-service, notification-service]' > ~/backend/services/events.yaml - 2 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