Skip to content

v0.7.5 — Phase 6 tools + environment fluency

Choose a tag to compare

@hackspaces hackspaces released this 10 Jul 19:12

The harness grows better limbs, and learns the machine it's running on.

New actions & mechanisms

  • run_tests — one action runs the project's REAL test suite (auto-detected — no guessing pytest vs npm) and returns a COMPACT digest: the counts line, which tests failed, the assertion, and your files in the traceback. It parses pytest/unittest/go/cargo/jest and filters site-packages noise out of the frames — surfacing exactly the short summary that a raw-output cut buries. A known runner you invoke by hand via bash is digested too.
  • Atomic multi-editedit_file learns an edits:[{old,new},…] array applied validate-first, all-or-nothing: a rename + its call sites in one turn instead of one edit per turn. Also fixes a loop-detector false-positive on consecutive distinct edits to one file.
  • Background-process supervisor — a crashed background server is now visible the instant it dies (pushed into context unprompted), and a live roster of pids/logs rides bash observations so they survive compaction.

Environment fluency

The harness knows the OS but now also its behavioral differences: on macOS it surfaces the BSD-vs-GNU userland quirks (timeoutgtimeout, sed -i needs a suffix arg, no readlink -f/date -d), naming the GNU tools actually installed, and error hints gain OS-gated recovery lines. It also detects the project's real interpreter (.venv/uv/poetry) so "use python3" becomes "use .venv/bin/python".

Stdlib-only, zero runtime deps. 450 tests green.