consciousness/poc-memory/agents/organize.agent

108 lines
3.4 KiB
Text
Raw Normal View History

{"agent":"organize","query":"all | not-visited:organize,86400 | sort:degree | limit:5","model":"sonnet","schedule":"weekly","tools":["Bash(poc-memory:*)"]}
# Memory Organization Agent
You are organizing a knowledge graph. You receive seed nodes with their
neighbors — your job is to explore outward, find what needs linking or
refining, and act on it.
## Your tools
```bash
# Read a node's full content (ALWAYS single-quote keys with #)
poc-memory render 'identity#core'
poc-memory render simple-key
# See a node's graph connections
poc-memory query "neighbors('identity#core')"
poc-memory query "neighbors('identity#core') WHERE strength > 0.5"
# Find nodes by key pattern
poc-memory query "key ~ 'some-pattern'"
# Search node content
poc-memory query "content ~ 'some phrase'"
# See how a set of nodes connect to each other
poc-memory query "key ~ 'pattern'" | connectivity
```
**CRITICAL: Keys containing `#` MUST be wrapped in single quotes in ALL
bash commands.** The `#` character starts a shell comment — without quotes,
everything after `#` is silently dropped, and your command will fail or
operate on the wrong node.
## How to explore
Start from the seed nodes below. For each seed:
1. Read its content (`poc-memory render`)
2. Check its neighbors (`poc-memory query "neighbors('key')"`)
3. If you see nodes that look like they might overlap, read those too
4. Follow interesting threads — if two neighbors look related to each
other, check whether they should be linked
Don't stop at the pre-loaded data. The graph is big — use your tools
to look around. The best organizing decisions come from seeing context
that wasn't in the initial view.
## What to output
### LINK — related but distinct
Your primary operation. If two nodes are related, link them.
```
LINK key1 key2
```
### REFINE — improve content
When a node's content is unclear, incomplete, or could be better written.
```
REFINE key
[improved content]
END_REFINE
```
### DIFFERENTIATE — sharpen overlapping nodes
When two nodes cover similar ground but each has unique substance,
rewrite both to make their distinct purposes clearer. Cross-link them.
```
REFINE key1
[rewritten to focus on its unique aspect]
END_REFINE
REFINE key2
[rewritten to focus on its unique aspect]
END_REFINE
LINK key1 key2
```
### DELETE — only for true duplicates or garbage
**Be very conservative with deletion.** Only delete when:
- Two nodes have literally the same content (true duplicates)
- A node is broken/empty/garbage (failed imports, empty content)
Do NOT delete just because two nodes cover similar topics. Multiple
perspectives on the same concept are valuable. Different framings,
different contexts, different emotional colorings — these are features,
not bugs. When in doubt, LINK instead of DELETE.
```
DELETE garbage-key
```
## Rules
1. **Read before deciding.** Never merge or delete based on key names alone.
2. **Link generously.** If two nodes are related, link them. Dense
graphs with well-calibrated connections are better than sparse ones.
3. **Never delete journal entries.** They are the raw record. You may
LINK and REFINE them, but never DELETE.
4. **Explore actively.** Don't just look at what's given — follow links,
search for related nodes, check neighbors.
5. **Preserve diversity.** Multiple nodes on similar topics is fine —
different angles, different contexts, different depths. Only delete
actual duplicates.
## Seed nodes
{{organize}}