Preserve projected function array shapes#331
Conversation
Signed-off-by: James Goppert <james.goppert@gmail.com>
605056f to
4a80d59
Compare
Signed-off-by: James Goppert <james.goppert@gmail.com>
MSL Quality Gate SummaryGenerated by
Deltas compare numerator/denominator against the resolved MSL quality baseline. CI Gate SnapshotThese are the baseline-relative MSL stats checked by CI; IC progress is contextual unless simulation successes regress, and speed metrics are informational only.
CI gate details
Package Pass Rates
Per-package pass rates
MLS Contract Coverage
Trace Accuracy vs OMC
Speed vs OMCCompilation and simulation are reported separately for the 187 trace-agreeing models with valid timings on both tools. Aggregate speed summary
Speed breakdownWhere rumoca's time goes
Speed by system sizeTable 1 — Total (model → simulated results)Rumoca = front-end compile + Solve-IR/JIT build + integration; OMC =
Per-model speedup: min 0.10, median 4.85, max 10.37. Table 2 — Compilation (build-to-runnable)Rumoca = front-end compile + Solve-IR/JIT build; OMC =
Per-model speedup: min 0.22, median 5.49, max 10.34. Table 3 — Simulation (integration only)Rumoca =
Per-model speedup: min 0.00, median 1.55, max 47.53. Top 10 slowest modelsTop 10 slowest rumoca compilation modelsTrace-agreeing models ranked by rumoca time.
Top 10 slowest rumoca simulation modelsTrace-agreeing models ranked by rumoca time.
Additional Artifacts
|
What changed
Root cause and impact
Function projection could lose the declared shape of array-valued intermediate call results. Downstream dimension-generic functions and record field slice assignments then observed incomplete scalar bindings or dimensions, causing valid models to fail during Solve lowering. The projection scope now retains and materializes the complete array shape through nested calls and record fields.
Validation
nix develop --command cargo xtask verify quicknix develop --command cargo xtask verify fullgit diff --check