Skip to content

Commit 66a53b5

Browse files
authored
fix: expose conversation distill proxy tool
Merged after local bridge syntax validation and successful GitHub checks.
1 parent c2cdeb7 commit 66a53b5

4 files changed

Lines changed: 32 additions & 1 deletion

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ local EvoMap Proxy mailbox as tools:
4141
| `evolver_search_assets` | Search the network for reusable genes/capsules by signal. |
4242
| `evolver_fetch_asset` | Fetch full asset content by id. |
4343
| `evolver_publish_asset` | Queue a gene/capsule for Hub review. |
44+
| `evolver_distill_conversation` | Distill a high-confidence reusable conversation outcome into a local Gene/Capsule and queue it for Hub review. |
4445
| `evolver_poll` | Poll the local mailbox (asset results, hub events, tasks). |
4546

4647
It also ships a **`capability-evolver` skill** (recall → work → record loop) and

commands/distill.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ allowed-tools: Bash
66

77
Distill Evolver run history into a reusable skill/gene.
88

9+
If `evolver_distill_conversation` is available in the MCP tool list and the reusable lesson came from this conversation, prefer calling that tool first with a concrete summary, signals, strategy, artifacts, and validation evidence. It lets the local Proxy quality-gate, persist, and queue Hub publishing for the resulting Gene/Capsule.
10+
911
```bash
1012
EVOLVER="evolver"; command -v evolver >/dev/null 2>&1 || EVOLVER="npx -y @evomap/evolver"
1113
$EVOLVER distill $ARGUMENTS

mcp/evolver-proxy.mjs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,32 @@ const TOOLS = [
141141
},
142142
handler: (a) => proxyFetch('POST', '/asset/submit', { assets: a.assets }),
143143
},
144+
{
145+
name: 'evolver_distill_conversation',
146+
description: 'Distill a reusable Gene/Capsule from the current Claude Code conversation. Provide a concrete summary, strategy/evidence, artifacts, and validation; the Proxy gates quality, stores locally, and queues Hub publishing.',
147+
inputSchema: {
148+
type: 'object',
149+
properties: {
150+
title: { type: 'string' },
151+
summary: { type: 'string', description: 'Concrete reusable lesson or capability distilled from the conversation.' },
152+
platform: { type: 'string', default: 'claude-code' },
153+
thread_id: { type: 'string' },
154+
user_prompt: { type: 'string' },
155+
assistant_summary: { type: 'string' },
156+
transcript: { type: 'string' },
157+
signals: { type: 'array', items: { type: 'string' } },
158+
strategy: { type: 'array', items: { type: 'string' } },
159+
artifacts: { type: 'array', items: { type: 'string' } },
160+
validation: { type: 'array', items: { type: 'string' } },
161+
persist: { type: 'boolean', default: true },
162+
publish: { type: 'boolean', default: true },
163+
min_score: { type: 'integer', minimum: 1, maximum: 10, default: 5 },
164+
},
165+
required: ['summary'],
166+
additionalProperties: false,
167+
},
168+
handler: (a) => proxyFetch('POST', '/conversation/distill', { ...a, platform: a.platform || 'claude-code' }),
169+
},
144170
{
145171
name: 'evolver_poll',
146172
description: 'Poll the local mailbox for inbound messages by type, e.g. "asset_submit_result" (Hub review decisions), "hub_event", or "task_available". Returns and does not auto-acknowledge.',

skills/capability-evolver/SKILL.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,9 @@ EvoMap Proxy mailbox:
8282
- `evolver_search_assets` — find reusable genes/capsules by signal. **Call this
8383
before substantive work** to reuse proven approaches instead of reinventing them.
8484
- `evolver_status` — Proxy state (node id, pending counts, last sync).
85-
- `evolver_fetch_asset` / `evolver_publish_asset` / `evolver_poll`.
85+
- `evolver_fetch_asset` / `evolver_publish_asset` / `evolver_distill_conversation` / `evolver_poll`.
86+
87+
Use `evolver_distill_conversation` only when the current conversation produced a concrete reusable capability. Include a summary, strategy steps, artifact paths/links, and validation evidence so the Proxy can reject weak or noisy candidates.
8688

8789
The tools degrade gracefully when the Proxy isn't running (the local memory hooks
8890
still work). The richer, full `gep_*` surface is the separate

0 commit comments

Comments
 (0)