Migrate core runes to inline rune identifiers
Phase 2a of ADR-005. Update all ~37 core rune transforms in packages/runes/src/tags/ to use the new inline { rune: 'name' } signature for createComponentRenderable instead of importing schema.X from the registry. Each update is a 2-3 line change per file.
Depends on WORK-105 (dual-signature support) being complete.
Runes
All core rune tags in packages/runes/src/tags/ that call createComponentRenderable(schema.X, ...). Approximately 37 files including: accordion, annotate, bg, blog, breadcrumb, budget, chart, codegroup, compare, conversation, datatable, details, diagram, diff, embed, error, figure, gallery, grid, hint, juxtapose, mediatext, nav, pagination, pullquote, reveal, sandbox, showcase, sidenote, tabs, textblock, tint, toc, xref, and page-level types.
Acceptance Criteria
- Every
createComponentRenderable(schema.X, { ... })call inpackages/runes/src/tags/is replaced withcreateComponentRenderable({ rune: 'x', ... }) - Runes with
schemaOrgTypepass it in the new inline object - No core rune file imports from
packages/runes/src/registry.ts refrakt inspect <rune> --type=all --jsonoutput is identical before and after for each rune- All existing tests pass
Approach
For each rune tag file:
- Capture baseline with
refrakt inspect <rune> --type=all --json - Replace
createComponentRenderable(schema.TypeName, { ... })withcreateComponentRenderable({ rune: 'type-name', ... }) - If the Type had a
schemaOrgType, addschemaOrgType: 'X'to the inline object - Remove the
schemaimport if no longer needed - Verify output matches baseline
This is mechanical — each file needs the same 2-3 line change.
References
- ADR-005 (Phase 2)
- WORK-105 (dependency — dual-signature support)
Relationships
Related
- WORK-107doneworkMigrate community package runes to inline rune identifiers
- ADR-005accepteddecisionReplace the useSchema / Type class system with plain rune identifiers
- WORK-105doneworkAdd dual-signature support to createComponentRenderable and update RuneDescriptor
- WORK-109doneworkRemove Type system — delete schema classes, registries, and old signature