FR-133 交接現況(STATE)

這份是 living 檔:每棒就地改,只描述「此刻」。歷史脈絡看同資料夾的 FR-133-LOG.md。

項目 值
最後更新 2026-10-10(第 2 棒,首腦,收尾結案版)
母案卡 CM-2601 https://app.notion.com/p/FR-133-Guidant-AI-Bugsink-12-3f4346da4cd0818084f8c209c274310b
設計文件 design.md(v3,D1–D11、拆分表含 T-M1)
卡片索引 notion-cards.json(CM-2601~CM-2624;22 Done、G1 暫緩)
收尾 SUMMARY 2026-10-10-FR-133-SUMMARY.md
Notion 回寫規範 docs/claude/notion-issue-tracker.md

🧭 原始需求 / WHY

產品進客戶 UAT,出錯時要在客戶自己的機器上看得到錯在哪一行、當下變數值、誰踩的、哪一筆請求。後端送錯誤報告的接線早已在產品內,缺的是收件站、篩選、前端接回與診斷包接口。本案讓每套 Guidant AI 隨安裝包自帶 Bugsink 2.6.1,裝機人員不輸入任何東西就建好站台、管理員、三個專案與連線字串;使用者失誤(4xx)與 ERROR log 行預設也送(2026-10-10 改案,可用環境變數關回只收程式錯誤);瀏覽器與受檢主機 Agent 經同一支要驗身分的轉送端點送進來;診斷包改從站台撈事件。

§1 現況

FR-133 arc 收尾完成(2026-10-10):20 張子卡驗收合格並改 Done,G1(CM-2622)暫緩,母卡 CM-2601 Done;T-E(CM-2613)文件由收尾批另一支 agent 處理。三環境與四台外部 Agent 都在最終版;不進版(主專案版號仍 1.26.0,image tag 為 1.26.0+新 commit)。

四個 repo(皆在 main、與 origin 同步,feature/FR-133 已併回)

repo 最新 commit
BE aba953f67 產品預設改全收(加上本檔所在的收尾文件 commit,未 push)
FE 7d1f64a0 前端錯誤回報登入後才接回(C2)
套件 ~/Projects/Jedicogy/module/jedi-python-package be05c2e4 classifier 1.6.5;jedi-log 1.3.6 在 95ffe840
Agent evidence-agent 4b088a4 1.4.2 遮罩補位置參數

套件版號:jedi-log 1.3.6、jedi-evidence-classification 1.6.5(皆在 Nexus);Agent 1.4.2(188 /opt/guidant-ai-agent/.build/compose/)。

環境狀態

三環境(190 e2e/188 STG/189 POC)

  • api/worker/socketio 在 1.26.0+aba953f67,sandbox 1.6.5,bugsink 2.6.1 healthy,三專案(guidant-ai/guidant-ai-fe/guidant-agent)在。
  • 190 guidant.env 仍有 T-R 時手動加的 ERROR_TRACKING_CAPTURE_CLIENT_ERRORS=false、ERROR_TRACKING_LOG_EVENTS=true(root 擁有)——190 目前不是產品預設的全收。
  • 189 guidant.env 有手動兩行 =true(與新預設同值,無害)。188 是純預設。
  • 190 的允許主機名含 guidantai-e2e.jedicotech.com(B5 升級後仍在)。
  • 190 guidant-ai 專案留一筆 A3 測試 issue(訊息含「fr133 A3 mask test 2」),測試資料、無真憑證,可從站台介面刪。
  • 備份:三台 ~/backup/guidant_ai_<主機>_20261010_*_before_T-R2.dump(另有 10/09 T-R 前的三份)。

Agent

  • 四台外部 Agent(192.168.60.166/192.168.50.122/192.168.60.167/192.168.50.121)在 1.4.2,雲端登記 1.4.2。
  • 190 本機的 guidant-ai-agent 已補升 1.4.2(2026-10-10 13:11 首腦執行,log「錯誤回報已啟用 release=guidant-agent@1.4.2」);五台 Agent 全 1.4.2。

DEV(本機)

  • B1 驗收 stack(compose project guidant)仍開著,guidant-fe 佔本機 80/443;收掉:docker compose -p guidant down -v。
  • B0 測試資源仍在:容器 b0-bugsink-fresh、b0-tunnel、b0-backend(b0-nginx 已停)、network b0-net、volume b0-bugsink-data;本機 Postgres 的 bugsink、bugsink_b0_fresh 兩個庫與 bugsink 帳號。清理指令在 b0-findings.md 最後一段。
  • DEV guidant-bugsink 管理員密碼在 ~/.guidant-dev-bugsink-admin.secret(600,不入版控;B4 測試改過、與包內烙印值不同)。
  • C3 驗收留一顆註冊 token(標籤 FR133_C3_acceptance)與一台已核准的測試 Agent;C1b 驗收留一筆 blsit 登入紀錄。
  • DEV .env 的 SENTRY_DSN 仍指向 190 已停的舊站,DEV 錯誤回報實際送不出去。

§2 已定裁示(不要重新討論)

D1–D10 與沙箱接入,全文見 design.md §3。要點:站台走 443 子路徑;管理員密碼全客戶一組、build 時烙印;三個專案;內網元件直連、外網客戶端經轉送端點;沙箱只多一個通站台的網段、不碰 guidant.env;發版流程不跑 e2e 回歸 gate(387035254)。

第 2 棒追加:產品預設全收(aba953f67,設 false 回到只收程式錯誤);G1 暫緩(未出貨、無舊版客戶);本輪不進版。

§3 待決策者

  1. 188、189、.166 重開機:三台有 reboot-required 旗標;重開後 sudo guidantai status(Agent 機 sudo guidant-agent-compose status)確認服務回來。
  2. 190 guidant.env 的兩行舊值:要 sudo 刪掉並 sudo guidantai start(不是 restart)才回到產品預設全收。或保留作為「關閉全收」的對照機。
  3. T-V 乾淨機首裝未驗:T-V 以三環境升級實跑代替;乾淨機從零裝(首裝建站、烙印密碼建管理員)只在 Linux 容器載入函式驗過,沒在真機跑過。下次有乾淨機可順手跑。
  4. 遮罩已收斂成 jedi-masking 0.1.0(T-M1 CM-2624,jedi 337f7fa1、Agent d05d92b),待發版:jedi-masking 推 Nexus → jedi-log 1.3.7 → 分類器 1.6.6 image → Agent 1.4.3 image → BE 釘版重出包 → 三環境+五台 Agent 升級;併下次進版。Agent poetry.lock 與分類器 requirements 要等 Nexus 有套件後才鎖。
  5. Agent 升級不清 /tmp 暫存解包、失敗訊息誤導成「檔案損毀」:要不要開卡。
  6. 進版時機:本輪的 FR-133 全部內容尚未進版號,下一次進版的 release note 要涵蓋。

§4 下一步

🔴 下一個動作:等決策者決定進版(走 version-bump skill)。進版時 release note 要寫進 FR-133 全部行為差異(見 SUMMARY「行為差異」段)。

這節是建議清單,不是執行授權。接手方讀完盤點完即停,等決策者發令。

§5 待辦與風險

  • test_route_guard_inventory 既存紅:GET /survey 兩支未登記,與本案無關,需另開卡。
  • 錯誤碼鏡像測試既存紅(主專案比 jedi_compliance_audit 多三碼),決策者已裁下次發套件一起補。
  • 遮罩改一處要同步三處;漏改的症狀是某一份把密碼送進站台,不報錯。
  • 全收模式下站台事件量會大增;每專案上限 1 萬筆(smart retention),被灌滿時設 ERROR_TRACKING_CAPTURE_CLIENT_ERRORS=false。

§6 Pre-flight

for d in ~/Projects/Billows/Audit-Manager/compliance-manager-be ~/Projects/Billows/Audit-Manager/compliance-manager-fe \
         ~/Projects/Jedicogy/module/jedi-python-package ~/Projects/Billows/Audit-Manager/evidence-agent; do
  echo "== $d"; git -C "$d" branch --show-current; git -C "$d" status -sb | head -1; git -C "$d" log -1 --oneline; done
docker ps --format '{{.Names}}\t{{.Status}}' | grep -E 'bugsink|b0-|guidant'

憑證一律查 .env 或部署文件,不寫進本檔。

§7 行為規範提醒

  • 不切 branch、不自動 push;顯式 git add。
  • 只動 DEV;STG/POC 與 190 的任何寫入都等決策者當次明示。
  • jedi 套件發版、Agent image 部署等決策者明示。
  • 收尾類(母卡 Done、SPEC、FINAL-SPEC)等令。

§8 不在本期 scope

  • 告警(D8,下一版)。
  • 登入前的前端錯誤、Agent 註冊前的錯誤。
  • reviewer 對 C1b 的兩條建議(見 design.md §9),列 follow-up 不在本案做。
  • G1:Agent 1.1.0 直升 1.4.x 的儲存憑證缺口(CM-2622 暫緩,處置是移除重裝新版)。