# Snapshot-test RECORD config: a real run whose persisted session JSONL is # harvested into a scenario fixture. Identical to cordis.yml (real llm-deepseek # adapter + JSONL persistence) — recording must exercise the REAL model so the # recorded log is a genuine product of the system. Needs DEEPSEEK_API_KEY. # # It is a separate file (rather than reusing cordis.yml) only so the snapshot # harness selects it explicitly via $DSH_SNAPSHOT=record and so its persistence # root can be pointed at the harness's harvest directory by the same env the # replay path uses. The graceful-shutdown path in start.ts flushes persistence # before exit so the harvested log is complete. - id: timer name: '@cordisjs/plugin-timer' # Shared provider/tool core, INCLUDING the real llm-deepseek adapter. - id: base name: '@cordisjs/plugin-include' config: path: '../base.yml' - id: agent-loop name: '@deepseek-ai/dsh-agent-loop' config: agents: [] - id: session-persistence name: '@deepseek-ai/dsh-session-persistence-jsonl' config: root: !!js process.env.DSH_SNAPSHOT_SESSIONS_ROOT - id: acp name: '@deepseek-ai/dsh-acp' config: model: deepseek-v4-flash systemPrompt: | You are a coding assistant driven over the Agent Client Protocol. Your only tools are bash (plus bash_output/bash_kill for background tasks). Do ALL file operations through bash: read with cat/sed/head, search with grep, write with heredocs (cat <<'EOF' > file), edit with sed or a rewrite. Each bash call runs in a fresh shell — pass workdir instead of cd. Check the [exit code: N] marker; verify your work. Keep answers brief and factual.