本卡屬 FR-167(母卡 CM-3241),卡 P4-5,階段 P4 Agent 跟進、批 5。只改 evidence-agent。依賴:無。

這張卡做什麼(白話)

Agent 的升級指令比照主系統:每步時限、進度檔、失敗自動退回。既有兩份 install.sh 的升級邏輯收進 install-lib/,兩份都只剩一行呼叫。

為什麼切這一張

Agent 包 1GB+,兩份安裝程式都超標

reuse/extend/new

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 看導覽);本段只列本卡要做到的點:

怎麼驗(開發期:你在本機/DEV 就要能做完)

本機 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(上方「跟著走」)。

紀律