An account has been recorded, and confirmation is still pending.
| Interruption | What must remain owned? |
|---|---|
| Participant closes the browser | The owed message |
| Worker stops before delivery | The unfinished delivery |
| Process restarts | Any obligation promised to survive restart |
| New registration is retired | Existing pending work |
Identify the owner and storage needed for each row.
Engineering Depth
The reference keeps the obligation in its workshop object:
drop(work);
let delivery = shop.pending_confirmation().unwrap();
drop(delivery);
assert_eq!(shop.owed_messages(), 1);
Dropping either handle leaves one message owed. Destroying the workshop object loses its memory. A production story that promises restart recovery needs durable storage and source-safe recovery. CS-07, CS-09.
Your Reflection
Which interruptions does the reference survive? What must a durable version add?
Saved in this browser. Export a copy before changing devices.
Worked Discussion
It survives abandoned handles while the workshop object lives. It does not survive losing the process.
For retirement, decide how existing work will finish, migrate or be cancelled under proper authority. Removing the new-registration route does not settle those obligations.