Fail-forward 的核心概念是「當回退代價高於前進修復時,用受控方式往新狀態完成修復」。它連接 rollback strategyfallback planincident decision log,不是忽略失敗繼續推進。

概念位置

Fail-forward 位在 rollback windowcontainmentpost-incident review 之間。Rollback window 關閉後,團隊仍需要一條能限制影響、補資料、完成相容收斂的前進路線。

可觀察訊號

系統需要 fail-forward 的訊號是:

  • 舊資料語意已被 contract 或不可逆寫入移除
  • 回退會造成更大的資料不一致或客戶影響
  • 新路徑有明確修補方案、停損條件與 owner
  • 事故 decision log 需要記錄為何不回滾

接近真實網路服務的例子

資料庫 migration 已完成 contract 後,舊欄位被移除,回到舊版本會讓讀取路徑失效。此時比較可控的做法可能是暫停部分寫入、修補 mismatch、補 validation query,再讓新路徑收斂到可用狀態。

設計責任

Fail-forward 要定義 containment、修補步驟、預期效果、停止條件與回寫項目。它要搭配 evidence packageaction item closure,避免「不能回滾」被誤用成沒有證據的硬推。