Skip to content

chore(goose): bump pinned goose CLI to v1.43.0 - #160

Merged
Yuyz0112 merged 1 commit into
mainfrom
chore/goose-1.43
Jul 21, 2026
Merged

chore(goose): bump pinned goose CLI to v1.43.0#160
Yuyz0112 merged 1 commit into
mainfrom
chore/goose-1.43

Conversation

@Yuyz0112

Copy link
Copy Markdown
Contributor

Bumps the goose CLI pinned in agents/goose/Dockerfile from v1.41.0 to v1.43.0 (latest release, 2026-07-14).

Why

Picks up block/goose#10366 — DeepSeek/Kimi thinking-mode turns lost their reasoning blocks across multi-turn tool calls, so providers rejected the follow-up request with reasoning_content in thinking mode must be passed back 400s. The fix accumulates all prior thinking, keeps RedactedThinking, extracts reasoning from mixed thinking+text messages, and dedupes signed blocks. It landed in v1.43.0 and nothing earlier (git tag --contains 1e03bbb56v1.43.0 only).

Contract check

Everything the ACP bridge in agents/goose/src depends on was diffed across v1.41.0..v1.43.0 and is unchanged:

  • goose acp --with-builtin developer flag
  • GOOSE_PATH_ROOT per-session store
  • session id format YYYYMMDD_<n> (the sessionDirCodec assumption)
  • _goose/unstable/session/updateusage_update with accumulatedInputTokens / accumulatedOutputTokens
  • _meta.goose.toolCall.toolName
  • every GOOSE_* / OPENAI_* env var applyProviderEnv sets

Behaviour changes to know about

  • Usage totals (feat: per-message usage/cost tracking with derived session totals aaif-goose/goose#10172): now derived as max(sessions.accumulated_*, SUM(usage_ledger)) and rolled up recursively from subagent sessions into the parent. Monotonic — existing sessions don't reset — but delegated work that previously went unbilled now shows up in the counters. The new message_usage notification is ignored by the bridge, which only reads usage_update.
  • Shell timeout (apply the default extension timeout to developer shell tool calls also aaif-goose/goose#10348): a shell call that omits timeout_secs now falls back to DEFAULT_EXTENSION_TIMEOUT (300s) instead of running unbounded. Left at the upstream default; override with GOOSE_DEFAULT_EXTENSION_TIMEOUT if it turns out to bite.
  • Session store migration v15 → v16: adds the usage_ledger table and sessions.parent_session_id. Both steps are additive and a rollback to v1.41.0 still reads the schema (queries name columns explicitly).

crates/goose-server (the goosed REST path) was removed upstream — we talk ACP, so no impact.

Verification

In a linux/amd64 container built from the new pin:

  • release asset downloads, goose --version1.43.0
  • goose acp --help still offers --with-builtin
  • a real JSON-RPC initialize (with _meta.goose.customNotifications) + session/new handshake returns agentInfo.version: 1.43.0, session id 20260721_1, loads the developer builtin, creates data/sessions/sessions.db under GOOSE_PATH_ROOT, and emits _goose/unstable/session/update carrying accumulatedInputTokens / accumulatedOutputTokens

Not verified locally: an actual thinking-model turn exercising the #10366 fix — that needs a DeepSeek/Kimi endpoint and will be checked on a canary workspace after rollout.

🤖 Generated with Claude Code

https://claude.ai/code/session_01JNkGCVRVYMSziXZFbCTG68

Picks up the DeepSeek/Kimi thinking-mode fix (aaif-goose/goose#10366): on
multi-turn tool calls the agent now accumulates all prior thinking
blocks, keeps RedactedThinking, and extracts reasoning from mixed
thinking+text messages, so providers stop rejecting turns with
"reasoning_content in thinking mode must be passed back" 400s.

Contract surfaces the ACP bridge depends on were checked against the
v1.41.0..v1.43.0 diff and are unchanged: the `--with-builtin` flag,
GOOSE_PATH_ROOT, the `YYYYMMDD_<n>` session id format, the
`_goose/unstable/session/update` usage_update payload with its
accumulated token counters, `_meta.goose.toolCall.toolName`, and every
GOOSE_*/OPENAI_* env var applyProviderEnv sets.

Two behaviour changes worth knowing about:

- Session usage totals are now derived as
  max(sessions.accumulated_*, SUM(usage_ledger)) and roll subagent
  sessions up into their parent, so accumulated counters grow to include
  delegated work that used to go unbilled. The added `message_usage`
  notification is ignored by the bridge, which only reads usage_update.
- The developer shell tool falls back to DEFAULT_EXTENSION_TIMEOUT
  (300s) when a call omits timeout_secs; it used to run unbounded. Left
  at the upstream default.

The session store migrates v15 -> v16 (adds the usage_ledger table and
sessions.parent_session_id); both steps are additive, so a rollback to
v1.41.0 still reads the schema.

Verified in a linux/amd64 container: the pinned asset downloads and
reports 1.43.0, `goose acp --help` still offers --with-builtin, and a
real initialize + session/new handshake returns session id 20260721_1,
loads the developer builtin, creates the store under GOOSE_PATH_ROOT,
and emits _goose/unstable/session/update with accumulatedInputTokens /
accumulatedOutputTokens.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JNkGCVRVYMSziXZFbCTG68
@Yuyz0112
Yuyz0112 merged commit b2de63b into main Jul 21, 2026
11 checks passed
@Yuyz0112
Yuyz0112 deleted the chore/goose-1.43 branch July 21, 2026 03:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant