Replies: 3 comments
|
Decision / next sequencing (maintainer note, Mar 2026) Phase 1 design-data tooling is now on Chosen order for upcoming work
This matches the project board item Define spec evolution policy and migration contract (still Todo) and unblocks Phase 2 without rework. |
Resolution: Versioning and Evolution PolicyPR #793 resolves the open questions in this RFC. The normative outcome is Decisions on open questions1. Spec versioning scheme — SemVer. Currently 2. Change classification
3. 4. Schema 5. Rule catalog evolution — 6. Coexistence during migration — Cascade format is the authoritative source. Legacy output ( 7. SDK behavior across spec versions — Validate against the current spec version. 8. Cross-repo upgrade timeline — Deferred. No platform consumers are pinning foundation versions yet. Automated upgrade PRs will be designed when the first platform repo adopts the SDK. Migration windowsDeprecated tokens must remain for at least 2 minor versions before removal. Major version releases may clean up all accumulated deprecations. If Token lifecycle fieldsSee the resolution comment on #623 for the full lifecycle model ( |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Summary
This RFC proposes a dedicated track for how the Design Data Specification, JSON Schemas, rule catalog, and conformance fixtures evolve in a distributed model (foundation repo + platform repos). Structural validation (JSON Schema) cannot express graph rules; we also need a clear compatibility contract so pinned
foundationVersionvalues, SDK behavior, and upgrade paths are predictable.This discussion complements (does not replace) token-level lifecycle in #623 and distributed manifests in #715.
Relationship to other work
deprecated,renamed, …)Open questions
Still open
$id/ URI strategy — no formal policy yet; v0 URIs in use de facto. Tracked via #720.--spec-versionflag, validate-against-pinned vs validate-with-latest) not yet implemented.Phase alignment (non-binding)
$idstrategy,introduced_inon rules (see linked issues).Inspiration (informative)
Other ecosystems handle “schema as contract” differently (e.g. strict immutability vs semver). This RFC should pick an approach that fits Spectrum’s backward-compat and multi-repo constraints—not adopt another stack wholesale.
Please comment with preferences, constraints from Adobe org process, and links to prior art.
All reactions