FR-172 · 需求索引 · 本頁由 build 掃資料夾生成

FR-172 Agent 獨立更新

修 Agent 不必再出一包主系統:安裝包、CI、R2 路徑、更新站版本線分家;主系統更新中心與 Agent 主控台都能發動 Agent 更新;進度與結果當下回報,不再借心跳。

狀態:結案(190 實測通過,正式版跟 FR-173) 文件 7 份 handoff 3 份

FR-172 Agent 獨立更新

母卡 CM-3401 https://app.notion.com/p/FR-172-Agent-Agent-Agent-19-10-40b346da4cd0811ead86d31470c1f4b7 ;子卡 CM-3402~CM-3420(19 張 10 批)。

§1

🔴 先看哪一份

文件 性質 看什麼
FINAL-SPEC.md 定版 現在長什麼樣:交付物、四種更新流程時序圖、程式在哪、做了哪些優化、沒做完的
for-pm-qa.md 說明(給 PM) 16 題問答:怎麼更新、升級期間會怎樣、包從哪來、出一版要多久
upgrade-flow-guide.md 說明(循序圖) 主系統升級、主系統發動 Agent、主控台發動三張循序圖+逐步表(同 FR-175 機制問答 #flow)
design.md → design-v1.1.md 設計 v1.0 定稿 D1~D12;v1.1 是 190 實測後的異動(推翻 D9)
handoff/190-test-feedback.md 證據 決策者 190 實測 24 條回饋原文
handoff/FR-172-LOG.md 歷史 每一棒做了什麼、推翻了什麼
§2

結論

主系統與 Agent 分開出包、分開上更新站、分開升級;Agent 不連外網,包一律經主系統轉手。主系統更新中心、Agent 主控台、離線上傳三種方式都能更新 Agent,按更新不必先預先下載,主系統手上不是最新就自己先下載再推。Agent 升級中自動進入維護模式、主控台鎖畫面,進度與結果即時回報,心跳不帶任何指令。測試機另有「同版重套」可重看升級流程,正式環境不會出現。像但不做:Agent 直連更新站、差異包、主系統發動時主控台即時鎖畫面(最慢 30 秒,先這樣)。

§3

📊 總進度

棒 卡 做什麼 狀態
1~3 CM-3401 探脈、討論稿、雛形、D1~D12 拍板、design、19 張卡 ✅ 2026-11-01
4 CM-3402~3420 工作坊 32 做完 19 張;1.28.0/Agent 1.5.0 出包;更新站部署兩條版本線 ✅ 2026-11-02
5 CM-3469(FR-172.1)、CM-3470~3476 190 實測 24 條回饋 → 修正 7 張;1.28.2/Agent 1.5.3 ✅ 2026-11-03
6 CM-3477~3479 測試機同版重套;190 實測再修 5 件;1.28.3/Agent 1.5.4、1.5.5 ✅ 2026-11-03
— CM-3401、CM-3469 決策者裁全部收 Done,往 FR-173 走 ✅ 2026-11-03

190 現況:主系統 1.28.3、Agent 1.5.5。出包時間:Agent 測試包 19 分 30 秒 → 15 分 52 秒。

§4

需求討論紀錄

  • 2026-11-01 決策者(189 推 Agent 1.4.8 時):「主系統跟 Agent 要分開更新」「不要像現在都包在同一包」「Agent 那邊也要有更新中心,可以離線更新或跟主系統發動更新需求」「R2 安裝包要分開」「不要再用心跳帶資料」。
  • 2026-11-01 決策者:Agent 不要能直接連更新站;主控台發動更新=主系統幫這一台更新(不是跳轉);171 與 172 討論稿一起看;172 要附雛形。
  • 2026-11-01 決策者:「所以現在應該是 171、172 一起做囉?」→ 首腦:一起討論、一起拍板,但兩個 FR、兩棵卡樹;172 的進度回報與主控台更新頁等 171 的通道卡。
  • 2026-11-01 決策者裁全部 D 項;補裁:不做舊客戶過渡(「沒有舊客戶」)、22 失敗 log 也要回主系統、25 Demo 兩 bug 併進一起修、待辦 61 開一張;CI 與簽章拆成 FR-173 排最後。
  • 2026-11-01 189 Demo 實測派工等 3 分 15 秒(心跳 5 分鐘間隔)→ 記進 FR-171 主題 A 當實證;CSP 擋 8444 與 CINC 報告格式兩個問題不屬本案,另開卡。
  • 2026-11-03 決策者 190 實測 24 條回饋;裁 Agent 區推翻 D9 改一步完成、升級中要維護模式與全視窗鎖定、主控台立即檢查要真的查更新站、更新包用完就清。
  • 2026-11-03 決策者:「190 升到最新後每次看新版升級畫面都得再出一版」→ 做測試機同版重套,兩個開關只開在 190。
  • 2026-11-03 決策者實測抓到:留著舊包時按更新推不出去(「你只是把按鈕解開而已」)、強制重新整理主控台沒 CSS、同版重套在 Agent 主機端被擋;三件當天修完重出 1.5.4/1.5.5 並實測通過。
  • 2026-11-03 決策者:主系統發動時 Agent 主控台最慢 30 秒才鎖,「先這樣」;測試包可以略過 SBOM;第三方固定映像要快取不要重工;Nuitka 不升版、不加 --lto=no。
  • 2026-11-03 決策者:「171~174 是一大組,出版既然沒問題就直接往 173 走」,172 相關卡全收 Done;正式版跟 FR-173 出 1.29。
§5

背景

FR-167 線上更新第一版把 Agent 包放進主系統包一起出,design 標「Agent 單獨更新第二期」;2026-11-01 為修兩個 Agent 問題重出主系統 1.27.10 並停機,決策者改判要做。FR-167 待辦 6/42/58/59/60/63 搬入本案。

§6

文件

以下全部由 build 掃資料夾產生,新增檔案重 build 即自動出現。標題連結指向渲染後的 HTML,md 連向源檔。

定版交付

文件 類型 標題 最後更新
FINAL-SPEC / md 定版交付 定版交付:主系統與 Agent 各自更新 2026-11-03

說明與手冊

文件 類型 標題 最後更新
for-pm-qa / md 說明/手冊 Agent 獨立更新問答 2026-11-03
upgrade-flow-guide / md 說明/手冊 升級執行流程 未提交

需求與討論

文件 類型 標題 最後更新
requirement-notes / md 原始需求 Agent 獨立更新與心跳改造(需求紀錄) 2026-11-01
discussion / md 需求討論稿 修 Agent 不必再出一包主系統 2026-11-01

設計

文件 類型 標題 最後更新
design-v1.1 / md 設計 設計 v1.1:190 實測後的異動 2026-11-03
design / md 設計 包分家、各自更新、進度即時 2026-11-03

交接與收口時間軸(handoff/,3 份)

由新到舊。每份是某一棒次交接當下的完整現況快照,看某個時間點「當時知道什麼」請從這裡進。

日期 文件 標題
2026-11-03 FR-172-STATE / md FR-172 交接現況(STATE)
2026-11-03 FR-172-LOG / md FR-172 交接紀錄(LOG,append-only)
2026-11-03 190-test-feedback / md 190 升級測試回饋(決策者 2026-11-03,陸續追加)

資產子資料夾(無文件,不建頁):prototype/(2 個檔)、screenshots/(1 個檔)