Skip to content

feat(engine): bump itis-dakota 1.5.11->6.24.7 (Dakota 6.20->6.24) — T16mo rung 2 - #42

Merged
JavierGOrdonnez merged 1 commit into
developfrom
feat/bump-itis-dakota-6.24
Aug 28, 2026
Merged

JavierGOrdonnez merged 1 commit into
developfrom
feat/bump-itis-dakota-6.24

Conversation

@JavierGOrdonnez

Copy link
Copy Markdown
Collaborator

What (rung 2 of the engine ladder)

  • pyproject.toml: itis-dakota==1.5.11 (Dakota 6.20) → itis-dakota==6.24.7 (Dakota 6.24). The 1.5.x line was renumbered to track Dakota's version.
  • uv.lock regenerated.
  • Version 0.1.0a3 → 0.1.0a4.

Why 6.24.7 (not 6.24.9)

6.24.7 is the latest 6.24.x that still ships cp311 wheels. 6.24.8+ dropped cp311 (only cp312/cp313/cp314), which would force a Python 3.12 migration of both itis-sumo and mmux_vite. 6.24.7 keeps the Python 3.11 primary (parity with mmux/vite). 6.24.9 is deferred until the 3.12 migration is in scope.

Breakage fixed (SPEC §R5)

6.24.7 still carries the 6.23+ Interface::interface_cache() regression: dakota.environment.study()'s ctor throws IndexError: map::at ("called with nonexistent study!") for itis-sumo's pure data-fit surrogate confs (only import_build_points_file, no interface block) — the cache static map is never populated. This broke all 45 real-Dakota surrogate tests (training, cross-validation, UQ propagation, MOGA, import/export, evaluation).

Fixed in itis-sumo (not waiting on the upstream get-or-create fix): config/funs_create_dakota_conf.py::add_r5_interface_cache_workaround() (appended to every conf via start_dakota_file()) declares an otherwise-unused single model R5_WA_MODEL wired to a no-op fork interface (analysis_drivers='true'), and each surrogate model now points at it via truth_model_pointer='R5_WA_MODEL'. This forces the Interface to be constructed (populating the cache) during study setup; the dummy model is never referenced by any method/iterator, so the interface is never executed. Behavior unchanged.

Verification

  • make test (full suite, incl. real Dakota): 318 passed (was 273 passed / 45 failed on 6.24.7 before the shim).
  • ruff + ty clean.

Notes / follow-ups

  • JSON input seam (SPEC R4) NOT part of this rung (deferred per scope).
  • Downstream: mmux_vite must re-pin to itis-sumo==0.1.0a4 and re-run its full CI (next step, rung 2 consumer side).
  • SPEC updated: T16mo rung 2 ✓, §B B16mo added, engine/deps/py notes refreshed.

…16mo rung 2

Rung 2 of the engine modernization: move off the 1.5.x line (Dakota 6.20) to
itis-dakota==6.24.7 (Dakota 6.24). 6.24.7 is the latest 6.24.x still shipping
cp311 wheels, so itis-sumo keeps its Python 3.11 primary (parity with mmux/vite);
6.24.8+ dropped cp311 and would force a 3.12 migration of both repos (deferred).

The 6.23+ `Interface::interface_cache()` regression (SPEC §R5) is still present
in 6.24.7: `dakota.environment.study()`'s ctor throws `map::at` for itis-sumo's
pure data-fit surrogate confs (no interface block), which broke all 45 real-Dakota
surrogate tests. Shimmed in itis-sumo rather than waiting on the upstream
get-or-create fix: `add_r5_interface_cache_workaround()` (appended to every conf
via `start_dakota_file()`) declares an unused `single` model wired to a no-op
`fork` interface (`analysis_drivers='true'`) and points each surrogate model at
it via `truth_model_pointer='R5_WA_MODEL'`, forcing the Interface to be constructed
(populating the cache) without ever executing it. 318-test suite green.

Bumps itis-sumo version 0.1.0a3 -> 0.1.0a4. See SPEC §B B16mo, T16mo.
@JavierGOrdonnez
JavierGOrdonnez merged commit 0b40062 into develop Aug 28, 2026
4 checks passed
@JavierGOrdonnez
JavierGOrdonnez deleted the feat/bump-itis-dakota-6.24 branch August 28, 2026 09:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant