We've suspended automatic resubmission at application startup. Our FR10 verification helper crashed between sending a plate request and saving its result. The local file still says pending, which also means not sent yet. Two very different jobs wearing the same label.
Does the saved entry have a request identifier you can match to the PLC? I would try to locate the existing request before anyone calls it a fresh job.
We had a screen where a failed lookup looked exactly like an empty queue. People naturally treated it as nothing to do. I'd give your unknown outcome its own visible state, with a route to reconcile it rather than a retry shortcut.
Draft now says outcome unknown beside the plate label. No automatic resend from that state. Developer is adding an attempt identifier and checking the handoff between saving intent and sending the request.
Sam, we recovered some results from the receiver's retained list, but not all. We left the rest unresolved. Fixing the screen didn't fill in the missing history.
Offline tests cover a crash before send, after send and before result save. The uncertain cases stay out of the send queue after reopening. Still need the end-to-end recovery check with controls.
Have you also tried a failed lookup during recovery? Rosa's empty-queue example sounds worth keeping in the tests, not just the crashes you already know about.