Skip to content

ironharness 0.5.0 — reliability block (IH-10..13)

Choose a tag to compare

@cezman cezman released this 09 Sep 20:21
· 352 commits to main since this release
87888b1

Reliability block from the 2026-09-09 audit — the benchmark's PASS, its journal, and its concurrency guarantees are now backed by pinned tests.

ironbench

  • PASS fidelity (IH-10): every run writes artifacts into a fresh out_dir/<task>/run-<id>/ directory; the plant worker stamps result.json with a run id and the runner rejects foreign/stale reports. A re-run into a dirty out dir can no longer score a previous run's output.
  • Throwaway controller cwd (IH-13): plant controllers run with a scratch working directory; relative writes stay inside the run artifacts.
  • ironbench clean (new): removes old run-* dirs (keeping the newest per task) and refuses directories without the .ironbench-out marker — it only ever cleans what ironbench created.
  • Honest threat model documented: task code (plant controllers, unix/real firmware) runs as a local process with your rights — a process is not a sandbox.

io-core

  • Journal attribution (IH-11): every transport event now carries the connection name (conn); ReplaySession replays each connection as its own stream with per-connection strict write verification (legacy journals without conn replay as before).
  • Concurrency (IH-12): the transport registry and sandbox quotas are atomic under a lock (duplicate opens and parallel quota-busting writes are gone), get_session() is race-free, Session.close() survives a stuck port, and a new IRONHARNESS_MAX_CONNECTIONS policy caps open transports (denials are journaled).

Full suite: 293 passed / 22 skipped; every fix is pinned by a test that fails without it.