Skip to content

Phonton CLI v0.22.0

Choose a tag to compare

@github-actions github-actions released this 08 Oct 11:39
· 14 commits to main since this release
2f5e7f4

phonton-cli v0.22.0 — Product Hunt beta

Local models

  • phonton models setup|install|calibrate|select manages a local Ollama
    runtime (Windows x64) and measures which edit formats a model can produce.
  • With a calibrated model selected, the TUI and phonton goal run goals
    through the local harness: plan approval first, edits in a copy, your
    checks on the candidate, and phonton goal --local apply|rollback RUN_ID.
  • On macOS and Linux, connect an Ollama you installed. The TUI plan review
    says Phonton cannot verify that runtime; approving the plan is consent for
    that goal, and the receipt labels the runtime origin unknown.
  • Headless local runs print the diff, check results, and the apply command
    instead of a raw JSON receipt.
  • Local goals start the installed managed runtime when it is not running
    (after a reboot, for example).
  • Local scope keeps files whose text matches a goal that names no symbol
    ("reduce the maximum title length").

Plans and memory

  • Goals like "Add a count() method to TodoStore that ..." no longer plan a
    method named to; every subtask keeps the full goal text.
  • Memory is scoped to the repository it came from. Before, rejected
    approaches and decisions from every repository (goal text and file paths)
    were added to prompts for any repository and sent to the provider.
  • Memory records no longer nest earlier memory, and paths quoted from memory
    no longer count as files the worker must edit.

Trust and recovery

  • phonton review reject undoes the task: files it changed go back to their
    state just before the task (uncommitted edits and untracked files
    included), and it refuses without writing if you edited them afterwards.
  • Workers may add or edit tests. Edits to existing tests count only if the
    original tests also pass against the change, so a model cannot pass by
    rewriting an assertion.
  • A worker that cannot produce a usable diff escalates to the next model tier
    instead of failing the goal.
  • Verification copies link node_modules and reuse a per-workspace Cargo
    target directory (a warm Rust check went from 83 s to 29 s in our runs).
  • Headless phonton goal prints a short receipt: files, checks, tokens,
    estimated cost when pricing is known, and the next command.
  • Token totals count each attempt once (they were doubled) and include
    retries and escalations.
  • A diff the worker already checked is not built and tested again by the
    orchestrator. Verification caches unused for 7 days are deleted.

Providers

  • Tier defaults use current models checked against models.dev on 2026-10-07.
    Several previous escalation ids did not exist and failed with 404.
  • OpenAI-compatible requests allow 16,384 output tokens (32,768 for DeepSeek)
    so reasoning models do not spend the whole budget thinking.
  • Provider transport and Ollama errors include the underlying cause.
  • OpenAI-compatible and Anthropic requests retry twice on a dropped
    connection, 429 or 5xx.

First run

  • With no usable model, Enter on a goal opens Settings and keeps the goal
    text. A pasted key is recognised by its prefix; providers auto-detect from
    environment keys, then a local model.
  • phonton doctor checks only the toolchains your project uses and suggests
    phonton models setup when no key is set.
  • PHONTON_HOME relocates all per-user state.
  • Exiting no longer installs updates; it prints the npm command.

Fewer wasted tokens

  • Workers get the exact current source of the files they edit (bounded), so
    diff context lines match instead of being guessed from signatures.
  • Later subtasks see a one-line note per finished subtask instead of a replay
    of every earlier prompt and diff.
  • The system prompt and duplicate retrieval slices are no longer sent twice.

These are mechanism changes. We have not published a before/after token
measurement for this release; phonton why-tokens shows provider-reported usage
for your own runs.

Benchmark harness

  • benchmarks/smoke runs fixed goals on fresh copies of
    fixtures/todo-api and scores them with hidden tests written after the
    run. It is a regression check, not a comparison with other tools.

Removed

  • Hardcoded worker templates that answered known benchmark goals without a
    model. Every edit now comes from the configured model.

TUI

  • Pitch-first welcome with the ADE loop, what every goal gets, and starter goals.
  • Width-adaptive footer, unclipped help overlay, empty-state Goals panel.
  • Esc/Ctrl+C need a second press to quit.