fuel_dispatch/fkc/shape_expr.rs
1// SPDX-License-Identifier: MIT OR Apache-2.0
2//! Fuel's independent typed shape-expression AST + §6.19 canonical wire codec +
3//! evaluator (KISS-Ops §6.20). Byte-matches the KISS reference
4//! (`conformance/src/shape_expr.rs`), verified against the vendored golden vectors —
5//! the shape-side companion to the value oracle. EXPRESSION kind only (`SameAs` +
6//! `DimExpr`); the role/index-woven kind (reduce/gather/matmul) is a separate variant
7//! (Convergence-C C-2). Every malformed input is a typed decline, never a panic.
8//!
9//! MOVED (Increment C slice 1, T1): the implementation now lives in
10//! `fuel_kernel_seam_types::shape_expr` — its permanent, dependency-free home, so
11//! `fuel-graph` can carry `Dim`/`ShapeExpr` in `OpAttrs` without depending on this
12//! crate. This module is a re-export shim: every existing
13//! `crate::fkc::shape_expr::…` path keeps compiling unchanged. The codec goldens
14//! moved with it (see the seam-types test module). The text-surface parser
15//! (`shape_expr_parse`) stays here — contract-import machinery, not grammar.
16
17pub use fuel_kernel_seam_types::shape_expr::*;