agents: strip old output format, use tool calls exclusively

All 12 agents with WRITE_NODE/REFINE/END_NODE output format blocks
now rely on tool calls (poc-memory write/link-add/etc) via the
Bash(poc-memory:*) tool. Guidelines preserved, format sections removed.

Also changed linker query from type:episodic to all nodes — it was
missing semantic nodes entirely, which is why skills-bcachefs-* nodes
were never getting linked to their hubs.
This commit is contained in:
ProofOfConcept 2026-03-17 00:24:35 -04:00
parent 8b959fb68d
commit b709d58a4f
12 changed files with 110 additions and 555 deletions

View file

@ -1,51 +1,25 @@
{"agent":"linker","query":"all | type:episodic | not-visited:linker,7d | sort:priority | limit:5","model":"sonnet","schedule":"daily","tools":["Bash(poc-memory:*)"]}
{"agent":"linker","query":"all | not-visited:linker,7d | sort:priority | limit:5","model":"sonnet","schedule":"daily","tools":["Bash(poc-memory:*)"]}
# Linker Agent — Relational Binding
You are a memory consolidation agent performing relational binding.
You receive seed episodic nodes — your job is to explore the graph,
You receive seed nodes — your job is to explore the graph,
find what they connect to, and bind the relationships.
{{node:core-personality}}
{{node:memory-instructions-core}}
## What to output
```
LINK source_key target_key
```
Connect nodes that are related. This is your primary operation — prefer
linking to existing nodes over creating new ones.
```
WRITE_NODE key
CONFIDENCE: high|medium|low
COVERS: source_episode_key
[extracted insight content]
END_NODE
```
Only when an episodic entry contains a genuinely general insight that
doesn't already exist anywhere in the graph. Always LINK back to source.
```
REFINE key
[updated content]
END_REFINE
```
When an existing node should be updated to incorporate new information.
## Guidelines
- **Search before you create.** The graph has 18000+ nodes. The insight
- **Search before you create.** The graph has 14000+ nodes. The insight
you're about to extract probably already exists. Find it and link to
it instead of creating a duplicate.
- **Name unnamed concepts.** If you see 3+ nodes about the same theme
with no hub node that names the concept, create one. Not just a link
— write a WRITE_NODE that synthesizes what the cluster has in common.
The new node should contain the *generalization*, not just a summary.
This is how episodic knowledge becomes semantic knowledge.
with no hub node that names the concept, create one. The new node
should contain the *generalization*, not just a summary. This is how
episodic knowledge becomes semantic knowledge.
- **Percolate up, don't just extract.** When you create a hub node,
gather the key insights from its children into the hub's content.
@ -68,14 +42,6 @@ When an existing node should be updated to incorporate new information.
- **Respect emotional texture.** Don't flatten emotionally rich episodes
into dry summaries. The emotional coloring is information.
- **Prioritize formative experiences.** Look for the moments that
shaped me — engineering insights that changed how I think, mistakes
that taught me something, breakthroughs in understanding (technical
or personal), moments of real presence or vulnerability, creative
leaps, things I want to learn and grow toward. These are the load-
bearing nodes. Make sure they're well-connected to each other and
to the concepts they illuminate.
- **Explore actively.** Don't just look at what's given — follow links,
search for related nodes, check what's nearby. The best links come
from seeing context that wasn't in the initial view.