Skip to content

Commit c351d20

Browse files
committed
Update documentation and remove obsolete prune-tool-spec
1 parent ef0f25d commit c351d20

File tree

2 files changed

+23
-100
lines changed

2 files changed

+23
-100
lines changed

README.md

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@ DCP uses multiple strategies to reduce context size:
2929

3030
**Supersede Writes** — Prunes write tool inputs for files that have subsequently been read. When a file is written and later read, the original write content becomes redundant since the current file state is captured in the read result. Runs automatically on every request with zero LLM cost.
3131

32-
**Prune Tool** — Exposes a `prune` tool that the AI can call to manually trigger pruning when it determines context cleanup is needed.
32+
**Discard Tool** — Exposes a `discard` tool that the AI can call to remove completed or noisy tool outputs from context. Use this for task completion cleanup and removing irrelevant outputs.
33+
34+
**Extract Tool** — Exposes an `extract` tool that the AI can call to distill valuable context into concise summaries before removing the raw outputs. Use this when you need to preserve key findings while reducing context size.
3335

3436
**On Idle Analysis** — Uses a language model to semantically analyze conversation context during idle periods and identify tool outputs that are no longer relevant.
3537

@@ -72,8 +74,24 @@ DCP uses its own config file:
7274
"supersedeWrites": {
7375
"enabled": true
7476
},
75-
// Exposes a prune tool to your LLM to call when it determines pruning is necessary
76-
"pruneTool": {
77+
// Exposes a discard tool to your LLM for removing unneeded tool outputs
78+
"discardTool": {
79+
"enabled": true,
80+
// Additional tools to protect from pruning
81+
"protectedTools": [],
82+
// Protect from pruning for <turn protection> message turns
83+
"turnProtection": {
84+
"enabled": false,
85+
"turns": 4
86+
},
87+
// Nudge the LLM to use the discard tool (every <frequency> tool results)
88+
"nudge": {
89+
"enabled": true,
90+
"frequency": 10
91+
}
92+
},
93+
// Exposes an extract tool to your LLM for distilling context before removal
94+
"extractTool": {
7795
"enabled": true,
7896
// Additional tools to protect from pruning
7997
"protectedTools": [],
@@ -82,7 +100,7 @@ DCP uses its own config file:
82100
"enabled": false,
83101
"turns": 4
84102
},
85-
// Nudge the LLM to use the prune tool (every <frequency> tool results)
103+
// Nudge the LLM to use the extract tool (every <frequency> tool results)
86104
"nudge": {
87105
"enabled": true,
88106
"frequency": 10
@@ -109,7 +127,7 @@ DCP uses its own config file:
109127
### Protected Tools
110128

111129
By default, these tools are always protected from pruning across all strategies:
112-
`task`, `todowrite`, `todoread`, `prune`, `batch`
130+
`task`, `todowrite`, `todoread`, `discard`, `extract`, `batch`
113131

114132
The `protectedTools` arrays in each strategy add to this default list.
115133

lib/prompts/prune-tool-spec.txt

Lines changed: 0 additions & 95 deletions
This file was deleted.

0 commit comments

Comments
 (0)