WORK-436
Setting up your dashboard 0 entities found · 7/32 branches scanned
ID:WORK-436Status:ready

@refrakt-md/skeleton package + @layer infrastructure

Stand up the packaging + cascade-layer infrastructure the WORK-410 spike settled, so skeleton and skin can ship and version separately. The structural home the re-bucketing fills.

Priority:highComplexity:moderateMilestone:v0.23.0Source:SPEC-094

Criteria completion

Criteria completion: 0 of 3 (0%) checked; tracking started on Jun 15, no incremental history yet0%25%50%75%100%Jun 15Jun 15

Tracking started Jun 15 — check back for trends.

Branches 2

Scope

  • Create @refrakt-md/skeleton — ships @layer skeleton (structure) + the @layer skeleton, skin; order declaration, plus the token contract (names, not values). It is the versioned contract every theme depends on; a breaking structural change bumps its version, not a skin's.
  • Make Lumina depend on it and contribute only its @layer skin.
  • Confirm the loader guarantee from the spike: the order declaration is emitted first (it falls out of importing the skeleton entry first), so layer contents may load in any order and skin still wins with low-specificity selectors and no !important. Wire the SvelteKit virtual-module loader accordingly.

Acceptance Criteria

  • @refrakt-md/skeleton exists, ships @layer skeleton + the order declaration + the token contract, and is independently versioned.
  • Lumina consumes it and ships only @layer skin; the rendered output is unchanged.
  • The virtual-module loader emits the order declaration before any layer content; a test confirms skin overrides skeleton regardless of import order, with no !important.

Dependencies

  • Follows WORK-410 (packaging decision + layer-order mechanism). Pairs with the re-bucketing (WORK-438), which fills the layers.

References

  • SPEC-094 §3 (skeleton/skin split) · WORK-410 FINDINGS §2/§3 · packages/sveltekit/src/virtual-modules.ts.