返回 DeepSeek-TUI-2026
V0_7_5_IMPLEMENTATION_PLAN.md
根目录 / docs / archive / V0_7_5_IMPLEMENTATION_PLAN.md
1 # v0.7.5 Implementation Plan
2
3 Scope: background shell job UX, in-TUI MCP management/discovery, and V4
4 context/cache policy. Do not include provider expansion or Whalescale
5 rename/migration work in this release lane.
6
7 ## Context/cache decision
8
9 Default path:
10
11 - Keep the transcript append-only and preserve the stable prefix for DeepSeek V4 cache reuse.
12 - Disable replacement-style `auto_compact` by default.
13 - Keep replacement compaction manual or late: if a user enables `auto_compact`, V4 compacts only near the 80% model-window guard (`800000` tokens for 1M-context models), not at reasoning-effort soft caps.
14 - Keep the Flash seam manager (`[context].enabled`) opt-in until issue #200 has repeatable cache-hit/miss evidence.
15 - Keep the capacity controller disabled by default. Treat it as telemetry or an experimental guardrail unless `capacity.enabled = true` is set.
16 - Use emergency overflow recovery only when the request would otherwise exceed the model input budget.
17
18 Rationale: V4's 1M-token window and prefix-cache economics make early
19 replacement compaction suspect. The first shippable slice should prevent old
20 128K-era heuristics from rewriting context before there is evidence that the
21 rewrite is cheaper and more reliable than preserving a hot prefix.
22
23 ## Shippable slices
24
25 ### Slice 1: Context policy and docs
26
27 - Change default `auto_compact` to off.
28 - Keep V4 replacement-compaction thresholds late and independent of reasoning effort.
29 - Make `[context].enabled` default to false.
30 - Make `docs/CONFIGURATION.md`, `docs/capacity_controller.md`, and `config.example.toml` match code defaults.
31 - Add focused tests for defaults and V4 threshold behavior.
32
33 ### Slice 2: Background shell job center (#195)
34
35 - Add a job-center view fed by `ShellManager::list()`.
36 - Show command, cwd, linked task id when available, status, elapsed time, exit code, and latest output.
37 - Add controls to inspect full output, poll latest output, send stdin for PTY/stdin-capable jobs, kill a background job, and attach completed output as task evidence.
38 - Mark restart-stale jobs explicitly rather than presenting them as live.
39 - Add lifecycle tests for start, poll, cancel, complete, stale/restart, plus TUI snapshots for running and completed job details.
40
41 ### Slice 3: MCP manager (#196)
42
43 - Add `/mcp` or a command-palette action that opens an MCP manager view.
44 - Show resolved config path, server enabled/disabled state, transport, command/url, timeout settings, startup errors, and discovered tool/resource/prompt counts.
45 - Wire `mcp_config_path` into the interactive config surface.
46 - Support init, add stdio server, add HTTP/SSE server, enable, disable, remove, validate, reconnect, and inspect tools/resources/prompts.
47 - Preserve both `servers` and `mcpServers` config shapes.
48
49 ### Slice 4: MCP discoverability (#197)
50
51 - Add an MCP command-palette section backed by the same discovery state as the manager.
52 - Group tools/resources/prompts by server.
53 - Show disabled/failed servers without blocking palette rendering.
54 - Keep model-visible names consistent with `mcp_<server>_<tool>`.
55
56 ## Stop rules
57
58 - Do not close #159 or #162 unless a verified PR actually resolves them.
59 - Do not add provider expansion.
60 - Do not rename or migrate anything to Whalescale.
61 - Do not broaden the TUI into a large redesign; each slice should remain independently testable and shippable.
62
62 lines MARKDOWN