| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- from content_agent.run_service import RunService
- from content_agent.schemas import RunStartRequest
- def test_source_evidence_inherits_evidence_pack_without_rewriting_origin(tmp_path):
- service = RunService(runtime_root=tmp_path / "runtime" / "v1")
- service.start_run(RunStartRequest(trace_id="test_trace_source_evidence"))
- source_context = service.read_json("test_trace_source_evidence", "source_context.json")
- evidence_pack = source_context["ext_data"]["evidence_pack"]
- decisions = service.read_jsonl("test_trace_source_evidence", "rule_decisions.jsonl")
- final_output = service.read_json("test_trace_source_evidence", "final_output.json")
- source_evidence = decisions[0]["source_evidence"]
- for field in [
- "source_kind",
- "pattern_source_system",
- "case_id_type",
- "source_post_id",
- "pattern_execution_id",
- "mining_config_id",
- "itemset_ids",
- "itemset_items",
- "category_bindings",
- "element_bindings",
- "matched_post_ids",
- "seed_terms",
- "trace_id",
- "source_certainty",
- "validation_status",
- ]:
- assert source_evidence[field] == evidence_pack[field]
- assert source_evidence["candidate_aweme_id"] != source_evidence["source_post_id"]
- assert source_evidence["candidate_aweme_id"] not in source_evidence["matched_post_ids"]
- assert source_evidence["candidate_relation"] == "mock_pattern_matched"
- assert final_output["content_assets"][0]["source_evidence"]["source_edge_ids"]
- assert {
- record["decision_id"] for record in final_output["decision_records"]
- } == {"d_001", "d_002", "d_003"}
|