Our housing failed its first check and passed a reviewed retry. After application restart, the report counted the restored pass again. I want the failed attempt retained, but one accepted housing must not become two because a message returned. Where would you put that distinction?
Keep physical housing identity separate from attempt identity. Match each result to its attempt once, then derive accepted quantity from the unique housings with the appropriate acceptance decision. Do not count arriving messages as new pieces.
Both IDs exist already. The stored result is unique; the report adds one on receipt, including when it restores that result. So the first repair belongs in report counting.
Sofia, yes, test that separately from reconnect. Also cover a new legitimate acceptance so a counter that has merely stopped updating cannot pass the replay tests.
Owen, attempts remain under the housing with their outcomes. Sofia, reopening currently duplicates too. Both paths are in the fix review; neither is being called corrected yet.
Show held and rejected separately as well when the report is revised. They can both be excluded from accepted quantity while needing very different action from the person arranging the next work.