Engineering note

Agree recovery responsibility before a timeout occurs

On this page

Agree what the system should do when the outcome of a transfer is unknown. A missed response leaves a question to resolve: what evidence establishes whether the requested operation started, completed, failed or remains in progress?

Write the recovery procedure alongside the normal interface contract. Identify who holds the authoritative operation record, which physical conditions must be checked and who can authorize the next action. Avoid making a new movement the default way to discover the result of the previous one.

Separate waiting limits from operation outcomes

Give each waiting limit a purpose: admission response, progress update, operation result or connection supervision. State what the consumer may conclude when that limit is reached. A waiting limit can trigger investigation or escalation without asserting a physical result that has not been observed.

For background on result availability, the ROS 2 Actions design describes configurable result caching. A reconnecting client therefore needs the actual interface's retention and restart behavior, rather than an assumption that every old outcome remains available. ROS 2 Actions design: result caching

Record the recovery decisions

The table is a project review aid. Populate it with the controller and equipment owners; it is not a procedure authorizing operation of an unknown machine.

Condition to review Evidence to seek Decision and owner to agree
No admission response Request identity and whether the receiver recorded it How to query or reconcile the request before a retry
Feedback becomes stale Last confirmed state, its age and available controller status When to pause dependent workflow and escalate
Result response is missing Authoritative result, request history and relevant physical state How an uncertain outcome is resolved
Connection returns Session/configuration identity and current operation record Conditions for restoring normal command handling
Controller restarts Preserved records, lost state and initialization status Who determines whether reconciliation is complete
Cancellation is requested Actual cancellation outcome and remaining physical conditions; a cancellation response alone does not establish that motion has stopped Who confirms the resulting state under the applicable equipment procedure
Duplicate request appears Identity, retained result and scope of duplicate detection Reject, return known result or follow another agreed rule
Evidence cannot resolve state Known facts, unavailable observations and affected equipment Named human escalation and release authority

Where a record is missing, document that limitation. Do not turn an empty result history into proof that no physical operation occurred.

Define the boundaries of a retry

Agree the identity used to associate requests and responses, how long relevant records are retained and what happens across restarts. Document which operations permit a retry under which confirmed conditions. Treat the duplicate-handling rule as an interface requirement to verify, not a promise inferred from a request ID alone.

Review these conditions with the hardware interface scope. Include the instrument's readiness and occupancy responsibilities where they affect the next handoff. Customer workflow logic and agreed instrument software remain with the customer team.

Use a recovery release record before another movement

When the operation outcome is uncertain, create one release record before the scheduler issues another movement. The record should combine interface evidence with the physical checks available for the agreed work package. Use the completion evidence worksheet to keep platform completion separate from instrument readiness and other external conditions.

Release record Minimum entry Decision value
Interruption identity Request reference, operation, interface/configuration revision and agreed time basis Prevents evidence from different requests or configurations being combined
Last confirmed interface record State or result, source, timestamp or sequence, and freshness limit Separates a retained record from an assumption about the current physical state
Physical observation Available position, occupancy, gripper, payload or instrument condition; observer and method Shows which relevant conditions were actually checked and which were not observable
Unresolved uncertainty What remains unknown and which actions are prohibited until it is resolved Stops a retry from becoming an uncontrolled diagnostic movement
Reconciliation outcome Not started; active (accepted, executing or canceling, as defined by the agreed interface); completed; failed; cancelled; or still unknown, with supporting evidence Provides one agreed interpretation for the platform and scheduler teams
Next allowed action The permitted action, its preconditions and the responsible executor Converts the review into a controlled recovery step rather than a general permission
Release authorization Named role, decision time, applicable procedure and linked evidence record Identifies who may close the hold and what remains in the audit trail

An active classification is not a terminal outcome or permission to start another physical action. Keep affected dependent actions on hold, continue monitoring through the agreed interface or use the authorized recovery path defined for the project.

If the available evidence cannot establish the current operation state or a terminal outcome, keep the unresolved state unknown, maintain the hold on affected dependent actions and escalate to the named authority. Do not replace a missing observation with a normal completion value.

Turn the table into acceptance evidence

Select interruption cases with the responsible engineers and include them in the agreed hardware FAT plan. Define the test arrangement, permitted fault injection, expected records and restoration procedure before execution. Perform physical recovery only under the applicable equipment procedures and authorized supervision.

For each case, retain the configuration, request reference, observed responses and release decision. Relate that evidence to the configuration and traceability record. Before freezing the acceptance criteria, add each gap in observation, record retention or ownership to the interface open-item list, with an owner and the evidence needed to close it.