Explain protected PChome match conflicts
All checks were successful
CD Pipeline / deploy (push) Successful in 1m6s
All checks were successful
CD Pipeline / deploy (push) Successful in 1m6s
This commit is contained in:
@@ -220,6 +220,42 @@ def test_rescore_accepted_review_item_has_actionable_decision_envelope():
|
||||
assert any(evidence["metric"] == "candidate_gap_pct" for evidence in envelope["evidence"])
|
||||
|
||||
|
||||
def test_protected_existing_match_envelope_explains_candidate_conflict():
|
||||
from services.competitor_intel_repository import _format_competitor_review_item
|
||||
|
||||
item = _format_competitor_review_item({
|
||||
"sku": "14338675",
|
||||
"name": "【Relove】胺基酸私密潔淨精華凝露120ml",
|
||||
"momo_price": 399,
|
||||
"attempt_status": "protected_existing_match",
|
||||
"candidate_count": 2,
|
||||
"best_competitor_product_id": "QEAE1O-A900A6DRS",
|
||||
"best_competitor_product_name": "RELOVE胺基酸私密清潔凝露120ml",
|
||||
"best_competitor_price": 329,
|
||||
"best_match_score": 0.817,
|
||||
"match_diagnostic_json": {
|
||||
"match_type": "exact",
|
||||
"price_basis": "total_price",
|
||||
"alert_tier": "identity_review",
|
||||
"reasons": ["strong_exact_spec_match", "spec_name_alignment"],
|
||||
},
|
||||
"error_message": (
|
||||
"existing_match_conflict;existing_id=QEAE1O-A900A6DNN;"
|
||||
"incoming_id=QEAE1O-A900A6DRS;existing_score=0.766;incoming_score=0.817"
|
||||
),
|
||||
})
|
||||
|
||||
envelope = item["decision_envelope"]
|
||||
conflict = envelope["expected_impact"]["existing_match_conflict"]
|
||||
assert item["existing_match_conflict"]["score_delta"] == 0.051
|
||||
assert envelope["recommended_action"]["action"] == "compare_existing_identity"
|
||||
assert envelope["severity"] == "P2"
|
||||
assert envelope["guardrails"]["existing_match_protected"] is True
|
||||
assert conflict["existing_product_id"] == "QEAE1O-A900A6DNN"
|
||||
assert conflict["incoming_product_id"] == "QEAE1O-A900A6DRS"
|
||||
assert any(evidence["metric"] == "existing_match_conflict" for evidence in envelope["evidence"])
|
||||
|
||||
|
||||
def test_review_decision_brief_is_shared_by_openclaw_and_ppt():
|
||||
from services.competitor_intel_repository import (
|
||||
_format_competitor_review_item,
|
||||
|
||||
Reference in New Issue
Block a user