Skip to content

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 05 Sep 01:10
· 424 commits to main since this release

Guards and ergonomics. No P0s — 0.2.0 is safe to stay on. This exists so the published artifact does not drift behind main the way 0.1.0 did, when every P0 four audit rounds fixed stayed live in the only installable binary the whole time.

Added

  • idea <command> --help works, on every command. It was rejected as an unknown flag on all 33 subcommands, so there was no way to learn what idea verify --waive does or what kinds idea export takes without opening docs/cli.md. Rendered from the same command table that drives idea help and the docs, so the three cannot disagree.
  • Provider wire-format goldens, plus an assertion that the token budget a provider emits never exceeds the ceiling it declares. Four rounds of guards compared artifacts to artifacts — routes to specs, docs to code — and nothing compared the request to what a provider accepts, which is how max_tokens: 32000 against a declared 16384 shipped in 0.1.0 and survived until someone spent a real API key. The cap now also lives inside each provider, so no caller can emit a request the provider will reject.

Changed

Both are the same class 0.2.0 listed under Changed — BREAKING (HTTP API), which is why this is a minor bump rather than a patch — the convention decides the number, not how forgiving the change happens to be. A client that null-checked keeps working; one generated from openapi.yaml now works where it did not.

  • /doctor and /diff return [] rather than null for empty arrays. The earlier sweep converted eight fields and missed these two, so the API had become mixed rather than consistent — /diff could return "added":[{…}],"removed":null in a single response. /doctor was the worse case: an empty finding list means the graph audit found nothing wrong, so the good outcome was the one returning null.
  • Unmatched paths under /api/ answer the documented {"error": …} envelope. openapi.yaml said every error has that shape "and nothing else"; ten API paths answered 404 page not found as text/plain, and the CLI surfaced it as idea: 404 Not Found — the only raw HTTP status it prints. The web UI is unaffected.

Still open

The 405 half of the error envelope (Go synthesizes it only when no route pattern matches, and the UI catch-all prevents that) and response-schema checking. Both are recorded in docs/plans/deferred.md with the reason each is still open.

Verify your download

shasum -a 256 -c checksums.txt
idea version        # v0.3.0 (62748eb)

Pre-1.0: the CLI surface, HTTP API and config schema may change in any release.