Skip to content

v0.0.302.5

Choose a tag to compare

@github-actions github-actions released this 25 Sep 04:26
· 59 commits to main since this release
db1e406

Codegraff v0.0.302.5

This release makes WebSocket turns stream live and recover cleanly, lets ACP
clients such as Harness drive sessions in the folder and worktree they choose,
and accepts images from every OpenAI and Codex model. It also removes the Kuri
companion from Codegraff's supported paths and keeps explicit route checks
aligned with the next request.

Sessions and transport

WebSocket turns show response text as it arrives instead of holding it until
the turn completes, and the connection falls back to HTTPS automatically when
the socket fails. The warm-up request is off by default and xAI turns resend
their history rather than chaining, which avoided a stall after the first
frame; GRAFF_WS_PREWARM=1 and GRAFF_XAI_WS_CHAIN=1 opt back in. Loading a
saved ACP session keeps the model it was launched with, and ACP and --json
input accept records larger than 64 KiB instead of ending the session.

Workspaces over ACP

session/new and session/load use the folder the client asks for. The
worktree a session runs in is reported as _meta["graff/worktree"] (name,
path, branch, base, owning checkout, and whether graff generated it), or
null in a main checkout, and a mid-session switch sends
session_info_update. A relaunched graff acp -w <name> reopens its session
from the repository root. graff worktree now exits 1 when it refuses or
fails and 2 when it does nothing. ACP clients can also pass MCP servers when
they create or load a session.

Image input

Every OpenAI gpt-* model, and every model on the openai and codex
providers, accepts images. ACP advertises promptCapabilities.image and
passes standard image prompt blocks to the model; text-only models skip
them.

Local learning evidence

Prompt evolution and local learning can require pinned formal-check evidence
before scoring, checkpoint restore, or promotion. Ordinary learning keeps its
prior defaults.

Browser and web fetching

The CLI installer no longer installs Kuri, and the skill registry and
webfetch no longer invoke it. webfetch uses Codegraff's built-in HTTP
client and returns bounded HTML or text. If a workflow expected
companion-generated Markdown, it should now parse or summarize the returned
page content explicitly. Existing Kuri files installed by users are left
alone; this release stops using them rather than deleting user-managed data.

The packaged macOS desktop continues to use its embedded browser. For the
web-only Browser pane, pair the Chrome extension before opening or controlling
a tab. The previous browser sidecar endpoint now returns HTTP 410, so stale
clients receive a clear retired-endpoint response instead of silently
starting the companion.

Route checks

When a route is explicitly qualified, the dry-run check retains that
selection while testing availability. Its displayed result now matches the
route a subsequent request would use, including the selected credential path.

Distribution

graff update --beta opts into verified beta builds from the newest release
branch; graff update stays on the stable channel.

The release includes versioned CLI archives and checksums. The macOS desktop
download is attached only after Developer ID signing, Apple notarization,
stapling, Gatekeeper assessment, and update-archive verification. The stable
desktop update manifest points to those verified release bytes.

The separately maintained Harness desktop
is available as a preview of the replacement GUI. It has its own app identity
and update feed, so moving from Codegraff.app requires a one-time install.

See the changelog
for the full release history.