# FR-166.1 STATE（living，只描述此刻）

> 2026-10-30：**已收尾**。母卡 CM-3199 與全部子卡 Done、四個 repo 已 push、CM-3199 工作坊工作樹與分支已移除。剩下的都是不擋本案的待辦，等決策者決定時機。

## 🧭 原始需求

PM 六條回饋（design §1 表）：證據下載收進權限點、離線剩餘天數、profile 同步、主系統設定 Agent 工具帳密、操作日誌、登入後切語言。決策者手測追加：離線超過天數 AD 也鎖、日誌要完整並可匯出、工具設定頁要好用（彈窗、功能選單、當場生效、有測試連線與清除）。所有下載出口與 FR-169 加密接齊。

## 0. 冷接自檢（接手前答得出來才動手）

1. 主系統設定 Agent 工具帳密走哪條路？→ 直連 Agent 資料面 8443（`PUT／DELETE /detection/credentials`），與測試連線同一道 mTLS＋JWT，不走派工單、不等心跳。
2. 離線超過天數，誰還能登入 Agent 主控台？→ 只剩本機管理員；離線密碼與 AD 一起鎖。
3. 6230～6236 七個事件碼現在登記在哪？→ evidence-agent、主系統 `event_code.py`、套件源碼都有；**套件 1.9.0 已發版本沒有**（源碼改了、未發 1.9.1）。

## 1. 現況

| 項 | 狀態 |
|---|---|
| Notion | 母卡 CM-3199、子卡 CM-3200～3222、CM-3282～3285 全部 Done；母卡尾有收尾摘要 |
| 程式（`feature/FR-139`，已 push） | Agent `d2fe93f`；BE `1b964f400`（本案最後一筆）；FE `3a2f60d6`；套件 `1c1cdcd5` |
| BE 未推的 2 筆 | `4f1f4b27c`、`5ade6026a` 是 **FR-170 首腦的**，不是本案，別代推 |
| 套件版本 | jedi-file-upload 1.4.0、jedi-remote-agent 1.9.0、jedi-detection 1.7.0、jedi-issue 1.4.0 已發、BE 已釘。jedi-remote-agent 源碼多了 6230～6236（`1c1cdcd5`）**未發版**，決策者 2026-10-30 先叫停 |
| 工作坊工作樹 | CM-3199 四個 repo 的 `.worktrees/CM-3199` 與 `ws-CM-3199` 分支已移除 |
| 執行中 | BE 8000（PID 3252）、FE 5180（PID 42453）；123 Agent `d2fe93f`（PID 1143177，主控台前端是 FE `3a2f60d6` 的 build）。**本機 Agent 目前沒在跑**（8444 沒有程序在聽），要用時 `~/guidant-agent-local/start-agent.sh` |
| 出貨基線 | 188 已補到 FR-166.1 前三支；之後的 seed `2026-10-29-fr166-1-rename-agent-tool-credentials-menu.sql` 只套 DEV，待重產 |

## 2. 文件（都已是現況）

design.md v2（D1～D10）、README、雛形 `prototype/agent-tool-credentials.html`（七幕）、SPEC 三頁（Agent 主控台、檢測工具管理＝Agent 掃描工具設定頁、檔案 Agent 管理）、手冊第十三章、analysis `docs/analysis/2026-10-29-fr166-1-…` 第一～五節、memory `feedback_main_system_can_push_to_agent_8443`、FR-170 design §3（兩條路）。

## 3. 等決策者（都不擋本案；每項單獨發令單獨做）

1. **jedi-remote-agent 發 1.9.1**（含 6230～6236）：決策者先叫停。建議下一次出包跟其他套件一起發；發完 BE 改釘 1.9.1、`poetry update jedi-remote-agent`。主系統自己的表已登記，不發也不影響功能。
2. **123 的 Nmap 帳密**：首腦 e2e 時直打 API 寫錯欄位的殘留。決策者在「Agent 掃描工具設定」頁「⋮ → 設定」重填能登入的帳號即可。
3. **jedi-detection 的 `reset` 端點**：前端已無人呼叫。建議第二期再退（退要動套件發版）。
4. **掃描頁記不到「進入分頁」**：進頁事件掛在各頁必打的 API 上，掃描頁沒有專屬 API；服務與重啟頁會多記一筆總覽。建議手測覺得不準再開 FE 卡讓前端切頁主動打 API。
5. **出包前**：基線重產；Agent 出包確認 pyzipper／msoffcrypto／reportlab 收進去（與 FR-169 同一包）；jedi-evidence-classification 也要帶發版。
6. 合回 `main`、STG／POC 上版（前提 https CM-3178）。

## 4. 環境座標

DEV：BE localhost:8000（`main.py`，重啟只 kill 核過的 PID）、DB localhost:5432 `guidant_ai_dev`、FE 5180。
本機 Agent：`~/guidant-agent-local/start-agent.sh`（資料 `~/guidant-agent-local/data`、log `~/guidant-agent-local/agent.log`；停用 kill 8444 的 PID）。mac 沒有 `/data`，本機 profile 同步會報唯讀，看檢測基準卡請看 123。
123 Agent：`ssh jedi@192.168.50.123`，程式 `/opt/evidence-agent`（只用 `git pull`），起停 `~/guidant-agent-dev/start-agent-dev.sh`、pid 檔 `~/guidant-agent-dev/agent.pid`（不要 `pkill -f`，會殺到自己的 ssh），主控台靜態檔 `~/guidant-agent-dev/dist-console`（換之前備份）。
Notion 讀寫：`python3 /Users/chouraymond/Projects/Jedicogy/agent-workshop/scripts/notion_case.py get|status|append CM-xxxx`（在 BE 目錄跑）。
