本卡屬 FR-192(母卡 FR-192 母案(同清單上一張)),卡 M-4,批 4。只改 BE(主 repo,Repo 欄空著)。依賴:M-3、I-1。

這張卡做什麼(白話)

主系統到 Agent 的回拉。設定通道加一類「這台 Agent 送出的回饋現況」(用 I-1 的查詢加對照表的已刪列),並把既有的「表一改就通知 Agent 來拉」機制加上回饋相關的四張表。🔴 只通知那一台(來源編號對到的 Agent),不是全租戶,否則任何人改任何回饋所有 Agent 都來拉。主系統端刪回饋時對照表要寫刪除時間,才知道要告訴 Agent「已不存在」。

reuse/extend/new

extend:_agent_config_sections.py 加 feedbacks provider(用 jedi-issue list_by_source +對照表 deleted 列);_agent_config_notify._WATCHED 加 feedback_issues/issue_upload_files/issue_label_mapping → KIND_FEEDBACKS、labels → KIND_FEEDBACK_LABELS(只通知該 source_ref 那台,照 remote_agents name 的單台通知形狀);主系統端刪回饋時對照表寫 deleted_at(掛 jedi-issue delete 後,走 ORM after_delete 事件或 intake service 共用函式)

在哪裡

repo:~/Projects/Billows/Audit-Manager/compliance-manager-be
改既有:core/plugins/_agent_config_sections.py
改既有:core/plugins/_agent_config_notify.py 27(_WATCHED)
改既有:app/remote_agent/service/agent_feedback_intake_service.py(刪除路徑共用的 mark_deleted)
改既有:test/test_agent_feedback_intake.py
新開:core/plugins/_agent_feedback_state.py(provider 本體,照 `_agent_vulndb.py` 形狀)

怎麼做

驗收(首腦照這個驗)

主系統改 Agent 來的回饋標題 → agent_requests 多一列 config_changed 只對那台 → Agent 拉 GET /agents/config?versions=feedbacks:舊 回新內容;改 web 來的回饋不通知任何 Agent;主系統刪該筆 → provider 回該 local_uid deleted=true;改 labels → 通知 feedback_labels;BE 重啟實打

必讀