Skip to content

feat(tui): overview folding widget; agents.memory_effort sidecar config; runtime model rows - #1709

Open
alecuba16 wants to merge 1 commit into
1jehuang:masterfrom
alecuba16:fix/info_fields
Open

alecuba16 wants to merge 1 commit into
1jehuang:masterfrom
alecuba16:fix/info_fields

Conversation

@alecuba16

Copy link
Copy Markdown
Contributor

Closes #1639. Closes #1634.

Three related info-panel changes in one commit:

agents.memory_effort (env JCODE_MEMORY_EFFORT) pins the reasoning effort of the memory extraction sidecar on every backend: OpenAI reasoning pin, Claude thinking budget or output_config effort derived from provider-core caps, or set_reasoning_effort on the sidecar's independent provider fork. Empty strings trim to unset; runtime panel shows it next to the memory model row (#1639).

The runtime panel gains rows for the selected model and agents.* model overrides (#1634).

The separate Swarm, Commits and Compaction margin widgets fold into one always-visible Overview (order: Runtime, Todos, Memory, Background, Usage, KV, Compaction, Changes, Commits, Swarm). Includes a placement fix: mergeable widgets could anchor into the only margin pocket before the Overview had data and squat it indefinitely; placement now retries once without mergeable anchors when the Overview is available but unplaced. MemoryActivity stays a dedicated widget since the Overview strips memory_info.

Tests: 245 new/expanded info-widget tests cover folding order, runtime rows, memory_effort plumbing and placement retry, plus placement-state isolation locks (the widget placement state is process-global). Full-suite failures observed locally are the known upstream flakes (restore_session, ambient refresh, model picker copilot, cost_based_usage, state_persists_show_count), all reproducible on current master. Single commit rebased onto current master.

@greptile-apps

greptile-apps Bot commented Oct 4, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

[Medium impact] No outstanding findings block merging. The current code addresses both numbered findings from the previous review.

Summary

This PR adds memory-sidecar effort settings and model rows, then folds commits, swarm, and compaction details into Overview.

  • The memory sidecar follows its own configured reasoning effort.
  • Runtime shows the selected model and configured agent model settings.
  • One always-visible Overview brings margin details together.
  • Overview can reclaim a margin slot when it gains data.

Reviews (7) · Last reviewed commit: "feat(tui): overview folding widget, agen..." · Reviewed by Greptile

Comment thread crates/jcode-base/src/sidecar.rs
Comment thread crates/jcode-base/src/sidecar.rs
Comment thread crates/jcode-tui/src/tui/app/tui_state.rs Outdated
Comment thread crates/jcode-base/src/sidecar.rs
Comment thread crates/jcode-tui/src/tui/info_widget_model.rs
Comment thread crates/jcode-tui/src/tui/info_widget.rs
Comment thread crates/jcode-base/src/sidecar.rs Outdated
Comment thread crates/jcode-tui/src/tui/info_widget_tests.rs
Comment thread crates/jcode-base/src/sidecar.rs
Comment thread crates/jcode-base/src/sidecar.rs
Comment thread crates/jcode-tui/src/tui/info_widget_model.rs
…time model rows

The separate Swarm, Commits and Compaction margin widgets fold into one always-visible Overview with sections ordered Runtime, Todos, Memory, Background, Usage, KV, Compaction, Changes, Commits, Swarm. The runtime panel gains rows for the selected model and agents.* model overrides, and the new agents.memory_effort key (env JCODE_MEMORY_EFFORT) pins the reasoning effort of the memory extraction sidecar on every backend: OpenAI reasoning pin, Claude thinking budget or output_config effort derived from provider-core caps, or set_reasoning_effort on the sidecar's independent provider fork.

Placement: mergeable widgets could anchor into the only margin pocket before the Overview had data and squat it indefinitely, so placement retries once without mergeable anchors when the Overview is available but unplaced, and an anchored Overview rechecks whether its content still fits the kept slot before suppressing the standalone docks. The sidecar fork copies its reasoning effort into a fresh lock instead of sharing the Arc so pinning it never moves the live provider's effort, maps memory_effort none to low on always-thinking models, keeps the configured effort when the Claude thinking budget clamps below the 1,024 minimum, and sidecar thinking requests keep answer room. Memory stays in its dedicated MemoryActivity widget, which is deliberately not mergeable since the Overview strips memory_info.

Closes 1jehuang#1634. Closes 1jehuang#1639.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant