調查與修復

修復執行

每個問題一個代理,在單一對話串中得出判定、追出原因並開啟pull request,你可以從頭讀到尾。

修復執行是代理處理一個問題的過程。每個問題最多得到一次:一個類型為fix_run的對話串,它得出判定,並在問題確認時在同一段對話中持續處理到修復。

它做什麼

對話串是你閱讀完整經過的地方:進行中的工作、在脈絡中一鍵可及的證據,以及最後的結果。執行會讀取警示或發現、它背後的查詢、觸發前後的近期指標與日誌、最近的變更與你的程式碼。在採取行動前,它會在對話串中寫下因果鏈:訊號、機制、產生它的元件與程式碼路徑、觸發條件與影響範圍,每一環都有具名的證據支持或標記為未知。

它如何運作

  1. 當檢查或已連接的警示產生發現、聊天對話串中的代理從你正在討論的狀況開啟問題,或你在問題上選擇Investigate時,執行就會開始。
  2. 代理讀取證據並得出兩種判定之一,confirmed或dismissed。與既有問題相符的發現會併入該問題,而不是開始第二次執行。
  3. 問題確認後,同一個代理追出原因並寫下因果鏈。
  4. 當已連接儲存庫中的程式碼變更能修復原因時,執行會透過Autofix開啟pull request。當沒有pull request能修復它時,執行會提出一筆升級,指出人必須做的事。
  5. 每一步都落在問題的活動時間軸上,與偵測、重新偵測及你自己的筆記並列。

結果

每一輪代理結束後,Polylane會為執行分類。

結果說明
resolved找到根本原因,且問題已修復或已復原。
diagnosed找到根本原因,但修復尚未落地。
inconclusive代理無法確定原因。
false_positive這個發現並未指向真正的問題。
failed執行以錯誤結束。

執行也可以停駐,這會讓監控在問題解決前不再推動它重新調查。

停駐狀態說明
needs_human_action修復需要只有你能做的事。
needs_decision代理在繼續前需要你的決定。
awaiting_change代理正在等待修復上線,例如等待審查的pull request。這個狀態會安靜地停駐。
failed執行遇到它無法繞過的錯誤。

三種需要人的狀態會被記錄為升級,顯示在對話串的結果卡片上並列在Needs you預設集底下,所以同一個請求永遠不會通知你兩次。

在哪裡找到它

修復執行與聊天對話串一起出現在Threads底下,Needs you預設集列出正在等人的那些。對話串側欄中的Lineage保存執行背後的記錄:Issue開啟證據與問題的時間軸,Escalation開啟代理向你提出的請求並附有Mark as handled,Check則開啟偵測到問題的那次評估。問題的選單提供Investigate、Investigate again、View investigation與View triggering check。

設定

在Settings > Workspace底下,Investigations卡片設定Investigate automatically from:自行啟動修復執行的最低嚴重程度。低於它的問題保留判定並被暫留,它們的對話串提供Start investigation,讓你團隊中的某人可以接手。判定永遠不會被暫留:每個已確認的問題都明確地顯示為已確認,下限只推遲後續的工作。

相關頁面

  • 問題:每次修復執行所處理的記錄。
  • Threads:閱讀、停止與分享執行。
  • Escalations:停駐的執行提出的請求。
  • Autofix:執行開啟的pull request。