-
Notifications
You must be signed in to change notification settings - Fork 65
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Overview
This issue tracks the remaining work for complete WIT support in Morphir after the initial bindings module lands (#479).
Completed Work ✅
The following has been implemented in the feature/wit-support branch:
| Beads ID | Description | Status |
|---|---|---|
| morphir-lex | Scaffold wasm-componentmodel Go module | ✅ Closed |
| morphir-w34 | Define WIT AST/domain model | ✅ Closed |
| morphir-zvf | Add WIT bindings module with parser and package support | ✅ Closed |
| morphir-mpr | Implement WIT package emitter | ✅ Closed |
| morphir-rog | Add BDD fixtures/tests for WIT (WASI) | ✅ Closed |
| morphir-4bi | Implement pure WIT parser | ✅ Closed |
What's Working
- WIT domain model (Package, Interface, World, TypeDef, Function, etc.)
- Parser adapter from bytecodealliance/wit to Morphir domain model
- Pure WIT parser with lexer, parser, and compatibility tests
- WIT text emitter from domain model
- Full type support: primitives, containers, records, variants, enums, flags, resources, handles
- BDD tests with WASI packages as fixtures
Remaining Work 🚧
1. Type Mapping Configuration System (P1) - IN PROGRESS
Beads ID: morphir-77u
Design and implement a shared type mapping configuration system for all Morphir bindings (WIT, Protocol Buffers, JSON Schema, etc.). This is a foundational design that should be completed before implementing specific binding type mappings.
Requirements:
- Define default type mappings in code
- Allow configuration-based overrides/extensions
- Support bidirectional mappings (external type ↔ Morphir IR)
- Integrate with pipeline configuration (ADR-0002)
- Be reusable across all binding implementations
2. WIT Pipeline Adapters (P2)
Beads ID: morphir-jed
Blocked by: morphir-77u
Add frontend/backend adapters that plug WIT parsing/emission into Morphir processing pipelines. This will enable:
- Using WIT as a Morphir frontend (parse WIT → Morphir IR)
- Using WIT as a Morphir backend (Morphir IR → emit WIT)
Epic Tracking
All WIT work is tracked under epic morphir-1kp: WIT support for wasm component model
Related Links
- PR feat(wit): add WIT bindings module with parser adapter and emitter #479: Initial WIT bindings module
pkg/bindings/wit/- WIT bindings moduletests/bdd/features/wit/- BDD feature files
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request