本卡屬 FR-167(母卡 CM-3241),卡 P1-10,階段 P1 升級變安全、批 5。只改 BE(主 repo,Repo 欄空著)。依賴:P1-6。
升級成功後的收尾:只留上一版的映像與資料庫快照、更新包留到下次成功;診斷包把進度檔與更新單一起收進去並遮罩;更新中心按「下載診斷包」也是寫一張 type=diag 的單。
空間與可診斷性
extend:填 lib/upgrade_cleanup.sh;cmd_diag 收集清單加兩個檔(guidantai 超標,只加路徑列)
repo:~/Projects/Billows/Audit-Manager/compliance-manager-be
改既有:scripts/installer/lib/upgrade_cleanup.sh(P1-1 空殼)
改既有:scripts/installer/guidantai(cmd_diag 收集清單兩行)
細節在 design.md §5 對應段(~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/features/FR-167-2610-online-update-channel/design.md,開 design.html 看導覽);本段只列本卡要做到的點:
lib/upgrade_cleanup.sh:只留 pgdata-prev-<上一版> 與上一版映像,更早的刪;更新包留到下次成功;刪更新單;只記 warning 不中止。guidantai cmd_diag 收集清單加兩個路徑(進度檔、orders/),遮罩走既有 diag 遮罩函式;更新單 type=diag 由 upgrade_order.sh 分流到 cmd_diag --out upgrade/diag/<id>.zip。本機 docker:三個版本的假映像跑 cleanup 只剩兩個;更新包保留規則(最新成功那包留、更早刪)用假檔驗;cmd_diag 收集清單含進度檔與更新單且 grep 守衛抓不到密碼字樣;shellcheck 綠
測試期(不是你做):這張卡在 190 的真實情境是「190:升級成功兩次後只剩新版與上一版映像;更新單 type=diag 觸發後 upgrade/diag/ 出現 zip」,由首腦在測試期操作、決策者看畫面。你只要確保上面的本機驗收全過、程式對這個情境沒有寫死假設。
對照雛形:~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/features/FR-167-2610-online-update-channel/prototype/index.html(上方「跟著走」)。
docs/claude/domain-capabilities.md。三擇一、預設不新增:reuse → extend 加參數 → 都沒有才新增。回寫列出 reuse 了哪些、新增了哪些、為什麼不能 reuse。