Feed it a top-of-book snapshot; it applies microprice train's calibrated g* grid using the same encoding/lookup formula as predict — a JS reimplementation of that lookup against coefficients trained on the project's synthetic generator, not the Rust binary itself. This demo uses synthetic data only. Validation on real market data is pre-registered (docs/real-data-evaluation.md) but has not been run.
MicroPrice-Rust's synthetic training generator holds the spread fixed once configured — real order books don't, but this generator's own documented job is a reproducible development dataset, not a market simulation. So only one of the four spread buckets (spread = 2 ticks) ever saw an observed transition in this training run.
Every unvisited state shares an identical g* — a correct consequence of Laplace smoothing: with zero observations, every such state gets the same uniform transition row and the same zero-mean prior, so they converge to the same fixed point. Not a bug — verified in docs/benchmarking.md.