V10.433 improve competitor review diagnostics

This commit is contained in:
OoO
2026-05-24 16:51:19 +08:00
parent 051c654713
commit a1df2bc8d5
10 changed files with 167 additions and 15 deletions

View File

@@ -120,6 +120,43 @@ def test_competitor_review_queue_is_canonical_unit_price_handoff():
assert "coverage.manual_unit_price_count" in growth_template
def test_competitor_review_reasons_prefer_json_payload_labels():
from services.competitor_intel_repository import _format_competitor_review_item
item = _format_competitor_review_item({
"sku": "SKU-1",
"name": "M.A.C Macximal 柔霧唇膏",
"momo_price": 990,
"attempt_status": "identity_veto",
"candidate_count": 1,
"best_competitor_product_id": "DABC123",
"best_competitor_product_name": "MAC Macximal 緞光唇膏",
"best_competitor_price": 880,
"best_match_score": 0.32,
"match_diagnostic_json": {
"match_type": "no_match",
"price_basis": "none",
"alert_tier": "suppress",
"reasons": [
"makeup_finish_conflict",
"nail_tool_function_conflict",
"schick_razor_line_conflict",
],
},
"error_message": "",
})
assert item["match_type_label"] == "非同款"
assert item["price_basis_label"] == "不可比"
assert item["alert_tier_label"] == "不告警"
assert item["diagnostic_reason_text"] == "妝效質地不同、工具功能不同、除毛刀品線不同"
assert [reason["code"] for reason in item["diagnostic_reasons"]] == [
"makeup_finish_conflict",
"nail_tool_function_conflict",
"schick_razor_line_conflict",
]
def test_competitor_ppt_prompt_uses_neutral_ewooc_viewpoint():
source = (ROOT / "routes" / "openclaw_bot_routes.py").read_text(encoding="utf-8")