feat: model operation outcome guarantees

This commit is contained in:
2026-09-30 05:52:38 +09:00
parent 027555eb4e
commit 6de58da17d
8 changed files with 1105 additions and 150 deletions
@@ -49,9 +49,10 @@ fn domain_host_permission_and_validator_failures_remain_distinct() {
let report = run().unwrap();
assert!(matches!(report.rejected, PublishOutcome::Rejected(_)));
assert_eq!(report.host_failure, CallErrorKind::Implementation);
assert_eq!(report.host_failure, CallErrorKind::Internal);
assert_eq!(report.protocol_failure.code, ProtocolErrorCode::Internal);
assert_eq!(
report.protocol_failure.code,
report.unknown_protocol_failure.code,
ProtocolErrorCode::OperationOutcomeUnknown
);
assert_eq!(
@@ -126,7 +127,13 @@ fn interface_reference_is_observed_separately_from_descriptor_fields() {
.iter()
.map(|operation| operation.name.as_str())
.collect::<Vec<_>>(),
["publish", "status", "backend_status", "restricted_status"]
[
"publish",
"status",
"backend_status",
"uncertain_backend_status",
"restricted_status",
]
);
}