Aliases: story; contract; compile time; abstraction; realization; occurrence; USaT.
A story expresses an owned commitment as a compile-time abstraction: the meaningful choices, relationships, prerequisites, consequences and legitimate continuations that govern the work. A realization implements that commitment. An occurrence binds actual actors, input, records and resources at runtime. Do not use those three nouns interchangeably.
The purpose is to keep organizational commitments readable, deliberately changeable and mechanically consequential. Software implements the organization's decisions; convenience in its machinery does not create competing authority. Put deliberate change resistance in the commitment, not in repeated human vigilance or synchronization of redundant copies.
A registration story can select Google identity, no password collected during registration, a pre-confirmation entry policy, and an independent confirmation obligation. One person's registration at a particular instant is an occurrence of that story. The compiler can constrain the selected composition; it does not know whether that person's current assertion or cookie is valid.
Workshop reference selections:
pub type OpenWorkshop<P> = Workshop<Google<P>, WithoutPassword, CookieValid>;
pub type ConfirmedWorkshop<P> = Workshop<Google<P>, WithoutPassword, ConfirmedOnly>;
An ordinary function may implement a leaf or a whole trivial operation. A reassuring trait name alone establishes nothing. Keep the governing story visible and mechanically connected to what its realization permits; do not replace that structure with scattered checks because an example happens to pass.
Your Reflection
Saved in this browser. Export a copy before changing devices.