Three defects found by deep-inspecting the Rust output against the product spec (FederatedMeetupProduct.speckdl): 1. Date type undefined in Rust — emitted as 'Date' which doesn't exist. Fixed: Date maps to u64 (Unix timestamp) in both the primitive map and the ident fallback path. 2. Interface records (Money, Ticket, Order, etc.) not emitted as Rust structs — only events were emitted. The TS backend has the same gap. Fixed: record-kind interfaces now emit as Rust structs. 3. Decision log typed as Vec<FirstEventName> instead of an enum union. Fixed: emit a SpeckName_Event enum with one variant per event type, type the decision log as Vec<SpeckName_Event>. 57/57 tests pass. Both specs generate clean Rust output. |
||
|---|---|---|
| .. | ||
| __tests__ | ||
| dist | ||
| node_modules | ||
| out/speckl-compile | ||
| specs | ||
| src | ||
| test-output | ||
| test-output-rust/TigerBeetleLedger | ||
| .gitignore | ||
| .last-build | ||
| check-dist.sh | ||
| package-lock.json | ||
| package.json | ||
| tsconfig.json | ||