ID:WORK-109Status:donePriority:mediumComplexity:moderateMilestone:v1.0.0
Remove Type system — delete schema classes, registries, and old signature
Phase 3 of ADR-005 (breaking change). Once all runes are migrated (WORK-106, WORK-107) and tooling updated (WORK-108), remove the legacy Type class system entirely.
Depends on WORK-106, WORK-107, and WORK-108 all being complete.
Acceptance Criteria
createComponentRenderableonly accepts the new inline{ rune, schemaOrgType?, ... }signature — oldTypeoverload removedType,TypeFactory, anduseSchemadeleted frompackages/types/src/schema/index.ts- All ~35 schema class files in
packages/runes/src/schema/deleted - All schema class files in community packages (
runes/*/src/schema/) deleted packages/runes/src/registry.tsdeleted (or reduced to only non-Type exports if any exist)RuneDescriptor.typefield removed — onlytypeNameandschemaOrgTyperemainRuneclass no longer referencesType@refrakt-md/typesno longer exports schema classes (Page,Hint, etc.)- All tests pass
- TypeScript compiles cleanly across the entire monorepo
- A changeset is created for the breaking change
Scope
- ~35 schema class files to delete in
packages/runes/src/schema/ - ~30 schema class files to delete across
runes/*/src/schema/(9 community packages) - ~10 registry/index files to update
- 1 function signature to simplify (
createComponentRenderable) - 1 interface to simplify (
RuneDescriptor) - 1 class to simplify (
Rune) - Barrel export cleanup in
packages/types/src/index.tsandpackages/runes/src/index.ts
Approach
- Remove the
Typeoverload fromcreateComponentRenderable— keep only the inline signature - Delete all
schema/directories:packages/runes/src/schema/and eachrunes/*/src/schema/ - Delete or gut
packages/runes/src/registry.ts - Remove
Type,TypeFactory,useSchemafrompackages/types/src/schema/index.ts - Clean up
RuneDescriptor— removetype?: Typefield - Remove schema class re-exports from barrel files
- Run full build (
npm run build) and fix any remaining references - Run full test suite (
npm test) - Create changeset documenting the breaking change
References
- ADR-005 (Phase 3)
- WORK-105 (dependency — dual-signature support)
- WORK-106 (dependency — core rune migration)
- WORK-107 (dependency — community rune migration)
- WORK-108 (dependency — tooling update)
Relationships
Related
- ADR-005accepteddecisionReplace the useSchema / Type class system with plain rune identifiers
- WORK-106doneworkMigrate core runes to inline rune identifiers
- WORK-107doneworkMigrate community package runes to inline rune identifiers
- WORK-108doneworkUpdate inspect tooling for string-based rune types
- WORK-105doneworkAdd dual-signature support to createComponentRenderable and update RuneDescriptor