ContractCommand surfaces
- Job
- How many ways in
- Requirement
- must specify
- States / rules
- Search vs nav vs shortcuts; live vs chrome-only
- Specified means
- Each command is live or marked mock
- Hardest context
- Dead ⌘K next to live ⌘J
Example
⌘J opens nav; search hidden until wired
Counter-example
Two unwired commands that look live
How this lives in Building Blocks
Representation: Product-local decision contract.
Building Blocks can define the distinction among search, navigation, shortcuts, and command surfaces. The product must state which are real and what each searches/controls.
Do not specify the easy case only.
The source checklist’s hardest-context test is part of what “specified” means: Dead ⌘K next to live ⌘J.
On-spec signal
⌘J opens nav; search hidden until wired
Failure signal
Two unwired commands that look live
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.