FSO Learning

Core Ideas

Follow the Same Promise Inward

Make the next relevant question reachable.

Telescoping lets a reader move from a product choice to the code that enforces it.

Three views of the same promise 1 · PRODUCT CHOICE Register through Google No registration password Entry before confirmation allowed 2 · CONNECTED CONTRACTS Verify → Admit → Record Entry and confirmation follow-ups 3 · THIS OCCURRENCE This person, provider and store Real data · Current checks Recorded result · Work still owed
Reading depth Question
Product choice May someone enter before confirmation?
Contract What must one step establish for the next?
Occurrence Which provider, person and store does this work use?

A PM can review the first choice. SQA can trace its consequences. An engineer can follow the same names into code. Each view describes the same promise.

Engineering Depth

Follow Signup in the root WorkshopStories contract to this successor:

pub trait VerifyIdentity: private::Stage + Sized {
    type Registered: RecordedRegistration;
    type Verified: AdmitRegistration<Registered = Self::Registered>;
    fn verify(self) -> Result<Self::Verified, IdentityFailure>;
}

Verified must support AdmitRegistration. verify(self) consumes the submitted stage and returns either that successor or an identity failure.

The root also exposes visits, delivery and confirmation. Those continuations remain discoverable without making every step own the whole account lifecycle. CS-02.

Your Reflection

Where would you look to learn what happens when the person returns tomorrow?

Worked Discussion

Follow the root's Visit relationship to EnterWorkshop. It checks current session facts and applies the selected entry policy again.

Navigate