Skip to content

Releases: navels/neal

v0.6.12

Choose a tag to compare

@github-actions github-actions released this 08 Oct 01:00
638751c

Changed

  • Updated @anthropic-ai/claude-agent-sdk from 0.3.287 to 0.3.293 and @openai/codex-sdk from 0.160.0 to 0.161.0. Re-qualified both native adapters with neal compat; no behavior change.

Added

  • providers.openai_compatible.structured_output_mode (json_schema or
    json_object, default json_schema) for OpenAI-compatible endpoints that
    support JSON mode but not schema-enforced output, such as direct DeepSeek.
    In json_object mode neal asks for plain JSON, accepts a reply wrapped in a
    ```json fence, and checks it with the same protocol validator. The
    default is unchanged (#81).
  • neal usage totals turns, tokens, and cost by provider and role for the
    current run, one run (--run <run-id>), or every run in the repo (--all),
    with --json for scripts. It reads each run's events.ndjson, so it covers
    whole runs, including unfinished ones. RUN_METRICS.json only has whole-run
    totals for finished runs (#82).

Fixed

  • OpenAI-compatible runs overstated cost. The AI SDK reports cached input as
    inputTokenDetails.cacheReadTokens, and the cost math never read it, so
    every cached token was billed at the full input rate. Agent loops resend the
    whole conversation each turn, so most input is cached: on an 80%-cached turn
    with cached input priced at a tenth of the full rate, the input cost came out
    about 3.6 times too high. Run metrics now also count
    cache writes and reasoning tokens from the same shape. Costs already recorded
    in old runs aren't recomputed.
  • A run could finish even though a manual gate's results showed a failure. A
    gate's checks usually only prove the operator did the work, and once they
    passed, neal forgot the gate. Now the run keeps a record of each gate and
    shows it to the coder and both reviewers, who are told to read the results.
    On a failure, the coder either opens a new gate or splits the plan so the fix
    gets reviewed and the gate runs again (#87).
  • When a gate's checks required success and the manual step failed, the run
    was stuck: the checks kept failing, and neal resume --message was refused
    while the gate was open. --message now closes the gate and passes the
    message to the coder (#87).

v0.6.11

Choose a tag to compare

@github-actions github-actions released this 02 Oct 01:12
3b23f28

Changed

  • Updated @anthropic-ai/claude-agent-sdk from 0.3.280 to 0.3.287 and @openai/codex-sdk from 0.156.1 to 0.160.0. Re-qualified both native adapters with neal compat; no behavior change.

v0.6.10

Choose a tag to compare

@github-actions github-actions released this 23 Sep 17:12
d4832ab

Changed

  • Updated @anthropic-ai/claude-agent-sdk from 0.3.274 to 0.3.280 and @openai/codex-sdk from 0.154.0 to 0.156.1. Re-qualified both native adapters with neal compat; no behavior change.

v0.6.9

Choose a tag to compare

@github-actions github-actions released this 20 Sep 21:23
0429203

Changed

  • Updated @anthropic-ai/claude-agent-sdk from 0.3.269 to 0.3.274. Re-qualified the native adapter with neal compat; no behavior change.

  • A manual gate opens during the coder's first pass on a scope, before any
    review. A scope that both built something for the operator to use (a test
    harness, a procedure, a script) and gated on the operator using it handed over
    unreviewed tooling, and a buggy handoff looped gate, resume, coder fix, gate
    without ever reaching the reviewer. The planner now puts that tooling in its
    own scope ahead of the gate scope, the plan reviewer raises a blocking finding
    on a scope that does both, and a coder that lands in one returns split_plan
    instead of opening the gate. A plan authored one_shot may expand to
    multi_scope for this case only. docs/plan-format.md has a new "Manual
    gates" section and docs/troubleshooting.md covers the reopening gate. The
    plan_author (now 6), plan_reviewer (now 5), and scope_coder (now 4)
    prompt-spec versions bumped (#70).

v0.6.8

Choose a tag to compare

@github-actions github-actions released this 14 Sep 19:40
c8b8f80

Changed

  • Updated @anthropic-ai/claude-agent-sdk from 0.3.261 to 0.3.269 and @openai/codex-sdk from 0.153.4 to 0.154.0. Re-qualified both native adapters with neal compat; no behavior change.

v0.6.7

Choose a tag to compare

@github-actions github-actions released this 08 Sep 04:50
ac88b59

Changed

  • Updated @anthropic-ai/claude-agent-sdk from 0.3.260 to 0.3.261 and @openai/codex-sdk from 0.153.2 to 0.153.4. Re-qualified both native adapters with neal compat; no behavior change.

v0.6.6

Choose a tag to compare

@github-actions github-actions released this 04 Sep 23:19
8bd66d7

Fixed

  • The read-only reviewer doctrine told every reviewer it had read tools and no
    shell. That's true for Claude and for OpenRouter models, but a Codex reviewer
    reads through a shell in a read-only sandbox, so a model that took the wording
    literally (gpt-6-astra did) had no way to open files and blocked every
    review. The doctrine now says read access may be a read-only shell and that a
    shell is for reading and searching only. The scope_reviewer and
    completion_reviewer prompt-spec versions bumped (#57).

v0.6.5

Choose a tag to compare

@github-actions github-actions released this 04 Sep 20:28
ef3de90

Changed

  • Updated @anthropic-ai/claude-agent-sdk from 0.3.252 to 0.3.260 and @openai/codex-sdk from 0.151.0 to 0.153.2. Re-qualified both native adapters with neal compat; no behavior change.

v0.6.4

Choose a tag to compare

@github-actions github-actions released this 04 Sep 18:21
176e181

Fixed

  • A planner block during neal plan no longer loses its reason. The planner's
    explanation is saved with the run and shown on the console, in the run result,
    and in neal status. The run result's next step now says a plain neal resume
    re-runs the planner when that's what the block needs, instead of the generic
    --message hint. A crashed round (a provider error or timeout) now prints its
    error on the console too, instead of a bare "Run failed."; neal status
    already showed it (#49).

v0.6.3

Choose a tag to compare

@github-actions github-actions released this 03 Sep 20:53
1870d1f

Changed

  • Updated @anthropic-ai/claude-agent-sdk from 0.3.251 to 0.3.252. Re-qualified the native adapter with neal compat; no behavior change.