A write the proxy stopped past its time budget stays unknown for good, holding its mission #152

Closed
opened 2026-10-17 15:30:53 -04:00 by vinny · 0 comments
Owner

In lab run 10b (trial tpl-resilience-provider-socket.20261017T162125Z, CMO at about 1.1x), six missions.set_parameters writes (tanker settings) came back "socket command aborted: elapsed-time budget exceeded". Each was recorded outcome_unknown with no read-back due (verification_attempts 0, verification_due_at null), so it was never reconciled. Its mission stayed reserved until the trial ended, up to three hours later, and 51 later actions on those missions were rejected as resource conflicts: 41 missions.remove, 7 missions.set_parameters, 2 missions.assign_units and 1 missions.set_targets.

The coordinator schedules read-backs only after CMO answered the write (#131). A budget abort is the proxy's own completed reply: per wire.proxy_error_is_budget_abort, the command ran, perhaps in part, and nothing of it still runs. Its read-back can decide the outcome the same way, and the write is never sent again.

A write whose reply was lost (timeout, dropped connection) still waits for explicit reconciliation, since it may still run.

🤖 Generated with Claude Code

In lab run 10b (trial tpl-resilience-provider-socket.20261017T162125Z, CMO at about 1.1x), six `missions.set_parameters` writes (tanker settings) came back "socket command aborted: elapsed-time budget exceeded". Each was recorded `outcome_unknown` with no read-back due (`verification_attempts` 0, `verification_due_at` null), so it was never reconciled. Its mission stayed reserved until the trial ended, up to three hours later, and 51 later actions on those missions were rejected as resource conflicts: 41 `missions.remove`, 7 `missions.set_parameters`, 2 `missions.assign_units` and 1 `missions.set_targets`. The coordinator schedules read-backs only after CMO answered the write (#131). A budget abort is the proxy's own completed reply: per `wire.proxy_error_is_budget_abort`, the command ran, perhaps in part, and nothing of it still runs. Its read-back can decide the outcome the same way, and the write is never sent again. A write whose reply was lost (timeout, dropped connection) still waits for explicit reconciliation, since it may still run. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
vinny closed this issue 2026-10-17 15:31:41 -04:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
vinny/CMOnet#152
No description provided.