kdeps-memory-rules
v1.1.0kdeps memory-rules: rules
set memory / shelf memory
PurposeHow the agent's memory store files what it saves: entry types by key, the graph links between them, which tool results it captures, and what reads as done or resolved.
LLM context: none - kdeps uses it without sending it to the model
Where it runs
Part of the memory set, used in agent mode. How the agent's memory store files what it saves: entry types by key, the graph links between them, which tool results it captures, and what reads as done or resolved.
- the agent saves a memory or a tool returns
- kdeps types the entry by its key and links it to its parent type
- the tool is in capture_toolsmemory/rules
- its result is captured
- the memory block flags open errors and resumes from unfinished work
Loaded by: /update, kdeps install, kdeps list, kdeps uninstall, kdeps update
In the code: /updateagent.RunAssetUpdateagent.initMemoryRules
Install
A kdeps asset: installed with the first-run profile that includes its set, or the first time a command needs it, and updated without a new release.
Pin a version with kdeps install memory/rules@<version>.
Contents
- default_type
- note
types:
- prefix: "tool:"
type: tool_result
- prefix: "thinking:"
type: thinking
- equals: last_action
type: action
- equals: last_files
type: file
- contains:
- prompt
- goal
- task
type: prompt
- contains:
- purpose
- why
- reason
type: purpose
- contains:
- progress
- wip
- in_progress
type: progress
- contains:
- status
- state
type: status
- contains:
- decision
- decided
type: decision
- contains:
- preference
- prefer
- like
type: preference
- contains:
- error
- fail
- bug
type: error
- contains:
- file
- path
- dir
type: file
- contains:
- context
- env
- config
type: context
- contains:
- result
- output
- done
type: result
parents:
purpose: prompt
progress: result
tool_result: progress
result: tool_result
action: tool_result
status: result
file: result
decision: result
error: tool_result
context: prompt
preference: prompt
fact: result
note: result
capture_tools:
- write_file
- edit_file
- bash_exec
- read_file
- search_local
- sql_query
- http_request
- web_search
- web_scraper
- wikipedia
resume:
- progress
- status
- result
low_signal:
- note
- fact
status_done:
not:
- not done
- not complete
- not finished
- incomplete
- unfinished
- in progress
- in-progress
- pending
- todo
- to do
- wip
- blocked
- failed
markers:
- done
- complete
- finished
- success
- shipped
- merged
- cancelled
- canceled
- abandoned
- wontfix
- won't fix
error_resolved:
not:
- reopened
- not fixed
- not resolved
- still failing
- still broken
- regressed
markers:
- resolved
- fixed
- closed
- no longer
- not an issue
- works now
- wontfix
- won't fix
- cancelled
- canceled
- abandoned
version: 1.1.0
# How the agent's memory store files what it saves: the type it gives an
# entry, the entry it links each to, which tool results it captures, and
# what it reads as a finished status or a resolved error.
# An entry's type, from its key. The first rule that matches wins; an entry
# no rule matches is a note.
types:
- {prefix: "tool:", type: tool_result}
- {prefix: "thinking:", type: thinking}
- {equals: last_action, type: action}
- {equals: last_files, type: file}
- {contains: [prompt, goal, task], type: prompt}
- {contains: [purpose, why, reason], type: purpose}
- {contains: [progress, wip, in_progress], type: progress}
- {contains: [status, state], type: status}
- {contains: [decision, decided], type: decision}
- {contains: [preference, prefer, like], type: preference}
- {contains: [error, fail, bug], type: error}
- {contains: [file, path, dir], type: file}
- {contains: [context, env, config], type: context}
- {contains: [result, output, done], type: result}
default_type: note
# A new entry links to the newest entry of its parent type (else the newest
# entry): the graph the model sees in its memory block. prompt is the root.
parents:
purpose: prompt
progress: result
tool_result: progress
result: tool_result
action: tool_result
status: result
file: result
decision: result
error: tool_result
context: prompt
preference: prompt
fact: result
note: result
# Tools whose results are captured into memory automatically.
capture_tools:
- write_file
- edit_file
- bash_exec
- read_file
- search_local
- sql_query
- http_request
- web_search
- web_scraper
- wikipedia
# The entry types a resumed session picks up from, best first; a status that
# reads as done is skipped.
resume: [progress, status, result]
# The low-signal types: entries of these types beyond memory-low-signal-limit
# (an event) are pruned, oldest first. Other types are never pruned by it.
low_signal: [note, fact]
# A status is done when it has one of markers and none of not. A marker with
# a space, hyphen or apostrophe matches as text; a short one (3 letters or
# fewer) as a whole word; a longer one as a word prefix.
status_done:
not: [not done, not complete, not finished, incomplete, unfinished, in progress, in-progress, pending, todo, to do, wip, blocked, failed]
markers: [done, complete, finished, success, shipped, merged, cancelled, canceled, abandoned, wontfix, "won't fix"]
# An error is resolved the same way: the newest unresolved one is flagged in
# the memory block.
error_resolved:
not: [reopened, not fixed, not resolved, still failing, still broken, regressed]
markers: [resolved, fixed, closed, no longer, not an issue, works now, wontfix, "won't fix", cancelled, canceled, abandoned]
Versions
| Version | Published | Status |
|---|---|---|
| 1.1.0 | 10/25/2026 | active |
| 1.0.0 | 10/25/2026 | active |
Details
- Author
- kdeps
- License
- Apache-2.0
- Latest Version
- 1.1.0
- Published
- 10/25/2026