Skip to content

v0.1.8

Choose a tag to compare

@github-actions github-actions released this 30 Sep 07:24
· 101 commits to main since this release

Fixed

  • Heredocs survive the cwd-report suffix. bash appended
    ; __gray_rc=$?; printf ... to the command text, so a command whose last
    line was a heredoc terminator read EOF; __gray_rc=$? and the terminator
    never matched: the whole suffix landed inside the heredoc body — a shell file
    written with a garbage trailer, or a SyntaxError for an interpreter
    heredoc, silently (rc=0). Each piece of the suffix now sits on its own
    line, which also stops a trailing # comment from eating it and makes
    cmd & legal. 33 of 47 DeepSWE runs in the 2026-09-29 retro reported this;
    it cost each a wasted turn at best.

    • The windows-runtime CI gate stops hanging on the search-index bench.
      Every ci run since the search-as-command merge (#145) died at
      index_vs_spawn_tax — "running for over 60 seconds", then silence until
      the job's 60-minute budget was spent. The hang had no reachable timeout:
      the bench's deadline assert lived inside its own poll loop, but the call it
      polled (SearchPool::warm_picker) never returned — it took the pool's
      resident mutex with a blocking lock(), and index construction held that
      same mutex across everything fff does, which on Windows stalled inside
      unbounded dependency waits (LMDB writer lock, git status, watcher init).
      The probe is now non-blocking (try_lock with a ~50ms budget, then "not
      warm" → fd/rg answers), construction runs with no pool lock held and is
      deduped by root, and every bench phase carries a hard timeout that fails
      naming the phase. A wedged build now costs one search its fallback lane —
      and costs CI a two-minute failure with a name on it — instead of a 60-minute
      silent hang. windows-focused takes a test-path input, so a native
      single-test iteration no longer means editing the workflow.