Plan from the supplied facts
Fictional one-shot messages have old format O or new N. Old readers accept O only; proposed dual readers accept O and N. Old writers emit O; new writers emit N. There is no stored backlog in this model. All active readers must accept a writer’s format before that writer is introduced.
| Reader / writer | Format emitted | Compatible |
|---|---|---|
| Old / old | O | Yes |
| Old / new | N | No |
| Dual / old or new | O or N | Yes |
Work through the choice
Move all readers to dual capability while old writers remain, then introduce new writers. The intermediate dual/old state is compatible, unlike old/new.
Which side changes first under this supplied contract?
Show the worked answer
All active readers move to dual-format first. New writers follow only after that condition; historical data or backlog would require additional migration work outside this model.
Material to use in your plan
Write a matrix of reader versions versus writer outputs, mark valid states and draw a transition path through valid states only. Add backlog and stored-data requirements before using it for a real change.