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 in packages/runes/src/tags/ is replaced with createComponentRenderable({ rune: 'x', ... }) - Runes with
schemaOrgType pass it in the new inline object - No core rune file imports from
packages/runes/src/registry.ts refrakt inspect <rune> --type=all --json output 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, { ... }) with createComponentRenderable({ rune: 'type-name', ... }) - If the Type had a
schemaOrgType, add schemaOrgType: 'X' to the inline object - Remove the
schema import 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)