Skip to content

OWEN 0.3.7 — adversarial-audit hardening

Choose a tag to compare

@caalh caalh released this 02 Jul 06:11

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=5 filled 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 giant lat headers no longer allocate unbounded grids (5M-cell cap; Serpent rows capped to actual data).

Wrong-result

  • mcnp.material-sign no longer fires false Errors on valid decks (including bundled BEAVRS): ZAID tokens like 40000.80c are 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 so fill=5 finds 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 = NaN from KEFF = ... or silently truncated 1.2.3; non-finite samples are dropped.
  • Input Builder: no more fill=undefined Python 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.log renamed to .log.txt so fresh clones pass the test suite (*.log is 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