Repository navigation
v4.10.0
repo_search searches the repository you are working in, the pack stops ranking look-alike symbols above the file a request names, and the MCP tool definitions are 13% shorter. A declared intent is never written through a symlink. No command or field was removed.
Added
- The check trial reports what each arm's turns were billed.
check-outcomesgrades each arm on corrections and rework, and now also on billed tokens per graded prompt (n, total, median, mean), weighted into input-token equivalents by price ratio (cache reads ×0.1, cache writes ×1.25 or ×2, output ×5). Subagent turns are left out, and no difference between the arms is claimed.
Changed
- Shorter MCP tool definitions. The tools/list response drops from 21,732 to 18,951 characters (about 700 tokens, 13%) for a client that loads every definition up front. Notes on retired tool names, a cache sentence repeated by four tools, and implementation detail in the
head,staged,receipt,intentandonlinedescriptions are gone. No tool, option or behaviour changed.
Fixed
repo_searchsearches the repository you are working in. It searched only the repositories in~/.solumbe/catalog.json, so a repository that was never indexed was invisible to it and every match came from whatever else had been indexed. It now searches the repository atpathalone (the working directory by default, found from any subdirectory), without adding it to the catalog.all: trueadds every catalogued repository, andpathssearches only the repositories it names. Outside a repository, including a server started from/or the home directory, it searches the catalog as before. Each result says which it searched inscope. The CLI'ssolumbe searchtakes--pathand--allthe same way.- A declared intent is never written through a symlink or out of the repository.
solumbe declareandsolumbe amendwrote.solumbe/intent.jsonwith a plain write, so a checkout that committed that path, or.solumbeitself, as a symlink could send the write to any file the user can write. A relative path must now resolve inside the repository, a symlinked target is refused, and the record is written to a new temp file and renamed into place. - Look-alike symbols no longer outrank the file a request is about. Asked to trim the MCP tool definitions, the pack ranked
ast-languages.js(146) far abovemcp.js(55): each per-language extractor loops over a localdefinitionsofnames, and every one matched the query again through its body identifiers. A symbol now matches strongly only when two query words are in its own name; words found only among its body identifiers count as weak matches, one per word for the whole file. Each further symbol matching the same words adds less. Context engine version 7 (version 6 discounted body-only words by a tuned 0.4 instead, which is gone). A newsymbol-stackingfixture and eval case record the miss; retrieval p@5 moves from 0.865 to 0.857 and MRR stays 0.988.