Plan
ID:WORK-107Status:donePriority:highComplexity:simpleMilestone:v1.0.0

Migrate community package runes to inline rune identifiers

Phase 2b of ADR-005. Update all ~65 community package rune transforms across 8 packages to use the new inline { rune: 'name' } signature for createComponentRenderable. Same mechanical change as WORK-106 but across community packages.

Depends on WORK-105 (dual-signature support) being complete.

Packages

PackageDirectoryApprox. runes
marketingrunes/marketing/9 (hero, cta, bento, feature, steps, pricing, testimonial, comparison, storyboard)
docsrunes/docs/3 (api, symbol, changelog)
designrunes/design/7 (swatch, palette, typography, spacing, preview, mockup, design-context)
learningrunes/learning/2 (howto, recipe)
storytellingrunes/storytelling/7 (character, realm, faction, lore, plot, bond, storyboard)
businessrunes/business/3 (cast, organization, timeline)
placesrunes/places/3 (event, map, itinerary)
mediarunes/media/3 (music-playlist, music-recording, + track)
planrunes/plan/~8 (spec, work, bug, decision, milestone, etc.)

Acceptance Criteria

  • Every createComponentRenderable(schema.X, { ... }) call in runes/*/src/tags/ is replaced with inline form
  • Runes with schemaOrgType pass it in the new inline object
  • No community package file imports from any schema/ directory or registry for Type purposes
  • Each package's local registry/schema imports for Type creation are removed
  • refrakt inspect <rune> --type=all --json output is identical before and after for each rune
  • All existing tests pass

Approach

Same mechanical approach as WORK-106. For each community package:

  1. Identify all tag files that call createComponentRenderable
  2. Replace schema.X argument with inline { rune: 'name' } form
  3. Remove schema/registry imports
  4. Verify output is identical

Can be done one package at a time. Order doesn't matter.

References

  • ADR-005 (Phase 2)
  • WORK-105 (dependency — dual-signature support)

Relationships