diff --git a/src/adapters/codex.js b/src/adapters/codex.js index f78ca4ec..982ecebe 100644 --- a/src/adapters/codex.js +++ b/src/adapters/codex.js @@ -94,7 +94,12 @@ This project uses evolver for self-evolution. Hooks automatically: 2. Detect evolution signals during file edits 3. Record outcomes at session end -For substantive tasks, call \`gep_recall\` before work and \`gep_record_outcome\` after. +When the Codex Desktop Evolver plugin is installed, use its MCP tools directly: +- Before substantive work, call \`evolver_status\`, then \`evolver_search_assets\` with concise task signals. +- If assets match, call \`evolver_fetch_asset\` for the promising IDs and apply the reusable guidance. +- After the task, call \`evolver_publish_asset\` only for reusable Genes/Capsules; otherwise rely on the installed Stop hook to record the local outcome. + +If your environment exposes legacy \`gep_recall\` / \`gep_record_outcome\` aliases, those aliases are equivalent workflow steps, but Codex Desktop plugin installs expose the \`evolver_*\` tool names by default. Signals: log_error, perf_bottleneck, user_feature_request, capability_gap, deployment_issue, test_failure.`; } diff --git a/test/adapters.test.js b/test/adapters.test.js index 672bf2a5..2633f7c4 100644 --- a/test/adapters.test.js +++ b/test/adapters.test.js @@ -803,6 +803,11 @@ describe('codex adapter', () => { const toml = fs.readFileSync(path.join(tmp, '.codex', 'config.toml'), 'utf8'); assert.ok(toml.includes('codex_hooks = true')); assert.ok(fs.existsSync(path.join(tmp, 'AGENTS.md'))); + const agentsMd = fs.readFileSync(path.join(tmp, 'AGENTS.md'), 'utf8'); + assert.ok(agentsMd.includes('evolver_status')); + assert.ok(agentsMd.includes('evolver_search_assets')); + assert.ok(agentsMd.includes('evolver_publish_asset')); + assert.ok(!agentsMd.includes('For substantive tasks, call `gep_recall` before work')); } finally { cleanup(tmp); } });