diff --git a/examples/acp-agent/composition.md b/examples/acp-agent/composition.md
index b93b4cb1e2..1dc297a5fc 100644
--- a/examples/acp-agent/composition.md
+++ b/examples/acp-agent/composition.md
@@ -27,6 +27,8 @@ flowchart LR
bundle_agent_core --> spine_sessions["ctx.sessions"]
bundle_agent_core --> spine_tools["ctx.tools + tool-bash"]
bundle_agent_core --> spine_loop["ctx.agents + ctx.agentLoop"]
+ plugin_acp_compact_basic["compact-basic
@deepseek-ai/dsh-compact-basic"]
+ cfg --> plugin_acp_compact_basic
plugin_acp_subagent["subagent
@deepseek-ai/dsh-subagent"]
cfg --> plugin_acp_subagent
plugin_acp_subagent_spawn["subagent-spawn
@deepseek-ai/dsh-subagent-spawn"]
@@ -59,6 +61,7 @@ flowchart LR
| `approval` | `@deepseek-ai/dsh-user-approval` |
| `permission` | `@deepseek-ai/dsh-permission` |
| `acp-agent` | `@deepseek-ai/dsh-acp-agent` |
+| `compact-basic` | `@deepseek-ai/dsh-compact-basic` |
| `subagent` | `@deepseek-ai/dsh-subagent` |
| `subagent-spawn` | `@deepseek-ai/dsh-subagent-spawn` |
| `subagent-fork` | `@deepseek-ai/dsh-subagent-fork` |
diff --git a/examples/acp-agent/cordis.yml b/examples/acp-agent/cordis.yml
index 201feafe41..17ed222660 100644
--- a/examples/acp-agent/cordis.yml
+++ b/examples/acp-agent/cordis.yml
@@ -48,6 +48,18 @@
Verify your work by running the code or tests. Keep answers brief and factual.
+# Summarize an older range when derived history approaches the context window.
+# This leaf consumes `ctx.llm` and the app's `agent/pre-step` seam.
+- id: compact-basic
+ name: '@deepseek-ai/dsh-compact-basic'
+ config:
+ contextWindow: 128000
+ thresholdRatio: 0.8
+ retainTokens: 20480
+ summarizationModel: ''
+ maxTokens: 8192
+ compactionRetries: 1
+
# Expose fresh-child `spawn` and completed-prefix `fork` through separate tool
# names so multi-child scenarios exercise both transports. These leaves follow
# the app because it provides `ctx.agents` and `ctx.tools`.