SPELWork dashboards: turn the severity + dark-accent proposals into tokens #174
Labels
No labels
build-dist
priority
P1
priority
P2
priority
P3
priority
P4
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Toilville/toilville-design#174
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Two sets of values in
spelwork-dashboard-design-part1.mdexist only in that doc and a one-off HTML file:severity-slow(#B45309/#FACC15) andseverity-critical(#9F1239/#FB7185), sitting between the existingsafety-*tokens.#397FEF, pilgrimage#D161C0, federation#9197AC, trust#A275F0and error#F87171. Each passes AA on#121212, where the canonical values fail.Before starting
@peterswimm needs to sign off on both sets. The spec's open questions ask for exactly this, and brand colour changes need approval from Toilville leadership.
Acceptance criteria
packages/udg/lib/src/token_registry.dartanddist/udg-tokens.css, both removed in the 2026-06-27 cut-over. Colour now lives inBrand/UDG/dtcg/color.json(baseline) andBrand/UDG/products/<name>/dtcg/color.json.RATIONALE.ymlentry.just buildthen regeneratesdist/, andjust check(WCAG AA across every product and theme) must pass.Recommendation: keep theme modes; four severity levels plus a stale state
Dark accents: no separate
*-on-darktokensThe standard way to do dark mode is one semantic token with a value per theme (DTCG modes, Material / Apple semantic colours). Rituals'
color.jsonalready works this way and has dark values for all five accents.The spec measured contrast against
#121212. Rituals' real dark surface is cocoa#2B1810, and on it the existing theme values beat the spec's proposals in four of five cases:#86B4FD8.03:1#397FEF4.40:1 (fails AA)#CD91C46.80:1#D161C04.98:1#B5C1D79.33:1#9197AC5.82:1#A78BFA6.22:1#A275F05.11:1#BE56563.75:1 (fails AA)#F871716.12:1So: keep the current values, and change only Rituals' dark
color.accent.errorto#F87171.Severity: don't adopt the five-state proposal as written
safety.allow/review/blockfor operational health, giving one token two meanings. §4 of the spec warns against exactly that for the mode colours.Proposed instead: the common four levels (Grafana alert states, PagerDuty) plus a neutral state for no data:
accent.successaccent.warningaccent.erroraccent.criticalneutral.warm-*family)Every state is shown with an icon and its name (spec §5 already asks for the name). Lightness has to step in order from ok to critical, so the scale reads without hue.
Needs a decision first
The baseline
success/warning/error(#12883E/#CD4D0B/#DC2626) have the same value in light and dark:warningis 4.47:1 on white, just under AA.They need real dark values before the dashboards can build on them. That's a brand colour change, so @peterswimm signs off.
Acceptance criteria, revised
accent.error→#F87171.accent.criticaland the stale neutral, light and dark, with lightness in order.just checkstays green.Brand/UDG/dtcg/color.json,Brand/UDG/products/<name>/dtcg/color.json).Recommendation (2026-10-20). Needs my sign-off and Toilville leadership approval, because these are brand colour changes:
accent.errorfrom#BE5656to#F87171. The current value is about 3.75:1 on cocoa, which fails AA (Brand/UDG/products/rituals/dtcg/color.json:615).accent.criticaland stale tokens), not the five-state set as written.Once this is approved, ville adds the DTCG entries and updates the spec's source paths (
Brand/specs/spelwork/spelwork-dashboard-design-part1.md:133-136).Approved (Peter, 2026-10-21), including Toilville leadership sign-off. The recommendation above is now decided:
accent.errorfrom#BE5656to#F87171.accent.criticaland stale tokens).@ville, over to you: add the DTCG entries and update the spec's source paths (
Brand/specs/spelwork/spelwork-dashboard-design-part1.md:133-136). Once they land, Rituals regenerates its tokens and checks dark-mode contrast intest/udg/contrast_test.dart.Closing — shipped in #225.
Against what was approved on 2026-10-21, including leadership sign-off:
accent.success/accent.warning/accent.error/ newaccent.critical, plus newneutral.warm-stale.accent.error#BE5656→#F87171, as decided.*-on-darktoken family — each accent keeps one token with a value per theme, which was the right call and is what §3 now documents.§3 of Part 1 is now "Warning colors — four levels plus a stale state", and both of this issue's entries in the open-questions list are struck through. #230 later revised three of the light values for colour-vision separation under #173; that supersedes the values here and does not reopen the decision.
Carried to #234: whether Rituals and
blocksshould getaccent.criticalandneutral.warm-stalein their owncolor.json(§3, "Rituals and blocks").