refactor(pchome): extract controlled receipt replay
Some checks failed
CD Pipeline / deploy (push) Has been cancelled

This commit is contained in:
ogt
2026-07-11 13:33:53 +08:00
parent 0c2f2f175f
commit 2e8ed32dad
6 changed files with 331 additions and 270 deletions

View File

@@ -5,6 +5,7 @@ from services.pchome_mapping_backlog import (
artifacts,
contracts,
controlled_apply_executor,
controlled_apply_receipt,
controlled_apply_verifier,
evidence,
policies,
@@ -135,7 +136,32 @@ def test_controlled_apply_drift_verifier_core_is_no_write(tmp_path):
assert result["safety"]["writes_artifact_count"] == 0
def test_legacy_facade_is_smaller_after_third_p0_extraction():
def test_controlled_apply_receipt_replay_keeps_identity_and_no_write_default(tmp_path):
assert (
compatibility_facade.build_pchome_direct_mapping_retry_candidate_exception_controlled_apply_receipt_replay_package
is controlled_apply_receipt.build_pchome_direct_mapping_retry_candidate_exception_controlled_apply_receipt_replay_package
)
assert (
compatibility_facade._find_retry_exception_artifact_file
is controlled_apply_receipt._find_retry_exception_artifact_file
)
result = controlled_apply_receipt.build_pchome_direct_mapping_retry_candidate_exception_controlled_apply_receipt_replay_package(
artifact_root=tmp_path,
run_id="missing-run",
)
assert result["result"] == "WAITING_FOR_RETRY_EXCEPTION_CONTROLLED_APPLY_REPLAY_ARTIFACTS"
assert result["summary"]["missing_artifact_count"] == 3
assert result["summary"]["writes_database_count"] == 0
assert result["materialized_executor_artifacts"] == []
assert result["safety"]["reads_database"] is False
assert result["safety"]["writes_database"] is False
assert result["safety"]["writes_artifact_count"] == 0
assert len(result["executor_receipt_artifact"]["payload_sha256"]) == 64
def test_legacy_facade_is_smaller_after_fourth_p0_extraction():
facade = ROOT / "services/pchome_mapping_backlog_service.py"
assert sum(1 for _ in facade.open(encoding="utf-8")) < 43_850
assert sum(1 for _ in facade.open(encoding="utf-8")) < 43_600