skylakegrep

release notes · v0.5.8.3

skylakegrep 0.5.8.3 — hot-fix: filename skip-cascade crashed after proactive output

0.5.8.2 let the LLM router authorise a pure filename lookup and skip the semantic cascade when confidence was high. That was the right routing decision for queries like:

skygrep -x "where is my case42 file"

The bug was in the CLI orchestration after that decision. The normal cascade branch initialised queries = [query], but the skip-cascade branch did not. A later warm cross-folder gate still read len(queries), so a high-confidence filename query could surface the proactive home-directory matches and then crash with:

UnboundLocalError: cannot access local variable 'queries' where it is not associated with a value

0.5.8.3 initialises queries before the skip-cascade branch, so both the cascade and cascade-skipped paths share the same downstream state.

What changed

  • Fixed search_cmd so queries = [query] exists before the decision.skip_cascade branch.
  • Added a regression test for a high-confidence filename router decision (intent=filename, skip_cascade=True) through the JSON CLI path.
  • Bumped package/runtime/docs version labels to 0.5.8.3.

Verified

  • Targeted regression: pytest tests/test_v0_4_ux.py::SearchRoutingRegressionTests::test_high_confidence_filename_skip_cascade_keeps_json_path_alive -q1 passed.
  • Nearby routing/proactive suite: pytest tests/test_filename_shortcut.py tests/test_proactive.py -q49 passed, 4 subtests passed.
  • Real CLI replay with the reported query exited 0 and surfaced the expected outside-project filename matches instead of crashing.

Compatibility

  • No schema change.
  • No index rebuild required.
  • Public CLI flags and JSON result shape unchanged.
  • Existing 0.5.8 indexes are byte-compatible.

Known follow-ups

  • The release checklist still requires the normal publish steps (build, twine check, tag, PyPI upload, GitHub Release) when this patch is actually shipped. This notes file documents the code fix; it does not imply a tag or upload has already happened.