A story expresses a product promise as a compile-time abstraction. Its code implements that promise; a particular registration supplies the actual data.
| Term | In the workshop |
|---|---|
| Story | Google registration, no registration password, a selected entry policy, and owed confirmation. |
| Realization | The Rust code and provider that implement those choices. |
| Occurrence | This person's registration, using this provider and store now. |
The compiler can reject an unsupported combination. The running program must check whether this person's identity and session are valid.
Scope stays specific: WithoutPassword describes registration. A separate login story may have its own password rules.
These two reference selections differ only in entry policy:
pub type OpenWorkshop<P> = Workshop<Google<P>, WithoutPassword, CookieValid>;
pub type ConfirmedWorkshop<P> = Workshop<Google<P>, WithoutPassword, ConfirmedOnly>;
Engineering Depth
Your Reflection
The type selects Google. What must happen before this person's registration proceeds?
Notes are browser-local. Export a copy to keep them; they are not submitted or judged.
Worked Discussion
The configured provider must verify the submitted assertion. Admission then checks the current records. Selecting a provider type alone establishes neither fact.