WORK-106
ID:WORK-106Status:done

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.

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

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:

  1. Capture baseline with refrakt inspect <rune> --type=all --json
  2. Replace createComponentRenderable(schema.TypeName, { ... }) with createComponentRenderable({ rune: 'type-name', ... })
  3. If the Type had a schemaOrgType, add schemaOrgType: 'X' to the inline object
  4. Remove the schema import if no longer needed
  5. Verify output matches baseline

This is mechanical — each file needs the same 2-3 line change.

References

History

  1. 59ded4a
    Content edited
  2. f262d7b
    source+ADR-005
  3. f0a845a
    • ☑ 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`
    • +2 more criteria
  4. c87b1c2
    statusreadydone
  5. 721addb
    Created (ready, high, simple, runes, types, v1.0.0)