本卡屬 FR-166(母卡 CM-母卡號(建完補)),卡 P1-1,階段 P1 登入、批 3。只改 BE(主 repo,Repo 欄空著)。依賴:P0-5、P0-6。
主系統接上套件的新能力:三個新端點掛能力點、能力點 migration、白名單交集驗證、清單「離線操作者 0 位」查詢。
接線+一支主線 migration;形狀全有先例
extend:core/plugins/remote_agent.py 既有 adapters 加 port,新邏輯進 _agent_offline_operators.py(照 _agent_vulndb.py 先例);能力點 migration 照 FR-157 2026-10-22-fr157-agent-console-capabilities.sql 形狀
repo:~/Projects/Billows/Audit-Manager/compliance-manager-be
改既有:core/plugins/remote_agent.py 289
改既有:core/host_capabilities.py 275
新開:core/plugins/_agent_offline_operators.py
新開:scripts/sql/2026-xx-xx-fr166-agent-standalone-capabilities.sql
細節在 design.md 對應段(~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/features/FR-166-2610-agent-standalone-console/design.md §5,開 design.html 看導覽),本段只列本卡要做到的點:
core/plugins/remote_agent.py:adapters 接 P0-5 的 offline_operator/local_run port;_ADMIN_CAPABILITIES 登記三端點(本卡是 owner,一次登記本案全部主系統端點:授權 CRUD、local-runs 查詢、restart、ldap-config)。_agent_offline_operators.py:授權三核(agent 屬本租戶、user 屬本租戶、scope ⊆ user 既有能力點);CIDR 交集非空驗證;「0 位」查詢。2026-10-22-fr157-agent-console-capabilities.sql 形狀加 detection.remote-agent.{run-local-scan,net-diag,restart},路由綁 remote-agent-manage ANY;CAPABILITY_CATALOG/VERSION 加一。DEV 套 migration 後三能力點在;_ADMIN_CAPABILITIES 三端點登記;CIDR 無交集回 400;BE 重啟實打三端點 200/403
對照雛形:~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/features/FR-166-2610-agent-standalone-console/prototype/index.html(上方「跟著走」)。
docs/claude/domain-capabilities.md 與 FE docs/claude/frontend-overview.md §4。三擇一、預設不新增:reuse → extend 加參數 → 兩邊都確認沒有才新增。既有的是 stub/壞掉 → 修它或回報,不另寫繞過。回寫列出本卡 reuse 了哪些、新增了哪些、為什麼不能 reuse。if source == ... 分支。紅旗:複製一段既有函式改兩行、開 XxxV2/XxxForAgent、同一行為兩條路徑各自演化——出現就停下先抽共用。回寫列出哪些 extend 了既有的、哪些 new 及為什麼不能 extend。