feat(tui2): separate task pane, move provider info to InfoPane - #160
Conversation
- Remove provider component from header; banner now full-width - Move provider/model/version to InfoPane Session section with live data - Split CtrlTodos → renderTodoPane, CtrlContextInfo → renderInfoPane - HandleContextInfo now updates context window and status bar - Delete provider component (replaced by InfoPane session section) - InfoPane background: inherit terminal default
| t := &TUI2{ | ||
| App: tview.NewApplication(), | ||
| thinkingInd: thinking.New("Reasoning..."), | ||
| version: "yaah", |
There was a problem hiding this comment.
SUGGESTION: Version is hardcoded as "yaah" instead of using the build-time version from cmd/yaah.
The PR plan mentions "Agent version: from build-time version constant", but the implementation hardcodes version: "yaah" in New(). There is no SetVersion method or other mechanism to inject the actual build-time version, so the InfoPane will always display a stale version string.
Consider either exporting a setter or accepting the version as a parameter to New().
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
| } | ||
|
|
||
| func (t *TUI2) HandleContextInfo(tokens, _ int) { | ||
| func (t *TUI2) HandleContextInfo(tokens, window int) { |
There was a problem hiding this comment.
SUGGESTION: HandleContextInfo is dead code — defined but never called from anywhere in the codebase.
The method was already uncalled before this PR, but it was expanded during the refactor without being connected to any caller. Either remove it or wire it up if it is intended to be used.
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
Code Review SummaryStatus: 2 Issues Found | Recommendation: Address in follow-up Overview
Issue Details (click to expand)SUGGESTION
Files Reviewed (4 files)
Fix these issues in Kilo Cloud Reviewed by step-3.7-flash · Input: 189.9K · Output: 38.9K · Cached: 5.7M |
- Deleted 4 implemented ADRs (0001-0004: engine-view separation, middleware pipeline, functional options, event-driven architecture) — all Accepted and fully implemented; content covered by architecture.md - Deleted 5 implemented plan docs from .agents/plans/ (tui-mcp-bridge #159, tui-quiet-mode #159, tui2-task-pane-separation #160, max-iterations-dialog, web-ui-commands #162) — all features shipped - Updated docs/adr/README.md and CONTRIBUTING.md to remove dead ADR links - Fixed stale references to cmd/yaah/subagent_runner.go in architecture.md, PROMPT-INJECTION.md, and code-organization.md (now internal/agent/runner)
#174) * Split wiring.go builders and eliminate ContextManager state sync dance Task #11: Split newAgentSessionWithOptions into focused builders - wiring_otel.go: initOtel + wrapProviderWithOtel (extracted inline provider wrapping) - wiring_mcp.go: initMCP (moved to its own file) - wiring_prompt.go: buildSystemPrompt + buildMainPrompt (extracted inline prompt layers, memory enrichment, guidelines, directive injection, and quick-ref assembly) - wiring.go slimmed from 396 to ~210 lines; removed dead layers.Skills assignment (was set after prompts.Build, never read) Task #12: Complete ContextManager extraction — eliminate state sync dance - Added State *LoopState pointer to ContextManager; compaction methods now read/write mutable state (Messages, PreviousSummary, token counts, compaction tracking) directly through the pointer instead of copy-in/copy-out - Removed 9 duplicate state fields from ContextManager (Messages, PreviousSummary, LastPromptTokens, LastCachedPromptTokens, IneffectiveCompactions, LastCompactionTokens, CompactionBudgetMultiplier, CompactionSavingsHistory, CompactionForcedByOverflow) - Eliminated 19-line sync dance in Loop.compactContext and 3-line dance in Loop.trimContext - Removed redundant CtxMgr.Messages assignments in loop.go, tools.go, turn.go (now no-ops since CtxMgr.State points to Loop.State) - ctxMgr() lazily sets State = &l.State when nil (backward compatible with tests) * Address PR #174 review: OTel env flag, memoryGuidelines scope, budget multiplier init - wiring_otel.go: evaluate YAAH_OTEL_ENABLED before the early return so the env flag can enable OTel when config disables it (pre-existing bug) - wiring_prompt.go: move memoryGuidelines from package-level const into buildSystemPrompt function scope (no globals per AGENTS.md) - lifecycle_init.go: initialize CompactionBudgetMultiplier=1.0 in ctxMgr() lazy path so Loop.Compact has a nonzero preservation budget before applyDefaults() runs * docs: remove completed plans and implemented ADRs Delete plan files for fully-implemented features (max iterations dialog, TUI-MCP bridge, quiet mode, task pane separation) and the four ADRs (engine-view separation, middleware pipeline, functional options, event-driven architecture) whose content is now covered by docs/architecture.md. Update doc references across CONTRIBUTING.md, architecture.md, and code-organization.md to point at architecture.md in place of the retired ADRs, and fix stale file paths to reflect the recent runner refactor (cmd/yaah/subagent_runner.go -> internal/agent/runner/). * Delete implemented ADRs and plan docs, fix stale references - Deleted 4 implemented ADRs (0001-0004: engine-view separation, middleware pipeline, functional options, event-driven architecture) — all Accepted and fully implemented; content covered by architecture.md - Deleted 5 implemented plan docs from .agents/plans/ (tui-mcp-bridge #159, tui-quiet-mode #159, tui2-task-pane-separation #160, max-iterations-dialog, web-ui-commands #162) — all features shipped - Updated docs/adr/README.md and CONTRIBUTING.md to remove dead ADR links - Fixed stale references to cmd/yaah/subagent_runner.go in architecture.md, PROMPT-INJECTION.md, and code-organization.md (now internal/agent/runner)
Summary
Implements the tui2-task-pane-separation plan:
Changed Files