Skip to content

docs: add ADR 0011 — adopt the Tokens Studio platform token pipeline - #5195

Open
pomfrida wants to merge 3 commits into
mainfrom
docs/adr-0011-tokens-studio-pipeline
Open

docs: add ADR 0011 — adopt the Tokens Studio platform token pipeline#5195
pomfrida wants to merge 3 commits into
mainfrom
docs/adr-0011-tokens-studio-pipeline

Conversation

@pomfrida

@pomfrida pomfrida commented Jul 20, 2026

Copy link
Copy Markdown
Collaborator

Closes #5197

Summary

Records the architecture decision behind the Tokens Studio pipeline work merged over the last weeks (#5151, #5153, #5155, #5160, #5166, #5175, #5176): the platform is the source of truth for the reworked tokens, updates flow through a release-triggered, OIDC-authenticated CI pipeline that lands platform exports as PRs, and the hourly orphan-branch backup (tokens-studio-backup) compensates for the platform having no undo.

ADR-0008 (TS codegen) documents one slice of this pipeline; this ADR is the overarching decision it builds on, and gives future token ADRs a common anchor.

Part of #5108.

Notes

@pomfrida

Copy link
Copy Markdown
Collaborator Author

@claude review

@claude

claude Bot commented Jul 20, 2026

Copy link
Copy Markdown

Claude finished @pomfrida's task in 1m 29s —— View job


Review: ADR 0011 — Tokens Studio platform pipeline

  • Read the ADR
  • Verify cross-references (ADRs, workflows, docs) exist and match
  • Check factual/internal consistency
  • Post review

This is a well-structured, accurate ADR. I cross-checked every substantive claim against the actual sources in the repo and they hold up. No blocking issues — a few minor notes below.

Accuracy check ✅

Verified the "Decision" section against the real implementation:

ADR claim Source Match
repository_dispatch type tokens-release tokens_studio_release.yaml:12
OIDC subject repo:equinor/design-system:ref:refs/heads/main, read-only tokens_studio_backup.yaml:36
Exports referenced by ID not name tokens_studio_release.yaml:82,84 (UUIDs)
Output to src/tokens/{raw,css,dtcg,ts} .studio.json (raw) + workflow --out flags + generate:ts-tokens
Hourly cron, orphan branch, one dir per alias, no-op when unchanged, Slack on failure tokens_studio_backup.yaml:18,49,96–114,117
npm --prefix standalone CLI install outside the workspace tokens_studio_backup.yaml:11–14,77
PRs via built-in GITHUB_TOKEN get no CI create-pull-request@v8 w/ default token

All four Related links resolve (0007, 0008, TOKENS_STUDIO.md, TOKEN_SYSTEM_GUIDE.md), and the structure follows 0000-template.md faithfully.

Minor notes (non-blocking)

  1. Status vs. dependency direction. This ADR is Proposed (line 3), yet ADR-0008 — which the doc describes as building on this decision (line 23, 65) — is already Accepted (0008:3). It reads slightly backwards to have the foundational decision still Proposed while its dependent is Accepted. The PR body explains why (the mechanics are merged and running), so consider adding one line to the Context/Status making that explicit in the ADR itself, since the ADR outlives the PR description.

  2. Numbering gap is invisible in-repo. The directory jumps 0008 → 0011; 0009/0010 don't exist yet. Your PR body explains the reservation, but a reader browsing documentation/adr/ sees an unexplained gap. Optional: a one-line note (e.g. in the Related section) that 0009/0010 are reserved, or leave it — this is a judgement call.

  3. Unsourced precision on line 83. "~2 min to ~20–30 s" — the workflow comment (tokens_studio_backup.yaml:12) only asserts the "~2 min" side ("not worth two minutes every hour"); the 20–30 s warm-run figure isn't recorded anywhere I could verify. Fine to keep, just flagging it's a softer number than the rest.

  4. Nit — line 83 clause "the CLI has no push command". Accurate and consistent with the backup workflow (pull + manual rsync/git), just worth keeping in sync with TOKENS_STUDIO.md so the "pull-only" characterisation lives in one canonical place.

Nice work — the doc is precise and the CI/OIDC/backup rationale is captured at exactly the right altitude for an ADR.
docs/adr-0011-tokens-studio-pipeline

Comment thread documentation/adr/0011-adopt-tokens-studio-platform-pipeline.md Outdated
Comment thread documentation/adr/0011-adopt-tokens-studio-platform-pipeline.md Outdated
@vnys
vnys removed their request for review August 3, 2026 09:32
pomfrida added a commit that referenced this pull request Aug 5, 2026
…decide publish boundary

- Renumber 0009 → 0014 (0009 taken on main, 0010–0013 claimed by open PRs)
- Slim decision point 1 to a reference to ADR-0011 (#5195) instead of restating it
- Mark the @layer wrap as decided-but-pending and note the ADR-0010 amendment (#5199)
- New decision point 7: publish boundary — semantic layer is the contract,
  scheme/primitive names are resolution plumbing, ts/primitives and
  ts/color-scheme are reference output
- Rewrite the collision consequence/confirmation around the intra-export
  flattening collision (border.focus vs border-focus, self-referential var())
  and record that verification must run on built CSS, not platform resolution
- Soften the drift claim: structure and source values, with the oklch-vs-hex
  gamut exception called out
- Smaller: src/tokens/raw/ (not <alias>), mode-as-file rationale vs the RN
  mode-as-key sketch, Swift/Compose format note (#5123), reference-chain lint
  in Confirmation, textStyle follow-up

@Chibuzor-Nwemambu Chibuzor-Nwemambu left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking Good 🎉

I see the description states the status as Proposed, but the doc actually has it as Accepted, which was deliberately added in one of the commits.
Just a quick update to the description to match the current status, is needed. Otherwise everything else seems fine 💪🏾.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ADR: Tokens Studio platform pipeline adoption

2 participants