fix: classify timeout-aborted siblings as unknown

Merged
LL
2mo ago
+13-7

Summary

Post-merge follow-up to #234 for its remaining P1 review finding:

  • timeout escalation now rejects sibling in-flight requests with BridgeTransportUnknownOutcomeError instead of a plain Error
  • the existing repeated-timeout regression now asserts the exact error class rather than matching message text

This lets the merged #234 error contract append UNKNOWN/no-blind-retry guidance and keeps bash host fallback ineligible when a sibling mutation may already have executed.

Review finding: https://github.com/cortexkit/aft/pull/234#discussion_r3796200244

Verification

  • bun test packages/aft-bridge/src/__tests__ — 488 passed, 14 skipped
  • bun run --filter @cortexkit/aft-bridge typecheck
  • Biome check on both changed files

The commit is SSH-signed and based on the #234 merge commit 24744afe.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.


Summary by cubic

Classifies timeout-aborted sibling requests as unknown outcome. Previously these rejections used a generic Error; now they use BridgeTransportUnknownOutcomeError to prevent blind retries and keep bash host fallback ineligible when a sibling mutation may have executed.

  • BinaryBridge now rejects all pending requests with BridgeTransportUnknownOutcomeError when a sibling-timeout escalation kills the bridge.
  • Tests assert the error class instead of matching message text, preserving the repeated-timeout regression.
  • Migration: update any consumer logic that parsed error messages to handle BridgeTransportUnknownOutcomeError; do not retry or trigger host fallback on this error.

Greptile Summary

This PR refines timeout-escalation handling so sibling in-flight requests are explicitly classified as having an unknown outcome.

  • Replaces the generic sibling-abort error with BridgeTransportUnknownOutcomeError.
  • Strengthens the repeated-timeout regression test to assert the exact error class.

Confidence Score: 5/5

The PR appears safe to merge with no actionable defects identified.

The production change narrows the sibling-abort error classification without changing timeout reachability or cleanup behavior, and the updated regression directly verifies the intended contract.

Important Files Changed

FilenameOverview
packages/aft-bridge/src/bridge.tsCorrectly classifies requests interrupted by timeout-driven process termination as unknown outcomes, preserving no-blind-retry behavior.
packages/aft-bridge/src/tests/bridge-transport.test.tsUpdates the timeout-escalation regression to verify the sibling rejection’s structured error class rather than message text.

Reviews (1): Last reviewed commit: "fix: classify timeout-aborted siblings a..." | Re-trigger Greptile

Context used: