Packages
| Package | Directory | Approx. runes |
|---|
| marketing | runes/marketing/ | 9 (hero, cta, bento, feature, steps, pricing, testimonial, comparison, storyboard) |
| docs | runes/docs/ | 3 (api, symbol, changelog) |
| design | runes/design/ | 7 (swatch, palette, typography, spacing, preview, mockup, design-context) |
| learning | runes/learning/ | 2 (howto, recipe) |
| storytelling | runes/storytelling/ | 7 (character, realm, faction, lore, plot, bond, storyboard) |
| business | runes/business/ | 3 (cast, organization, timeline) |
| places | runes/places/ | 3 (event, map, itinerary) |
| media | runes/media/ | 3 (music-playlist, music-recording, + track) |
| plan | runes/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:
- Identify all tag files that call
createComponentRenderable - Replace
schema.X argument with inline { rune: 'name' } form - Remove schema/registry imports
- 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)