本卡屬 FR-167(母卡 CM-3241),卡 P1-3a,階段 P1 升級變安全、批 1。只改 jedi-python-package。依賴:無。

這張卡做什麼(白話)

主系統與 Agent 之間的心跳要多三件事:主系統可以說「暫停派新任務」(升級前排空)、可以告訴 Agent「你該升到哪一版、包多大」、Agent 可以回「我升成功或失敗」。套件改完直接發 beta 版給主系統用。

為什麼切這一張

Agent 與主系統的對外約定,一次定完;第一期(停派)與第四期(升級)都靠它

reuse/extend/new

extend:RemoteAgentAdapters 加 dispatch_gate(None=照常)與 update_extra;心跳收 upgrade_result 照 heartbeat_console.py 白名單收法;不動任務邏輯

在哪裡

repo:~/Projects/Jedicogy/module/jedi-python-package
改既有:jedi_remote_agent/app/service/agent_enrollment_service.py(心跳回應組裝、收欄位)
改既有:jedi_remote_agent/plugin/adapters.py(兩個 port)

怎麼做

細節在 design.md §5 對應段(~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/features/FR-167-2610-online-update-channel/design.md,開 design.html 看導覽);本段只列本卡要做到的點:

怎麼驗(開發期:你在本機/DEV 就要能做完)

dispatch_gate 回 False 時心跳不帶 pending 任務但照收結果(test);回應含 update: {target_version, bundle_sha256, size} 或 null;收到 upgrade_result 寫 remote_agents.last_upgrade_*;既有 tests 綠;版號 bump 到 1.9.0b1 並 poetry publish -r nexus(決策者授權發 beta),回寫寫明版號

對照雛形:~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/features/FR-167-2610-online-update-channel/prototype/index.html(上方「跟著走」)。

紀律