adobe / adobe/spectrum-design-data

feat(sdk): promote SPEC-017 from Warning to Error at spec 2.0.0

Open
#953 0 comments 0 reactions 0 assignees View on GitHub
design-data-spec sdk/core
Dominant language
Rust
Stars
153
Forks
35
Avg merge
7h 54m
Merged PRs (30d)
111

Description

## Context

Tracked follow-up from issue #941 (property field migration path) and the migration policy landed in `spec/token-format.md`.

## Work

At the spec `2.0.0` cut, flip SPEC-017 (`string-name-tech-debt`) from `warning` to `error`:

- `sdk/core/src/validate/rules/spec017.rs:40` — change `Severity::Warning` → `Severity::Error`.
- Update rule catalog in `packages/design-data-spec/rules/rules.yaml` if the severity is declared there.
- Add a changelog entry noting this is a breaking validator change.
- Verify `design-data validate packages/tokens/src --names-dir packages/token-names/names/` emits the expected error count (or zero if all string-name tokens are remediated before the 2.0.0 cut).

## Preconditions

- All string-named tokens in `packages/tokens/naming-exceptions.json` must be converted to structured name objects in `@adobe/token-names` (sidecar), or the dataset migration must be complete, before this PR ships.
- The validator must be invoked with `--names-dir packages/token-names/names/` so SPEC-017 can see the name objects (they are no longer inline in `packages/tokens/src/` as of #972).
- This PR must target the `2.0.0` release branch or be merged with a major-version bump.

## References
- Issue #941 (migration policy)
- PR #972 (sidecar extraction — `name` objects moved to `@adobe/token-names`)
- `docs/proposals/011-string-name-escape-hatch.md` (SPEC-017 origin)
- `packages/design-data-spec/spec/evolution.md` (severity tightening = major change)

Contributor guide

Open the contributing guide

Research direction

Start with sdk/core/src/validate/rules/spec017.rs:40 and inspect packages/design-data-spec/rules/rules.yaml for the current severity declaration. Review the migration policy, evolution guidance, and naming-exception prerequisites before changing the rule. Run design-data validate packages/tokens/src --names-dir packages/token-names/names/ and verify the expected error count, then add the breaking-change note for the 2.0.0 release.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
release, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.