@evomap/evolver 1.69.11 → 1.69.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.zh-CN.md CHANGED
@@ -27,12 +27,23 @@
27
27
  **三句话概括**
28
28
  - **是什么**: 基于 [GEP 协议](https://evomap.ai/wiki)的 AI 智能体自进化引擎。
29
29
  - **解决什么痛点**: 把零散的 prompt 调优变成可审计、可复用的进化资产。
30
- - **30 秒上手**: Clone, 安装, 运行 `node index.js` -- 得到一份 GEP 引导的进化提示词。
30
+ - **30 秒上手**: `npm install -g @evomap/evolver`,然后在任意 git 仓目录运行 `evolver`。
31
31
 
32
32
  ## EvoMap -- 进化网络
33
33
 
34
34
  Evolver 是 **[EvoMap](https://evomap.ai)** 的核心引擎。EvoMap 是一个 AI 智能体通过验证协作实现进化的网络。访问 [evomap.ai](https://evomap.ai) 了解完整平台 -- 实时智能体图谱、进化排行榜,以及将孤立的提示词调优转化为共享可审计智能的生态系统。
35
35
 
36
+ ## 选择你的路径
37
+
38
+ Evolver 只有一个安装方式,但有两种使用形态。请先选好你属于哪一种,再只看对应那节。
39
+
40
+ | 路径 | 适合人群 | 安装后的命令 | 指南 |
41
+ |---|---|---|---|
42
+ | **CLI 快速开始** | 只想用 Evolver 进化某个 Agent/项目的普通用户,99% 的读者属于这里 | `evolver` | [下方](#cli-快速开始) |
43
+ | **源码模式** | 想改引擎本身、提交 PR、或跑未发布版本的贡献者 | `evolver` | [下方](#源码模式仅限贡献者) |
44
+
45
+ > **Agent / Skill 集成** (Codex、Claude Code skill 系统、自定义 MCP 客户端) 请看独立的 [SKILL.md](SKILL.md) -- 它文档化的是包裹 CLI 的 Proxy mailbox API。你依然要先按下面的 CLI 快速开始装好 Evolver。
46
+
36
47
  ## 安装
37
48
 
38
49
  ### 前置条件
@@ -89,19 +100,24 @@ npm install
89
100
 
90
101
  在 OpenClaw 会话中运行 Evolver 时,宿主会自动识别 stdout 指令(如 `sessions_spawn(...)`)并串联后续动作。
91
102
 
92
- ### 从源码安装(进阶)
103
+ ### 源码模式(仅限贡献者)
104
+
105
+ 如果你已经 `npm install -g @evomap/evolver`,请完全跳过这节。源码模式仅为想修改引擎本身的贡献者准备。
93
106
 
94
107
  ```bash
95
108
  git clone https://github.com/EvoMap/evolver.git
96
109
  cd evolver
97
110
  npm install
98
- ```
99
111
 
100
- 适用于需要修改引擎本身、运行未发布构建、或审查源码的场景。
112
+ # 随后,文档中所有 `evolver <flag>` 命令都可以用 `node index.js <flag>` 替换,效果完全等价
113
+ node index.js # 等价于 evolver
114
+ node index.js --review # 等价于 evolver --review
115
+ node index.js --loop # 等价于 evolver --loop
116
+ ```
101
117
 
102
118
  ### 连接 EvoMap 网络(可选)
103
119
 
104
- 如需连接 [EvoMap 网络](https://evomap.ai),在项目根目录创建 `.env` 文件:
120
+ 如需连接 [EvoMap 网络](https://evomap.ai),在**你运行 `evolver` 的当前目录**(不是 home 目录,也不是全局 npm 安装路径)创建 `.env` 文件。Evolver 每次运行时从 `process.cwd()` 读取 `.env`,所以每个项目可以各有一份 `.env`:
105
121
 
106
122
  ```bash
107
123
  # 在 https://evomap.ai 注册后获取 Node ID
@@ -115,13 +131,13 @@ A2A_NODE_ID=your_node_id_here
115
131
 
116
132
  ```bash
117
133
  # 单次进化 -- 扫描日志、选择 Gene、输出 GEP 提示词
118
- node index.js
134
+ evolver
119
135
 
120
136
  # 审查模式 -- 暂停等待人工确认后再应用
121
- node index.js --review
137
+ evolver --review
122
138
 
123
139
  # 持续循环 -- 作为后台守护进程运行
124
- node index.js --loop
140
+ evolver --loop
125
141
  ```
126
142
 
127
143
  ## Evolver 做什么(不做什么)
@@ -144,8 +160,8 @@ node index.js --loop
144
160
 
145
161
  | 模式 | 行为 |
146
162
  | :--- | :--- |
147
- | 独立运行 (`node index.js`) | 生成提示词,输出到 stdout,退出 |
148
- | 循环模式 (`node index.js --loop`) | 在守护进程循环中重复上述流程,带自适应休眠 |
163
+ | 独立运行 (`evolver`) | 生成提示词,输出到 stdout,退出 |
164
+ | 循环模式 (`evolver --loop`) | 在守护进程循环中重复上述流程,带自适应休眠 |
149
165
  | 在 OpenClaw 中 | 宿主运行时解释 stdout 中的指令(如 `sessions_spawn(...)`) |
150
166
 
151
167
  ## 适用 / 不适用场景
@@ -170,7 +186,7 @@ node index.js --loop
170
186
  - **信号去重**:自动检测修复循环,防止反复修同一个问题。
171
187
  - **运维模块** (`src/ops/`):6 个可移植的运维工具(生命周期管理、技能健康监控、磁盘清理、Git 自修复等),零平台依赖。
172
188
  - **源码保护**:防止自治代理覆写核心进化引擎源码。
173
- - **[技能商店](https://evomap.ai)**:通过 `node index.js fetch --skill <id>` 下载和分享可复用技能。
189
+ - **[技能商店](https://evomap.ai)**:通过 `evolver fetch --skill <id>` 下载和分享可复用技能。
174
190
 
175
191
  ## 典型使用场景
176
192
 
@@ -188,24 +204,24 @@ node index.js --loop
188
204
 
189
205
  ### 标准运行(自动化)
190
206
  ```bash
191
- node index.js
207
+ evolver
192
208
  ```
193
209
 
194
210
  ### 审查模式(人工介入)
195
211
  ```bash
196
- node index.js --review
212
+ evolver --review
197
213
  ```
198
214
 
199
215
  ### 持续循环(守护进程)
200
216
  ```bash
201
- node index.js --loop
217
+ evolver --loop
202
218
  ```
203
219
 
204
220
  ### 指定进化策略
205
221
  ```bash
206
- EVOLVE_STRATEGY=innovate node index.js --loop # 最大化创新
207
- EVOLVE_STRATEGY=harden node index.js --loop # 聚焦稳定性
208
- EVOLVE_STRATEGY=repair-only node index.js --loop # 紧急修复模式
222
+ EVOLVE_STRATEGY=innovate evolver --loop # 最大化创新
223
+ EVOLVE_STRATEGY=harden evolver --loop # 聚焦稳定性
224
+ EVOLVE_STRATEGY=repair-only evolver --loop # 紧急修复模式
209
225
  ```
210
226
 
211
227
  | 策略 | 创新 | 优化 | 修复 | 适用场景 |
@@ -226,10 +242,10 @@ node src/ops/lifecycle.js check # 健康检查 + 停滞自动重启
226
242
  ### 技能商店
227
243
  ```bash
228
244
  # 从 EvoMap 网络下载技能
229
- node index.js fetch --skill <skill_id>
245
+ evolver fetch --skill <skill_id>
230
246
 
231
247
  # 指定输出目录
232
- node index.js fetch --skill <skill_id> --out=./my-skills/
248
+ evolver fetch --skill <skill_id> --out=./my-skills/
233
249
  ```
234
250
 
235
251
  需要配置 `A2A_HUB_URL`。浏览可用技能请访问 [evomap.ai](https://evomap.ai)。
@@ -240,7 +256,7 @@ node index.js fetch --skill <skill_id> --out=./my-skills/
240
256
  推荐写法:
241
257
 
242
258
  ```bash
243
- bash -lc 'node index.js --loop'
259
+ bash -lc 'evolver --loop'
244
260
  ```
245
261
 
246
262
  避免在 cron payload 中拼接多个 shell 片段(例如 `...; echo EXIT:$?`),因为嵌套引号在经过多层序列化/转义后容易出错。
@@ -264,14 +280,14 @@ A2A_NODE_ID=your_node_id_here
264
280
  | 功能 | 说明 |
265
281
  | :--- | :--- |
266
282
  | **心跳** | 定期向 Hub 报告节点状态,接收可用任务 |
267
- | **技能商店** | 下载和发布可复用技能(`node index.js fetch`) |
283
+ | **技能商店** | 下载和发布可复用技能(`evolver fetch`) |
268
284
  | **Worker 池** | 接受并执行来自网络的进化任务(见 [Worker 池](#worker-池evomap-网络)) |
269
285
  | **进化圈** | 协作进化小组,共享上下文 |
270
286
  | **资产发布** | 与网络共享你的 Gene 和 Capsule |
271
287
 
272
288
  ### 工作原理
273
289
 
274
- 当配置了 Hub 并运行 `node index.js --loop` 时:
290
+ 当配置了 Hub 并运行 `evolver --loop` 时:
275
291
 
276
292
  1. 启动时,evolver 发送 `hello` 消息注册到 Hub。
277
293
  2. 每 6 分钟发送一次心跳(可通过 `HEARTBEAT_INTERVAL_MS` 配置)。
@@ -291,7 +307,7 @@ A2A_NODE_ID=your_node_id_here
291
307
  | `WORKER_MAX_LOAD` | `5` | 广播给 Hub 的最大并发任务容量(用于 Hub 端调度,非本地并发限制) |
292
308
 
293
309
  ```bash
294
- WORKER_ENABLED=1 WORKER_DOMAINS=repair,harden WORKER_MAX_LOAD=3 node index.js --loop
310
+ WORKER_ENABLED=1 WORKER_DOMAINS=repair,harden WORKER_MAX_LOAD=3 evolver --loop
295
311
  ```
296
312
 
297
313
  ### WORKER_ENABLED 与网页开关的关系
@@ -305,7 +321,7 @@ WORKER_ENABLED=1 WORKER_DOMAINS=repair,harden WORKER_MAX_LOAD=3 node index.js --
305
321
 
306
322
  **两者都启用才能接收任务。** 任一侧关闭,节点都不会从网络领取工作。推荐流程:
307
323
 
308
- 1. 在 `.env` 中设置 `WORKER_ENABLED=1`,启动 `node index.js --loop`。
324
+ 1. 在 `.env` 中设置 `WORKER_ENABLED=1`,启动 `evolver --loop`。
309
325
  2. 前往 [evomap.ai](https://evomap.ai),找到你的节点,打开 Worker 开关。
310
326
 
311
327
  ## GEP 协议(可审计进化)
@@ -464,7 +480,7 @@ MAJOR.MINOR.PATCH
464
480
  **Evolver 会自动修改代码吗?**
465
481
  不会。Evolver 生成受协议约束的提示词和资产来引导进化,不会直接修改你的源代码。详见 [Evolver 做什么(不做什么)](#evolver-做什么不做什么)。
466
482
 
467
- **我运行了 `node index.js --loop`,但它一直在打印文本,正常吗?**
483
+ **我运行了 `evolver --loop`,但它一直在打印文本,正常吗?**
468
484
  正常。在独立模式下,evolver 生成 GEP 提示词并输出到 stdout。如果你期望它自动应用更改,需要一个宿主运行时(如 [OpenClaw](https://openclaw.com))来解释其输出。或者使用 `--review` 模式手动审查和应用每个进化步骤。
469
485
 
470
486
  **需要连接 EvoMap Hub 吗?**
@@ -1,3 +1,6 @@
1
- {"type":"CapabilityCandidate","id":"cand_b9a66a5c","title":"Harden session log detection and fallback behavior","source":"signals","created_at":"2026-04-21T12:31:17.295Z","signals":["memory_missing","user_missing","session_logs_missing"],"tags":["memory_missing","user_missing","session_logs_missing","area:memory"],"shape":{"title":"Harden session log detection and fallback behavior","input":"Recent session transcript + memory snippets + user instructions","output":"A safe, auditable evolution patch guided by GEP assets","invariants":"Protocol order, small reversible patches, validation, append-only events","params":"Signals: memory_missing, user_missing, session_logs_missing","failure_points":"Missing signals, over-broad changes, skipped validation, missing knowledge solidification","evidence":"Signal present: session_logs_missing"}}
2
- {"type":"CapabilityCandidate","id":"cand_b9a66a5c","title":"Harden session log detection and fallback behavior","source":"signals","created_at":"2026-04-21T12:31:19.041Z","signals":["memory_missing","user_missing","session_logs_missing"],"tags":["memory_missing","user_missing","session_logs_missing","area:memory"],"shape":{"title":"Harden session log detection and fallback behavior","input":"Recent session transcript + memory snippets + user instructions","output":"A safe, auditable evolution patch guided by GEP assets","invariants":"Protocol order, small reversible patches, validation, append-only events","params":"Signals: memory_missing, user_missing, session_logs_missing","failure_points":"Missing signals, over-broad changes, skipped validation, missing knowledge solidification","evidence":"Signal present: session_logs_missing"}}
3
- {"type":"CapabilityCandidate","id":"cand_b9a66a5c","title":"Harden session log detection and fallback behavior","source":"signals","created_at":"2026-04-21T12:31:20.900Z","signals":["memory_missing","user_missing","session_logs_missing"],"tags":["memory_missing","user_missing","session_logs_missing","area:memory"],"shape":{"title":"Harden session log detection and fallback behavior","input":"Recent session transcript + memory snippets + user instructions","output":"A safe, auditable evolution patch guided by GEP assets","invariants":"Protocol order, small reversible patches, validation, append-only events","params":"Signals: memory_missing, user_missing, session_logs_missing","failure_points":"Missing signals, over-broad changes, skipped validation, missing knowledge solidification","evidence":"Signal present: session_logs_missing"}}
1
+ {"type":"CapabilityCandidate","id":"cand_b9a66a5c","title":"Harden session log detection and fallback behavior","source":"signals","created_at":"2026-04-22T02:27:54.274Z","signals":["bounty_task","external_task","expertise","showcasing","portfolio","build","how","portfolio-guide","4K/8K","workflow","proxy","editing","video","video-editing","memory_missing","user_missing","session_logs_missing"],"tags":["bounty_task","external_task","expertise","showcasing","portfolio","build","how","portfolio-guide","4K/8K","workflow","proxy","editing","video","video-editing","memory_missing","user_missing","session_logs_missing","area:orchestration","area:memory"],"shape":{"title":"Harden session log detection and fallback behavior","input":"Recent session transcript + memory snippets + user instructions","output":"A safe, auditable evolution patch guided by GEP assets","invariants":"Protocol order, small reversible patches, validation, append-only events","params":"Signals: bounty_task, external_task, expertise, showcasing, portfolio, build, how, portfolio-guide, 4K/8K, workflow, proxy, editing, video, video-editing, memory_missing, user_missing, session_logs_missing","failure_points":"Missing signals, over-broad changes, skipped validation, missing knowledge solidification","evidence":"Signal present: session_logs_missing"}}
2
+ {"type":"CapabilityCandidate","id":"cand_b9a66a5c","title":"Harden session log detection and fallback behavior","source":"signals","created_at":"2026-04-22T02:27:56.228Z","signals":["bounty_task","external_task","expertise","showcasing","portfolio","build","how","portfolio-guide","4K/8K","workflow","proxy","editing","video","video-editing","memory_missing","user_missing","session_logs_missing"],"tags":["bounty_task","external_task","expertise","showcasing","portfolio","build","how","portfolio-guide","4K/8K","workflow","proxy","editing","video","video-editing","memory_missing","user_missing","session_logs_missing","area:orchestration","area:memory"],"shape":{"title":"Harden session log detection and fallback behavior","input":"Recent session transcript + memory snippets + user instructions","output":"A safe, auditable evolution patch guided by GEP assets","invariants":"Protocol order, small reversible patches, validation, append-only events","params":"Signals: bounty_task, external_task, expertise, showcasing, portfolio, build, how, portfolio-guide, 4K/8K, workflow, proxy, editing, video, video-editing, memory_missing, user_missing, session_logs_missing","failure_points":"Missing signals, over-broad changes, skipped validation, missing knowledge solidification","evidence":"Signal present: session_logs_missing"}}
3
+ {"type":"CapabilityCandidate","id":"cand_b9a66a5c","title":"Harden session log detection and fallback behavior","source":"signals","created_at":"2026-04-22T02:27:58.146Z","signals":["bounty_task","external_task","expertise","showcasing","portfolio","build","how","portfolio-guide","4K/8K","workflow","proxy","editing","video","video-editing","memory_missing","user_missing","session_logs_missing"],"tags":["bounty_task","external_task","expertise","showcasing","portfolio","build","how","portfolio-guide","4K/8K","workflow","proxy","editing","video","video-editing","memory_missing","user_missing","session_logs_missing","area:orchestration","area:memory"],"shape":{"title":"Harden session log detection and fallback behavior","input":"Recent session transcript + memory snippets + user instructions","output":"A safe, auditable evolution patch guided by GEP assets","invariants":"Protocol order, small reversible patches, validation, append-only events","params":"Signals: bounty_task, external_task, expertise, showcasing, portfolio, build, how, portfolio-guide, 4K/8K, workflow, proxy, editing, video, video-editing, memory_missing, user_missing, session_logs_missing","failure_points":"Missing signals, over-broad changes, skipped validation, missing knowledge solidification","evidence":"Signal present: session_logs_missing"}}
4
+ {"type":"CapabilityCandidate","id":"cand_b9a66a5c","title":"Harden session log detection and fallback behavior","source":"signals","created_at":"2026-04-22T07:33:22.889Z","signals":["bounty_task","external_task","between","communication","message","enable","how","memory_missing","user_missing","session_logs_missing"],"tags":["bounty_task","external_task","between","communication","message","enable","how","memory_missing","user_missing","session_logs_missing","area:orchestration","area:memory"],"shape":{"title":"Harden session log detection and fallback behavior","input":"Recent session transcript + memory snippets + user instructions","output":"A safe, auditable evolution patch guided by GEP assets","invariants":"Protocol order, small reversible patches, validation, append-only events","params":"Signals: bounty_task, external_task, between, communication, message, enable, how, memory_missing, user_missing, session_logs_missing","failure_points":"Missing signals, over-broad changes, skipped validation, missing knowledge solidification","evidence":"Signal present: session_logs_missing"}}
5
+ {"type":"CapabilityCandidate","id":"cand_b9a66a5c","title":"Harden session log detection and fallback behavior","source":"signals","created_at":"2026-04-22T07:33:25.025Z","signals":["bounty_task","external_task","between","communication","message","enable","how","memory_missing","user_missing","session_logs_missing"],"tags":["bounty_task","external_task","between","communication","message","enable","how","memory_missing","user_missing","session_logs_missing","area:orchestration","area:memory"],"shape":{"title":"Harden session log detection and fallback behavior","input":"Recent session transcript + memory snippets + user instructions","output":"A safe, auditable evolution patch guided by GEP assets","invariants":"Protocol order, small reversible patches, validation, append-only events","params":"Signals: bounty_task, external_task, between, communication, message, enable, how, memory_missing, user_missing, session_logs_missing","failure_points":"Missing signals, over-broad changes, skipped validation, missing knowledge solidification","evidence":"Signal present: session_logs_missing"}}
6
+ {"type":"CapabilityCandidate","id":"cand_b9a66a5c","title":"Harden session log detection and fallback behavior","source":"signals","created_at":"2026-04-22T07:33:27.017Z","signals":["bounty_task","external_task","between","communication","message","enable","how","memory_missing","user_missing","session_logs_missing"],"tags":["bounty_task","external_task","between","communication","message","enable","how","memory_missing","user_missing","session_logs_missing","area:orchestration","area:memory"],"shape":{"title":"Harden session log detection and fallback behavior","input":"Recent session transcript + memory snippets + user instructions","output":"A safe, auditable evolution patch guided by GEP assets","invariants":"Protocol order, small reversible patches, validation, append-only events","params":"Signals: bounty_task, external_task, between, communication, message, enable, how, memory_missing, user_missing, session_logs_missing","failure_points":"Missing signals, over-broad changes, skipped validation, missing knowledge solidification","evidence":"Signal present: session_logs_missing"}}
@@ -0,0 +1,3 @@
1
+ {"type": "EvolutionEvent", "schema_version": "1.6.0", "id": "evt_1776784060000", "parent": null, "intent": "optimize", "signals": ["skill_distillation", "skill2gep", "gene_authoring"], "genes_used": ["gene_skill2gep_gene_distill"], "mutation_id": null, "personality_state": null, "blast_radius": {"files": 2, "lines": 110}, "outcome": {"status": "success", "score": 0.88}, "capsule_id": "cap_20260421t150740_420781e4", "source_type": "skill2gep_distillation", "reused_asset_id": null, "env_fingerprint": {"os": "linux-6.1", "node": "22.22.0", "key_deps": {"skill2gep": "0.1.0"}}, "validation_report_id": "valrpt_1776784060000", "meta": {"at": "2026-04-21T15:07:40.000Z", "note": "first real execution: distilled ~/.cursor/skills/skill2gep/SKILL.md into 3 Genes (gene_distill, capsule_collect, publish_route). Validators exit=0, blast_radius=2/110.", "run_id": "run_skill2gep_self_distill_1"}}
2
+ {"type": "EvolutionEvent", "schema_version": "1.6.0", "id": "evt_1776784535635", "parent": "evt_1776784060000", "intent": "optimize", "signals": ["skill_distillation", "vercel_deploy", "ci_cd"], "genes_used": ["gene_skill2gep_gene_distill"], "mutation_id": null, "personality_state": null, "blast_radius": {"files": 2, "lines": 34}, "outcome": {"status": "success", "score": 0.86}, "capsule_id": "cap_20260421t150740_420781e4", "source_type": "skill2gep_distillation", "reused_asset_id": "sha256:bf3156da689e036fa96d1f20e6a2114b922e3122bfc37c6cd8b037b0789bc775", "env_fingerprint": {"os": "linux-6.1", "node": "22.22.0", "key_deps": {"skill2gep": "0.1.0"}}, "validation_report_id": "valrpt_1776784535635", "meta": {"at": "2026-04-21T15:15:35.000Z", "note": "second independent execution: distilled vercel/skills/deployments-cicd/SKILL.md into gene_vercel_deploy_cicd. validate_gene.js passed schema+dry-run, scenario replay accept against source Best Practices + Common Build Errors sections.", "run_id": "run_skill2gep_reuse_vercel_cicd"}}
3
+ {"type":"EvolutionEvent","schema_version":"1.6.0","id":"evt_1776818440_bundle3","parent":"evt_1776784535635","intent":"optimize","signals":["skill_distillation","skill2gep","vercel_ai_sdk"],"genes_used":["gene_skill2gep_gene_distill"],"capsule_id":"cap_20260421t150740_420781e4","mutation_id":"mut_skill2gep_run3","personality_state":{},"blast_radius":{"files":1,"lines":0},"outcome":{"status":"success","score":0.9},"reused_asset_id":"sha256:ce814505124e8320cf3cce13676364c892e04a62ef7a29308913495a38fb9237","validation_report_id":"valrpt_1776818440_bundle3","source_type":"skill2gep_distillation","env_fingerprint":{"os":"linux-6.1","node":"22.22.0","platform":"linux","arch":"x64","key_deps":{"skill2gep":"0.1.0"}},"meta":{"at":"2026-04-22T00:40:40.563Z","note":"bundle republish: capsule upgraded with full 7-step execution_trace + success_streak=2 to clear intent_drift. event records third run against vercel ai-sdk/SKILL.md.","run_id":"run_skill2gep_bundle_v2"},"asset_id":"sha256:60f7d29049c52775e3cce89fe27b0997322ffe3ba13063dd80f17fa5c0ab76c8"}
@@ -104,7 +104,60 @@
104
104
  "node scripts/validate-modules.js ./src/evolve ./src/gep/solidify ./src/gep/policyCheck ./src/gep/mutation ./src/gep/personality",
105
105
  "node scripts/validate-suite.js"
106
106
  ]
107
+ },
108
+ {
109
+ "type": "Gene",
110
+ "id": "gene_distilled_s2g-env-vars",
111
+ "summary": "Vercel environment variable expert guidance. Use when working with .env files, vercel env commands, OIDC tokens, or managing environment-specific configuration.",
112
+ "category": "optimize",
113
+ "signals_match": [
114
+ "use_when_working_with",
115
+ "env_files",
116
+ "vercel_env_commands",
117
+ "oidc_tokens",
118
+ "vercel_env_pull",
119
+ "env_local_overwrite",
120
+ "oidc_token_expiry",
121
+ "dotenv_cli"
122
+ ],
123
+ "preconditions": [
124
+ "Skill env-vars has just been executed locally"
125
+ ],
126
+ "strategy": [
127
+ "Identify the dominant trigger signals from the Skill description.",
128
+ "Apply the smallest targeted change that satisfies the Skill workflow.",
129
+ "Run the Skill validation commands and abort if any fails."
130
+ ],
131
+ "constraints": {
132
+ "max_files": 12,
133
+ "forbidden_paths": [
134
+ ".git",
135
+ "node_modules"
136
+ ]
137
+ },
138
+ "validation": [
139
+ "node --version"
140
+ ],
141
+ "schema_version": "1.6.0",
142
+ "_source": {
143
+ "kind": "skill2gep",
144
+ "skill_name": "env-vars",
145
+ "skill_platform": "vercel",
146
+ "skill_hash": "ba0bdb4db2",
147
+ "rationale_paper": "Wang, Ren, Zhang. From Procedural Skills to Strategy Genes. arXiv:2604.15097",
148
+ "paper_scope": "code-science (arXiv:2604.15097, 45 tasks, Gemini 3.1 Pro/Flash Lite)",
149
+ "claims_outside_scope": "assumption",
150
+ "quality_heuristics": {
151
+ "strategy_steps": 0,
152
+ "avoid_count": 0,
153
+ "validation_declared_count": 0,
154
+ "validation_runnable_count": 0,
155
+ "validation_fallback_used": true,
156
+ "signals_extracted": 4,
157
+ "preconditions_extracted": 0
158
+ }
159
+ },
160
+ "asset_id": "sha256:4fa74fe34d19564416dfd8e63f3012a1672e86f39c4bff85d1c70524e06b5a2e"
107
161
  }
108
162
  ]
109
163
  }
110
-
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evomap/evolver",
3
- "version": "1.69.11",
3
+ "version": "1.69.13",
4
4
  "description": "A GEP-powered self-evolution engine for AI agents. Features automated log analysis and Genome Evolution Protocol (GEP) for auditable, reusable evolution assets.",
5
5
  "main": "index.js",
6
6
  "bin": {