Swap --text-strong for --text-base so the Auto-Approve tool headers
use the same CSS variable pattern as other settings pages (Providers,
Agent Behaviour, etc.).
Replace undefined --text-strong-base CSS variable (which fell back to
literal white) with the actual --text-strong token and a theme-aware
VS Code foreground fallback, so tool headers on the Auto-Approve
settings page stay readable under light themes.
Fixes#8879
Add an explicit initialDiffStyle field to the openDiffVirtual message flow so each caller declares the desired diff style up front while having `unified` diff as default to prevent regressions.
Route the autocomplete model setting through getAutocompleteModel() in
settings.ts, AutocompleteServiceManager, and ChatTextAreaAutocomplete so
that missing, empty, or removed model IDs all resolve to codestral
instead of being passed through to the FIM call.
Remove the hardcoded default value for `kilo-code.new.autocomplete.model` in package.json to prevent VS Code from stripping user overrides that match the schema default. Update corresponding unit tests to verify that no default is declared.
The training grep only matched uppercase 'Resolve merge conflict', missing the
lowercase convention used by most historical upstream merges. This dropped ~70
past merges from the rerere training set on kilocode, leaving the cache mostly
empty and causing rerere to miss resolutions that involve the opencode -> kilo
rename.
Include `variant: undefined` in metadata objects to match the expected
shape returned by the provider, ensuring the assertion compares all
fields accurately.
Verify that when a subtask completes, the child session's assistant
cost is correctly propagated to the parent wrapper message. This
covers the cost aggregation path in handleSubtask for subagent
interactions.
The task tool propagates each child session's total cost into the parent's tool-wrapper assistant message. Counting both root and child sessions in `kilo stats` would double-count that contribution. Filter `getAllSessions()` to root sessions (parent_id IS NULL), matching how the TUI session list and web sidebar already treat child sessions.
finish-step and cleanup previously re-wrote the parent assistant message with a stale in-memory cost, clobbering the subagent cost written by task.ts during tool execution. Refresh from DB before each write so the propagated cost is preserved across steps. Verified live via side-by-side `kilo serve` vs dev `bun serve` with 2 parallel subagents; parent now shows own LLM + children, matching real spend.
When a session spawned subagents via the task tool, the displayed cost reflected only the parent's own LLM steps. Propagate each subagent's total up to the invoking assistant message so every UI sums the full tree.
Add missing 'variant' property to task tool metadata in prompt-effect test, required after upstream added model variant support to the task tool's ExecuteResult type.