The snapshot replay config duplicated most of base.yml + the acp tail just to swap llm-deepseek → llm-replay. Factor the shared pieces: - examples/base-core.yml: the providerless provider/tool core (llm, sessions, system-prompt, tools, agents, invariants, bash-local, tool-bash). base.yml is now base-core + the llm-deepseek adapter; the snapshot replay config is base-core + llm-replay. The replay config no longer hand-copies the core. - examples/acp-agent/acp-tail.yml: agent-loop (no pre-created agents) + persistence + the ACP bridge/system-prompt, shared by cordis.yml and the replay config so the three acp-agent configs can't drift. Its persistence root is `$DSH_SNAPSHOT_SESSIONS_ROOT ?? ./.sessions`. - Deleted cordis.snapshot-record.yml: recording now reuses the normal cordis.yml (real adapter), with the harness redirecting the persistence root via env. start.ts maps DSH_SNAPSHOT=record → cordis.yml. Verified: snapshot replay 8/8 keyless; record path works through cordis.yml; ACP e2e no-key boot green through the doubly-nested include (cordis.yml → base.yml → base-core.yml); coding-agent boots clean; all gates pass.
31 lines
1.3 KiB
YAML
31 lines
1.3 KiB
YAML
# The acp-agent plugin tree, loaded via @cordisjs/plugin-include. Also the
|
|
# snapshot RECORD config (start.ts selects it for DSH_SNAPSHOT=record): a real
|
|
# llm-deepseek run whose persisted log the snapshot harness harvests.
|
|
#
|
|
# CRITICAL: this example loads NO stdout logger (no @cordisjs/plugin-logger-
|
|
# console, no stdio-chat). stdout is reserved for the ACP JSON-RPC protocol —
|
|
# anything else written there corrupts the frames (see packages/acp, RFC 010 §
|
|
# Risks). Use a stderr exporter if you need logging. The timer plugin is loaded
|
|
# (no stdout writes); hmr is omitted (an editor manages the subprocess).
|
|
#
|
|
# Requires DEEPSEEK_API_KEY (and optionally DEEPSEEK_BASE_URL) in the
|
|
# environment — start.ts loads the gitignored repo-root .env first.
|
|
|
|
- id: timer
|
|
name: '@cordisjs/plugin-timer'
|
|
|
|
# Shared provider/tool core, INCLUDING the real llm-deepseek adapter. Nested
|
|
# include resolved relative to THIS file's directory.
|
|
- id: base
|
|
name: '@cordisjs/plugin-include'
|
|
config:
|
|
path: '../base.yml'
|
|
|
|
# agent-loop (no pre-created agents) + JSONL persistence + the ACP bridge.
|
|
# Shared with the snapshot REPLAY config (cordis.snapshot.yml) so the three
|
|
# acp-agent configs don't drift.
|
|
- id: acp-tail
|
|
name: '@cordisjs/plugin-include'
|
|
config:
|
|
path: './acp-tail.yml'
|