Repository navigation
Phonton CLI v0.24.1
phonton-cli v0.24.1 — Goals that name files get those files
We ran phonton goal against a real JavaScript repository (a Node CLI with
node:test tests) using a cloud model. The goal asked for a new flag, a test
in tests/cli.test.mjs, and a row in the README. The model never saw the test
file or the README, and the run passed verification without adding the test.
This release fixes each cause.
Named files reach the model
A path in the goal now counts whatever the wording: "add a test in
tests/cli.test.mjs" works the same as "edit src/lib.rs". Common source,
config and doc extensions are recognized (.mjs, .cjs, .ts, .tsx,
.py, .go, .java, .rb, .php, .md, .toml, .yaml, .sql and
others), and a root document named in capitals, such as README, is found as
README.md.
Workers can ask for files
Each worker prompt now carries a short list of the repository's files
(tracked and untracked, ignored files left out, shallowest first). When the
file it has to edit is not in the prompt, the model can reply
NEED_FILES: src/cli.mjs, bin/sloplint.mjs once per subtask and gets the
current source of up to four of them before writing its diff. A requested file
is sent whole when it fits the prompt's source budget; an excerpt could miss
the lines the model needs.
A requested test has to exist
If the goal asks to add or write a test, a diff that changes no test file
fails verification and the model is told to add it. Editing package.json
or a lockfile does not count; a Rust #[test] added next to the code does.
Goals that only say the tests must keep passing are not affected.
Only files inside the repository
Source is shown to the model only for files that resolve inside the
repository. A symlink that points somewhere else on disk is skipped, whether
the goal named it or the model asked for it.
Honest provider errors
A reasoning model that is still thinking when the 600 s request timeout fires
now reports "timed out waiting for the model's answer" instead of "error
decoding response body". An empty reply, typically the output limit spent on
reasoning, is retried with a message that says exactly that.
Install and channels
The curl and PowerShell install scripts are removed; they still installed
v0.1.0. Install with npm install -g phonton-cli, a binary from GitHub
Releases, or cargo install --git https://github.com/phonton-dev/phonton-cli phonton-cli --locked. There is no nightly or dev channel any more: CI runs on main
and on pull requests, and docs/RELEASE_CHANNELS.md lists Stable and Main.