release notes · v0.5.15
skylakegrep 0.5.15 — first-class agent presets and release gates
0.5.15 turns the 0.5.14 agent playbook into explicit CLI and release contracts. The search engine is the same generic router; this release removes flag-bundle ambiguity for LLM callers, makes setup freshness auditable, and replaces the broken token-based PyPI workflow with Trusted Publishing.
What changed
--agent-fastis now the official path-anchor preset for LLM callers. It expands to JSON output, no snippets, top-10 candidates, and no rerank.--agent-contextis now the official first evidence preset. It expands to JSON output, standard snippets, and no rerank.--agent-daemonmakes daemon-first repeated calls explicit. It usesSKYGREP_DAEMON_URLwhen set, otherwisehttp://127.0.0.1:7878, and falls back in-process if no daemon is running.skygrep setup --checkreports whether managed Claude Code, Codex, OpenCode, Gemini CLI, and Cursor snippets are current, stale, missing, or broken without modifying user files.- Managed setup snippets now carry an internal guidance version and teach the shorter agent presets first, while keeping the explicit long-form commands documented for auditability.
benchmarks/closed_loop_regression_gate.pyturns saved closed-loop benchmark JSON into a machine-checkable release gate..github/workflows/release.ymlnow uses PyPI Trusted Publishing (OIDC) instead ofPYPI_API_TOKEN.
Agent command contract
Use these commands when another LLM will consume the result:
skygrep --agent-fast "where is token refresh implemented?"
skygrep --agent-context --include "src/**" "what does token refresh do?"
skygrep serve --port 7878
skygrep --agent-daemon --agent-context "what does token refresh do?"
The explicit long-form equivalents still work:
skygrep --json --no-content --top 10 --no-rerank "<query>"
skygrep --json --content --detail standard --top 8 --no-rerank "<query>"
Setup freshness
Existing managed setup blocks are still refreshed automatically on normal
interactive use, and skygrep setup still updates only the managed
BEGIN/END block while preserving user-authored instructions. The new
check mode gives users and CI a non-mutating audit command:
skygrep setup --check
Benchmark gate
The universal benchmark remains the real measurement path:
python benchmarks/universal_closed_loop_benchmark.py \
--repo self --repo django --repo react --repo tokio --summary-only \
> /tmp/skygrep-closed-loop.json
The new release gate checks the saved report:
python benchmarks/closed_loop_regression_gate.py /tmp/skygrep-closed-loop.json
Default gate thresholds require skygrep-first to preserve at least 90 % path coverage, 90 % evidence coverage, 85 % sufficiency, 2× context reduction, no estimated agent elapsed regression, and no work-quality per-minute regression. Release runs can tighten those thresholds when the benchmark fixture is fully prepared.
Publishing
The GitHub release workflow now expects PyPI Trusted Publishing with:
- owner:
danielchen26 - repository:
skylakegrep - workflow:
release.yml - environment:
pypi
That removes the long-lived PYPI_API_TOKEN failure mode.
Verification
- Targeted CLI/setup/benchmark tests cover the new agent presets, daemon expansion, setup status checks, and regression gate.
- Full test suite and privacy release scans were run before publishing.
- Public examples in this release use only generic placeholder questions. No local private path, filename, screenshot, or personal benchmark content is included.