44 KiB
44 KiB
Current Execution Queue 2026-05-24
目的:把目前使用者要求的核心產品優化整理成單一執行佇列,避免 UI、比價、PPT、AI 觀測台與部署驗證漏項。 原則:準確率優先;不放寬 MOMO / PChome 全域比對門檻;正式部署不碰
momo-db;每個工作流都需有測試或正式 smoke。
0. 部署與驗證通道基準
- 確認
main、Gitea、正式環境版本一致。 - 修復或確認 SSH / Gitea / 188 hop 可用。
- 每次上線只 recreate
momo-app、scheduler、telegram-bot,禁止使用--remove-orphans,禁止影響momo-db。 - 2026-05-24 21:33 CST 狀態:
main已推 Gitea 並部署到 188,正式/health為V10.451。本輪只 recreatemomo-app;scheduler、telegram-bot未重建但保持 healthy;未使用--remove-orphans,未碰momo-db。Smoke 通過:主要頁面 HTTP 200、三個 app 容器 healthy、/api/pchome-review/queue可用於recoverable_low_score/legacy_low_scoreread-only 查詢,且 10 分鐘錯誤 log 未見 Traceback / ERROR。 - 2026-05-24 22:17 CST 狀態:
main已推 Gitea 並部署到 188,正式/health為V10.453。本輪 recreatemomo-app、scheduler、telegram-bot;未使用--remove-orphans,未碰momo-db。Smoke 通過:三個 app 容器 healthy、Gemini hard disabled 且 24 小時ai_calls無 Gemini provider、Ollama 順序維持 GCP-A → GCP-B → 111、/api/pchome-review/queue三個 status 查詢成功、rescore audit read-onlyselection_mode=latest_sku_only。 - 2026-05-24 22:55 CST 狀態:
main已推 Gitea 並部署到 188,正式/health為V10.455。本輪 recreatemomo-app、scheduler、telegram-bot;未使用--remove-orphans,未碰momo-db。Smoke 通過:三個 app 容器 healthy、EventRouterdecision_envelope直送不進 L1/L2 AI handler、Telegram 信封顯示標的 SKU 與 PChome 候選、Gemini hard disabled 且 24 小時ai_calls無 Gemini provider、Ollama 順序維持 GCP-A → GCP-B → 111、/api/pchome-review/queue?review_status=rescore_accepted查詢成功、10 分鐘錯誤 log 未見 Traceback / ERROR / CRITICAL。已執行--retract-variant-accepted,最新rescore_accepted_current中variant_selection_review殘留為 0。 - 2026-05-24 23:05 CST 狀態:
main已推 Gitea 並部署到 188,正式/health為V10.456。本輪 recreatemomo-app、scheduler、telegram-bot;未使用--remove-orphans,未碰momo-db。Smoke 通過:三個 app 容器 healthy、/api/pchome-review/queue?review_status=rescore_accepted每筆帶decision_envelope、guardrailcan_auto_execute=false、Gemini hard disabled 且 24 小時ai_calls無 Gemini provider、Ollama 順序維持 GCP-A → GCP-B → 111、5 分鐘三容器錯誤 log 未見 Traceback / ERROR / CRITICAL。 - 2026-05-24 23:17 CST 狀態:
main已推 Gitea 並部署到 188,正式/health為V10.457。本輪 recreatemomo-app、scheduler、telegram-bot;未使用--remove-orphans,未碰momo-db。Smoke 通過:三個 app 容器 healthy、Dashboard PChome 覆核頁顯示dashboard-review-envelope與 HITL、/api/pchome-review/queue?review_status=rescore_accepted仍帶decision_envelope且can_auto_execute=false、Excel flatten helper 輸出決策信封 ID/資料品質/自動執行允許/證據摘要、Gemini hard disabled 且 24 小時ai_calls無 Gemini provider、Ollama 順序維持 GCP-A → GCP-B → 111、5 分鐘三容器錯誤 log 未見 Traceback / ERROR / CRITICAL。 - 2026-05-24 23:30 CST 狀態:
main已推 Gitea 並部署到 188,正式/health為V10.458。本輪 recreatemomo-app、scheduler、telegram-bot;未使用--remove-orphans,未碰momo-db。Smoke 通過:三個 app 容器 healthy、summarize_review_decision_envelopes()產生 3 條 HITL 摘要且全數can_auto_execute=false、_fetch_competitor_summary()帶review_decision_text、/api/pchome-review/queue?review_status=rescore_accepted仍帶decision_envelope且can_auto_execute=false、核心頁面/daily_sales、/growth_analysis、/observability/ppt_audit_history、/market_intel/matches、/vendor-stockout/listHTTP 200;5 分鐘三容器錯誤 log 未見 Traceback / ERROR / CRITICAL,最新rescore_accepted_current中variant_selection_review殘留為 0。 - 2026-05-24 23:43 CST 狀態:
main已推 Gitea 並部署到 188,正式/health為V10.459。本輪 recreatemomo-app、scheduler、telegram-bot;未使用--remove-orphans,未碰momo-db。Smoke 通過:三個 app 容器 healthy、/api/pchome-review/queue?review_status=protected_existing_match輸出existing_match_conflict,建議動作為compare_existing_identity且can_auto_execute=false、Dashboard protected filter / daily / growth / PPT audit HTTP 200;5 分鐘三容器錯誤 log 未見 Traceback / ERROR / CRITICAL。 - 2026-05-24 23:59 CST 狀態:
main已推 Gitea 並部署到 188,正式/health為V10.460。本輪 recreatemomo-app、scheduler、telegram-bot;未使用--remove-orphans,未碰momo-db。Smoke 通過:三個 app 容器 healthy、scripts/check_sales_charts_runtime.js --base-url https://mo.wooo.work --routes /daily_sales,/growth_analysis通過,daily/growth 主要 canvas 均有 Chart.js instance、非零資料點與彩色像素;核心頁面/daily_sales、/growth_analysis、/observability/ppt_audit_history、PChome protected queue API HTTP 200;5 分鐘三容器錯誤 log 未見 Traceback / ERROR / CRITICAL。 - 2026-05-25 08:12 CST 狀態:
main已推 Gitea 並部署到 188,正式/health為V10.461。本輪 recreatemomo-app、scheduler、telegram-bot;未使用--remove-orphans,未碰momo-db。Smoke 通過:三個 app 容器 healthy、Dashboard template 已顯示「尚未搜尋」與「尚未進入 PChome 補抓」、Gemini hard disabled 且 24 小時ai_calls無 Gemini provider、Ollama 順序維持 GCP-A → GCP-B → 111;5 分鐘三容器錯誤 log 未見 Traceback / ERROR / IntegrityError。 - 2026-05-25 08:18 CST 狀態:
main已推 Gitea 並部署到 188,正式/health為V10.462。本輪 recreatemomo-app、scheduler、telegram-bot;未使用--remove-orphans,未碰momo-db。Smoke 通過:三個 app 容器 healthy、Dashboard / AI 中樞 / API / 前端 confirm 均改用「PChome 補抓產線 / 補抓未搜尋 / 未搜尋補抓」、Gemini hard disabled 且 24 小時ai_calls無 Gemini provider、Ollama 順序維持 GCP-A → GCP-B → 111;5 分鐘三容器錯誤 log 未見 Traceback / ERROR / IntegrityError。 - 2026-05-25 08:38 CST 狀態:
main已推 Gitea 並部署到 188,正式/health為V10.464。本輪 recreatemomo-app、scheduler、telegram-bot;未使用--remove-orphans,未碰momo-db。Smoke 通過:三個 app 容器 healthy、/、/?filter=pchome_review、/daily_sales、/growth_analysis、/observability/ppt_audit_history、PChome rescore queue API HTTP 200。DR.WU 三筆 SKU read-only rescore 全數gate_pass=3/3,--apply-accepted後 latest 狀態為rescore_accepted_current、best_match_score=1.0、price_basis=total_price;整體 latest counts 變為true_low_confidence=778、rescore_accepted_current=34。5 分鐘 log 未見 Traceback,但有既有[Embed] all hosts failed錯誤,需列入下一輪 Ollama embedding 健康檢查。 - 2026-05-25 10:04 CST 狀態:
main已推 Gitea 並部署到 188,正式/health為V10.465。本輪 recreatemomo-app、scheduler、telegram-bot;未使用--remove-orphans,未碰momo-db。Smoke 通過:三個 app 容器 healthy、/、/daily_sales、/growth_analysis、/observability/ppt_audit_history、PChome rescore queue API HTTP 200;容器內 routing smoke 證明 resolver 回 111 且allow_111_fallback=false時會改試 GCP-A/GCP-B,輸出tried=['http://34.143.170.20:11434','http://34.21.145.224:11434'];真實短 embedding 在 GCP-A/api/versiontimeout、GCP-B 200 情境下成功回 1024 維向量,耗時 4.59 秒。3 分鐘三容器錯誤 log 未見 Traceback / ERROR / CRITICAL。 - 2026-05-25 12:10 CST 狀態:已部署
V10.467到 188,正式/health為V10.467。本輪 recreatemomo-app、scheduler、telegram-bot;未使用--remove-orphans,未碰momo-db。Smoke 通過:三個 app 容器 healthy、/、/daily_sales、/growth_analysis、/observability/ppt_audit_history、PChome rescore queue API HTTP 200。Production pilot 將 9 筆 focused exact total-price SKU 追加為rescore_accepted_current,整體 latest counts 從true_low_confidence=802/rescore_accepted_current=38變為true_low_confidence=793/rescore_accepted_current=47;目標 SKU 的competitor_prices最新crawled_at仍停在 2026-05-22~2026-05-23,確認本輪未寫正式價差表。已知後續:GCP-A / GCP-B Ollama/api/version目前連線失敗,背景 embedding 正確沒有落 111,但 app/scheduler log 仍會出現[Embed] all 2 hosts failed,需另開 Ollama 健康處理。 - 2026-05-25 12:27 CST 狀態:已部署
V10.468到 188,正式/health為V10.468。本輪 recreatemomo-app、scheduler、telegram-bot;未使用--remove-orphans,未碰momo-db。Smoke 通過:三個 app 容器 healthy、/、/daily_sales、/growth_analysis、/observability/ppt_audit_history、PChome review queue API/api/pchome-review/queueHTTP 200;容器內 mock smoke 證明背景 embedding 在 GCP-A / GCP-B 全失敗後會開啟 60 秒 failure circuit,第二筆不再重複打兩台 GCP,且不落 111。GCP 維運盤點:GCP-A22/11434refused;GCP-B22open 但現有 key publickey denied,部署 smoke 時 GCP-B11434已恢復 200、get_ollama_host()選到 GCP-B;111/api/version可用,但 111 仍不得承接背景bge-m3。 - 2026-05-25 12:39 CST 狀態:已部署
V10.469到 188,正式/health為V10.469。本輪 recreatemomo-app、scheduler、telegram-bot;未使用--remove-orphans,未碰momo-db。Smoke 通過:三個 app 容器 healthy、首頁 / daily / growth / PChome review queue HTTP 200、Gemini hard disabled;allow_111_fallback=False時 GCP-only embedding 全失敗會開啟 failure circuit 並記 WARNING,不再把預期內的背景熔斷打進 ERROR 通道。觀測到 GCP-B/api/version200,但/api/embed仍可能 15s timeout,下一步需修 GCP-A primary 與 GCP-B runner/model 負載。 - 2026-05-25 12:53 CST 狀態:已部署
V10.470到 188,正式/health為V10.470。本輪 recreatemomo-app、scheduler、telegram-bot;未使用--remove-orphans,未碰momo-db。Smoke 通過:三容器 healthy、host health page HTTP 200 並顯示 Runtime 狀態、scheduler probe 寫入 DB。最新host_health_probes:GCP-A unhealthy(11434 refused)、GCP-B unhealthy(EmbedProbe ReadTimeout,/api/tags仍可列出 4 模型)、111 healthy;這補上「HTTP API 活著但模型 runtime 卡住」的假健康監控缺口。 - 2026-05-25 13:38 CST 狀態:已部署
V10.471到 188,正式/health為V10.471。本輪 recreatemomo-app、scheduler、telegram-bot;未使用--remove-orphans,未碰momo-db。Smoke 通過:三容器 healthy、首頁 / daily / growth / host_health / ppt_audit_history / PChome review queue HTTP 200。GCP-Bbge-m3/api/embed直接實測約 6.4s、7.3s、23.5s,原OLLAMA_EMBED_MAX_TIMEOUT=15與 host healthOLLAMA_HOST_HEALTH_EMBED_TIMEOUT=8會誤殺慢但成功的 embedding;預設改為 30s。正式容器內 embedding smoke 回 1024 維、耗時 10.07s;手動 host health probe 後最新狀態為 GCP-A unhealthy、GCP-B healthy、111 healthy。背景 embedding 路由安全不變:GCP-A → GCP-B,不落 111。 - 2026-05-25 14:10 CST 起,
V10.472補 rootless GCP Ollama failover 診斷腳本與 DevOps SOP:scripts/ops/diagnose_ollama_gcp_failover.sh會檢查 direct GCP-A/GCP-B/111、110 proxy11435/11436與 GCP-Bbge-m3runtime。現況輸出:GCP-A direct/api/versionfailed/refused、GCP-B direct OK、111 OK、110:11435 502、110:11436 OK、GCP-B embed OK;110 無免密 sudo,ssh gcp-a22 refused、ssh gcp-bpublickey denied,因此 primary 修復需 GCP/SSH 或 110 root 權限。 - 2026-05-25 14:12 CST 起,
V10.473進行背景 embedding host_health skip:allow_111_fallback=false的背景 embedding 會讀最近host_health_probes,若 GCP-A/GCP-B runtime 已被標 unhealthy,直接跳過該節點並開 GCP circuit,不等待 30 秒 timeout、不落 111;DB 讀取失敗 fail-open。 - 2026-05-25 14:45 CST 起,
V10.474補 PChome near-threshold matcher / feeder 下一階段:HOOOME 白色經典香氛暖燈、Gdesign Aroma Lava 2.0 進 total-price exact;Recipe Box 可撕式水性兒童指甲油保留 identity_review,不自動寫正式價差;Pavaruni 蠟燭 vs 精油與 DASHING DIVA 不同款式仍不放行。known-id refresh 會對 hard-veto 舊候選跑 fresh search recovery;missing known-id 若 fresh search 只有低分候選,也保留 best candidate + diagnostics,不再只記refresh_no_result;正式覆寫保護新增 stronger existing guard。 - 2026-05-25 15:20 CST 起,
V10.475補 rescore CLI 與高分錯配防線:audit CLI 預設不再只掃strong_exact_spec_match,避免新版focused_exact_*理由漏掃;matcher 對香氛暖燈 S/M/L 尺寸差、NITORI 香氛噴霧器型號差直接 hard veto,彩妝色號單邊出現時送variant_selection_review,避免高分但不同 variant 的候選被誤推入 accepted queue。 - 2026-05-25 16:15 CST 起,
V10.476補商業條件差防線:即期品、效期/保存期限、盒損、福利品等條件只出現在單側時,matcher 加commercial_condition_gap並送variant_selection_review,不讓同名但商品狀態不同的候選自動進 accepted queue。 - 2026-05-25 19:20 CST 起,
V10.477補高分錯配防線:SPF 數值不同直接 veto,MAKE UP FOR EVER 定妝噴霧 vs 活氧水不同線直接 veto;多款任選對單一款與單側色號改送variant_selection_review,涵蓋私密潔浴露、身體去角質、美體乳液與染眉膏等。 - 2026-05-25 21:05 CST 起,
V10.480補 accepted-current 風險樣本防線:rom&nd 零絲絨/果凍唇釉 vs 果汁唇釉多款 listing 直接romand_lip_line_conflicthard veto;Relove 潔淨凝露若傳明酸/淨白活性只出現在單側,保留高分但進variant_selection_review;1990 融燭燈不同設計(歐式可彎 vs 韓風原木底座)直接selection1990_wax_lamp_design_conflicthard veto。 - 2026-05-25 21:25 CST 起,
V10.481補 rescore accepted retraction 工具缺口:退回工具會用當前 matcher 重判 latestrescore_accepted_current,凡新版已變variant_selection_review / low_score_current的舊 accepted 會追加退回true_low_confidence,避免人工覆核隊列保留舊版安全閘門放行的候選。Production 已部署/health=V10.481;保守 materialize 15 筆安全 SKU 後再退回 7 筆舊 accepted 變體風險,最新 accepted audit 為scanned=89 / gate_pass=89 / still_low=0。 - 2026-05-25 21:47 CST 起,
V10.482補 exact variant-safe 回收:LUSH 櫻之花身體噴霧 200ml、ARTMIS 金縷梅/蔓越莓私密清潔慕斯 250ml、SO NATURAL FIXX 120ml plain 與 Baan 原味/草莓同 catalog,若雙方同品名、同規格且同明確 variant,移除過度保守的variant_selection_review並進exact / total_price / price_alert_exact;SO NATURAL 經典款/光澤款/霧面款/夏日款 catalog 對單款 120ml 仍維持人工覆核。Production 已部署/health=V10.482,只 materialize 5 筆新增 exact-line SKU 到rescore_accepted_current;latest accepted audit 為scanned=94 / gate_pass=94 / still_low=0,三應用容器 healthy、momo-db未 recreate。 - 2026-05-25 23:03 CST 起,
V10.483收斂舊 gate pass 風險:NARS 遮瑕蜜任選、LOREAL 玻尿酸啵啵精華水/液態紫熨斗 vs 水光精華、SEBAMED 洗髮乳任選、Schick 舒綺 2-in-1 型號落差、TAICEND 保護膜 vs 噴霧,現在都會保留高分但加variant_selection_review與專屬 reason,不再被 rescore 自動送進 accepted queue。Production 已部署/health=V10.483;目標 5 SKU auditgate_pass=0 / still_low=5,並用--retract-variant-accepted退回 4 筆舊 accepted 變體風險,latest accepted audit 為scanned=90 / gate_pass=90 / still_low=0。 - 2026-05-25 12:05 CST 狀態:
main已部署到 188,正式/health為V10.467,待推 Gitea。兩段變更已合併驗證:V10.466 rescore duplicate 改看 latest-state,7 筆 SKU 最新 attempt 全為rescore_accepted_current,competitor_prices/competitor_price_history目標計數未變;V10.467 focused exact matcher 在容器內回exact / total_price / price_alert_exact。本輪 recreatemomo-app、scheduler、telegram-bot;未使用--remove-orphans,未碰momo-db。Smoke 通過:三容器 healthy、PChome rescore queue API HTTP 200、Gemini 24 小時無 provider 紀錄、Ollama env 順序維持 GCP-A → GCP-B → 111、3 分鐘三容器 log 未見 Traceback / ERROR / CRITICAL / IntegrityError。
1. MOMO / PChome 核心比價準確率
- 查正式
competitor_match_attempts最新狀態分布與高量低信心 cohort。 - 以小批次 pilot 處理
recoverable_low_score,優先品線:- DASHING DIVA
- aroma / diffuser / essential oil
- lip / cosmetic variant
- private-care / body-care
- 2026-05-24 22:10 CST 起,PChome rescore audit 預設對齊 review queue 最新狀態:先取每個 SKU 最新 attempt,再套用 status / reason 篩選;歷史候選回看需明確使用
--include-historical-candidates。 - 2026-05-24 22:20 CST 起,matcher replay 先套用 V10.453 安全修正:
EX8型號不視為x8入數,香氛固體凝膠一側泛稱、一側具體香味/No. 款式走 veto;Herbacin 小甘菊護手霜 20ml brandless 可作窄範圍安全回收。 - 2026-05-24 22:42 CST 起,feeder / rescore audit 套用 V10.454 安全閘門:
identity_review/manual_review/variant_selection_review的近門檻候選只能留在覆核,不能由 replay、refresh 或accepted_current入隊語意自動寫正式 PChome 價差。 - 2026-05-24 22:48 CST 已執行 production rescore 入隊:745 筆
true_low_confidence中先有 2 筆通過舊 gate;V10.454 gate 補上variant_selection_review排除後,SKU8884618KATE 多款任選唇膏已退回最新true_low_confidence,最終只保留 SKU10922465Herbacin 小甘菊護手霜 20ml 為rescore_accepted_current人工覆核 attempt;正式價格表未寫入,Dashboard / competitor intel cache 已清除。 - 2026-05-24 22:44 CST 起,rescore audit 補
--retract-variant-accepted工具化退回路徑;若最新rescore_accepted_current仍帶variant_selection_review,只追加true_low_confidenceattempt,不刪歷史、不寫正式價格表。 - 只新增窄範圍、可解釋 matcher 規則。
- 保留
MIN_MATCH_SCORE、identity_veto、既有正式候選覆寫保護。 - 驗收:
matched有增加、目標low_score下降、needs_review不異常上升、無明顯跨色號/跨款式/跨劑型錯配。
2. 商品列表與人工覆核閉環
- 商品列表不得再大量顯示籠統「待對比」。
- 將狀態拆成:尚未搜尋、價格過期待刷新、近門檻可救回、證據不足、既有強配對保護、已排除、需單位價比較、找不到同款。
- 每筆覆核要顯示候選 PChome 商品、候選價、match score、診斷原因、下一步動作。
- 人工採用 / 否決 / 單位價 / 補搜尋必須能回寫 review queue,並影響 feeder 後續行為。
- 2026-05-25 00:15 CST 起,PChome 補抓操作入口同步收斂為「PChome 補抓產線 / 補抓未搜尋 / 未搜尋補抓」,包含 Dashboard、AI 中樞、前端 confirm 與 API 回覆,不再讓操作入口殘留籠統「待比對」。
- 2026-05-25 00:06 CST 起,尚未進入 PChome 搜尋/補抓的商品列表文案改為「尚未搜尋」與「尚未進入 PChome 補抓」,不再顯示籠統「待比對」,避免和低信心待人工覆核混淆。
- 2026-05-24 23:40 CST 起,
protected_existing_match的 reviewdecision_envelope會解析existing_match_conflict,列出既有正式候選、新候選、雙方 score 與 delta;這類案件仍不可自動覆蓋正式價差,但人工覆核、Agent 與 PPT 不再只看到籠統「既有保護」。
2.1 近門檻 / 高信心待審 matcher 補強
- 2026-05-25 08:30 CST 起,rescore audit 支援
--skurepeatable 精準篩選;production pilot 可只指定 3-10 個 SKU 執行 read-only audit 或--apply-accepted,避免寬範圍掃描誤把不同 cohort 混在同一次驗證。 - 2026-05-25 08:25 CST 起,
DR.WU / DR WU / DRWU / 達爾膚視為同一品牌 alias;正式樣本中的 DR.WU 玻尿酸保濕精華乳 50ML、2入組與杏仁酸亮白煥膚精華 18% 30ML 2入組,在不調整全域門檻下可由 brandless identity review 回到 exact total-price lane。 - 2026-05-25 08:36 CST production pilot:SKU
10362820、10653216、10653329已從true_low_confidencematerialize 為rescore_accepted_current,只進人工覆核隊列,不寫competitor_prices。 - 2026-05-25 11:55 CST 起,rescore audit duplicate 判斷只看最新 attempt;若歷史已有 accepted 但後續 crawler 又追加低信心列,可重新 materialize 成最新
rescore_accepted_current。Production pilot 已將 SKU14756069、11159042、13842560、8394210、15192547、10509765、10603780入人工覆核隊列;正式competitor_prices/competitor_price_history未寫入或改變。 - 2026-05-25 12:20 CST 起,matcher 新增
focused_exact_total_price_safe窄範圍通道;目前只覆蓋 3W CLINIC 粉底液 2入、花美水凝膠 3支、The Ordinary 咖啡因 EGCG 30ml、KUSSEN 屁屁膏 3入、Bone 擴香禮盒、1990 融燭燈白色款與 CANMAKE 淚袋盤等已確認同款樣本。這讓高信心exact/manual_review能轉為exact/total_price供 rescore pilot 入人工覆核;DASHING DIVA、唇彩、香味、色號/款式敏感商品仍不放行。 - 2026-05-25 12:25 CST production pilot:SKU
6101639、10074951、7760902、TP00074980000005、14774766、10142589、10262470、10262471、11308520已從true_low_confidencematerialize 為rescore_accepted_current,全數exact/total_price/price_alert_exact且理由含focused_exact_total_price_safe。SKU6101784因「即期品」商業條件不同,刻意保留在true_low_confidence,不納入本輪自動入隊。 - 2026-05-25 14:45 CST 起,matcher 擴充至香氛/精油近門檻安全 cohort:HOOOME 白色經典香氛暖燈與 Gdesign Aroma Lava 2.0 可進
exact/total_price/price_alert_exact;Recipe Box 可撕式水性兒童指甲油只進identity_review,因兒童指甲油仍可能藏色款/款式。DASHING DIVA 與 Pavaruni cross-type 負例已補測試,避免跨款式、跨劑型誤配。 - 2026-05-25 15:20 CST 起,新增三個正式觀察到的高分負例防線:PRAY 守夜人暖燈 L vs S、NITORI 香氛噴霧器 5510 vs YX168、LA MER 氣墊粉霜通用 listing vs
11 Rosy Ivory色號。前兩者 hard veto,後者保留高分但不進 accepted queue。 - 2026-05-25 16:15 CST 起,新增商業條件差負例:KAMERIA 足膜、3W CLINIC 粉底液、Sisley 全能乳液等若一側標示即期/效期/盒損,仍可顯示高相似度,但只進 identity review,不自動入 accepted queue。
- 2026-05-25 19:20 CST 起,新增高分負例:Jealousness SPF25 vs SPF50、MAKE UP FOR EVER 超光肌控油定妝噴霧 vs 超光肌活氧水、rom&nd 染眉膏通用 listing vs
03 摩登米、Lactacyd 多款潔浴露 vs 單一亮肌柔滑、我的心機多款身體去角質 vs 單一香型。前兩者 hard veto,其餘進 identity review。 - 2026-05-25 20:05 CST 起,新增高分錯配 / catalog 變體防線:AUS LIFE 檸檬草 vs 茶樹滾珠精油、NOW 椰子油膏 vs 乳木果油、港香蘭漢本 vs 艾魔菈爽身粉改為 hard veto;多色 / 多香 / 數字區間 catalog 對單一款式(KATE 粉餅盒、植村秀眉筆、PERIPERA 01~07 眼線膠筆、Jo Malone 車用擴香蕊芯等)只進
variant_selection_review。 - 2026-05-25 20:35 CST 起,依 production audit 續補二階風險:同規格但一側為潔膚露、一側為修護乳/乳液直接
cleanser_lotion_line_conflicthard veto;私密防護慕絲多款可選 vs 單一香型、滋養霜單側清爽型只進variant_selection_review。 - 2026-05-25 21:05 CST 起,依 accepted-current 二次抽樣續補三類風險:rom&nd 唇釉不同品線不可互收;Relove 潔淨凝露傳明酸/淨白變體不可自動 accepted;1990 融燭燈同色但不同燈座/結構不可互收。下一步先部署 V10.480,再回查 accepted-current 是否仍有上述 4 筆風險 SKU。
- 2026-05-25 21:25 CST 起,accepted queue 清潔不再只靠舊
diagnostic_codes:--retract-variant-accepted改為先抓 latest accepted,再用當前 matcher 判斷是否需要退回。這能清掉 V10.480 後才被新規則判為variant_selection_review的舊 accepted。正式最新狀態:true_low_confidence=751、rescore_accepted_current=89、identity_veto=3994、matched=1570、unit_comparable=379。 - 2026-05-25 23:45 CST 起,
V10.484拆分 manual gate exact 與型錄風險:POWERMAN 男性私密養護液 30ml、PHYSIOGEL AI 冰鎮精華露 200ml 2入、TS6 緊彈水嫩凝膠 40g、DERMA 寶寶洗髮沐浴露 150/500ml、Clarins 黃金亮眼萃 20ml、Cetaphil 長效潤膚乳 237/473ml 等明確同款可走exact / total_price / price_alert_exact;COCODOR 大豆蠟燭單側多款任選保留variant_selection_review,Pavaruni 雙側 20 香味蠟燭保持 total-price exact。測試:tests/test_marketplace_product_matcher.py、tests/test_competitor_match_attempts_persistence.py、tests/test_competitor_match_attempt_rescore_audit.py通過。 - 2026-05-25 23:55 CST 起,
V10.485補 NITORI 香氛噴霧器短型號防線:near-threshold read-only pilot 中唯一 gate pass 為 5510 vs J82 LBR,已判定不該入隊;matcher 將J82這類短英數型號納入 NITORI diffuser model conflict,與 5510 / YX168 等不同型號一樣 hard veto。Production 已部署/health=V10.485;120 筆 near-threshold audit 由gate_pass=1變gate_pass=0,accepted auditscanned=89 / gate_pass=89 / still_low=0。 - 2026-05-29 起,
V10.486補 PChome near-threshold 風險邊界:NEW DIRECTIONS 甜杏仁油 vs 酪梨油直接 hard veto;COCODOR 經典擴香瓶多款任選、KAMERIA 足膜任選三款、Hakugen 白元入浴劑橘盒/綠盒不同變體都保留variant_selection_review,不進可採用 gate。Production 已部署/health=V10.486;240 筆 near-threshold auditgate_pass 83→79、identity_veto 0→1、still_low 157→160。 - 2026-05-29 起,
V10.488新增市場情報 MCP Fetch Run Receipt 安全預覽 gate,只審核操作員 dry-run receipt,不執行 CLI、不抓外站、不寫 DB。 - 2026-05-29 起,
V10.489補 PChome 低分同款人工覆核回收與 gate-pass 風險邊界:TS6 超美白香氛誘霜 120g/ml、W 修護保養蝸牛特潤修護面膜 6 片、Derma 大地 Eco 植萃護膚油 2 入,從低信心升成identity_review候選;Clarins 輕盈美體護理油 vs 身體調和護理油、台塑生醫嬰兒沐浴/洗髮組合數量反轉、isLeaf 私密慕絲香型數量不一致改 hard veto;HOOOME 大理石暖燈 vs 泛稱經典款只留variant_selection_review,不進 total-price accepted。Production 已部署/health=V10.489;500 筆 read-only audit 由 V10.486 基線gate_pass=129 / identity_veto=1 / still_low=370收斂為gate_pass=124 / identity_veto=4 / still_low=372,三應用容器 healthy、momo-db未 recreate。 - 2026-05-31 起,
V10.490補 ElephantAlpha / OpenClaw 舊策略 action 相容:正式日誌觀察到agent=openclaw action=generate_market_strategy被當未知步驟丟錯;此類 OpenClaw strategy 產生步驟已定義為 advisory skipped,只記 warning,不觸發 circuit breaker、不執行外部策略、不影響價格行動。測試覆蓋generate_market_strategy與generate_resource_optimization_strategy,未知 action 仍維持 fail-fast。 - 2026-05-31 起,
V10.491新增市場情報 MCP Fetch Result Parser Review gate:在 receipt gate 後只審核操作員 shell parser 貼回的結構化摘要,對齊 source/path、公開 URL、候選必要欄位、小批次上限、raw HTML/secret/side-effect 風險;仍不讀 artifact、不執行 CLI、不連外、不寫 DB、不掛 scheduler。 - 2026-05-31 起,
V10.492收緊 PChome 近門檻自動回刷:run_retryable_candidate_revalidation()只回刷recoverable_low_score與 legacylow_score / refresh_low_score,且 SQL 端要求hard_veto=false、comparison_mode=exact_identity、diagnostic reasons 命中同品線/identity anchor;identity_veto、unit_comparable、true_low_confidence不再進每日自動回刷隊列,需等待新證據或人工處理。 - 2026-05-31 起,
V10.493新增市場情報 MCP Fetch Candidate Handoff Review gate:在 parser review 通過後只審核候選交接包,要求 source/candidate key 完全對齊、queue policy 維持 manual preview、小批次上限與操作員無寫入/無連外/無排程確認;仍不建立 queue、不寫 DB、不讀 artifact、不連外、不掛 scheduler。 - 2026-05-31 起,
V10.494新增市場情報 MCP Fetch Candidate Queue Review gate:在 handoff review 通過後只審核人工 queue review 草案,要求候選 key 完全對齊、review_state 只停在needs_review、allowed actions 限人工操作、queue_write_status 維持not_persisted;仍不建立 queue、不更新 review_state、不寫 DB、不連外、不掛 scheduler。 - 2026-05-31 起,
V10.495新增市場情報 MCP Fetch Candidate Queue Writer Preflight gate:在 queue review 通過後只審核 writer preflight 草案,要求 target table、write mode、dedupe strategy、insert columns、payload rows 與候選 key 完全對齊;仍不開 DB、不執行 CLI、不建立 queue、不更新 review_state、不寫 DB、不連外、不掛 scheduler。 - 2026-05-31 起,
V10.496新增市場情報 MCP Fetch Candidate Queue Writer CLI Review gate:在 writer preflight 通過後只審核 CLI review 草案,要求 script path、target table、preflight id、row count、candidate/dedupe keys 與 read-only command argv 對齊;仍不執行 CLI、不讀 approval token、不寫檔、不開 DB、不寫 queue、不掛 scheduler。 - 2026-05-31 起,
V10.497新增市場情報 MCP Fetch Candidate Queue Writer Run Package Review gate:在 CLI review 通過後只審核 operator run package 草案,要求 artifact manifest、operator shell command sequence、package identity、candidate/dedupe keys 與 CLI review 對齊;仍不產檔、不讀 approval token、不執行 CLI、不開 DB、不寫 queue、不掛 scheduler,只放行到 run readiness review。 - 2026-05-31 起,
V10.498新增市場情報 MCP Fetch Candidate Queue Writer Run Readiness gate:在 run package review 通過後只審核 operator readiness 證據,要求 run readiness artifact、reviewed sample、備份、read-only preflight 與 post-write smoke 路徑安全,並確認 CLI-only、approval token shell-only、無 API/DB/file/scheduler 副作用;仍不產檔、不讀 token、不執行 CLI、不開 DB、不寫 queue、不掛 scheduler,只放行到後續 run receipt review。 - 2026-05-31 起,
V10.499新增市場情報 MCP Fetch Candidate Queue Writer Run Receipt Review gate:在 run readiness 通過後只審核操作員 shell writer run 的 receipt 摘要,要求 readiness linkage、run package id、候選/dedupe keys、writer output、post-write smoke、backup path 與 operator confirmation 對齊;仍不讀 receipt 原文、不讀 token、不執行 CLI、不開 DB、不寫 queue、不做 post-write query、不掛 scheduler,只放行到 closeout review。 - 2026-05-31 起,
V10.500新增市場情報 MCP Fetch Candidate Queue Writer Run Closeout Review gate:在 receipt review 通過後只審核 operator closeout 摘要,要求 receipt linkage、closeout artifact、receipt review artifact、post-closeout inventory plan、writer output / post-write smoke / backup manifest、rollback note 與 operator confirmation 對齊;仍不讀 receipt 原文、不讀 token、不執行 CLI、不開 DB、不寫 queue、不做 post-closeout query、不掛 scheduler,只放行到 read-only post-closeout inventory review。 - 2026-05-31 起,
V10.501新增市場情報 MCP Fetch Candidate Queue Writer Post-Closeout Inventory Review gate:在 closeout review 通過後只審核 operator live inventory read-only 摘要,要求 closeout linkage、row count、inventory artifact、closeout review artifact、read-only query result、missing/duplicate rows 與 operator confirmation 對齊;仍不讀 token、不執行 CLI、不開 DB、不寫 queue、不做 inventory query、不掛 scheduler,只放行到 candidate queue review handoff。 - 2026-05-31 起,
V10.502修正 AiderHeal 自動修復診斷鏈:先檢查 ADR-020 檔案白名單再執行 110 preflight,tests/finding 會明確略過而不誤報 repo preflight;Code Review 完成通知會把全數不在白名單的 finding 標成需人工處理,不再宣稱已觸發 AiderHeal;白名單放行services/routes/database子目錄 Python 檔,preflight 通知帶遠端錯誤細節,健康檢查接受/health回healthy。 - 2026-05-31 起,
V10.503新增市場情報 MCP Fetch Candidate Queue Writer Review Handoff gate:在 post-closeout inventory review 通過後只審核 operator candidate queue review handoff 摘要,要求 inventory linkage、handoff identity、target table、row count、artifact paths、review contract、forbidden API actions 與 operator confirmation 對齊;仍不讀 token、不執行 CLI、不開 DB、不寫 queue、不更新 review_state、不掛 scheduler,只放行到人工 candidate queue review。 - 2026-05-31 起,
V10.504新增市場情報 MCP Fetch Candidate Queue Writer Review Inventory gate:在 writer review handoff 通過後只審核 operator read-only candidate queue inventory 摘要,要求 handoff identity、target table、row count、dedupe keys、review_state、artifact paths、read-only query result、missing/duplicate rows 與 operator confirmation 對齊;仍不讀 token、不執行 CLI、不開 DB、不寫 queue、不更新 review_state、不做 inventory query、不掛 scheduler,只放行到後續人工 candidate queue review。 - 2026-05-31 起,
V10.505新增市場情報 MCP Fetch Candidate Queue Writer Review Decision gate:在 review inventory 通過後只審核 operator candidate queue review decision 摘要,要求 decision identity、target table、row count、dedupe keys、needs_review現態、允許決策、evidence refs、matched row exact-identity/variant/overwrite guard 與 operator confirmation 對齊;仍不讀 token、不執行 CLI、不開 DB、不寫 decision record、不更新 review_state、不寫 match result、不補 queue、不掛 scheduler,只放行到 decision approval / writer preflight 設計。 - 2026-05-31 起,
V10.506新增市場情報 MCP Fetch Candidate Queue Writer Review Decision Approval gate:在 review decision 通過後只審核 operator human approval 摘要,要求 decision linkage、approval identity、target table、row count、dedupe keys、approved_for_writer_preflightapproval result、decision/approval evidence refs、artifact paths、matched row exact-identity/variant/overwrite guard 與 operator confirmation 對齊;仍不讀 token、不執行 CLI、不開 DB、不寫 approval record、不寫 decision record、不更新 review_state、不寫 match result、不補 queue、不掛 scheduler,只放行到後續 writer preflight 設計。 - 2026-05-31 起,
V10.509新增市場情報 MCP Fetch Candidate Queue Writer Review Decision Approval Writer Preflight gate:在 human approval 通過後只審核 operator writer preflight 摘要,要求 approval linkage、writer_preflight_id、target operation、row count、dedupe keys、approved decision 到 target review_state 的逐列映射、decision/approval/preflight evidence refs、matched row exact-identity/variant/overwrite guard 與 operator boundary;仍不讀 token、不執行 CLI、不開 DB、不寫 preflight/approval/decision/match、不更新 review_state、不補 queue、不掛 scheduler,只放行到後續 CLI review / run package 設計。 - 2026-06-01 起,
V10.566新增市場情報 Professional Source Governance gate:將 robots/REP、sitemap/lastmod、JSON-LD / schema.org structured data、canonical URL、rate limit、公開資料邊界、provenance、snapshot hash 與 idempotency key 納入 source contract,並接上/api/market_intel/mcp_professional_source_governance、UI preview panel、deployment readiness check 與 production smoke target;仍不抓外站、不讀 robots/sitemap、不開 DB、不寫檔、不掛 scheduler。 - 2026-06-04 起,
V10.576修正 GCP-only Ollama retry:caller 禁用 111 fallback 時,resolver 若回到 111 會改試 GCP-A/GCP-B allowlist,不再讓 Hermes / Code Review 類任務因 resolver 快取到 111 而all 0 hosts failed。 - 2026-06-04 起,
V10.575拆分 PChome 型錄可比覆核 lane:catalog_comparable會依 diagnostic evidence 分成選項/色號、單位/入數與身份採用三條人工處理路徑,Dashboard、decision envelope、coverage 與 Webcrumbs host data 使用同一套統計與 HITL guardrail。 - 2026-06-03 起,
V10.574新增市場情報 Source Governance → Fetch Target bridge:/api/market_intel/mcp_fetch_target_source_governance_review交叉審核 Professional Source Governance 與 MCP Fetch Target Review,要求 targetplatform_code/source_key全部命中已治理 source contract;仍不抓外站、不讀 robots/sitemap、不開 DB、不寫檔、不執行 CLI、不掛 scheduler,只放行到後續人工 fetch run package review。 - 2026-06-02 起,
V10.567將 MCP 市場洞察 fallback 收斂為 GCP-A / GCP-B only,不再讓 111 承接非即時市場分析長任務;預設 timeout 25 秒、num_predict500,GCP 不可用時直接保守降級,避免 Elephant Alpha 60 秒 timeout 與 111 負載尖峰。 - 2026-06-02 起,
V10.568將價格類decision_envelope的 Telegram 直送訊息改為專業 brief:標的、價格證據、比對證據、人工下一步四段式;review queue 信封 subject 同步帶momo_price/competitor_price,讓 Telegram、PPT、Webcrumbs 與 AI 摘要共用價格證據。 - 2026-06-02 起,
V10.569將 Webcrumbs host data 串到summarize_review_decision_envelopes(),payload 新增reviewDecisionBrief與 review queue / HITL / auto-execute-blocked metadata;共用 UI runtime 讀同一份 PChome 覆核信封摘要,仍只讀 DB、不呼叫 LLM、不抓外站、不寫資料。
3. 12 Agent 決策信封整合
decision_envelope已接到 NemoTron 價格告警與人工覆核,下一步要讓 OpenClaw、ElephantAlpha、PPT QA 與 review queue 共用同一份 evidence contract。- 2026-05-24 22:44 CST 起,EventRouter 對已附
decision_envelope的事件直接渲染證據模板,不呼叫 L1/L2 AI handler;這讓 NemoTron 價格告警、人工覆核與後續 Agent 共用同一份 SKU / PChome / evidence / guardrails,不再二次生成摘要。 - 2026-05-24 23:00 CST 起,
fetch_competitor_review_queue()、fetch_competitor_review_queue_page()與/api/pchome-review/queue每筆候選也帶decision_envelope,包含 SKU/PChome 標的、match evidence、人工下一步、預期價差與不可自動寫正式價差的 guardrails;Dashboard、Agent、Telegram、PPT 後續共用此 contract。 - 2026-05-24 23:15 CST 起,Dashboard 覆核卡與 PChome 覆核 Excel 匯出也顯示/輸出信封摘要、資料品質、HITL、trace、自動執行阻擋原因與證據摘要;下載檔不得丟失 guardrails。
- 2026-05-24 23:25 CST 起,OpenClaw 週報/日報/月報與 competitor PPT 使用
summarize_review_decision_envelopes()的同一份 HITL 信封摘要,不再手寫 attempt_status 統計或自行翻譯覆核狀態。 - 2026-05-24 23:40 CST 起,
compare_existing_identity成為protected_existing_match的明確建議動作;Agent 只能提示「比較既有正式候選與新候選」,不得因新候選分數較高自動寫正式價差。 - 2026-05-24 23:55 CST 起,ElephantAlpha
resource_optimization/ea_escalation都必須帶 deterministicdecision_envelope;Telegram 按鈕 callback 使用decision_id,證據只允許 action_plans、CPU 實測、hygiene 與 trigger trace。 - 告警不得再輸出空泛「預期效益」;必須帶資料品質、證據來源、HITL 邊界與 trace id。
- Agent 建議只能輔助排序與分析,不得繞過 matcher / feeder / review service 寫正式價格。
3.1 Ollama / Embedding 健康
- 2026-05-25 08:48 CST 起,
OllamaService.generate_embedding(..., allow_111_fallback=False)若 resolver 回 111,會強制改試尚未嘗試的 GCP-A/GCP-B,不再讓背景 embedding 在 111 disabled 情境直接退出或只試單台 GCP-B;111 仍不承接背景bge-m3。 - 2026-05-25 12:27 CST 起,背景 embedding 在 GCP-A/GCP-B 全掛時開啟短暫 failure circuit;這是降載保護,不代表 primary 已恢復。部署 smoke 時 GCP-B
/api/version已恢復 200,下一步仍需恢復 GCP-A Ollama 或更新 110 的可用 SSH/GCP 操作憑證。 - 2026-05-25 12:37 CST 起,背景 embedding GCP-only failure circuit 改用 WARNING 記錄,避免可預期降級污染 ERROR 告警通道。
- 2026-05-25 13:35 CST 起,GCP-B
bge-m3實測 P95 波動已超過 15s,背景 embedding / host health model probe timeout 預設改 30s;若 30s 仍常 timeout,需進一步處理 GCP-B runner/CPU/模型併發,而不是再把 111 納入背景任務。 - 2026-05-25 14:10 CST 起,GCP-A refused 已明確歸類為 infra blocker;應用層不得改成 111 背景 fallback,也不得把 110:11435 502 當成 momo-app 故障。背景 embedding 可依
host_health_probes跳過近期 unhealthy GCP host,但查 DB 必須 fail-open。
4. 業績分析資料與圖表修復
- 修正即時業績匯入
snapshot_date text = date類型錯誤。 /daily_sales、/growth_analysis圖表不得空白;需保留原本圖表並升級成更專業的呈現。- 圖表需通過 runtime nonblank canvas 檢查與手機版 responsive。
- daily/growth/PPT 必須共用
competitor_intel_repository的比價資料出口,避免價差方向或統計口徑分裂。 - 2026-05-24 23:55 CST 起,daily/growth chart 判斷不再只看 series 長度;若序列全 0,顯示 chart-empty 狀態而不是畫只有座標軸的假圖。正式 smoke 需跑
scripts/check_sales_charts_runtime.js確認主要 canvas 非空。
5. PPT 視覺 QA 與自動簡報產線
- 每日、每週、每月、每季、半年、年度簡報需依排程產出。
- 每次產出與視覺 QA 結果必須完整寫入 DB。
/observability/ppt_audit_history必須清楚顯示 runtime 狀態、產出狀態、視覺 QA、問題追蹤與可預覽檔案。- PPTX / PDF 預覽需可站內直接開啟,不能只下載。
6. 外部 BI / 協作入口
/metabase不可空白,需顯示可診斷 bridge 狀態或可用替代入口。/grist/ 資料協作連結不得連到其他專案站。- 側欄與 topbar 外部工具入口要統一走 momo-pro bridge route。
7. AI 觀測台與全站 UI/UX
- 10 個 AI 觀測台頁面必須符合新版字體、字級、暖墨色、焦糖 accent、點陣視覺與 responsive 規範。
- 全站主要頁面需通過 desktop / mobile overflow guard。
- 表格與圖表只允許在局部容器橫向滾動,不可造成整頁無限延伸。
8. 效能與可觀測性
- 持續降低
/daily_sales、/growth_analysis、商品看板、PChome queue、PPT audit 首屏 TTFB。 - 避免 worker cold start 重查重算;必要時使用共享快取與指紋失效。
- 111 fallback 只作最後救急;持續監控 GCP-A / GCP-B / 111 用量與 circuit breaker。
9. 每輪收尾
- Focused tests → full pytest 或合理範圍回歸 → production smoke。
- 更新 SOT / memory / TODO。
- 推 Gitea,正式部署,確認
/health版本。 - 記錄未完成與下一輪入口。