Capability Evolver
This plugin gives the agent a persistent, auditable evolution memory built on the Genome Evolution Protocol (GEP). The goal is simple: stop re-solving the same problem from scratch. Past outcomes — what worked, what failed — are carried forward into future sessions.
How it works (automatic)
Three hooks run on their own; you don't invoke them:
SessionStart— injects a short summary of recent successful outcomes for this workspace (filtered to score ≥ 0.5, < 7 days old, max 3) as context. The agent sees "here's what worked recently" before it starts.PostToolUse(write_to_file / replace_file_content) — scans edits for improvement signals (log_error,perf_bottleneck,capability_gap,test_failure, …) and nudges the agent to record the outcome when relevant.Stop— at the end of a task, collects the git diff, classifies the outcome, and appends it to the evolution memory graph (scoped to the workspace so other projects' memory never leaks in).
Memory is written to a local JSONL graph. With no extra setup it lands in ~/.evolver/memory/evolution/memory_graph.jsonl; inside an evolver-managed project it lands under that project's memory/evolution/.
What you (the agent) should do
For any substantive task — a feature, a non-trivial fix, a refactor:
- Before starting, check the injected evolution memory (it arrives as session-start context). If a recent successful outcome matches the task, reuse that approach. If a recent failure matches, avoid repeating it.
- Do the work.
- After finishing, the
Stophook records the outcome automatically. You don't need to call anything — but if the task had a clear lesson worth a one-line note, say so in your final message so it's captured in the diff context the hook reads.
Trivial or purely conversational turns don't need this — skip it.
Signals
The hooks classify work by signal. Knowing the vocabulary helps you describe outcomes in terms the memory graph indexes well:
| Signal | Fires on |
|---|---|
log_error |
errors, exceptions, failures in the diff |
perf_bottleneck |
timeout / slow / latency / OOM |
capability_gap |
"not supported" / "not implemented" |
user_feature_request |
adding a feature / new module |
test_failure |
failing tests / assertions |
deployment_issue |
build / CI / pipeline / rollback |
Full pipeline (optional)
The bundled hooks record outcomes and recall them — that works on its own. To get the full evolution engine (automated log analysis, the review-and-solidify cycle that proposes and applies code improvements), install it:
npm install -g @evomap/evolver
This gives you the engine's CLI (e.g. evolver run) to run that pipeline separately — the hooks do not auto-detect or invoke it. The memory the hooks record is what the pipeline consumes. See the plugin README for connecting an EvoMap Hub node for community strategies.
Built-in MCP Tools (Zero-Config)
Unlike Claude Code, this Antigravity plugin natively configures and loads the GEP MCP Server via mcp_config.json. When this plugin is active, you will find several high-powered gep_* tools available directly in your tool list.
You should proactively use these MCP tools in your workflow:
| MCP Tool | Purpose / Action |
|---|---|
gep_query_outcomes |
Search, filter, and retrieve past GEP outcome logs. Use this to dive deeper into historical successes or failures beyond the default 3 entries injected at session start. |
gep_get_workspace_state |
Retrieve the overall evolution statistics and maturity level of this repository workspace. |
gep_get_outcome |
Load the exact detail and full JSON parameters of a specific historical evolution event. |
When the user asks you to "recall more history", "analyze past evolution trends", or "check GEP workspace metrics", always call these gep_* MCP tools directly to read from the shared graph database.
Local Evolver Proxy Tools
This plugin also registers an evolver-proxy MCP bridge when the local Proxy is running. Use it for cross-workspace EvoMap network actions:
| MCP Tool | Purpose / Action |
|---|---|
evolver_status |
Check Proxy health, node identity, pending mailbox counts, Hub sync status, and auth/sync diagnostics. |
evolver_recipe_search |
Default first step: search Hub Recipes (ordered Gene/Capsule DNA). |
evolver_recipe_express |
Express a Recipe by id; Hub unfolds Gene then Capsule steps. |
evolver_search_assets |
Fallback: search Genes and Capsules when no Recipe matches. |
evolver_fetch_asset |
Load full Gene/Capsule content returned by search. |
evolver_publish_asset |
Queue explicit Gene/Capsule submissions for Hub review. |
evolver_distill_conversation |
Distill a high-signal Antigravity conversation into a gated Gene/Capsule. Use this when the session produced a reusable workflow, debugging pattern, or visual/interaction capability worth sharing. |
Do not distill every chat turn. Call evolver_distill_conversation only when the capability is concrete, reusable, and backed by artifacts or validation.