V10.519 對齊 Webcrumbs host data 新覆蓋口徑
This commit is contained in:
@@ -75,6 +75,22 @@ def _empty_payload(reason: str = "no_price_alert_exact") -> dict:
|
||||
}
|
||||
|
||||
|
||||
def _coverage_metadata(coverage: dict, row_count: int) -> dict:
|
||||
return {
|
||||
"source": "competitor_intel_repository",
|
||||
"matched_count": int(coverage.get("valid_matches") or coverage.get("matched_count") or 0),
|
||||
"coverage_rate": _num(coverage.get("match_rate")),
|
||||
"fresh_match_count": int(coverage.get("fresh_matches") or coverage.get("fresh_match_count") or 0),
|
||||
"fresh_match_rate": _num(coverage.get("fresh_match_rate")),
|
||||
"stale_match_count": int(coverage.get("stale_matches") or coverage.get("stale_match_count") or 0),
|
||||
"pending_match_count": int(coverage.get("pending") or coverage.get("pending_match_count") or 0),
|
||||
"row_count": row_count,
|
||||
"writes_database": False,
|
||||
"calls_llm": False,
|
||||
"fetches_external": False,
|
||||
}
|
||||
|
||||
|
||||
def build_webcrumbs_marketplace_host_data(engine=None, limit: int = 5) -> dict:
|
||||
"""Build read-only host data for the Webcrumbs diagnostic page.
|
||||
|
||||
@@ -96,15 +112,7 @@ def build_webcrumbs_marketplace_host_data(engine=None, limit: int = 5) -> dict:
|
||||
|
||||
if not risks:
|
||||
payload = _empty_payload("no_current_exact_risk")
|
||||
payload["metadata"] = {
|
||||
"source": "competitor_intel_repository",
|
||||
"matched_count": int(coverage.get("valid_matches") or coverage.get("matched_count") or 0),
|
||||
"coverage_rate": _num(coverage.get("match_rate")),
|
||||
"row_count": 0,
|
||||
"writes_database": False,
|
||||
"calls_llm": False,
|
||||
"fetches_external": False,
|
||||
}
|
||||
payload["metadata"] = _coverage_metadata(coverage, row_count=0)
|
||||
return payload
|
||||
|
||||
rows = []
|
||||
@@ -147,13 +155,5 @@ def build_webcrumbs_marketplace_host_data(engine=None, limit: int = 5) -> dict:
|
||||
"evidence_refs": evidence_refs,
|
||||
"updated_at": top.get("crawled_at") or "latest_competitor_prices",
|
||||
},
|
||||
"metadata": {
|
||||
"source": "competitor_intel_repository",
|
||||
"matched_count": int(coverage.get("valid_matches") or coverage.get("matched_count") or 0),
|
||||
"coverage_rate": _num(coverage.get("match_rate")),
|
||||
"row_count": len(rows),
|
||||
"writes_database": False,
|
||||
"calls_llm": False,
|
||||
"fetches_external": False,
|
||||
},
|
||||
"metadata": _coverage_metadata(coverage, row_count=len(rows)),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user