mirror of
https://github.com/Hmbown/DeepSeek-TUI.git
synced 2026-09-03 06:50:13 +08:00
docs: make the tool-surface, subagent, and config references match the code
docs/TOOL_SURFACE.md carried four claims the runtime's own tests contradict:
1. "The default-active policy contains exactly these ten names" listing
`update_plan`. `DEFAULT_ACTIVE_NATIVE_TOOLS`
(crates/tui/src/core/engine/tool_catalog.rs:44-58) has eight entries and
`update_plan` is not among them — it appears nowhere in tool_catalog.rs. The
policy is nine (those eight plus synthetic `tool_search`), eight with memory
disabled. `update_plan` is registered (crates/tui/src/tools/plan.rs:401) but
reachable only through `tool_search`; the tool table now says so.
2. "A memory-disabled or Moraine-fallback runtime". There is no Moraine
fallback — docs/MEMORY.md:11-13 records the removal, and
crates/tui/src/prompts.rs:2445-2449 is a test asserting MEMORY_GUIDANCE must
not contain the word.
3. A "Replay-only aliases" table promising "saved transcripts, sessions, and
recorded automation replay without migration" for 23 names, 16 of which are
asserted REMOVED at crates/tui/src/tools/registry.rs:2066-2088 ("{retired}
must stay removed") and 6 more at :2290-2304 ("{alias} must be removed").
Split into a "Removed spellings" section (with the registry.rs:313-316 note
that resolve has no fuzzy step, so those calls fail rather than dispatch) and
a "Replay-only aliases" section holding only what is still registered:
apply_patch, task_*, github_*, automation_*, rlm_*, checklist_*/todo_*.
4. A "Release verification" block whose three cargo filters name tests that do
not exist (`rg` finds those three strings only in that doc). `cargo test`
exits 0 with "0 passed; N filtered out" on a filter that matches nothing, so
a release engineer following it got three green checkmarks having verified
nothing. Replaced with the real names —
`shell_surface_contains_only_the_canonical_bash_tool` (registry.rs:2290) and
`runtime_task_families_expose_only_canonical_tools` (registry.rs:2333) — plus
the receipt test, and a warning about the silent-pass failure mode.
docs/RUNTIME_SIMPLIFICATION_DESIGN.md repeats errors 1 and 3 and is designated
authoritative by docs/TOOL_LIFECYCLE.md:3-7, but carries no status marker. Given
a status banner naming both divergences and pointing at TOOL_SURFACE.md; the
"Rejected alternatives" provenance is worth keeping, so not deleted.
docs/SUBAGENTS.md:
- "a bounded queue of up to 200 running plus queued sub-agents by default" —
`MAX_SUBAGENT_ADMISSION` is 1024 (crates/tui/src/config/subagent_limits.rs:21),
which is what docs/TOOL_SURFACE.md:182 already said. The 64/128 concurrency
figures on the same page were correct and are untouched.
- The memory section described a `memory.md` that does not exist and omitted the
`scope` parameter. crates/tui/src/tools/remember.rs:165 states the legacy
single-file path was removed in v0.9.4; writes go through
`NativeMemoryStore::remember(scope, workspace_id, note)` (remember.rs:77-108).
config.example.toml documented two key sets that do not exist. Neither struct has
`deny_unknown_fields`, so both were silently discarded rather than rejected:
- `[advisor] max_tool_pairs` / `system_prompt`. `AdvisorConfigToml`
(crates/config/src/lib.rs:2369-2394) has enabled, max_tool_calls (default 10,
clamped 1-50 — the doc said 8, max 32), rate_limit_secs, dedup_window_secs,
and model. `model` was undocumented; now it is.
- `[fleet.profiles.*.permissions] allow_tools` / `deny_tools`.
`FleetProfilePermissions` (lib.rs:1966-1977) has allow_shell, trust,
approval_required. `rg 'allow_tools|deny_tools' crates/` finds nothing. The
example value was `"exec_shell"`, itself a removed tool name.
docs/CONFIGURATION.md: deleted the "Parsed but currently unused" section. Its one
entry, `tools_file`, is not parsed by anything — the field was removed in
346bfe3b6 and the doc bullet was orphaned. Repo-wide `rg` finds the string only
in that section, and nothing links a #parsed-but-currently-unused anchor.
docs/TTC_DESIGN.md said implementation "is deferred beyond v0.9.0". The `verify`
tool shipped and is default-on (crates/tui/src/tools/verify.rs,
features.rs:262, registry.rs:1040-1041 with verify_tool_enabled defaulted true).
Retitled as landed-in-part; capability (B) is still genuinely deferred, so the
doc stays. Its interface line said `with_verify(critic)`; the real signature is
`with_verify_tool(client, model)` (registry.rs:886).
docs/skills/README.md advertised `gh-plan-issues`, deleted in 18de2ebc0, and
credited these skills to "the v0.8.61 release" at a 0.9.4 release.
docs/architecture/provider-model-settings-v091.md pinned
`provider_is_configured` to config.rs:8625-8669; it is at :10160 and that region
is now unrelated code. Replaced with the symbol name, since config.rs is under
active edit.
docs/architecture/command-dispatch.md:133 claimed EPIC-002 was "ready for PR".
The PR (#3706) merged and #2870 closed 2026-08-01. Line 145 was an empty
"Current Evidence (Draft)" heading with no content; removed.
.gitignore: `git check-ignore -v` attributes .claude/settings.json,
scheduled_tasks.lock, worktrees/, and *.local.* to the blanket `.claude/` at
line 126, not to the specific rules above them. Dropped the redundant ones and
annotated why the HANDOFF_/CODEMAP_ patterns are deliberately kept.
This commit is contained in:
@@ -892,21 +892,26 @@ max_subagents = 10 # optional (1-20)
|
||||
# Off by default. Enable with `[advisor] enabled = true` or toggle per-session
|
||||
# with `/advisor on` / `/advisor off`.
|
||||
#
|
||||
# Options:
|
||||
# Options (the full set — `AdvisorConfigToml` in crates/config/src/lib.rs):
|
||||
# enabled — master switch (default: false)
|
||||
# max_tool_pairs — number of recent tool call/result pairs to read
|
||||
# (default: 8, max: 32)
|
||||
# max_tool_calls — number of recent tool call/result pairs to read
|
||||
# (default: 10, clamped to 1–50)
|
||||
# rate_limit_secs — minimum seconds between successive advisor notes
|
||||
# (default: 60)
|
||||
# dedup_window_secs — notes with identical text within this window are
|
||||
# suppressed (default: 300)
|
||||
# system_prompt — override the default advisor system prompt
|
||||
# (default: 60, clamped to 5–3600)
|
||||
# dedup_window_secs — notes whose content hash matches the previous note
|
||||
# within this window are dropped (default: 300)
|
||||
# model — model override for the advisory call; when absent the
|
||||
# advisor reuses the session's current model
|
||||
#
|
||||
# Unknown keys under [advisor] are silently ignored, not rejected — a typo
|
||||
# leaves the default in place with no error.
|
||||
#
|
||||
# [advisor]
|
||||
# enabled = false
|
||||
# max_tool_pairs = 8
|
||||
# max_tool_calls = 10
|
||||
# rate_limit_secs = 60
|
||||
# dedup_window_secs = 300
|
||||
# model = "deepseek-v4-flash"
|
||||
|
||||
# ─────────────────────────────────────────────────────────────────────────────────
|
||||
# Skills (#140)
|
||||
@@ -1430,8 +1435,9 @@ default_text_model = "deepseek-ai/deepseek-v4-pro"
|
||||
# instructions = "Run cargo fmt --check and cargo clippy; never apply fixes."
|
||||
#
|
||||
# [fleet.profiles.ci-linter.permissions]
|
||||
# allow_tools = ["exec_shell"]
|
||||
# deny_tools = []
|
||||
# allow_shell = true # the only three keys are allow_shell, trust,
|
||||
# trust = false # and approval_required (FleetProfilePermissions
|
||||
# approval_required = true # in crates/config/src/lib.rs)
|
||||
#
|
||||
# [fleet.profiles.pr-reviewer]
|
||||
# slot = "reviewer"
|
||||
|
||||
Reference in New Issue
Block a user