{"ok":false,"completion_packet":{"ok":false,"run_id":11,"store_id":10,"store_name":"水南幸福食堂","status":"needs_repair","run_status":"done","trigger_source":"info_audit","summary":{"requirement_count":4,"blocker_count":1,"warning_count":1,"platform_row_count":7,"requested_count":9,"covered_count":7,"missing_count":3,"ok_source_count":5,"cooldown_source_count":0,"blocked_source_count":0,"review_source_count":2,"avg_reliability_score":83.3},"next_action":"Review the candidate evidence manually, add verified links if needed, and tune store aliases or target keywords.","next_actions":["Review the candidate evidence manually, add verified links if needed, and tune store aliases or target keywords.","Fix missing source configuration or collector section errors, then rerun collect-due for this store.","Ensure official APIs, compliant public search APIs, authorized sync, or AI monitor boundaries are explicit."],"requirements":[{"code":"requested_source_coverage","title":"Requested source coverage","status":"blocker","priority":"P0","required":true,"message":"3/9 requested source(s) did not produce an auditable row.","next_action":"Fix missing source configuration or collector section errors, then rerun collect-due for this store.","acceptance":"Every requested external source has a GeoPlatformEvidence row or an explicit missing-source explanation.","evidence":{"requested":9,"covered":7,"missing":3,"row_count":7}},{"code":"blocked_cooldown_diagnostics","title":"Blocked/cooldown diagnostics","status":"ok","priority":"P2","required":true,"message":"No blocked or cooldown source remains in this collection run.","next_action":"Repair blockers immediately; wait for retry_after_at before retrying cooldown sources.","acceptance":"Blocked sources retain error_message and next_action; cooldown sources retain retry_after_at.","evidence":{"blocked_count":0,"cooldown_count":0,"missing_blocker_diagnostics":[],"missing_cooldown_retry":[]}},{"code":"evidence_payload_quality","title":"Evidence payload quality","status":"ok","priority":"P2","required":true,"message":"Evidence rows retain raw payload, checked_at, and reliability score.","next_action":"Keep raw API/search/sync payloads, checked_at, and reliability scoring on every evidence row.","acceptance":"Every formal evidence row has raw_payload, checked_at, reliability_grade, and reliability_score.","evidence":{"row_count":7,"missing_raw_payload_ids":[],"missing_reliability_ids":[],"missing_checked_at_ids":[]}},{"code":"compliance_boundary","title":"Compliance boundary","status":"warning","priority":"P1","required":true,"message":"2 covered source(s) are missing compliance notes.","next_action":"Ensure official APIs, compliant public search APIs, authorized sync, or AI monitor boundaries are explicit.","acceptance":"Every covered source states the compliant collection boundary used by the collector.","evidence":{"missing_compliance_source_ids":["amap","baidu_maps"],"covered_count":7}}],"source_ledger":{"requested_sources":[{"source_id":"amap","provider":"amap","section":"maps","channel":"official_api","label":"高德地图","compliance_note":"Use official map APIs with server-side keys, quota monitoring, and IP allowlists."},{"source_id":"baidu_maps","provider":"baidu_maps","section":"maps","channel":"official_api","label":"百度地图","compliance_note":"Use official map APIs with server-side keys, quota monitoring, and IP allowlists."},{"source_id":"tencent_maps","provider":"tencent_maps","section":"maps","channel":"official_api","label":"腾讯地图","compliance_note":"Use official map APIs with server-side keys, quota monitoring, and IP allowlists."},{"source_id":"dianping_search","provider":"dianping","section":"search","channel":"search_api","label":"大众点评","compliance_note":"Use compliant public search APIs only; do not bypass platform login, captcha, robots, or access controls."},{"source_id":"meituan_search","provider":"meituan","section":"search","channel":"search_api","label":"美团","compliance_note":"Use compliant public search APIs only; do not bypass platform login, captcha, robots, or access controls."},{"source_id":"xiaohongshu_search","provider":"xiaohongshu","section":"search","channel":"search_api","label":"小红书","compliance_note":"Use compliant public search APIs only; do not bypass platform login, captcha, robots, or access controls."},{"source_id":"douyin_search","provider":"douyin","section":"search","channel":"search_api","label":"抖音","compliance_note":"Use compliant public search APIs only; do not bypass platform login, captcha, robots, or access controls."},{"source_id":"dianping_monitor","provider":"dianping","section":"dianping","channel":"external_sync","label":"大众点评","compliance_note":"Use authorized Dianping/Meituan monitor targets or manually verified links; keep self and competitor targets separated."},{"source_id":"ai_search","provider":"ai_search","section":"ai","channel":"ai_browser","label":"AI 搜索监测","compliance_note":"Use configured real-user AI monitor targets and store snapshots with answer text, URL, and screenshot when available."}],"covered_sources":[{"source_id":"amap","row_id":71,"provider":"amap","label":"amap","section":"map_api","channel":"map_api","status":"not_found","status_label":"未发现公开证据","operation_state":"review","reliability_grade":"C","reliability_score":50.0,"needs_review":"yes","checked_at":"2026-06-07T16:47:24","retry_after_at":"","next_action":"Review the candidate evidence manually, add verified links if needed, and tune store aliases or target keywords.","compliance_note":"","error_code":"","error_message":""},{"source_id":"baidu_maps","row_id":72,"provider":"baidu_maps","label":"baidu_maps","section":"map_api","channel":"map_api","status":"not_found","status_label":"未发现公开证据","operation_state":"review","reliability_grade":"C","reliability_score":50.0,"needs_review":"yes","checked_at":"2026-06-07T16:47:24","retry_after_at":"","next_action":"Review the candidate evidence manually, add verified links if needed, and tune store aliases or target keywords.","compliance_note":"","error_code":"","error_message":""},{"source_id":"dianping_search","row_id":74,"provider":"dianping","label":"dianping","section":"search","channel":"search_api","status":"found","status_label":"已找到","operation_state":"ok","reliability_grade":"B","reliability_score":83.2,"needs_review":"no","checked_at":"2026-06-07T16:47:24","retry_after_at":"","next_action":"Keep this source on cadence and compare the next snapshot with the current baseline.","compliance_note":"Use compliant public search APIs only; do not bypass platform login, captcha, robots, or access controls.","error_code":"","error_message":""},{"source_id":"douyin_search","row_id":76,"provider":"douyin","label":"douyin","section":"search","channel":"search_api","status":"found","status_label":"已找到","operation_state":"ok","reliability_grade":"B","reliability_score":79.2,"needs_review":"no","checked_at":"2026-06-07T16:47:24","retry_after_at":"","next_action":"Keep this source on cadence and compare the next snapshot with the current baseline.","compliance_note":"Use compliant public search APIs only; do not bypass platform login, captcha, robots, or access controls.","error_code":"","error_message":""},{"source_id":"meituan_search","row_id":73,"provider":"meituan","label":"meituan","section":"search","channel":"search_api","status":"found","status_label":"已找到","operation_state":"ok","reliability_grade":"B","reliability_score":83.2,"needs_review":"no","checked_at":"2026-06-07T16:47:24","retry_after_at":"","next_action":"Keep this source on cadence and compare the next snapshot with the current baseline.","compliance_note":"Use compliant public search APIs only; do not bypass platform login, captcha, robots, or access controls.","error_code":"","error_message":""},{"source_id":"tianyancha_search","row_id":77,"provider":"tianyancha","label":"tianyancha","section":"search","channel":"search_api","status":"found","status_label":"已找到","operation_state":"ok","reliability_grade":"B","reliability_score":83.2,"needs_review":"no","checked_at":"2026-06-07T16:47:24","retry_after_at":"","next_action":"Keep this source on cadence and compare the next snapshot with the current baseline.","compliance_note":"Use compliant public search APIs only; do not bypass platform login, captcha, robots, or access controls.","error_code":"","error_message":""},{"source_id":"xiaohongshu_search","row_id":75,"provider":"xiaohongshu","label":"xiaohongshu","section":"search","channel":"search_api","status":"found","status_label":"已找到","operation_state":"ok","reliability_grade":"B","reliability_score":83.2,"needs_review":"no","checked_at":"2026-06-07T16:47:24","retry_after_at":"","next_action":"Keep this source on cadence and compare the next snapshot with the current baseline.","compliance_note":"Use compliant public search APIs only; do not bypass platform login, captcha, robots, or access controls.","error_code":"","error_message":""}],"missing_requested_sources":[{"source_id":"tencent_maps","provider":"tencent_maps","section":"maps","channel":"official_api","label":"腾讯地图","compliance_note":"Use official map APIs with server-side keys, quota monitoring, and IP allowlists."},{"source_id":"dianping_monitor","provider":"dianping","section":"dianping","channel":"external_sync","label":"大众点评","compliance_note":"Use authorized Dianping/Meituan monitor targets or manually verified links; keep self and competitor targets separated."},{"source_id":"ai_search","provider":"ai_search","section":"ai","channel":"ai_browser","label":"AI 搜索监测","compliance_note":"Use configured real-user AI monitor targets and store snapshots with answer text, URL, and screenshot when available."}],"ok_sources":[{"source_id":"dianping_search","row_id":74,"provider":"dianping","label":"dianping","section":"search","channel":"search_api","status":"found","status_label":"已找到","operation_state":"ok","reliability_grade":"B","reliability_score":83.2,"needs_review":"no","checked_at":"2026-06-07T16:47:24","retry_after_at":"","next_action":"Keep this source on cadence and compare the next snapshot with the current baseline.","compliance_note":"Use compliant public search APIs only; do not bypass platform login, captcha, robots, or access controls.","error_code":"","error_message":""},{"source_id":"douyin_search","row_id":76,"provider":"douyin","label":"douyin","section":"search","channel":"search_api","status":"found","status_label":"已找到","operation_state":"ok","reliability_grade":"B","reliability_score":79.2,"needs_review":"no","checked_at":"2026-06-07T16:47:24","retry_after_at":"","next_action":"Keep this source on cadence and compare the next snapshot with the current baseline.","compliance_note":"Use compliant public search APIs only; do not bypass platform login, captcha, robots, or access controls.","error_code":"","error_message":""},{"source_id":"meituan_search","row_id":73,"provider":"meituan","label":"meituan","section":"search","channel":"search_api","status":"found","status_label":"已找到","operation_state":"ok","reliability_grade":"B","reliability_score":83.2,"needs_review":"no","checked_at":"2026-06-07T16:47:24","retry_after_at":"","next_action":"Keep this source on cadence and compare the next snapshot with the current baseline.","compliance_note":"Use compliant public search APIs only; do not bypass platform login, captcha, robots, or access controls.","error_code":"","error_message":""},{"source_id":"tianyancha_search","row_id":77,"provider":"tianyancha","label":"tianyancha","section":"search","channel":"search_api","status":"found","status_label":"已找到","operation_state":"ok","reliability_grade":"B","reliability_score":83.2,"needs_review":"no","checked_at":"2026-06-07T16:47:24","retry_after_at":"","next_action":"Keep this source on cadence and compare the next snapshot with the current baseline.","compliance_note":"Use compliant public search APIs only; do not bypass platform login, captcha, robots, or access controls.","error_code":"","error_message":""},{"source_id":"xiaohongshu_search","row_id":75,"provider":"xiaohongshu","label":"xiaohongshu","section":"search","channel":"search_api","status":"found","status_label":"已找到","operation_state":"ok","reliability_grade":"B","reliability_score":83.2,"needs_review":"no","checked_at":"2026-06-07T16:47:24","retry_after_at":"","next_action":"Keep this source on cadence and compare the next snapshot with the current baseline.","compliance_note":"Use compliant public search APIs only; do not bypass platform login, captcha, robots, or access controls.","error_code":"","error_message":""}],"cooldown_sources":[],"blocked_sources":[],"review_sources":[{"source_id":"amap","row_id":71,"provider":"amap","label":"amap","section":"map_api","channel":"map_api","status":"not_found","status_label":"未发现公开证据","operation_state":"review","reliability_grade":"C","reliability_score":50.0,"needs_review":"yes","checked_at":"2026-06-07T16:47:24","retry_after_at":"","next_action":"Review the candidate evidence manually, add verified links if needed, and tune store aliases or target keywords.","compliance_note":"","error_code":"","error_message":""},{"source_id":"baidu_maps","row_id":72,"provider":"baidu_maps","label":"baidu_maps","section":"map_api","channel":"map_api","status":"not_found","status_label":"未发现公开证据","operation_state":"review","reliability_grade":"C","reliability_score":50.0,"needs_review":"yes","checked_at":"2026-06-07T16:47:24","retry_after_at":"","next_action":"Review the candidate evidence manually, add verified links if needed, and tune store aliases or target keywords.","compliance_note":"","error_code":"","error_message":""}],"section_errors":[],"counts":{"requested":9,"covered":7,"missing":3,"ok":5,"cooldown":0,"blocked":0,"review":2,"section_errors":0},"operator_summary":{"all_requested_sources_have_rows":false,"external_calls_are_compliant":true,"cooldown_or_blocked_count":0,"next_actions":["Review the candidate evidence manually, add verified links if needed, and tune store aliases or target keywords.","Review the candidate evidence manually, add verified links if needed, and tune store aliases or target keywords."]},"acceptance_criteria":["Every requested source has a covered row or a missing_requested_sources explanation.","Blocked sources include error_message and next_action.","Cooldown sources include retry_after_at before another scheduled retry.","Evidence rows retain reliability_grade, checked_at, raw payload, and compliance note.","Search/social evidence uses compliant public search APIs or authorized sync targets only."]},"acceptance_criteria":["all requested sources produce an auditable row or an explicit missing-source explanation","blocked/cooldown sources retain diagnostics, next_action, and retry_after_at when applicable","evidence rows retain raw_payload, checked_at, reliability score, and compliance note","formal collection uses official APIs, compliant public search APIs, authorized sync, or AI monitor snapshots only"],"source_contract":{"completion_packet_endpoint":"/geo/api/evidence/external-collection-completion-packet?run_id={run_id}","run_detail_endpoint":"/geo/evidence/{run_id}","source_runbook_endpoint":"/geo/api/evidence/external-source-runbook?store_id={store_id}","collect_due_endpoint":"/geo/evidence/collect-due","source_streams":["geo_evidence_runs","geo_platform_evidence","source_ledger","external_evidence_stability"]}}}