Requested by servirtium-vcr: its scala/.tests.ae now calls source_layout(),
which doesn't exist in v0.307 (hard Undefined-function compile break); and
selenium is exposed to the | tee status-masking across its cpp/d/swift/dart/
gleam/java runners. Three sibling fixes since v0.307:
2734bf5 — nine test-runner builders (cpp.tests, d/swift/dart/gleam/jest/moonbit
.test, both java JUnit runners) ran 'cmd 2>&1 | tee log' and used the
PIPELINE status — tee's, always 0 — so a failing suite, or a compile that
produced no binary, reported PASS. Factored into bldr._sh_tee(): keeps the
tee'd log (parsers need it), returns the command's real status via an rc
file, FAILS CLOSED (rc deleted first so no stale 0; missing/unparseable rc =>
failure). No pipefail (dash is /bin/sh). New tests/test_sh_tee_cmd.ae.
01b2880 — lib/groovy _write_argfile iterated string.split's result with
list.size/list.get instead of string.array_size/array_get → 0-byte argfile →
cache key hashed NO source content → edited Groovy never rebuilt, stale class
tree replayed (another dishonest green). Groovy-local.
938faa9 — (a) scalac_test globbed the whole module dir for *Test.scala, sweeping
a sibling example/ consumer test into the in-tree suite; added opt-in
source_layout("maven idiomatic") rooting at src/test/scala (default glob
unchanged). (b) make install stashed tools/*.jar across the rm -rf wipe so the
out-of-band aeb-resolve.jar survives (its loss broke every scala/maven build).
Verified against the real pinned Aether 0.665.0 linux tarball: orchestrator
builds clean, full suite 136/136, static mangle-guard PASS, glibc floor
GLIBC_2.34 (Debian-12 safe). The shared _sh_tee mechanism confirmed at runtime
(failing cmd -> real code 7; passing -> 0) and end-to-end via cpp.tests (failing
=> 0/1 FAIL, rc captured the real code; passing => green). jest/moonbit runners
are thin callers of that same fail-closed helper; not run standalone here (no
pnpm/moon toolchain on this box) — noted honestly. AETHER_PIN/FETCH unchanged
at 0.665.0.