Repository navigation
v0.4.0
laya-codex 0.4.0
Claude answers its own lookups with laya-codex search instead of Grep. The reranker is retrained on the candidates laya-codex actually ranks. Follow-up prompts get answers instead of more code. No breaking changes.
Benchmark v10: stock Claude Code against this release's code with the retrained model, 51 paired tasks across 3 repositories.
| metric | change |
|---|---|
| turns | −34% |
| tool calls per session | 9.0 → 5.3 (Grep 5.3 → 2.0; search about 1) |
| wall-clock | −12% [−19, −4] |
| cost | −9% |
| first-question recall | 0.76 → 0.90 |
| code read + injected | +6%, not significant |
The −30% time and −50% token goals are not met yet. Benchmark v11 tested a smaller injection, and Claude read 23% more to make up for it, so it is not in this release. See docs/RESULTS.md.
Highlights
searchanswers name lookups (definitions, callers, uses, tests) with a complete scan of the files the indexer admits, and Laya orders the files.- Retrained laya-code: on the offline replay, the right file is inlined for 70 of 115 tasks, against 63 for the first model and 62 for keyword ranking. The installer pins it to Hugging Face revision
25f97e5and verifies its manifest. The first model stays on the repo'smainbranch. - Follow-ups that ask for tests or callers get lists of them instead of more code blocks. This cuts the second prompt's injection by about 60%.
- Removed: the scope classifier, probability-threshold sizing, repository-size caps and Read narrowing.
Full list: CHANGELOG.
Upgrade:
- Re-run the installer:
curl -fsSL https://raw.githubusercontent.com/pilotspace/laya-codex/main/install.sh | sh.- On macOS it replaces only the model files that changed, mainly the 843 MB weights.
- On Linux the model stays opt-in (
--model).
- With Homebrew, run
brew upgrade laya-codex, then fetch the model withcurl -fsSL https://raw.githubusercontent.com/pilotspace/laya-codex/main/install.sh | sh -s -- --model-only.
What's Changed
- chore(packaging): Homebrew formula for v0.3.0 by @pilotspacex-byte in #14
- Fix what benchmark v2's limits pointed at: follow-ups, rank-mode logging, harness by @pilotspacex-byte in #15
- docs(project): north star, refocus plan and assistant rules by @pilotspacex-byte in #16
- feat(bench): count injected code in the token target, with a tool-call ledger and a replay gate by @pilotspacex-byte in #17
- feat(mcp): answer name lookups in search so it can replace Grep by @pilotspacex-byte in #18
- refactor: remove the scope classifier, threshold sizing, size caps and Read narrowing by @pilotspacex-byte in #19
- fix(search): count files past the size cap instead of listing them empty by @pilotspacex-byte in #20
- docs: report benchmark v10 and what the refocus delivered by @pilotspacex-byte in #21
- docs: record benchmark v11, where a smaller injection made Claude read more by @pilotspacex-byte in #23
- feat(finetune): retrain laya-code as the reranker and pin the installer to it by @pilotspacex-byte in #22
- chore(release): v0.4.0 by @pilotspacex-byte in #24
Full Changelog: v0.3.0...v0.4.0