Files
ewoooc/docs/memory/history_logs.md

26 KiB
Raw Blame History

EwoooC 專案歷史紀錄 (History Logs)

📌 重大里程碑

  • 2026-04-29: ADR-018 四 AI Agent 自動化控制面立案Hermes / NemoTron / OpenClaw / ElephantAlpha 的告警、自癒、記憶與 HITL 邊界完成文件化。
  • 2026-04-29: ADR-017 Phase 3f 模組化收尾立案,啟動 DB metadata、路由雙註冊、cache、scheduler、模板與死碼清理六線收斂。
  • 2026-04-18: 專案正式正名為 EwoooCAI 治理架構 Phase 4 結案V10.3)。
  • 2026-02-13: WOOO AIOps SaaS 核心模組完成。
  • 2026-01-24: 曾嘗試遷移至 K3s後於 04-18 審計確認回歸 Docker Compose
  • 2026-01-12: 專案啟動MOMO 監控系統初版。

📅 詳細更新日誌 (考古存檔)

2026-05-21Browse.sh 爬蟲診斷與 PChome 色號比對強化

  • V10.359 Browse.sh optional diagnostics: 新增 services/browse_sh_tool.pyscripts/tools/browse_sh_probe.py,可檢查或執行 browse CLI目前只定位為 MOMO/PChome selector、XHR 與 network trace 探勘,不進 scheduler 主路徑,也不直接寫正式競品價格。
  • MOMO/PChome matcher 色號防錯配: marketplace_product_matcher.py 補護甲油、洗手慕斯、足膜精準搜尋,搜尋詞保留 4.2ml 這類小數規格;唇釉、妝前乳、素顏霜等顯性色號/色系不一致時會 hard veto避免同系列不同色號被推成正式價差。
  • 導入限制: 本機 Node 16 目前因 icu4c 動態庫缺失無法啟動browse.sh 需待 Node 修復或於乾淨主機安裝後才可實跑repo 內先保留 optional wrapper、測試與 playbook。

2026-05-21市場情報 Telegram dispatch report catalog record archive summary gate

  • V10.355 report catalog record archive summary gate: 新增 candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_catalog_record_archive_summary service、POST endpoint、UI 按鈕與 deployment readiness smoke target在 archive gate 後整理 catalog record identity、artifact traceability、DB commit/post-write smoke、archive manifest/retention policy 與後續 final closeout separate gate。
  • 只讀安全邊界: 本階段只放行到後續 report catalog record final closeout gateAPI/UI 不讀 approval/Telegram token、不呼叫 LLM、不產報表、不派送 Telegram、不開 DB、不寫檔、不執行 CLI、不寫 catalog record、不 commit、不更新 review_state、不掛 scheduler。

2026-05-21市場情報 Telegram dispatch report catalog record archive gate

  • V10.354 report catalog record archive gate: 新增 candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_catalog_record_archive service、POST endpoint、UI 按鈕與 deployment readiness smoke target在 closeout gate 後審核 closeout/commit/run receipt/writer output/post-write smoke/backup 封存證據、archive manifest/retention policy 與後續 archive summary separate gate。
  • 只讀安全邊界: 本階段只放行到後續 report catalog record archive summary gateAPI/UI 不讀 approval/Telegram token、不呼叫 LLM、不產報表、不派送 Telegram、不開 DB、不寫檔、不執行 CLI、不寫 catalog record、不 commit、不更新 review_state、不掛 scheduler。

2026-05-20市場情報 Telegram dispatch report catalog record closeout gate

  • V10.353 report catalog record closeout gate: 新增 candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_catalog_record_closeout service、POST endpoint、UI 按鈕與 deployment readiness smoke target在 commit gate 後審核 catalog record identity、DB commit/post-write smoke 證據、操作員 closeout 確認與後續 archive separate gate。
  • 只讀安全邊界: 本階段只放行到後續 report catalog record archive gateAPI/UI 不讀 approval/Telegram token、不呼叫 LLM、不補產報表、不派送 Telegram、不開 DB、不寫檔、不執行 CLI、不寫 catalog record、不 commit、不更新 review_state、不掛 scheduler。

2026-05-20市場情報 Telegram dispatch report catalog record commit gate

  • V10.352 report catalog record commit gate: 新增 candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_catalog_record_commit service、POST endpoint、UI 按鈕與 deployment readiness smoke target在 run receipt 後審核外部 CLI catalog record DB commit、post-write smoke、操作員 commit gate 確認與後續 closeout separate gate。
  • 只讀安全邊界: 本階段只放行到後續 report catalog record closeout gateAPI/UI 不讀 approval/Telegram token、不呼叫 LLM、不補產報表、不派送 Telegram、不開 DB、不寫檔、不執行 CLI、不寫 catalog record、不 commit、不更新 review_state、不掛 scheduler。

2026-05-20市場情報 Telegram dispatch report catalog record run receipt

  • V10.351 report catalog record run receipt: 新增 candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_catalog_record_run_receipt service、POST endpoint、UI 按鈕與 deployment readiness smoke target在 run readiness 後審核外部 CLI writer output、catalog record key/hash、DB commit receipt 與 post-write smoke。
  • 只讀安全邊界: 本階段只放行到後續 report catalog record commit gateAPI/UI 不讀 approval/Telegram token、不呼叫 LLM、不補產報表、不派送 Telegram、不開 DB、不寫檔、不執行 CLI、不寫 catalog record、不 commit、不更新 review_state、不掛 scheduler。

2026-05-20市場情報 Telegram dispatch report catalog record run readiness

  • V10.348 report catalog record run readiness: 新增 candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_catalog_record_run_readiness service、POST endpoint、UI 按鈕與 deployment readiness smoke target在 run package 後檢查 payload manifest、manual CLI command、backup/dry-run、run receipt 與 postwrite smoke 條件。
  • 只讀安全邊界: 本階段只放行到後續 report catalog record run receipt gateAPI/UI 不讀 approval/Telegram token、不呼叫 LLM、不補產報表、不派送 Telegram、不開 DB、不寫檔、不執行 CLI、不寫 catalog record、不更新 review_state、不掛 scheduler。

2026-05-20市場情報 Telegram dispatch report catalog record run package

  • V10.347 report catalog record run package: 新增 candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_catalog_record_run_package service、POST endpoint、UI 按鈕與 deployment readiness smoke target在 record write gate 後整理 payload manifest、CLI command bundle、backup/dry-run trace 與後續 run readiness separate gate。
  • 只讀安全邊界: 本階段只放行到後續 report catalog record run readiness gateAPI/UI 不讀 approval/Telegram token、不呼叫 LLM、不補產報表、不派送 Telegram、不開 DB、不寫檔、不執行 CLI、不寫 catalog record、不更新 review_state、不掛 scheduler。

2026-05-20市場情報 Telegram dispatch report catalog record write gate

  • V10.344 report catalog record write gate: 新增 candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_catalog_record_write service、POST endpoint、UI 按鈕與 deployment readiness smoke target在 catalog write preflight 後檢查 catalog record key/schema/hash trace、operator dry-run、backup 與 commit separate gate。
  • 只讀安全邊界: 本階段只放行到後續 report catalog record run package gateAPI/UI 不讀 approval/Telegram token、不呼叫 LLM、不補產報表、不派送 Telegram、不開 DB、不寫檔、不寫 catalog record、不更新 review_state、不掛 scheduler。

2026-05-20市場情報 Telegram dispatch report catalog write preflight

  • V10.342 report catalog write preflight gate: 新增 candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_catalog_write_preflight service、POST endpoint、UI 按鈕與 deployment readiness smoke target在 report catalog index 後整理 catalog record identity、write source trace、record schema preflight 與 runtime safety。
  • 只讀安全邊界: 本階段只放行到後續 report catalog record write gateAPI/UI 不讀 approval/Telegram token、不呼叫 LLM、不補產報表、不派送 Telegram、不開 DB、不寫 catalog preflight file、不寫 catalog record、不更新 review_state、不掛 scheduler。

2026-05-20市場情報 Telegram dispatch report catalog index

  • V10.339 report catalog index gate: 新增 candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_catalog_index service、POST endpoint、UI 按鈕與 deployment readiness smoke target在 report catalog handoff 後整理 catalog index identity、handoff source trace、index manifest 與 runtime safety。
  • 只讀安全邊界: 本階段只放行到後續 report catalog write preflight gateAPI/UI 不讀 approval/Telegram token、不呼叫 LLM、不補產報表、不派送 Telegram、不開 DB、不寫 catalog index file、不寫 catalog record、不更新 review_state、不掛 scheduler。

2026-05-20市場情報 Telegram dispatch report catalog handoff

  • V10.338 report catalog handoff gate: 新增 candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_catalog_handoff service、POST endpoint、UI 按鈕與 deployment readiness smoke target在 report archive summary 後整理 catalog identity、artifact manifest、section keys 與 hash traceability。
  • 只讀安全邊界: 本階段只放行到後續 report catalog index gateAPI/UI 不讀 approval/Telegram token、不呼叫 LLM、不補產報表、不派送 Telegram、不開 DB、不寫 catalog record、不更新 review_state、不掛 scheduler。

2026-05-20市場情報 Telegram dispatch report archive summary

  • V10.335 report archive summary gate: 新增 candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_archive_summary service、POST endpoint、UI 按鈕與 deployment readiness smoke target在 report archive 後整理 report identity、archive traceability、integrity review 與 runtime safety sections。
  • 只讀安全邊界: 本階段只放行到後續 report catalog handoff gateAPI/UI 不讀 approval/Telegram token、不呼叫 LLM、不補產報表、不派送 Telegram、不開 DB、不寫檔、不更新 review_state、不掛 scheduler。

2026-05-20PChome 核心比價準確率與補抓可觀測性

  • V10.334 MOMO/PChome matcher 強化: 補常見品牌 alias 與任選/平輸/國別 noise 收斂,並加入刀把/刀片/刀頭件數解析、同品牌不同系列硬否決,避免為了提高覆蓋率把 Gillette/Schick 等不同系列錯配成同款。
  • 近門檻候選重新評分: CompetitorPriceFeeder 新增 run_retryable_candidate_revalidation(),優先重評舊 low_score 中 0.70 以上、非 hard veto 且有 PChome product_id 的候選,再補抓高價未配對商品;排程與手動 API 都會納入這段流程。
  • PChome 補抓產線狀態: 商品看板新增 PChome backfill status card後端以 JSON 狀態檔記錄 queued/revalidating/matching/generating_picks/clearing_cache/completed/failed、結果統計與最近 run避免手動補抓後沒有進度與錯誤上下文。

2026-05-20重開機後首頁熱路徑索引持久化

  • Dashboard / PChome 慢查詢修復: 主機重開機後 https://mo.wooo.work/ 首頁可用但多次逾時,實際瓶頸集中在首頁與 PChome coverage 查詢掃描 productsprice_recordscompetitor_match_attempts。線上先補三個索引讓首頁恢復 200並新增 migrations/040_dashboard_hot_path_indexes.sql 將修復持久化到 fresh restore / DB rebuild 流程。
  • Growth Analysis 冷快取修復: /growth_analysismonthly_summary_analysis 落後時會改掃 realtime_sales_monthly 聚合,冷計算約 14 秒;修正為 source fingerprint 未變時延長共享快取有效期,匯入流程仍主動清除快取,避免資料未變卻反覆掃大表。
  • PChome backfill pilot: V10.328 diagnostics 欄位上線後先跑小批次,刷新過期 identity_v2 30 筆11 筆成功更新)、高價未配對 15 筆全被低信心/單位價擋下;樣本確認多數 hard veto 正確,另補 strong_component_line_match 處理 Gennies 類同品牌完整多組件套組。

2026-04-29ADR-017 Phase 3f 模組化收尾啟動

  • DB metadata 救急: database/manager.py 改為顯式載入 permission / AI / autoheal / import / vendor / realtime_sales ORMPostgreSQL 初始化透過 process-local guard + advisory lock 執行 Base.metadata.create_all(),避免新環境漏表與一般流量重複碰 DDL。
  • realtime_sales_monthly 補 ORM: 新增 database/realtime_sales_models.py,並同步 docker/postgres/init/01-init.sql 欄位,避免 fresh volume 先建出窄表後造成匯入欄位靜默遺失。
  • 啟動自檢: app.py 啟動時檢查 34 張 expected metadata tables缺表直接 fail fast防止「看似啟動成功但 create_all 漏表」。
  • 路線校正: 12-Agent 盤點確認 3f-1 需先處理 API shadow 與 system_bp prefix 分裂3f-3 需先補 EventRouter 同步告警 facade再改 scheduler 裸 except

2026-04-29AI 自動化閉環與四 Agent 控制面

  • ADR-018 立案: 正式把 ElephantAlpha 納入 Hermes / NemoTron / OpenClaw 之外的 L3 Orchestrator形成四 AI Agent 自動化控制面。
  • 通知鏈補強: EventRouter 補 AI 失敗降級、Telegram file queue、成功後 replay、去重冷卻與 silence 檢查。
  • 自癒安全回看: AutoHeal 保護 momo-db / momo-postgresDB/DNS 無法安全修復時降級為 alert / wait retry。
  • 記憶閉環: raw ai_insights insert 路徑補 embedding enqueueOpenClaw learning 支援 stale reset 與 missing embedding backfill。
  • L2 action 落地: flag_for_human_reviewroute_to_kmmark_for_relearn 改為可審計 OpenClaw memory 寫入。
  • 可觀測性落地: /metrics 匯出 EventRouter dispatch/latency、safe action、Telegram replay、AutoHeal action/duration 指標。
  • Smoke Dashboard: 新增 /ai_automation_smoke/api/ai-automation/smoke,提供四 Agent 閉環 read-only 快檢。
  • Smoke 趨勢保存: Smoke API 追加 JSONL 精簡紀錄dashboard 顯示最近 OK / Warning / Critical 趨勢。
  • Smoke 趨勢管理: Dashboard 增加 JSONL 匯出、清理與每日摘要,清理範圍限定 smoke history 檔。
  • Smoke 每日摘要推播: 新增 Telegram 手動推播 API 與 momo-scheduler 每日 09:10 摘要任務,只讀 smoke history。
  • Grafana AI 觀測: 新增 MOMO AI Automation Overview provisioning dashboard覆蓋 EventRouter、safe action、replay、AutoHeal Prometheus 指標。
  • Grafana 線上載入與 scrape 修復: 188 active Grafana 載入 4 dashboardsactive Prometheus 補 momo-app scrape job並修復 gunicorn preload LocalProxy boot crash。
  • CD 健康檢查強化: Gitea Actions health check 改為 internal container health + external URL 雙檢查,降低 rebuild 後短暫 502 誤判。
  • CD Sync reload 修復: rsync 後明確 restart 三容器,避免 bind-mounted Python 檔案更新但 gunicorn/scheduler/bot process 未 reload。
  • CD Gunicorn 掛載強化: momo-app./gunicorn.conf.py:/app/gunicorn.conf.py:ro,避免容器 restart 後回吃 image 內舊 gunicorn 設定。
  • Metrics schema drift 降噪: /metricsrealtime_sales_monthly 總筆數改用 raw COUNT(*),避免 ORM 欄位 drift 造成 Prometheus scrape warning。
  • CD Rebuild 切換強化: rebuild 模式改成先 build 成功、再短暫 stop/rm/recreate 三應用容器,避免 no-cache build 長時間 502。
  • ElephantAlpha NIM fallback 強化: production 帳號呼叫 Ultra 253B 會 404預設改用可呼叫的 Nemotron Super 49B v1.5,並加入 70B / 8B fallback。
  • DatabaseManager 連線池收斂: PostgreSQL 每 worker pool 收斂為 pool_size=2/max_overflow=3,並以 cache 重用 engine/session。
  • Ollama embedding API 遷移: embedding client 優先使用官方 /api/embed,舊節點才 fallback /api/embeddings,降低 deprecated endpoint 與 timeout 風險。
  • Scheduler 例外記錄強化: 清除 scheduler.py 靜默 except/passChrome 清理、EDM optional 欄位、備份 insight/Telegram 失敗均保留 log。
  • AI metrics baseline 觀測: /metrics 在尚無 AI 自動化事件時仍輸出 momo_ai_* zero-baseline series避免 app 重啟後 Grafana/Prometheus 看不到 metric names。
  • ElephantAlpha transient fallback: NVIDIA NIM primary model timeout、connection error、429 與 5xx 會嘗試下一個 fallback model400 等非暫時性請求錯誤不重試。
  • 模組化治理守門: 盤點 15 個超過 800 行 Python 大檔,新增 docs/guides/modularization_governance.mdtests/test_modularization_governance.py,防止未分類巨檔再長出來。
  • Legacy 5888 入口清理: 刪除 tests/main_test.py standalone Flask 死碼,測試與自動匯入文件改用 Port 80 /auto_import 入口。
  • OpenClaw Bot 第一刀拆分: Telegram API send/retry/file upload helper 移到 services/openclaw_bot/telegram_api.pyroutes/openclaw_bot_routes.py 往 thin Blueprint 收斂。
  • EDM Dashboard endpoint 修復: 部署後健康檢查抓到活動看板排序連結少 edm. blueprint 前綴,修正模板 endpoint 推導並補 5 個活動頁排序連結回歸測試。
  • Monitoring exporter 修復: Prometheus 已能 scrape momo-app V10.24,但 target 檢查發現 blackbox-exporter 未啟動、cadvisor 因 host 8080 衝突未進入 monitoring DNS改為 cAdvisor internal-only 並補 monitoring compose 守門測試。
  • Active blackbox target 降噪: 線上 Nginx 與 curl 驗證目前有效 MOMO 入口為 https://mo.wooo.workmomo.wooo.work 逾時、wooo.work DNS 不解析,先從 active UAT blackbox targets 移除,避免舊域名噪音誤導告警。
  • action_plans schema drift 修復: CodeReview pipeline 寫入 action plan 時發現線上表只有 NemoTron Group B 欄位;啟動期 PostgreSQL metadata repair 會補 action_type / description / priority / metadata_json 與 index恢復 AI code review action plan 閉環。
  • Gitea runner label 隔離: EWOOOC CD workflow 改用 ewoooc-host110 的 /home/wooo/act-runner runner config 必須只宣告 ewoooc-host,避免 user-level runner 混接 AWOOOI workflow。
  • CD sync hot reload: 一般 Python/模板同步不再 restart momo-app,改為 docker kill -s HUP momo-pro-system 讓 Gunicorn 熱重載 workers只重啟 scheduler / telegram-botGunicorn 關閉 preload_app,確保 HUP 後 workers 會 import 新版 app code。
  • OpenClaw Bot 第二刀拆分: Inline Keyboard builders 移到 services/openclaw_bot/menu_keyboards.py,透過 configure_menu_keyboards() 注入 latest_date/_GOALS/TAIPEI_TZroute 檔下降到 5,240 行並補選單回歸測試。
  • CD sync mount drift guard: 發現舊 app 容器未掛載 app.py/config.pyrsync 後服務檔已更新但 /health 版本仍卡 image 內舊檔CD sync 會檢查 mount僅 drift 時一次性 recreate momo-app其餘維持 HUP 熱重載。
  • CD 單檔 bind mount inode 修復: app.py/config.py 單檔 bind mount 會被 rsync/tar 的 inode replacement 卡住舊檔CD rsync 改用 --inplace,避免 HUP reload 後仍讀到舊版本。
  • Frontend V2 視覺基準立案: MOMO Pro/ prototype 與 docs/guides/frontend_upgrade_roadmap.md 成為前端更版依據AGENTS/CONSTITUTION 改以米色工作台、暖墨文字、焦糖橘 accent 與新版 shell 規範作為後續 UI 基準。
  • Frontend V2 Phase 0 assets: 新增 static/css/ewoooc-tokens.cssstatic/css/ewoooc-shell.csstemplates/ewoooc_base.html_ewoooc_shell.html,先建立可重用 shell不替換既有頁面憲章補「真實資料與真實頁面」紅線禁止假資料冒充完成。
  • Dashboard V2 feature flag: / 預設仍走既有 dashboard.html/?ui=v2 才渲染 dashboard_v2.html;新版頁沿用既有 dashboard 真實資料與篩選/排序參數,不建立 mock 商品或假 KPI。
  • Frontend V2 static mount: momo-app./web/static:/app/web/static:ro,確保 Flask url_for('static', filename='css/ewoooc-*.css') 會從實際 STATIC_DIR=/app/web/static 讀到 V2 CSS保留 ./static:/app/static:ro 供 local-dev Nginx/舊資產相容。
  • EDM Dashboard V2 feature flag: 五個活動看板入口預設仍走既有 edm_dashboard.html,加上 ?ui=v2 才渲染 edm_dashboard_v2.html;新版頁沿用既有活動真實 grouped_items/slot_stats/scheduler_stats

2026-05-01Frontend V2 營運頁推進

  • Vendor Stockout V2 production default: /vendor-stockout 預設渲染 vendor_stockout_index_v2.html?ui=legacy 才回舊頁;統計來自正式 VendorStockout/VendorList/VendorEmail/EmailSendLog 查詢,不建立假資料。
  • Vendor Stockout List V2 production default: /vendor-stockout/list 預設渲染 vendor_stockout_list_v2.html?ui=legacy 才回舊頁;清單、批次、搜尋、分頁與狀態統計都從正式 VendorStockout 查詢組裝,並移除重複的 web/templates/vendor_stockout_index_v2.html
  • Vendor query service extraction: Vendor V2 首頁統計與缺貨清單 query 移到 services/vendor_stockout_query_service.pyroutes/vendor_routes.py 由約 1,821 行降至 1,675 行,回到 request parsing + template rendering避免巨型 Blueprint 繼續承接資料組裝邏輯。
  • Vendor stockout API query extraction: /vendor-stockout/api/stockout/list/vendor-stockout/api/stockout/batches 的 query/serialization 移入同一個 services/vendor_stockout_query_service.py,保留既有 JSON shaperoutes/vendor_routes.py 再降至約 1,565 行。
  • Vendor management query extraction: /vendor-stockout/api/vendor/list/vendor-stockout/api/vendor/<vendor_code> 的 query/serialization 移入 services/vendor_stockout_query_service.py,保留既有 JSON shaperoutes/vendor_routes.py 再降至約 1,485 行。
  • Health-safe monitoring runtime: 健康檢查失敗盤點確認 Blackbox 打 Dashboard 首頁 / 會觸發重型查詢並和 /health 搶 worker188 與 110 active blackbox 均改打 /healthGunicorn 預設改為 gthread + GUNICORN_THREADS=4CD 也會在 monitoring target 變更時重新載入 Prometheus/blackbox。

2026-04-28~29Phase 3e 重構大戰 + daily_sales cache 隱形 bug 根除

  • app.py 縮減 -10.8%: 7,386 → 6,590 行11 commits 全綠零 502。
  • 抽 Blueprint: /api/categoriescategory_routes.py (8fce73b)/api/test_url + /brand_assetsmisc_routes.py (e676840)。
  • 揭發 4 個改進版死碼: refactor-specialist 28 條雙重 URL 等價性矩陣指出 /growth_analysis/daily_sales/api/export/excel/abc/api/run_task 在 routes/*.py 已重構但因 Flask first-registered-wins 規則被 app.py 同 URL @app.route shadow 從未生效。本輪先啟用 daily_sales (8fefea0),餘三條待後續。
  • daily_sales cache 機制重構 (ADR-016): 「匯入 15323 筆但業績頁面看不到」隱形 bug 根因 = gunicorn 4 worker 各持獨立 module-level dict。先嘗試 N-POST broadcast hack 命中率僅 9.4%debugger + web-researcher + migration-engineer 三方共識);改用 DB fingerprint (MAX(snapshot_date), COUNT(*)) 雙閘失效 (3971fd4),強一致無浪費。
  • clear_cache endpoint 加 @login_required: 修 critic HIGH-3外部 POST 無 auth 回 400CSRF + login 雙重攔截)。
  • hook 9 PoC 強化 (136e65b): vuln-verifier 對 .claude/hooks/momo-prod-guard.js 跑 9 條 PoC 8 條繞過 → 補強 heredoc / writable CTE / multi-statement / pg_read_file / COPY FROM PROGRAM / /run/secrets / /proc/*/environ 全擋。
  • 12 Agent 並行作戰實踐: 8 完成 + 4 rate-limited學到 critic 必須先於 fullstack-engineer 完成feedback_agent_dispatch_order.md
  • 殘留 HIGH-2 技術債: app.py 仍 43 處 _SALES_PROCESSED_CACHEsales_analysis 等獨立 cache待後續抽 services/cache_manager.py

2026-04-28AI 引擎穩定性與 CI/CD 幽靈容器大規模修復

  • 幽靈容器排除: 發現 docker-compose.yml 漏掛載 routes 目錄,導致 Telegram Bot 長期執行舊代碼。
  • 埠位衝突修復: 移除 depends_on: postgres 以解決與 orphan momo-db 的 5432 埠位競爭問題。
  • CI/CD 強化: cd.yaml 引入 --no-cachedocker compose restart 以應對快取損壞與容器識別問題。
  • AI 備援優化: 放寬 Ollama 健康檢查至 10s請求超時至 180s修復 Gemini 429 速率限制與 MCP 404 報錯。
  • 網站 502 修復: 手動恢復因容器重建中斷的 110-188 SSH 隧道。

2026-02-13重開機服務修復與 Clawdbot 整合

  • 更新 system_startup.sh v2.0,移除 Harbor 相關邏輯。
  • 重新設計 Monitor 首頁,移除不存在的服務連結。
  • 實作 Ollama Server 端的 Clawdbot 整合腳本。

2026-02-09域名健康監控與服務修復

  • 新增 domain-health-monitor.sh,每 5 分鐘自動巡檢。
  • 修復 n8n Task Runner 403 錯誤。

2026-02-07CI/CD Dashboard 與 Registry 遷移

  • 完全移除 Harbor改用輕量級 Docker Registry。
  • 開發 CI/CD Dashboard 頁面 (/cicd)。

2026-01-28核心問題修復

  • 502 Bad Gateway: 發現 Docker 網路棧故障,新增自動重啟機制。
  • OOM 問題: 修復業績匯入進程因記憶體消耗過大被 SIGKILL 的問題。
  • Ollama 監控: 實作 AI 服務器健康專項監控。

🛠️ 過往技術爭議與決策 (ADR 前身)

  • 資料流向: 確立 daily_sales_snapshot 為 SOT同步至 realtime_sales_monthly
  • 快取機制: 使用 FileLock 解決 Gunicorn 多 Worker 重建快取競爭。
  • 時區處理: 強制使用 Asia/Taipei 並於 SQLite 存儲 naive datetime。

詳細原始紀錄請參閱 Git Commit History 或 110 主機備份目錄。