本卡屬 FR-169(母卡 CM-3223(https://app.notion.com/p/FR-169-Agent-8-5-408346da4cd081eeb138ef3e49d3240e)),卡 B3,批 6。只改 BE(主 repo,Repo 欄空著)。依賴:A1、D1。
🔴 本卡是首腦母卡層總驗(2026-10-29)抓到的缺口補卡,三支套件已發版(jedi-file-protect 0.1.0、jedi-iam 1.10.0、jedi-masking 0.1.1),BE 主資料夾已釘版;不必再走 path dependency。前八張卡的成果在各 repo 的工作區 .worktrees/CM-3223(branch ws-CM-3223),本卡會在同一個工作坊底下開,直接疊上去。
首腦總驗時發現:Agent 主控台下載寫的本機稽核有帶「有沒有加密」(encrypted),但這筆事件隨心跳送回主系統時,主系統收事件的白名單沒有這一欄,所以主系統的稽核頁看不到 Agent 那邊是加密還是明文下載。這張卡把白名單補上這一欄,並確認 bool 值不會被既有的清洗函式丟掉。另外 D1 文件卡第 2 輪為了「只寫現況」把「總覽常駐警示、稽核頁標未加密」兩句拿掉了;F4 把那兩道警示做出來後,這張卡順手把 SPEC 與手冊補回去(本卡與 F4 同批,文件那段寫「F4 做出來的樣子」即可,不必等 F4 驗完)。
extend:core/plugins/_agent_console_audit.py _FIELDS 加 encrypted;_clean 目前把 bool 一律丟成 None(git log -L 查原因),encrypted 要能進 message(轉 true/false 字串或 encrypted 專用處理),不要另寫第二支 sink。文件:F4 做完後 security-policy.md 與手冊兩處補回「總覽常駐警示、稽核頁標未加密」(D1 第 2 輪為照實寫先拿掉)
repo:~/Projects/Billows/Audit-Manager/compliance-manager-be
改既有:core/plugins/_agent_console_audit.py(_FIELDS、_clean 對 bool)
改既有:test/test_agent_console_audit_sink.py
改既有:docs/spec-site/current/system-admin/security-policy.md
改既有:docs/user-manual/encrypted-download-guide.md
改既有:docs/spec-site/current/user-manual/encrypted-download-guide.md
core/plugins/_agent_console_audit.py:_FIELDS 加 "encrypted"。先 git log -L 看 _clean 為什麼把 bool 丟成 None(避免 state=True 這類誤寫),再決定:對 encrypted 轉成 "true"/"false" 字串進 message,其他欄位行為不變。不要另開一支 sink、不要在 Agent 端改欄名。test/test_agent_console_audit_sink.py:加一條——事件帶 encrypted: False 時 message 含 encrypted=false;帶 True 含 encrypted=true;不帶時 message 沒有 encrypted=。突變:把 _FIELDS 的那欄拿掉,測試要紅。docs/spec-site/current/system-admin/security-policy.md 開關段、docs/user-manual/encrypted-download-guide.md、docs/spec-site/current/user-manual/encrypted-download-guide.md)把關閉後的提醒補回三道:寫稽核、系統管理員全站頂部常駐橫幅(總覽也看得到)、稽核事件頁每筆下載標「未加密(保護已關閉)」。兩份手冊 diff 必須一致。core/console/audit.py 的 _REPORT_KEYS 已含 encrypted(A1 做的),只是主系統沒收。Agent 主控台下載一次後,主系統稽核事件頁 AGENT_FILE_DOWNLOADED 那筆 message 含 encrypted=true(開關關閉時 encrypted=false);既有 sink 測試全綠且新增一條「encrypted 進 message、沒帶時不出現」;兩份手冊 diff 一致
~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/features/FR-169-2610-download-file-encryption/design.md §3 決策、§5 詳細設計、§6 拆分表本卡那列~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/features/FR-169-2610-download-file-encryption/prototype/index.html(畫面①對話框、②開關、②b 關閉警示、③Agent、④稽核)~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/analysis/2026-10-29-download-file-encryption-approach.md