# Retry-scenario overlay: pin the bounded transient retry policy to a
# deterministic 1 ms zero-jitter delay so the durable `llm/retry` event
# (`delayMs`) and replay wall time stay reproducible. The overlay changes no
# tool or prompt composition, so its scenarios share the default header class.
# Config patches replace whole plugin configs: the provider patch restates its
# adapter fields around `retryPolicy`, while the app patch re-pins the recorded
# flash model and restates its base fields.
- id: base
  name: '@cordisjs/plugin-include'
  config:
    path: ./cordis.yml
    patches:
      - id: llm-deepseek
        name: '@deepseek-ai/dsh-llm-deepseek'
        config:
          apiKey: !!js process.env.DEEPSEEK_API_KEY
          baseURL: !!js process.env.DEEPSEEK_BASE_URL
          thinking: enabled
          reasoningEffort: max
          retryPolicy:
            mode: normal
            maxRetries: 2
            backoff:
              initialDelayMs: 1
              maxDelayMs: 1
              jitterRatio: 0
          models:
            - id: deepseek-v4-flash
            - id: deepseek-v4-pro
      - id: acp-agent
        name: '@deepseek-ai/dsh-acp-demo'
        config:
          provider: deepseek-official
          model: deepseek-v4-flash
          persistenceRoot: !!js process.env.DSH_SNAPSHOT_SESSIONS_ROOT ?? './.sessions'
          persistenceCompression: !!js "process.env.DSH_SNAPSHOT === undefined ? 'zstd' : 'none'"
          workspaceContext:
            maxBytes: 65536
          persona: |
            You are a coding assistant powered by the {{model}} model. Your working directory is {{cwd}}. Your bash tool runs under a file sandbox — a `[sandbox: file access denied …]` result is policy, not a command bug.

            Verify your work by running the code or tests. Keep answers brief and factual.
