design-coverage
koder-toml specs/koder-toml/design-coverage.kmd
Corpo da especificação
[design_coverage] — per-product design-system adoption
The KDS coverage scorecard (kds.koder.dev/<locale>/coverage/, generated by
tools/design-gen) auto-discovers every product under
products/{horizontal,vertical,dev}/* and reports, per design-system
dimension, how far each has adopted the canonical specs. A product declares its
state in an optional [design_coverage] table in its koder.toml.
Schema
[design_coverage]
ui-style = "done" # specs/themes/ui-style.kmd
theme = "done" # specs/themes/light-dark.kmd (light/dark)
components = "partial" # engines/sdk/koder_kit adoption
i18n = "done" # specs/i18n/contract.kmd
errors = "done" # specs/errors/user-facing-messages.kmd
voice = "na" # specs/voice/wake-word.kmd
a11y = "done" # WCAG / a11y-modes
auth = "done" # specs/koder-app/behaviors.kmd §1 (Koder ID)
back = "done" # specs/navigation/back-behavior.kmd
- Keys are the scorecard column slugs (kept in sync with
coverageColumnsintools/design-gen/internal/kinds/coverage.go). - Values — one of:
done— implemented and audited.partial— work in progress.todo— scheduled, not started.na— the spec does not apply to this product.
Defaults
- A product with no
[design_coverage]block (or nokoder.toml) shows every dimension astodo— an honest "not audited yet", never a falsedone/na.[product] name/url, when present, label the row; otherwise the row uses a Title-cased slug. canonicalCoverage(hardcoded incoverage.go) is a transitional override: while products have not yet filled in their blocks, its curated cells win over the auto-discovered defaults for the listed slugs. As products adopt[design_coverage], entries can be removed fromcanonicalCoverage.
Adoption
Populating [design_coverage] in each product's koder.toml is incremental,
separate work (out of scope for the discovery mechanism itself). Until then the
scorecard honestly shows the long tail as todo.