OWEN 0.3.7 — adversarial-audit hardening
Hardening release: all 15 bugs found by an adversarial test audit (run against v0.3.4) are fixed, and the audit's adversarial suite (~180 tests) now ships in the test suite.
Fixed
Crash-level (extension-host OOM/hang from one malformed deck)
- MCNP repeat expansion (
fill= 1 2000000000r) capped at 1M entries in both the 3D-preview extractor and the references index (the latter rebuilds on every edit, so this was reachable just by typing). - Self- and mutually-referential lattices (
u=5filled with 5, or 5<->6) no longer recurse exponentially — cycle detection in the MCNP and Serpent universe walkers. - SCONE
shape (100000 100000 1)and Serpent giantlatheaders no longer allocate unbounded grids (5M-cell cap; Serpent rows capped to actual data).
Wrong-result
mcnp.material-signno longer fires false Errors on valid decks (including bundled BEAVRS): ZAID tokens like40000.80care no longer partially matched as fractions, and the material context is cleared when any new card starts.- Cells with negative universe IDs (
u=-5) are keyed by abs sofill=5finds them in the 3D preview. - OpenMC pitch detection ignores
#comments. - Results parsers and sweep k-eff scrapers require proper numeric tokens — no more
k-eff = NaNfromKEFF = ...or silently truncated1.2.3; non-finite samples are dropped. - Input Builder: no more
fill=undefinedPython on empty material selection; custom material names with quotes/backslashes no longer break the generated script.
Cosmetic
- ALLEN Bondarenko shielding factor no longer exceeds 1 for tiny sigma0/sigma (log1p + [0,1] clamp, plot config + webview).
src/test/fixtures/sample_openmc.logrenamed to.log.txtso fresh clones pass the test suite (*.logis gitignored).
Added
- Adversarial test suite in
src/test/suite/adv.*.test.ts— extractor edge cases for all four codes, validator regressions (zero-Errors sweep over every bundled prebuilt deck), results-parser garbage inputs, hostile input-builder names, ALLEN plot math, measurement math, LOD budget, and bounded hang-bomb repros. Full suite: 423 passing.
Install: download the VSIX below, then code --install-extension owen-neutronics-0.3.7.vsix