mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
The two shipped surfaces offered different tools for no recorded reason: session checkpoints, tool-result pruning, the goal tools, and Ralph were in `tui.cordis.yml`; `tool-todo` and web search were in `web.cordis.yml`. Neither offered session search, a string-replacement editor, or a repeat-tool guard, though none of the three is surface-specific. Move the rows that are not surface-specific into `base.cordis.yml` and add those three. Web search moves there too — the TUI decision the change that made it a Web default deferred. Both surfaces now assemble the same 27 tools. This adds only. No row is removed from either surface and no existing row's configuration is edited: executors, sandbox composition, access defaults, `tools.mode`, and the workflow tool are exactly what they were. Two rows stay surface-specific: `tmux-context` (no terminal multiplexer in a browser) and `session-reference` (its index has one writer owner). Ship `dsh-mcp-client` as a dependency without a row: the plugin mounts one server per instance and `command` is required, so a default would name a third-party server and spawn it outside `ctx.bash` on every launch. The CLI README carries the YAML for mounting one from a personal config.
53 lines
1.7 KiB
YAML
53 lines
1.7 KiB
YAML
# Keyless tail for the shipped-composition smoke, applied as `--config` so the
|
|
# launcher boots `base.cordis.yml` + `tui.cordis.yml` and then this file.
|
|
#
|
|
# Everything below is test isolation, never composition under test: the model is
|
|
# replaced so no request leaves the process, the settle marker gates the smoke's
|
|
# first prompt, and the session artifacts move into the smoke's temporary
|
|
# workspace so the log inspection can read them.
|
|
|
|
# A patch's `name` is an assertion rather than a replacement, so the base
|
|
# adapter row is disabled and the scripted one inserted. Relative specifiers
|
|
# resolve against the INCLUDED file's directory (apps/cli/config), not this
|
|
# file's, because the include moves baseUrl there.
|
|
- id: llm-deepseek
|
|
disabled: true
|
|
|
|
- insert:
|
|
- id: composition-echo-llm
|
|
name: '../tests/fixtures/composition-echo-llm.ts'
|
|
- id: composition-settled
|
|
name: '../tests/fixtures/composition-settled.ts'
|
|
|
|
- id: agent-loop
|
|
config:
|
|
agents:
|
|
- id: main
|
|
provider: composition-keyless
|
|
model: composition-keyless-model
|
|
cwd: !!js process.cwd()
|
|
|
|
- id: session-persistence-jsonl
|
|
config:
|
|
root: './.sessions'
|
|
compression: none
|
|
|
|
- id: session-query-sqlite
|
|
config:
|
|
path: './.sessions/session-query.db'
|
|
|
|
# The title call is a second, tool-less request that would race the log
|
|
# inspection for no coverage: the catalog under test rides the agent turn.
|
|
- id: session-title-llm
|
|
disabled: true
|
|
|
|
- id: tui
|
|
config:
|
|
sessionId: !!js configuredAgentIdentities?.main?.id ?? 'main'
|
|
welcome: 'composition smoke ready.'
|
|
showReasoning: true
|
|
|
|
# HMR watches the repository; a PTY subprocess test must not start a watcher.
|
|
- id: hmr
|
|
disabled: true
|