Prove state ownership
First complete the teaching lesson. Use the PocketCards codelab and this source revision for the practical work.
Your task
Read cancellationPreventsLateOutput and ratingWaitsForPersistenceAndRejectsDuplicateTaps in the pinned unit tests. Run both, then explain the injected failure.
Evidence to produce
Show that cancelled generation cannot publish a draft and a failed review save cannot advance the card. Include the final-card UI regression. Keep a small learning log in your own branch. Include the command or action you used, the expected result, the observed result and the reason for any difference. Do not include configuration values, tokens or private source notes.
Before checking the answer
Predict the outcome before you run the app. If the result differs, locate the responsible layer: input validation, ViewModel state, provider adapter, storage or rendering. Fixing the wrong layer can hide a symptom without meeting the requirement.
Review guidance
The request ID guards stale results; cancellation alone is not the whole state policy. Rating advances only after persistence succeeds.
Explain your decision
Which state survives rotation, and which survives process death in the current app? Answer with a concrete code reference and one observation from your run. If you can only repeat the terminology, revisit the lesson and demonstrate the behavior before moving on.
Check your work after attempting the exercise
The request identity invalidates obsolete results. Saving a rating must finish before advancement; a repository failure leaves the card available for retry. The final-card check belongs in device/UI evidence as well as state-level reasoning.
If your result differs: A passing happy-path test does not demonstrate a race or save failure. Point to the fake/deferred operation that controls timing or failure, then explain the exact assertion. Do not claim process restoration from a rotation test.
Ready to continue: Your learning log contains a prediction, an observed result and a source reference. You can explain the result without copying this guidance. Carry the evidence into the final assessment.