@@ -171,26 +171,34 @@ semantic tokens are published to NPM.
171171 - Re-run this sweep against the live published package (not against notes
172172 in this file) the next time ` @phcdevworks/spectre-tokens ` bumps.
173173
174- ### P2: Semantic UI Primitives — Blocked (tokens not yet published)
175-
176- None of the three primitive token groups below exist in
177- ` @phcdevworks/spectre-tokens@3.0.0 ` (verified by reading the published
178- ` dist/index.css ` directly, not by trusting changelog notes). Do not start this
179- work until the tokens are confirmed published.
174+ ### P2: Semantic UI Primitives — Unblocked (tokens published in 3.1.0)
175+
176+ All three primitive token groups below are now confirmed present in the
177+ installed ` @phcdevworks/spectre-tokens@3.2.0 `
178+ (` node_modules/@phcdevworks/spectre-tokens/dist/index.css ` , checked directly,
179+ 2026-06-28). ` 3.1.0 ` 's changelog records the actual root cause behind the
180+ ` 3.0.0 ` absence noted above: ` generateCssVariables ` was silently dropping
181+ ` link.* ` and ` surface.hover/selected/active/divider ` from the generated CSS
182+ even though the values existed in the runtime JS/TS export since
183+ ` 2.9.0 ` /` 3.0.0 ` — a CSS-emission bug, not a missing token. ` 3.1.0 ` fixed the
184+ emission and ` package.json ` here already declares ` ^3.2.0 ` . Start this work
185+ next.
180186
181187- [ ] Add link styling
182188 - Tokens: ` link.default ` , ` link.hover ` , ` link.active ` , ` link.visited `
183- (` --sp-link-* ` CSS variables).
189+ (` --sp-link-default ` , ` --sp-link-hover ` , ` --sp-link-active ` ,
190+ ` --sp-link-visited ` — confirmed present).
184191 - CSS in narrowest relevant entry point; recipe or utility when class
185192 contract is stable; manifest declaration, README update, contract tests.
186193
187194- [ ] Add interactive surface state styling
188195 - Tokens: ` surface.hover ` , ` surface.selected ` , ` surface.active `
189- (` --sp-surface-hover ` , ` --sp-surface-selected ` , ` --sp-surface-active ` ).
196+ (` --sp-surface-hover ` , ` --sp-surface-selected ` , ` --sp-surface-active ` —
197+ confirmed present).
190198 - Target clickable list items, menu items, table rows, selectable surfaces.
191199
192200- [ ] Add divider styling
193- - Tokens: ` surface.divider ` (` --sp-surface-divider ` ).
201+ - Tokens: ` surface.divider ` (` --sp-surface-divider ` — confirmed present ).
194202 - Cover ` <hr> ` , section separators, table borders.
195203
196204---
@@ -441,17 +449,21 @@ Confirmed token shape once published:
441449
442450---
443451
444- ## Phase 4e — Form-Field Recipe Expansion (Blocked on Tokens )
452+ ## Phase 4e — Form-Field Recipe Expansion (Unblocked — tokens published in 3.2.0 )
445453
446454Cross-repo audit (` spectre-components ` vs. ` spectre-ui-astro ` ) found
447455` sp-checkbox ` , ` sp-fieldset ` , ` sp-label ` , ` sp-radio ` , ` sp-select ` , and
448456` sp-textarea ` shipped in ` spectre-components ` since its Phase 1 with no
449- backing recipe here, unlike every other component family. Gated on
457+ backing recipe here, unlike every other component family. Was gated on
450458` @phcdevworks/spectre-tokens ` Phase 7 (` component.checkbox ` ,
451459` component.radio ` , ` component.select ` , ` component.textarea ` ,
452- ` component.fieldset ` , ` component.label ` ) publishing first.
460+ ` component.fieldset ` , ` component.label ` ) publishing. Confirmed published in
461+ ` @phcdevworks/spectre-tokens@3.2.0 ` (` --sp-checkbox-* ` , ` --sp-radio-* ` ,
462+ ` --sp-select-* ` etc. present in installed ` node_modules ` dist CSS, checked
463+ 2026-06-28); ` package.json ` here already declares ` ^3.2.0 ` . Start this work
464+ next, alongside Phase 3 P2 above.
453465
454- ### P0: Add Recipes After Upstream Tokens Publish
466+ ### P0: Add Recipes Now That Upstream Tokens Are Published
455467
456468- [ ] Add ` getCheckboxClasses ` after ` component.checkbox ` tokens publish.
457469
@@ -578,12 +590,12 @@ entry, and focused contract/recipe tests, following the Phase 4 pattern.
5785902 . Phase 2 — done.
5795913 . Phase 3 P0 — done (v1.7.0 and v1.8.0 released).
5805924 . Phase 3 P1 — done (synced to ` @phcdevworks/spectre-tokens@2.8.0 ` ).
581- 5 . ** Phase 3 P2 — blocked .** Add Link, interactive surface states, Divider in
582- that order, once ` link.* ` , ` surface.hover/selected/active ` , and
583- ` surface.divider ` are confirmed present in a published
584- ` @phcdevworks/spectre-tokens ` release. Not present as of ` 3.0.0 ` .
585- 6 . Phase 4 — gated on upstream. Add Nav, Toast, Tooltip, Dropdown, Modal once
586- their ` component.* ` token groups publish in spectre-tokens.
593+ 5 . ** Phase 3 P2 — unblocked, do next .** Add Link, interactive surface states,
594+ Divider in that order. ` link.* ` , ` surface.hover/selected/active ` , and
595+ ` surface.divider ` are confirmed present ( ` @phcdevworks/spectre-tokens@3.2.0 ` ,
596+ the CSS-emission bug that hid them as of ` 3.0.0 ` was fixed in ` 3.1.0 ` ) .
597+ 6 . Phase 4 — done. Nav, Toast, Tooltip, Dropdown, Modal all delivered once
598+ their ` component.* ` token groups published in spectre-tokens.
5875997 . ** Phase 4b — done.** Added Container, Stack, Section recipes
588600 (` getContainerClasses ` , ` getStackClasses ` , ` getSectionClasses ` ).
5896018 . ** Phase 4c (v1) — done.** Added Grid recipe (` getGridClasses ` ).
@@ -593,9 +605,14 @@ entry, and focused contract/recipe tests, following the Phase 4 pattern.
593605 option, and new Sidebar/Footer layout-pattern recipes
594606 (` getSidebarClasses ` , ` getFooterClasses ` ). Astro adapter coordination
595607 still open.
596- 11 . Phase 5 P0 — continuous; add regression coverage as adapter usage reveals
608+ 11 . ** Phase 4e — unblocked, do next alongside Phase 3 P2.** Add
609+ ` getCheckboxClasses ` , ` getRadioClasses ` , ` getSelectClasses ` ,
610+ ` getTextareaClasses ` , ` getFieldsetClasses ` , ` getLabelClasses ` . Their
611+ ` component.* ` token groups are confirmed published in
612+ ` @phcdevworks/spectre-tokens@3.2.0 ` .
613+ 12 . Phase 5 P0 — continuous; add regression coverage as adapter usage reveals
597614 gaps.
598- 12 . Phase 5 P1 — define deprecation mechanics before retiring any public
615+ 13 . Phase 5 P1 — define deprecation mechanics before retiring any public
599616 class, recipe option, or variant.
600617
601618---
0 commit comments