本卡屬 FR-166(母卡 CM-母卡號(建完補)),卡 P0-4,階段 P0 底層、批 1。只改 evidence-agent。依賴:無。
Agent 本機資料庫(SQLite)現在沒有版本管理,每張表各自補丁。加一張最小的版本表與一份有序清單,既有的表當第 1 版、本案四張新表當第 2 版。
30 行機制但要吃下既有 heal 且不能壞升級;一次做對
extend:把 app_factory.py 的 create(checkfirst)+_heal_upload_files_columns 收成 v1,不另寫第二套建表
repo:~/Projects/Billows/Audit-Manager/evidence-agent
改既有:core/app_factory.py 208
新開:core/local_db/__init__.py
新開:core/local_db/migrations.py
細節在 design.md 對應段(~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/features/FR-166-2610-agent-standalone-console/design.md §5,開 design.html 看導覽),本段只列本卡要做到的點:
core/local_db/migrations.py:MIGRATIONS = [(1, v1_sql), (2, v2_sql)];v1=既有 upload_files 建表+_heal_upload_files_columns 的效果;v2=local_credentials/offline_operators/local_runs/outbox 四表(欄位照 design §5.1 表)。app_factory.py 原本的 create(checkfirst)+heal 改成呼叫 local_db.upgrade();每步一個交易;schema_version 單列。空 DB 啟動→schema_version=2、四張表在;舊 DB(只有 upload_files)啟動→升到 2 且既有列不動;重啟不重套;test 含突變(把 v2 拿掉要紅)
對照雛形:~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/features/FR-166-2610-agent-standalone-console/prototype/index.html(上方「跟著走」)。
docs/claude/domain-capabilities.md 與 FE docs/claude/frontend-overview.md §4。三擇一、預設不新增:reuse → extend 加參數 → 兩邊都確認沒有才新增。既有的是 stub/壞掉 → 修它或回報,不另寫繞過。回寫列出本卡 reuse 了哪些、新增了哪些、為什麼不能 reuse。if source == ... 分支。紅旗:複製一段既有函式改兩行、開 XxxV2/XxxForAgent、同一行為兩條路徑各自演化——出現就停下先抽共用。回寫列出哪些 extend 了既有的、哪些 new 及為什麼不能 extend。