T-Z5VH-design-language-ubutton-soft-ghost
Status: open/ready · Impact: low · Complexity: small
Adopted surfaces reach for UButton soft/ghost variants outside the
DButton intent system, and the spec neither allows nor covers them
(SURVEY drift 13). Decide: an explicit written allowance, or a covering
DButton intent — and record it.
| Location | Role today |
|---|---|
packages/ts/ui/docs/design-system.md | §5 component API and §6 dSemantics are silent on raw UButton variant use. |
packages/ts/ui/app/components/DButton.vue | Intent-driven button; no soft/ghost-equivalent intent. |
docs/planning/standards/S-0010-design-language-consumption.md | Names this boundary as pending. |
Proposed
Section titled “Proposed”One outcome, written down: either the spec allows UButton soft/ghost in
named contexts (with the rule stated), or DButton grows a covering
intent and call sites migrate. S-0010’s pending note resolves.
Approach
Section titled “Approach”- Inventory live
UButtonsoft/ghost call sites; classify the contexts. - Pick the outcome (allowance vs covering intent) from the inventory.
- Write it into
design-system.mdand resolve the S-0010 note; if the intent route wins, add the intent + story and migrate call sites.
Files to touch
Section titled “Files to touch”| Location | Kind | Change |
|---|---|---|
packages/ts/ui/docs/design-system.md | modify | the written boundary |
docs/planning/standards/S-0010-design-language-consumption.md | modify | resolve the pending note |
packages/ts/ui/app/components/DButton.vue | modify | only if the covering-intent route wins |
Acceptance criteria
Section titled “Acceptance criteria”- AC-1: The spec has explicit soft/ghost language.
- AC-2: S-0010 no longer marks the boundary pending.
- AC-3: If an intent was added, a story covers it and
moon run ui:checkpasses.
Out of scope
Section titled “Out of scope”- Any broader
U*-vs-D*policy beyond buttons.
Dependencies
Section titled “Dependencies”- none
Discovery context
Section titled “Discovery context”- SURVEY.md drift 13;
docs/planning/design-language/PLAN.mdPhase 2.