FSO Learning

Core Ideas

Say What Happened

Preserve what is known, unknown and still owed.

Registration is recorded, confirmation is queued, and the account screen fails to refresh.

Operation Known result Next step
Registration Recorded Keep that result.
Confirmation Pending Continue the owed delivery.
Account view Unavailable Refresh the view.

Calling all three “registration failed” would encourage duplicate work.

A lost response after a remote send is different: the send may have succeeded. Keep the original operation ID and ask the source what happened before retrying unsafely.

Engineering Depth

The reference separates these identity outcomes:

pub enum IdentityFailure {
    Rejected,
    Unavailable,
    InvalidObservation,
}

A rejected assertion and an unavailable provider call for different responses. Neither records an account.

Represent the alternatives the operation really has. A pure label formatter can return its label directly. Remote delivery needs its own outcome and recovery contract. CS-08, CS-09.

Your Reflection

A reviewer records “reject this proposal.” Did the review operation fail?

Worked Discussion

The review completed with a rejection decision. Refusing an unauthorized person's attempt to review is a separate outcome.

Navigate