- Job
- Words as system
- Requirement
- must specify
- States / rules
- Voice vs tone; pillars with sounds-like / doesn’t; error / empty / loading / disabled / confirm / toast / status; label vs placeholder; button verbs; casing; truncation; relative time; icon-only names; honest chrome; product copy bans
- Specified means
- Pillars + default strings, not adjectives
- Hardest context
- Mock data that reads live
“Publish failed — try again”
“Oopsie!” / “Submit” vs “Save” per page
How this lives in Building Blocks
Representation: Shared content foundation + product-local voice.
Building Blocks can provide content-system structure, state-message coverage, naming rules, and accessibility expectations. Each product still needs its own voice, banned phrases, domain vocabulary, and real state strings.
Do not specify the easy case only.
The source checklist’s hardest-context test is part of what “specified” means: Mock data that reads live.
On-spec signal
“Publish failed — try again”
Failure signal
“Oopsie!” / “Submit” vs “Save” per page
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.