Summary
RemoteBridgeSandboxBackend.execute() handles a few BridgeStoreError codes explicitly, then maps every remaining code to BRIDGE_WORKER_OFFLINE with transient=true.
This includes terminal conditions such as:
WORKSPACE_QUARANTINED
WORKER_MISMATCH
WORKER_QUARANTINED
ASSIGNMENT_FENCED
These conditions are not temporary worker outages, and retrying with fresh identifiers does not repair them.
Impact
Callers can retry an operation that should remain fenced or rejected, while the surfaced BRIDGE_WORKER_OFFLINE code hides the actual recovery action. In particular, a quarantined workspace requires an explicit reset rather than an automatic retry.
Suggested direction
Handle terminal bridge-store codes explicitly and return a non-transient backend error. An exhaustive mapping (or an explicit default for truly availability-related failures only) would prevent new store codes from silently becoming retryable.
Add focused tests covering mismatch, quarantine, and fenced errors and asserting both the public backend error code and transient === false.
Verified on current main (0eb0f3a30e984f23fa98d0cc48acc8abd21cb184).
Summary
RemoteBridgeSandboxBackend.execute()handles a fewBridgeStoreErrorcodes explicitly, then maps every remaining code toBRIDGE_WORKER_OFFLINEwithtransient=true.This includes terminal conditions such as:
WORKSPACE_QUARANTINEDWORKER_MISMATCHWORKER_QUARANTINEDASSIGNMENT_FENCEDThese conditions are not temporary worker outages, and retrying with fresh identifiers does not repair them.
Impact
Callers can retry an operation that should remain fenced or rejected, while the surfaced
BRIDGE_WORKER_OFFLINEcode hides the actual recovery action. In particular, a quarantined workspace requires an explicit reset rather than an automatic retry.Suggested direction
Handle terminal bridge-store codes explicitly and return a non-transient backend error. An exhaustive mapping (or an explicit default for truly availability-related failures only) would prevent new store codes from silently becoming retryable.
Add focused tests covering mismatch, quarantine, and fenced errors and asserting both the public backend error code and
transient === false.Verified on current
main(0eb0f3a30e984f23fa98d0cc48acc8abd21cb184).