Fictional educational scenario
System A receives a client's state-changing request and sends a command to system B. The response is lost before the timeout. B may have committed the operation, may still be processing it, or may never have received it. A records UNKNOWN: this is A's knowledge state, not proof that the operation failed in B.
Under the agreed contract, B is the authoritative source of the business outcome. A owns the customer journey from request to resolution. A stable ID identifies the same intent, and B provides idempotent execution within the defined contract. B exposes an outcome lookup API with terminal statuses, although the API may occasionally be unavailable. Some discrepancies will never be reported by customers. Ownership of reconciliation, the final-resolution deadline, and exception handling are not yet defined.
Who determines the actual outcome, who discovers and reconciles UNKNOWN cases, and who owns unresolved exceptions? In two or three sentences, propose clear responsibilities and one acceptance test.
Guiding questions
- Does the source of truth for a business effect also have to own the entire customer journey?
- How will you find UNKNOWN cases when no one complains?
- Does an HTTP 404 on its own prove non-execution?
- What happens if B cannot confirm the outcome within the agreed period?