docs+tooling: theme-alignment strategy + read-only drift check #61
No reviewers
Labels
No labels
priority
P1
priority
P2
priority
P3
priority
P4
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Toilville/toilville-design!61
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/theme-alignment-guard"
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?
What
Answers "how do we keep themes aligned across all destinations?" with a strategy doc and a read-only drift check.
Strategy doc —
docs/reviews/theme-alignment-strategy.mdMaps the pipeline (single DTCG source → generators → per-platform artifacts → consumers), a gated-vs-ungated table, and the drift surface, with ranked recommendations:
udg.dart-key/ audg.swift-key), generated + gated likeforgejo.py, source-injected to the sibling repos.sync-manifest.ymls and makeconsumers:drive a realjust sync.atahualpa-tctd,toilville-fsenon-color ladders).udg/baseline/tokens/*.ymlreferenced by CLAUDE.md/extract.py; the stale macOS path).Drift check —
udg/generators/align_check.py+just align-checkRead-only, stdlib. Two audits:
var()fallbacks) in files that should track tokens (atahualpa-tctd/style.css→ 34 candidates).dist/rituals/tokens.dtcg.jsonmatched byudg.dart-key. Already catches 4 real divergences: DartbrandPrimary #CC5C37 ≠ dtcg #C05734,accentWarning,textDim,textMeta. Skips the native audit cleanly when the siblingToilville_Ritualsrepo isn't checked out — so CI stays green.just align-check-strict(checkmode) exits non-zero on native drift for opt-in enforcement.Testing
just align-checkreports the drift;just align-check-strictexits 1 (found divergence).just check(avoids depending on the sibling repo) —just checkgreen,pytest132 passed,yamllintclean.Scope
The native emitters and manifest consolidation (items 1–2) touch the sibling repos and the manifest schema — documented as recommendations, not built here.
Map how the single DTCG source fans out to every destination, which are gated, and where drift creeps in — and add a scanner that flags it. - docs/reviews/theme-alignment-strategy.md — the source→destinations map, the gated-vs-ungated table, the drift surface (native Swift/Flutter apps, the two disagreeing sync-manifests, ungated hand-authored WP artifacts, doc-drift traps), and ranked recommendations (native emitters via udg.dart-key/a swift-key; manifest consolidation + actionable consumers:; retokenizing the WP artifacts; doc fixes). - udg/generators/align_check.py + `just align-check` (read-only, stdlib): · hand-authored raw-hex scan (atahualpa-tctd) → tokenization candidates · native drift: Dart/Swift values vs dist/rituals/tokens.dtcg.json matched by udg.dart-key. Already catches 4 real divergences (Dart brandPrimary #CC5C37 ≠ dtcg #C05734, plus accentWarning/textDim/textMeta). Skips the native audit cleanly when the sibling Toilville_Rituals repo isn't checked out, so CI stays green. `just align-check-strict` exits non-zero on native drift for opt-in enforcement. Not wired into `just check` (avoids the sibling-repo dependency). Native emitters and manifest consolidation are documented as recommendations, not built here.