Files
deepseek-harness/examples/plan-acp-agent/cordis.snapshot.yml
kingwl 1f38b211be Merge origin/master (generic task runtime #219, single-exe closure, package renames)
Semantic resolutions beyond line merges:
- The bash seam keeps resolveMode + the bash/resolve-mode waterfall on
  master's task-free BashExecutor (run/start/resolve only; BashProcess
  handles); tool-bash consults it at its stamping site and escalation
  baseline on master's render/background split, with a waterfall test on
  the recording executor.
- dsh-mode's BASH_FAMILY narrows to ['bash']: bash_output/bash_kill are
  replaced by the kind-generic task_output/task_kill, which span every
  task kind and only observe or stop work, so the access cap withholds
  only the starter it can reason about.
- The plan-mode snapshot suite adopts master's pin grammar (tool-schema
  sidecars; the expectedHeaderSnapshots extension is gone — the exit
  transition deltas, and entering-before-turn-1 needs no second
  snapshot); modes-advertise joins the plan header class (no-model, so
  membership is vacuous). Fixtures re-recorded on the acp-demo bin;
  the replay overlay gains the passthrough sandbox runner.
- examples/plan-acp-agent rewires to @deepseek-ai/dsh-acp-demo and drops
  its tool-bash entry (the spine bundle now composes it); dsh-stdio (the
  renamed stdio-chat home) keeps its /mode command and gains the dsh-mode
  peer edge; the acp bridge keeps the modes surface beside master's
  permission presets.
- mode README gains the Model Experience / Known Limitations sections the
  new README gates require; AGENTS.md ceiling 1370 → 1440 for the kept
  mode/ layout line and Agent efficiency section.
2026-07-15 23:17:18 +08:00

41 lines
1.8 KiB
YAML

# Snapshot-test REPLAY overlay for the plan-mode composition: the SAME app
# tree as cordis.yml, derived from it by an include — the one difference is
# the model backend. A keyless replay run cannot boot the real adapter
# (llm-deepseek's apply() throws without DEEPSEEK_API_KEY), so the include
# patches the live tree at load time: the llm-deepseek entry is disabled by
# id, and the llm-replay entry (which serves a recorded session JSONL — no
# API key, no network) is inserted. Every other entry — the mode plugin, the
# filesystem stack, the app — IS the live tree.
#
# The dsh-acp-demo bin selects this file for DSH_SNAPSHOT=replay (the
# sibling-swap of whatever config path it was handed). The replay fixture
# path comes from $DSH_SNAPSHOT_FILE, set by the snapshot harness. stdout
# stays reserved for the ACP JSON-RPC protocol.
- id: base
name: '@cordisjs/plugin-include'
config:
path: ./cordis.yml
patches:
# The name is an assertion, not an override: the include skips the patch
# (warning) when the id points at a different plugin, so this can never
# disable the wrong entry.
- id: llm-deepseek
name: '@deepseek-ai/dsh-llm-deepseek'
disabled: true
# Replay swaps the sandbox runner for the pure-config passthrough (same
# knob as examples/acp-agent): deterministic on hosts without bwrap; the
# read-only clamp still stamps every call and is pinned at the unit tier.
- id: sandbox
name: '@deepseek-ai/dsh-sandbox-local'
config:
runnerCommand:
- bash
- -c
- while [ "$1" != "--" ]; do shift; done; shift; exec "$@"
- passthrough-runner
runnerFailureSignatures:
- 'passthrough-runner: profile rejected'
- insert:
- id: llm-replay
name: '@deepseek-ai/dsh-llm-replay'