feat: finish token core (milestone 2) #2
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/m2-finish-token-core"
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?
Milestone 2 from
docs/roadmap/v1-remaining-work.md.Summary
Decisions are in ADR 0008: linking another design system clears the pin (overrides stay), broken overrides are saved and reported, the report is hidden from members who cannot read the design system, and version numbers are visible to every project reader. The web app now depends on
@designbase/core(forbumpVersion, and the editor in milestone 3), so the web Dockerfile andcompose.dev.yamlcopy or mount it.trail checkflags 5 files against the "token documents arejson, notjsonb" learning. These are keyword matches only. No column changed, anddocs/database.mdnow states that token documents arejson.Evidence
"Done when" scenario,
apps/api/test/projects.test.ts:There are also API tests for an unknown version (400), a malformed version (400), a version of another design system, pinning with no design system linked (409), the pin clearing when the link changes, broken overrides being saved and reported, viewers being refused (403), the report being hidden without design system access, and
hasUnpublishedChanges. Web tests (Testing Library + MSW) cover the publish dialog's blocked state (errors listed, button disabled, no POST) and its success state, plus the guidelines save and its 409, version reset, the version picker and behind warning, and a dark-only override with its returned issue.pnpm lintandpnpm typecheckclean; the web Docker image buildsMerge Danger
Door: two-way
No migration: the
pinned_version_idandtheme_overridescolumns already existed. The API only gains fields; nothing is removed.Blast Radius: small
Projectresponses gain required fields, so any client that parses them strictly needs the new shared schema. The only such client is the web app in this PR. Single-project responses now resolve every mode of the version to validate overrides, which adds a little latency to project pages.🤖 Generated with Claude Code