Add an explicit /context report|json|summary source-map surface while preserving plain /context as the existing inspector.
Expose the same diagnostic map through doctor --context-json for headless checks. The report uses the existing compaction token heuristic and labels counts as conservative estimates rather than exact provider billing.
Modified harvest from PR #3150 by @idling11.
Co-authored-by: idling11 <8055620+idling11@users.noreply.github.com>
Introduce a small SearchContext for workspace completion walks so the related search state moves together and the helper signatures no longer need too-many-arguments allowances.
Also keeps the nearby hotbar test clippy-clean under the all-targets TUI gate.
Modified harvest from PR #3128 by @Hmbown.
Co-authored-by: Hmbown <101357273+Hmbown@users.noreply.github.com>
Updates the lockfile-only Dependabot PRs for reqwest 0.13.4, rustls 0.23.40, and clap_complete 4.6.5 while keeping unrelated resolver drift out of the release branch.
Refs #3001.
Refs #3002.
Refs #3003.
Harvests the release URL coverage from #3137 without adding a serial-test dependency.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Hmbown <101357273+Hmbown@users.noreply.github.com>
Use bounded ordered concurrency for /skills sync so registry downloads no longer serialize one skill at a time while preserving deterministic outcome order.
Harvested from PR #3139.
Co-authored-by: Hmbown <101357273+Hmbown@users.noreply.github.com>
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Avoid an N+1 item-directory scan when loading runtime thread details by grouping persisted items for all turns in one pass.
Harvested from PR #3141.
Co-authored-by: Hmbown <101357273+Hmbown@users.noreply.github.com>
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Accept SSE data frames with either `data: {...}` or `data:{...}` in Chat Completions, Responses, and Anthropic stream readers.
Harvested from PR #3152.
Co-authored-by: wgeeker <169752135+wgeeker@users.noreply.github.com>
Codex Responses requests now clamp legacy minimal effort to low and carry a regression test that the request body uses reasoning.effort without DeepSeek thinking or chat-completions reasoning_effort fields.
Harvests PR #3013 by @cyq1017 and PR #3053 by @angus-guo. Legacy deepseek/deepseek-tui binaries now return migration steps instead of trying to self-update through a missing codewhale binary, and the README/rebrand docs carry the same upgrade path.
Co-authored-by: cyq1017 <61975706+cyq1017@users.noreply.github.com>
Co-authored-by: gus <217034332+angus-guo@users.noreply.github.com>
Harvests PR #3056 by @reidliu41, keeping overlays in control of number keys, reclaiming Alt+1 through Alt+8 for hotbar dispatch, and updating the help/footer shortcut copy.
Co-authored-by: reidliu41 <61492567+reidliu41@users.noreply.github.com>
Adds the release-note credit for PR #2901 and extends the no-English-leak test to delegate, think, and generic tool labels.
Co-authored-by: gordonlu <3125629+gordonlu@users.noreply.github.com>
Harvests the explainability slice from PR #2971 without changing the public HookEvent constructor shape. Runtime API approval.required frames now carry matched_rule metadata when an execpolicy rule caused the prompt.
Co-authored-by: greyfreedom <11493871+greyfreedom@users.noreply.github.com>
Harvests the macOS shortcut fix from PR #2943 for the #2938 release lane, but scopes the SUPER-as-control mapping to the affected task/background and sidebar-focus shortcuts so Cmd+C/Cmd+V keep their existing platform behavior.
Co-authored-by: idling11 <8055620+idling11@users.noreply.github.com>
Harvests the narrow CLI/TUI exec model propagation fix from PR #3148 while honoring the CodeWhale model env alias before the legacy DeepSeek model handoff.
Co-authored-by: hongchen1993 <269377208+hongchen1993@users.noreply.github.com>
Keep the #3061 runtime-policy wording covered so lone <runtime_prompt> turns remain explicitly barred from starting edits, shell commands, git commits, or sub-agent launches without user input.
Report-by: yekern <13691766+yekern@users.noreply.github.com>
Adapt PR #3011 so unsupported interactive providers report their actual source and config-sourced unsupported providers fall back to DeepSeek without forwarding a stale keyring secret.
Co-authored-by: cyq1017 <61975706+cyq1017@users.noreply.github.com>
Harvest #3008 for the v0.8.59 release lane. The base prompt now clarifies that beginning with an A means baseline trust, not a literal response-format instruction.
Fixes#2950.
Harvest #3006 for the v0.8.59 release lane. The self-update HTTP client now uses a five-minute timeout so blocked or very slow GitHub release downloads fail instead of hanging indefinitely.
Harvest #2895 for the v0.8.59 release lane. SiliconFlow CN now reads its own providers.siliconflow_cn / providers.siliconflow-CN table and falls back to providers.siliconflow only when api_key, base_url, or model are unset.
Maintainer amendments wire the TUI fallback paths, provider config get/set/unset/redaction surfaces, env override routing, model normalization, tests, and changelog credit.
Fixes#2893.
Reported-by: Artenx <18120598+Artenx@users.noreply.github.com>
Harvest #3009 for the v0.8.59 release lane. Adds a paired Terminal-Bench harness for CodeWhale and Codex, a Codex Harbor adapter, generated-result ignore protection, and benchmark docs.
Maintainer amendments keep explicit zero-valued metrics, regenerate parent task names, write refreshed summaries in regenerate mode, and allow transcript paths outside the repo.
Fixes#2952.
Clarify in the frozen runtime policy reference that a lone <runtime_prompt>
tag must not trigger new tool/git/sub-agent work without user input or a
pending handoff.
Log and degrade gracefully when the interactive fanout semaphore is closed
instead of silently dropping backpressure.
Document v0.8.59 release spine in CHANGELOG [Unreleased].
Co-authored-by: Cursor <cursoragent@cursor.com>
Strip SGR mouse coordinate tails even when mouse capture is disabled, covering
orphaned terminal reporting state after crashes or focus races (#3063/#3067).
Move provider-wait incident logging from footer render to the main tick loop
so stall diagnostics do not fire on every redraw (#3095 harvest note).
Co-authored-by: Hunter Bown <101357273+Hmbown@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
The >30s stall reason now reports provider/model and idle-vs-budget
seconds instead of a bare 'waiting for model', explicitly marks a
planned-but-unlaunched fanout as 0 running, and logs a once-per-turn
structured provider-wait incident when a fanout plan is pending.
Part of #3095
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
API-timeout interruptions now publish MailboxMessage::Interrupted so
delegate/fanout cards leave the running state, and AgentList snapshot
reconciliation syncs any card slot that missed its terminal envelope.
Fixes#3080
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
When targeting x86_64-unknown-linux-musl, the keyring crate's
linux-native-sync-persistent feature pulls in libdbus-sys which
cannot link against musl. Gate the OS keyring dependency behind
not(target_env = "musl") so musl builds fall back to the
file-backed secret store instead.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Build codewhale-cli and codewhale-tui with x86_64-unknown-linux-musl
target in the CNB tag_push workflow to produce fully static Linux x64
binaries. Install musl-tools instead of libdbus-1-dev; keep toolchain
install and build in a single stage since CNB stages run in isolated
containers without persistent state.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>