Fix standalone Streams model module resolution
The standalone Streams model target fails to compile after importing the production cursor through #[path]: nested modules resolve beside client/progress.rs instead of inside client/progress/, and the model assumes the full SDK crate namespace.
Use explicit nested paths and the enclosing module's Loom-backed Arc. Run the existing LATEST cursor model and its broken-generation negative control from the standalone target as well as the pool target. Ordinary cursor properties remain in the native library suite; instrumented concurrency models run inside loom::model.
Decisions
- Three-file fix from main, independent of #710/#722 and their transport APIs. Reuse the production model without copying its implementation or adding exploration bounds.
- Preserve the standalone target's missing-cfg compile error. The canonical model invocation remains
RUSTFLAGS='--cfg acyclic_stream_loom' cargo test --manifest-path rust/crates/stream/models/Cargo.toml --test session_model.
Validation
One bb1 batch, log /home/var/log/buildbox/2026-10-16T175025638Z-445503.log:
- Standalone Loom/property suite: 38 passed, 0.11 s, including the LATEST negative control.
- Pool Loom/property suite: 22 passed, 0.91 s.
- Native cursor properties: 3 passed, 0.004 s.
- Windows stream check (
local,http, lib/tests): passed, 12.26 s plus 165 s slot wait. - Windows standalone model-crate check (dedicated Loom cfg): passed, 4.54 s plus 30 s slot wait. The standalone package has test targets and no library target.
No runtime suite exceeds 10 seconds. Source resolution was the failing condition; the existing native and standalone targets now both compile the intended production cursor modules.
Summary by cubic
Fixes the standalone Streams model target so it compiles and runs the production cursor model. #[path] imports previously resolved nested modules beside client/progress.rs instead of inside client/progress/, and the model pulled Arc from the full SDK crate namespace.
- Uses explicit nested paths and the enclosing module's Loom-backed
Arcinprogress/model.rs. - Adds two integration tests to
session_model.rsthat reuse the production cursor model: the LATEST case and a negative control that must panic on a fenced generation. - Gates
progress/tests.rsbehindcfg(test)excluding theacyclic_stream_loomcfg, so the native cursor property suite is unchanged.