本卡屬 FR-166(母卡 CM-母卡號(建完補)),卡 P0-5,階段 P0 底層、批 1。只改 jedi-python-package。依賴:無。
主系統這邊的套件加兩張表(離線操作者、Agent 自主執行紀錄)、Agent 表加六個新欄、三個新能力點,照套件既有的分層形狀。
兩個 aggregate、RLS、唯一鍵、能力點契約一次定;形狀照套件既有
extend:照套件既有 domain→repo→service 形狀加兩個 aggregate;能力點進既有 plugin/contract.py 清單
repo:~/Projects/Jedicogy/module/jedi-python-package
改既有:jedi_remote_agent/plugin/contract.py
改既有:infra/remote_agent/model/remote_agent.py 87
改既有:domain/.../remote_agent_domain_service.py 171
改既有:migrations/011-remote-agent-offline-operators.sql(新號)
新開:domain/offline_operator/*
新開:domain/local_run/*
新開:infra/offline_operator/*
新開:infra/local_run/*
新開:app/service/offline_operator_service.py
新開:app/service/local_run_service.py
細節在 design.md 對應段(~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/features/FR-166-2610-agent-standalone-console/design.md §5,開 design.html 看導覽),本段只列本卡要做到的點:
011-remote-agent-offline-operators.sql:兩表(欄位照 design §5.1/§5.4)、RLS FOR ALL、agent_local_runs 唯一 (agent_id, local_uid)、remote_agents 加 console_allow_cidr/outbox_size/local_admin_set/uptime_sec/restart_requested/ldap_source;照 010 的註解形狀。plugin/contract.py 加 run-local-scan/net-diag/restart 三個能力點名。remote_agent 怎麼分的)。test_rls_all_tenant_tables.py。DEV 套 011 後 \d compliance.remote_agent_offline_operators/agent_local_runs 有 RLS 四指令;test_rls_all_tenant_tables.py 綠;service 單元測試綠
對照雛形:~/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。