Skip to content

Latest commit

 

History

History
51 lines (41 loc) · 2.47 KB

ROADMAP.md

File metadata and controls

51 lines (41 loc) · 2.47 KB

Roadmap

One engine, native Rust, idiomatic Haskell

Release 0.4.0 makes one Rust engine the authoritative implementation for every storage transition while preserving typed, idiomatic Rust and Haskell surfaces. The engine is extracted from the existing cqrs-es, Apalis, sqlite-es, SQLx, and SQLite implementation. It is not rebuilt beside it. The first implementation deliverable characterizes that behavior so extraction cannot silently change it.

flowchart TD
    contract["0.4.0 extraction contract"]
    characterization["#9 Existing behavior characterization"]
    facade["#12 Shared erased Rust facade"]
    parity["Native Rust facade parity"]
    abi["#10 Versioned C ABI and conformance"]
    haskell["#11 Haskell engine binding"]
    protocols["#13 Cross-binding durable protocols"]

    contract --> characterization
    characterization --> facade
    facade --> parity
    facade --> abi
    abi --> haskell
    parity --> protocols
    haskell --> protocols
Loading

TypeScript access to the shared engine

Release 0.5.0 is intended to add a typed TypeScript binding over the shared Rust engine. The binding will reuse the same versioned engine contract rather than own storage or durable protocol decisions. Runtime integration, packaging, and the public TypeScript surface remain to be specified after 0.4.0; no TypeScript implementation is part of the current release.

Not epic