WORK-107
ID:WORK-107Status:done

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.

Priority:highComplexity:simpleMilestone:v1.0.0Source:ADR-005

Criteria completion

Criteria completion: 6 of 6 (100%) checked; history from Apr 2 to Apr 30%25%50%75%100%Apr 2Apr 3
Branches 3
History 5
  1. e900a90
    Created (done)by bjornolofandersson
  2. f262d7b
    Content editedby Claude
  3. f0a845a
    • ☑ 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
    by Claude
  4. c87b1c2
    statusreadydone
    by Claude
  5. 721addb
    Created (ready)by Claude
    Break ADR-005 into work items (WORK-105 through WORK-109)

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)