Skip to content

WIT Support: Remaining work for pipeline integration #480

@DamianReeves

Description

@DamianReeves

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions