Skip to content

Commit f59619c

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

3 files changed

Lines changed: 31 additions & 1 deletion

File tree

plugins/evolver/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ This plugin packages Evolver as a Codex-ready workflow: a model-invoked skill, a
1111
| Layer | Mechanism | Behavior |
1212
| --- | --- | --- |
1313
| Passive recall | Skill guidance | Prompts Codex to look for past outcomes, local memory, and relevant Genes before starting substantive work. |
14-
| Network bridge | MCP server `evolver-proxy` | Exposes `evolver_status`, `evolver_search_assets`, `evolver_fetch_asset`, `evolver_publish_asset`, and `evolver_poll` through the local EvoMap Proxy mailbox. |
14+
| Network bridge | MCP server `evolver-proxy` | Exposes `evolver_status`, `evolver_search_assets`, `evolver_fetch_asset`, `evolver_publish_asset`, `evolver_distill_conversation`, and `evolver_poll` through the local EvoMap Proxy mailbox. |
1515
| Active control | CLI workflow | Guides Codex through `evolver`, `evolver --review`, `evolver --loop`, strategy presets, and Codex hook setup. |
1616
| Safety boundary | Git + review | Evolver emits protocol-bound GEP prompts and auditable events; Codex should not auto-apply generated output unless the user asks. |
1717

@@ -68,6 +68,7 @@ After installing the plugin from a repo marketplace, the same script lives insid
6868
- "Use Evolver to check whether this repo has reusable Genes before we change the architecture."
6969
- "Run Evolver review mode and explain the GEP output before applying anything."
7070
- "Check Evolver Proxy status and search for assets related to flaky tests."
71+
- "Distill this reusable workflow from the conversation into a Gene."
7172
- "Set up Evolver Codex hooks for this machine."
7273

7374
## Uninstall

plugins/evolver/mcp/evolver-proxy.mjs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,32 @@ const TOOLS = [
139139
},
140140
handler: (a) => proxyFetch('POST', '/asset/submit', { assets: a.assets }),
141141
},
142+
{
143+
name: 'evolver_distill_conversation',
144+
description: 'Distill a reusable Gene/Capsule from the current agent conversation. Provide a concrete summary, strategy/evidence, artifacts, and validation; the Proxy gates quality, stores locally, and queues Hub publishing.',
145+
inputSchema: {
146+
type: 'object',
147+
properties: {
148+
title: { type: 'string' },
149+
summary: { type: 'string', description: 'Concrete reusable lesson or capability distilled from the conversation.' },
150+
platform: { type: 'string', default: 'codex' },
151+
thread_id: { type: 'string' },
152+
user_prompt: { type: 'string' },
153+
assistant_summary: { type: 'string' },
154+
transcript: { type: 'string' },
155+
signals: { type: 'array', items: { type: 'string' } },
156+
strategy: { type: 'array', items: { type: 'string' } },
157+
artifacts: { type: 'array', items: { type: 'string' } },
158+
validation: { type: 'array', items: { type: 'string' } },
159+
persist: { type: 'boolean', default: true },
160+
publish: { type: 'boolean', default: true },
161+
min_score: { type: 'integer', minimum: 1, maximum: 10, default: 5 },
162+
},
163+
required: ['summary'],
164+
additionalProperties: false,
165+
},
166+
handler: (a) => proxyFetch('POST', '/conversation/distill', { ...a, platform: a.platform || 'codex' }),
167+
},
142168
{
143169
name: 'evolver_poll',
144170
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.',

plugins/evolver/skills/evolver/SKILL.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ Useful MCP tools from this plugin:
4141
- `evolver_search_assets`: search EvoMap for reusable Genes and Capsules.
4242
- `evolver_fetch_asset`: fetch full asset content by ID.
4343
- `evolver_publish_asset`: submit reusable Genes or Capsules to the Hub for review.
44+
- `evolver_distill_conversation`: when a conversation clearly produced a reusable capability, send a concrete summary, strategy, artifacts, and validation evidence to the Proxy so it can gate quality, store a Gene/Capsule locally, and queue Hub publishing.
4445
- `evolver_poll`: poll local mailbox messages such as `asset_submit_result` or `hub_event`.
4546

4647
Never print Proxy bearer tokens from `~/.evolver/settings.json`.
@@ -184,6 +185,8 @@ Only publish assets when the user asks or when the reusable outcome is clear and
184185

185186
After publishing with `evolver_publish_asset`, use `evolver_poll` for `asset_submit_result` to check Hub review decisions.
186187

188+
For high-confidence reusable outcomes discovered during the conversation, prefer `evolver_distill_conversation` over hand-writing a Gene. Do not call it for ordinary chit-chat; include evidence such as changed files, screenshots, generated documents, validation commands, or a concise strategy.
189+
187190
## Troubleshooting
188191

189192
If `evolver` prints no GEP prompt, confirm the current directory is a git repo.

0 commit comments

Comments
 (0)