This commit is contained in:
@@ -1580,6 +1580,10 @@ def _build_candidate_exception_auto_resolution_artifact(receipt: dict[str, Any])
|
||||
"writes_database": False,
|
||||
}
|
||||
|
||||
resolver_count = len(resolvers)
|
||||
retry_search_ready = any(key.endswith("search_expansion") for key in resolvers)
|
||||
evidence_delta_ready = "named_candidate_evidence_delta" in resolvers
|
||||
|
||||
return {
|
||||
"artifact_id": f"pchome-direct-mapping-exception-resolution-{artifact_hash[:16]}",
|
||||
"source_receipt_id": receipt.get("receipt_id"),
|
||||
@@ -1589,7 +1593,15 @@ def _build_candidate_exception_auto_resolution_artifact(receipt: dict[str, Any])
|
||||
"failure_reasons": failure_reasons,
|
||||
"machine_actions": next_actions,
|
||||
"resolvers": resolvers,
|
||||
"resolution_status": "AUTO_RESOLUTION_PLANNED",
|
||||
"resolution_status": "AUTO_RESOLUTION_ARTIFACT_READY",
|
||||
"execution_receipt": {
|
||||
"resolver_artifact_built": True,
|
||||
"resolver_count": resolver_count,
|
||||
"ready_for_retry_search": retry_search_ready,
|
||||
"ready_for_evidence_delta": evidence_delta_ready,
|
||||
"writes_database": False,
|
||||
"persists_candidate": False,
|
||||
},
|
||||
"next_package": "direct_mapping_candidate_decision_package_after_retry",
|
||||
"guardrails": {
|
||||
"machine_actionable": True,
|
||||
|
||||
@@ -452,10 +452,14 @@ def test_direct_mapping_candidate_exception_auto_resolution_builds_machine_artif
|
||||
assert package["summary"]["unit_basis_search_expansion_count"] == 1
|
||||
assert package["summary"]["retry_search_action_count"] == 1
|
||||
assert artifacts[0]["artifact_id"].startswith("pchome-direct-mapping-exception-resolution-")
|
||||
assert artifacts[0]["resolution_status"] == "AUTO_RESOLUTION_ARTIFACT_READY"
|
||||
assert artifacts[0]["execution_receipt"]["resolver_artifact_built"] is True
|
||||
assert artifacts[0]["execution_receipt"]["ready_for_evidence_delta"] is True
|
||||
assert artifacts[0]["resolvers"]["variant_bundle_discriminator"]["writes_database"] is False
|
||||
assert artifacts[0]["resolvers"]["named_candidate_evidence_delta"]["resolution"] == "ready_for_retry_search"
|
||||
assert "unit_basis_search_expansion" in artifacts[1]["resolvers"]
|
||||
assert any("40ml" in term.lower() for term in artifacts[1]["resolvers"]["unit_basis_search_expansion"]["expanded_search_terms"])
|
||||
assert artifacts[1]["execution_receipt"]["ready_for_retry_search"] is True
|
||||
assert artifacts[1]["guardrails"]["can_auto_execute_read_only"] is True
|
||||
assert package["summary"]["writes_database_count"] == 0
|
||||
assert package["safety"]["writes_database"] is False
|
||||
|
||||
Reference in New Issue
Block a user