refactor(pchome): extract evidence enrichment
Some checks failed
CD Pipeline / deploy (push) Has been cancelled

This commit is contained in:
ogt
2026-07-11 15:42:00 +08:00
parent c5f74f69a4
commit de851d6780
6 changed files with 445 additions and 315 deletions

View File

@@ -7,6 +7,7 @@ from services.pchome_mapping_backlog import (
controlled_apply_executor,
controlled_apply_receipt,
controlled_apply_verifier,
enrichment,
evidence,
policies,
reporter,
@@ -201,7 +202,50 @@ def test_reporter_keeps_legacy_identity_and_read_only_preview():
assert preview["safety"]["writes_database"] is False
def test_legacy_facade_is_smaller_after_fifth_p0_extraction():
def test_enrichment_keeps_legacy_identity_and_no_write_preview():
assert (
compatibility_facade.build_pchome_evidence_enrichment_preview
is enrichment.build_pchome_evidence_enrichment_preview
)
assert (
compatibility_facade.build_pchome_evidence_source_preview
is enrichment.build_pchome_evidence_source_preview
)
assert (
compatibility_facade._build_evidence_task
is enrichment._build_evidence_task
)
assert (
compatibility_facade._build_fetch_gate_candidates
is enrichment._build_fetch_gate_candidates
)
assert (
compatibility_facade._field_enrichment_sources
is enrichment._field_enrichment_sources
)
assert (
compatibility_facade._source_plan_for_field
is enrichment._source_plan_for_field
)
payload = {
"success": True,
"generated_at": "2026-07-11T15:30:00+08:00",
"stats": {},
"opportunities": [],
}
preview = enrichment.build_pchome_evidence_enrichment_preview(payload)
source_preview = enrichment.build_pchome_evidence_source_preview(payload)
assert preview["result"] == "NO_TARGETS"
assert source_preview["result"] == "NO_TARGETS"
assert preview["safety"]["fetches_external_sites"] is False
assert preview["safety"]["writes_database"] is False
assert source_preview["safety"]["fetches_external_sites"] is False
assert source_preview["safety"]["writes_database"] is False
def test_legacy_facade_is_smaller_after_sixth_p0_extraction():
facade = ROOT / "services/pchome_mapping_backlog_service.py"
assert sum(1 for _ in facade.open(encoding="utf-8")) < 43_200
assert sum(1 for _ in facade.open(encoding="utf-8")) < 42_900