本卡屬 FR-167(母卡 CM-3241),卡 P3-2b,階段 P3 更新中心、批 3。只改 BE(主 repo,Repo 欄空著)。依賴:P3-2a。

這張卡做什麼(白話)

更新中心的「發現與下載」:每天凌晨自動問更新站一次、也可以手動立即檢查;有新版通知管理員;按下載後背景下載、斷線續傳;下載完驗簽章與雜湊,驗不過就刪;離線客戶可以自己上傳包,走同一條驗證。

為什麼切這一張

對外連線、續傳、驗章三件事都要嚴;清單過期(D31)與降版拒收在這裡擋

reuse/extend/new

extend:排程照 scheduler_agent.py 形狀新檔、scheduler.py 一行;上傳 reuse vulndb 的 chunk 三端點做法;通知 reuse notification_service;驗章 reuse jedi-license-runtime public_keys 的 kid 查表+/etc/guidant/release-keys

在哪裡

repo:~/Projects/Billows/Audit-Manager/compliance-manager-be
改既有:core/scheduler.py 714(一行)
改既有:app/product_update/service/product_update_app_service.py
改既有:api/product_update/routes/product_update_route.py
新開:core/scheduler_update.py
新開:app/product_update/service/update_site_client.py
新開:app/product_update/service/package_downloader.py
新開:app/product_update/service/package_verifier.py

怎麼做

細節在 design.md §5 對應段(~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/features/FR-167-2610-online-update-channel/design.md,開 design.html 看導覽);本段只列本卡要做到的點:

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

DEV 指向本機 wrangler dev:每日 03:00 與「立即檢查」都寫 last_check、有新版發通知;下載中斷重啟續傳;改一位元組驗章失敗並刪檔;離線上傳同一條驗證路;過期清單(issued_at+90d)拒收;版號 ≤ 現行拒收

對照雛形:~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/features/FR-167-2610-online-update-channel/prototype/index.html(上方「跟著走」)。

紀律