ContractAuth / roles
- Job
- Who may act
- Requirement
- must specify or defer
- States / rules
- Who can sign in; role list; owner-only controls. May defer with reason
- Specified means
- Roles named even if login is later
- Hardest context
- Prototype Sign out with no session
Example
Defer: no login; roles named
Counter-example
Fake login screen
How this lives in Building Blocks
Representation: Product-local decision contract.
Building Blocks can provide role/access documentation structure. The product owns sign-in reality, role names, and owner-only controls.
Do not specify the easy case only.
The source checklist’s hardest-context test is part of what “specified” means: Prototype Sign out with no session.
On-spec signal
Defer: no login; roles named
Failure signal
Fake login screen
Catalog connection
The product-local Catalog should show this row’s actual state for that product using the Catalog contract. Building Blocks documentation can define the baseline, but it does not make a product’s row Specified, Designed, or In code by itself.