Skip to content

v460 — read/edit calls keep their arguments, and the drill names its tools

Choose a tag to compare

@MBHudson MBHudson released this 13 Nov 07:59
· 10 commits to master since this release

Foreign read and edit calls used to lose the arguments that make them work. read_file and show_file now accept the path spellings Claude, Cursor and OpenAI-compatible tools use (file_path, filepath, filename, target_file, file), keep a separate range, and turn offset/limit into the sandbox's start-end range. Edit resolves to edit_file — never write_file — and edit_file accepts file_path plus old_str/old_text/new_str/new_text. Native read_file now advertises the separate range field, and nativeToolArgs keeps it; stringified JSON arguments are parsed before path normalization, which is the shape a native or relay call can send. The Hard drill now names the exact tool in every read and edit step (read_file, never show_file; edit_file, never write_file or str_replace_editor), while Easy intentionally keeps its original diagnostic wording. Verified live with nemotron-lightning: two Hard passes, each 17/17 clean with 0 failed attempts and 0 retries; a native ranged read returned line 1; and the stringified read/edit path ran through the live tool registry. JS 41 files / 1,229 assertions, PHP 33/33 (3 skipped), docs 14/14. VERSION 459 → 460, APP_VERSION 448 → 449 in ui/js/store.js, every ?v= under ui/**, and both index.html files.