本卡屬 FR-167(母卡 CM-3241),卡 P4-5,階段 P4 Agent 跟進、批 5。只改 evidence-agent。依賴:無。
Agent 的升級指令比照主系統:每步時限、進度檔、失敗自動退回。既有兩份 install.sh 的升級邏輯收進 install-lib/,兩份都只剩一行呼叫。
Agent 包 1GB+,兩份安裝程式都超標
extend:既有 _upgrade_revert、upgrade_guard.sh 收進 install-lib/upgrade_runner.sh;deploy/install.sh 的 cmd_upgrade 委派新包安裝程式照舊(D30 同形)
repo:~/Projects/Billows/Audit-Manager/evidence-agent
改既有:scripts/install/install.sh 1387–1545(一行)
改既有:deploy/install.sh 1153(一行)
新開:agent/install-lib/upgrade_runner.sh
新開:agent/install-lib/progress.sh
細節在 design.md §5 對應段(~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/features/FR-167-2610-online-update-channel/design.md,開 design.html 看導覽);本段只列本卡要做到的點:
agent/install-lib/upgrade_runner.sh+progress.sh:形狀照主系統 P1-1(步名、時限、進度檔欄位同名);既有 _upgrade_revert、upgrade_guard.sh 的邏輯搬進來。scripts/install/install.sh 1387–1545 與 deploy/install.sh 1153 各改成一行呼叫;委派新包安裝程式照舊(GUIDANT_AGENT_UPGRADE_DELEGATED)。install-lib/ 隨包安裝。本機 docker ubuntu 容器:對假包跑 install-lib/upgrade_runner.sh → 每步時限、進度檔與主系統同欄位、失敗步驟自動退回;兩份 install.sh 行數不增;shellcheck 綠
測試期(不是你做):這張卡在 190 的真實情境是「lab 機(決策者指定一台):升級中 kill → 重跑或開機自動退回」,由首腦在測試期操作、決策者看畫面。你只要確保上面的本機驗收全過、程式對這個情境沒有寫死假設。
對照雛形:~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/features/FR-167-2610-online-update-channel/prototype/index.html(上方「跟著走」)。