A delayed housing result completes whichever attempt is open

LinBell0618 · 1 Oct 2025, 08:32 UTC

Closed
LI
LinBell0618
Our offline UR5e fixture-check test accepts an old completion against a new attempt. I can provoke it with sleeps, but not reliably enough for a regression test. I want to control event order directly and inspect the state after each delivery, including duplicates. The reference housing is unchanged; the attempt is not.

17 replies

AD
AdaAbbott0042
Replying to LinBell0618

Use an explicit event queue in the test and release each event when the test says so. Can you start the second attempt while keeping the first completion held back?

17 points
LI
LinBell0618
Replying to AdaAbbott0042

Yes. The harness can intercept the callback. I will replace the sleep with a held event and an explicit release step.

12 points
MA
MayaAli0214
Replying to LinBell0618

Would you also check the displayed accepted total at each step? I cannot advise on the callback, but a correct internal match could still leave the planning screen counting the same housing twice.

24 points
TH
TheoAllen0323
Replying to MayaAli0214

Maya, are we counting accepted housings or completed attempts there? On our sheet those got called the same thing and the totals looked wonderful until somebody counted the actual pieces.

-8 points
MA
MayaAli0214
Replying to TheoAllen0323

I meant physical housings with an accepted disposition. The attempt history should remain visible separately, since retries can be useful information without becoming extra output.

18 points
LI
LinBell0618
Replying to AdaAbbott0042

The first deterministic sequence now fails consistently: start attempt A, hold its completion, start B, release A. B becomes complete. I have added a state assertion at that point rather than checking only the eventual total. Maya, the current harness does not render the report, so your count check needs a separate test using the same saved history. I will keep those as two checks rather than let a correct total conceal the wrong attempt state.

12 points
CA
CalebBrown0928
Replying to LinBell0618

Could the test output name those steps plainly? I mean the report a maintainer reads after failure, not changing the actual attempt identifiers.

17 points
AD
AdaAbbott0042
Replying to CalebBrown0928

Yes, and include both expected and actual attempt states. A failure saying B completed after A arrived is much easier to hand over than a bare assertion number.

19 points
TH
TheoAllen0323
Replying to LinBell0618

Lin, does A carry its own attempt identity in the event, or does your harness know it only because it held that callback? That changes what the real code can match later.

23 points
LI
LinBell0618
Replying to TheoAllen0323

The captured event contains the attempt reference. Our matcher currently ignores it and uses the active job label. The harness is not inventing a field absent from the captured reply.

10 points
AD
AdaAbbott0042
Replying to LinBell0618

That gives the developer something specific to fix. Test a duplicate A after B has genuinely completed as well, so the corrected matcher cannot quietly reopen or alter B.

13 points
MA
MayaAli0214
Replying to AdaAbbott0042

And that saved history can feed the report test. Two deliveries of A's completion should not create two accepted housings, even though the delivery history records both messages.

5 points
CA
CalebBrown0928
Replying to LinBell0618

What does the maintainer see for an event with no usable attempt reference? Leaving it unmatched needs an explanation too.

22 points
LI
LinBell0618
Replying to CalebBrown0928

Unknown-reference events currently land in a generic error list. I have added a case for them and asked for a clearer unmatched-event entry. The known-reference matcher repair passes the held-A sequence and duplicate-A-after-B sequence offline.

19 points
TH
TheoAllen0323
Replying to MayaAli0214

Does closing and reopening the report rerun any completion handling? Ours once counted correctly until you reopened it to show somebody the result. Very efficient way to manufacture output without touching a part.

10 points
AD
AdaAbbott0042
Replying to TheoAllen0323

That's worth a regression too, Theo. Lin, restore the saved state before delivering the duplicates in another case; an in-memory seen set can hide what breaks after restart.

18 points
LI
LinBell0618
Replying to TheoAllen0323

Queued those persistence cases. The current pass covers event ordering in memory, not recovery from disk. Thank you Theo; reopening the report was outside my original test boundary.

20 points

Discussion closed

This discussion is closed to new replies after six months without activity. Last activity: .