本卡屬 FR-166(母卡 CM-3109),批 6。repo:jedi-packages。只改 jedi-remote-agent。由首腦在驗收 P3-2(CM-3133)、P2-5(CM-3128)時發現。
兩件事:①Agent 補傳執行紀錄時,同一批有的附報告、有的沒附,主系統這邊整批存不進去(500),斷線補傳會永遠卡住。②主系統簽給 Agent 主控台的登入票,還不會帶手動掃描、網路除錯、重啟三個權限。
repo:~/Projects/Jedicogy/module/jedi-python-package
改:jedi-remote-agent/jedi_remote_agent/infra/local_run/repository/local_run_repo_impl.py(insert_ignore_duplicates)
改:jedi-remote-agent/jedi_remote_agent/plugin/contract.py(CONSOLE_SCOPE_CAPABILITIES)
改:對應測試
insert_ignore_duplicates:現在用 v is not None 把空欄位濾掉,造成同一批各列欄位不一致,SQLAlchemy 多列 INSERT 丟 CompileError。改成每列放同一組欄位(None 也放),server default 欄位(id、created_at、updated_at)照舊排除。補一支「同一批有附 summary/report_ref、也有沒附」的測試,含突變(改回濾 None 要紅)。CONSOLE_SCOPE_CAPABILITIES 加三組:("run-local-scan", "detection.remote-agent.run-local-scan")、("net-diag", "detection.remote-agent.net-diag")、("restart", "detection.remote-agent.restart")。檔內那句「等 agent 認得才能加」的陷阱註解要改成現況(Agent 端由同批 P3-0b 加上)。契約測試的凍結清單一起更新。OFFLINE_OPERATOR_SCOPE_CAPABILITIES 是由 CONSOLE_SCOPE_CAPABILITIES 加兩組組成;加了 restart 之後,要確認離線操作者的範圍仍然不含 restart(D14:restart 不下放給離線帳號),必要時改成明列。pytest tests 綠(照前幾張卡的方式:BE venv+PYTHONPATH 指本套件)。.claude/rules/security/ 八支;動到認證/授權/密碼學要寫測試且含突變。