@evomap/evolver 1.90.0 → 2.0.0-beta.1

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.
Files changed (231) hide show
  1. package/README.md +27 -564
  2. package/bin/evolver-llm-proxy.js +3 -0
  3. package/bin/evolver-mcp.js +2 -0
  4. package/bin/evolver-proxy.js +3 -0
  5. package/bin/evolver.js +4 -0
  6. package/index.js +1 -3670
  7. package/package.json +32 -62
  8. package/CONTRIBUTING.md +0 -19
  9. package/LICENSE +0 -641
  10. package/README.ja-JP.md +0 -521
  11. package/README.ko-KR.md +0 -520
  12. package/README.zh-CN.md +0 -531
  13. package/SKILL.md +0 -365
  14. package/assets/cover.png +0 -0
  15. package/assets/gep/genes.seed.json +0 -496
  16. package/conformance/savings-core/constants.json +0 -30
  17. package/conformance/savings-core/golden-vectors.json +0 -333
  18. package/scripts/a2a_export.js +0 -63
  19. package/scripts/a2a_ingest.js +0 -79
  20. package/scripts/a2a_promote.js +0 -118
  21. package/scripts/analyze_by_skill.js +0 -121
  22. package/scripts/build_binaries.js +0 -479
  23. package/scripts/check-changelog.js +0 -166
  24. package/scripts/extract_log.js +0 -85
  25. package/scripts/generate_history.js +0 -75
  26. package/scripts/gep_append_event.js +0 -96
  27. package/scripts/gep_personality_report.js +0 -234
  28. package/scripts/human_report.js +0 -147
  29. package/scripts/recall-verify-report.js +0 -234
  30. package/scripts/recover_loop.js +0 -61
  31. package/scripts/refresh_stars_badge.js +0 -168
  32. package/scripts/seed-merchants.js +0 -91
  33. package/scripts/skill2recipes.js +0 -118
  34. package/scripts/suggest_version.js +0 -89
  35. package/scripts/validate-modules.js +0 -38
  36. package/scripts/validate-suite.js +0 -78
  37. package/src/adapters/claudeCode.js +0 -194
  38. package/src/adapters/codex.js +0 -216
  39. package/src/adapters/cursor.js +0 -91
  40. package/src/adapters/hookAdapter.js +0 -469
  41. package/src/adapters/kiro.js +0 -195
  42. package/src/adapters/opencode.js +0 -326
  43. package/src/adapters/scripts/_lockPaths.js +0 -74
  44. package/src/adapters/scripts/_memoryFiltering.js +0 -35
  45. package/src/adapters/scripts/_runtimePaths.js +0 -440
  46. package/src/adapters/scripts/evolver-session-end.js +0 -321
  47. package/src/adapters/scripts/evolver-session-start.js +0 -587
  48. package/src/adapters/scripts/evolver-signal-detect.js +0 -98
  49. package/src/adapters/scripts/evolver-task-recall.js +0 -173
  50. package/src/atp/atpExecute.js +0 -283
  51. package/src/atp/atpTaskPickup.js +0 -233
  52. package/src/atp/autoBuyer.js +0 -382
  53. package/src/atp/autoDeliver.js +0 -215
  54. package/src/atp/cli.js +0 -354
  55. package/src/atp/cliAutobuyPrompt.js +0 -154
  56. package/src/atp/consumerAgent.js +0 -157
  57. package/src/atp/defaultHandler.js +0 -69
  58. package/src/atp/heartbeatSignalsHandler.js +0 -254
  59. package/src/atp/hubClient.js +0 -317
  60. package/src/atp/index.js +0 -38
  61. package/src/atp/merchantAgent.js +0 -118
  62. package/src/atp/protocol.js +0 -41
  63. package/src/atp/questionComposer.js +0 -133
  64. package/src/atp/serviceHelper.js +0 -92
  65. package/src/canary.js +0 -13
  66. package/src/config.js +0 -351
  67. package/src/evolve/guards.js +0 -1
  68. package/src/evolve/pipeline/collect.js +0 -1
  69. package/src/evolve/pipeline/dispatch.js +0 -1
  70. package/src/evolve/pipeline/enrich.js +0 -1
  71. package/src/evolve/pipeline/hub.js +0 -1
  72. package/src/evolve/pipeline/select.js +0 -1
  73. package/src/evolve/pipeline/signals.js +0 -1
  74. package/src/evolve/utils.js +0 -1
  75. package/src/evolve.js +0 -1
  76. package/src/experiment/agentRunner.js +0 -229
  77. package/src/experiment/cli.js +0 -159
  78. package/src/experiment/comparison.js +0 -233
  79. package/src/experiment/metrics.js +0 -75
  80. package/src/forceUpdate.js +0 -991
  81. package/src/gep/a2a.js +0 -173
  82. package/src/gep/a2aProtocol.js +0 -1
  83. package/src/gep/analyzer.js +0 -35
  84. package/src/gep/antiAbuseTelemetry.js +0 -1
  85. package/src/gep/assetCallLog.js +0 -197
  86. package/src/gep/assetStore.js +0 -723
  87. package/src/gep/assets.js +0 -36
  88. package/src/gep/autoDistillConv.js +0 -1
  89. package/src/gep/autoDistillLlm.js +0 -1
  90. package/src/gep/bridge.js +0 -138
  91. package/src/gep/candidateEval.js +0 -1
  92. package/src/gep/candidates.js +0 -1
  93. package/src/gep/claimNudge.js +0 -121
  94. package/src/gep/cliContracts.js +0 -1190
  95. package/src/gep/contentHash.js +0 -1
  96. package/src/gep/conversationDistiller.js +0 -1
  97. package/src/gep/conversationSniffer.js +0 -1
  98. package/src/gep/crypto.js +0 -1
  99. package/src/gep/curriculum.js +0 -1
  100. package/src/gep/deviceId.js +0 -1
  101. package/src/gep/directoryClient.js +0 -115
  102. package/src/gep/envFingerprint.js +0 -1
  103. package/src/gep/epigenetics.js +0 -1
  104. package/src/gep/execBridge.js +0 -1
  105. package/src/gep/executionTrace.js +0 -291
  106. package/src/gep/explore.js +0 -1
  107. package/src/gep/featureFlags.js +0 -121
  108. package/src/gep/gitOps.js +0 -265
  109. package/src/gep/hash.js +0 -1
  110. package/src/gep/hostErrorClassifier.js +0 -34
  111. package/src/gep/hubFetch.js +0 -1
  112. package/src/gep/hubReview.js +0 -1
  113. package/src/gep/hubSearch.js +0 -1
  114. package/src/gep/hubVerify.js +0 -1
  115. package/src/gep/idleScheduler.js +0 -400
  116. package/src/gep/issueReporter.js +0 -416
  117. package/src/gep/learningSignals.js +0 -1
  118. package/src/gep/llmReview.js +0 -92
  119. package/src/gep/localStateAwareness.js +0 -243
  120. package/src/gep/mailboxTransport.js +0 -119
  121. package/src/gep/memoryGraph.js +0 -1
  122. package/src/gep/memoryGraphAdapter.js +0 -1
  123. package/src/gep/mutation.js +0 -1
  124. package/src/gep/narrativeMemory.js +0 -1
  125. package/src/gep/oauthLogin.js +0 -181
  126. package/src/gep/openPRRegistry.js +0 -1
  127. package/src/gep/paths.js +0 -522
  128. package/src/gep/personality.js +0 -1
  129. package/src/gep/policyCheck.js +0 -1
  130. package/src/gep/portable.js +0 -103
  131. package/src/gep/privacyClient.js +0 -235
  132. package/src/gep/prompt.js +0 -1
  133. package/src/gep/questionGenerator.js +0 -518
  134. package/src/gep/recallInject.js +0 -1
  135. package/src/gep/recallVerifier.js +0 -1
  136. package/src/gep/reflection.js +0 -1
  137. package/src/gep/sanitize.js +0 -264
  138. package/src/gep/savingsCore.js +0 -1
  139. package/src/gep/schemas/capsule.js +0 -170
  140. package/src/gep/schemas/gene.js +0 -154
  141. package/src/gep/schemas/index.js +0 -8
  142. package/src/gep/schemas/protocol.js +0 -51
  143. package/src/gep/schemas/task.js +0 -74
  144. package/src/gep/selector.js +0 -1
  145. package/src/gep/selfPR.js +0 -469
  146. package/src/gep/signals.js +0 -776
  147. package/src/gep/skill2gep.js +0 -1056
  148. package/src/gep/skill2gepAudit.js +0 -303
  149. package/src/gep/skill2recipes.js +0 -511
  150. package/src/gep/skillDistiller.js +0 -1
  151. package/src/gep/skillPublisher.js +0 -358
  152. package/src/gep/solidify.js +0 -1
  153. package/src/gep/strategy.js +0 -1
  154. package/src/gep/taskReceiver.js +0 -575
  155. package/src/gep/tokenSavings.js +0 -1
  156. package/src/gep/trajectoryExport.js +0 -1
  157. package/src/gep/validationReport.js +0 -55
  158. package/src/gep/validator/index.js +0 -411
  159. package/src/gep/validator/reporter.js +0 -210
  160. package/src/gep/validator/sandboxExecutor.js +0 -480
  161. package/src/gep/validator/stakeBootstrap.js +0 -357
  162. package/src/gep/workspaceKeychain.js +0 -1
  163. package/src/ops/cleanup.js +0 -80
  164. package/src/ops/commentary.js +0 -60
  165. package/src/ops/health_check.js +0 -104
  166. package/src/ops/index.js +0 -11
  167. package/src/ops/innovation.js +0 -67
  168. package/src/ops/lifecycle.js +0 -798
  169. package/src/ops/self_repair.js +0 -76
  170. package/src/ops/skills_monitor.js +0 -147
  171. package/src/ops/trigger.js +0 -33
  172. package/src/proxy/clientSettings.js +0 -405
  173. package/src/proxy/envelope.js +0 -59
  174. package/src/proxy/extensions/dmHandler.js +0 -45
  175. package/src/proxy/extensions/sessionHandler.js +0 -141
  176. package/src/proxy/extensions/skillUpdater.js +0 -64
  177. package/src/proxy/extensions/traceControl.js +0 -1
  178. package/src/proxy/index.js +0 -1395
  179. package/src/proxy/inject.js +0 -1
  180. package/src/proxy/lifecycle/manager.js +0 -1568
  181. package/src/proxy/mailbox/state.js +0 -207
  182. package/src/proxy/mailbox/store.js +0 -602
  183. package/src/proxy/router/cache_passthrough.js +0 -26
  184. package/src/proxy/router/features.js +0 -84
  185. package/src/proxy/router/gemini_route.js +0 -154
  186. package/src/proxy/router/messages_route.js +0 -535
  187. package/src/proxy/router/model_router.js +0 -113
  188. package/src/proxy/router/models_route.js +0 -52
  189. package/src/proxy/router/ollama_route.js +0 -103
  190. package/src/proxy/router/responses_route.js +0 -170
  191. package/src/proxy/router/vertex_route.js +0 -110
  192. package/src/proxy/server/http.js +0 -363
  193. package/src/proxy/server/routes.js +0 -558
  194. package/src/proxy/server/settings.js +0 -115
  195. package/src/proxy/sync/engine.js +0 -179
  196. package/src/proxy/sync/inbound.js +0 -211
  197. package/src/proxy/sync/outbound.js +0 -361
  198. package/src/proxy/task/monitor.js +0 -131
  199. package/src/proxy/trace/extractor.js +0 -1
  200. package/src/proxy/trace/usage.js +0 -1
  201. package/src/solo/breaker.js +0 -25
  202. package/src/solo/gitGuard.js +0 -65
  203. package/src/webui/client/clientJs/assets.js +0 -111
  204. package/src/webui/client/clientJs/bootstrap.js +0 -92
  205. package/src/webui/client/clientJs/common.js +0 -77
  206. package/src/webui/client/clientJs/i18n.js +0 -366
  207. package/src/webui/client/clientJs/index.js +0 -35
  208. package/src/webui/client/clientJs/interactions.js +0 -351
  209. package/src/webui/client/clientJs/overview.js +0 -152
  210. package/src/webui/client/clientJs/personality.js +0 -285
  211. package/src/webui/client/clientJs/pipelines.js +0 -330
  212. package/src/webui/client/indexHtml.js +0 -221
  213. package/src/webui/client/static.js +0 -23
  214. package/src/webui/client/stylesCss.js +0 -639
  215. package/src/webui/client/vendor/README.md +0 -15
  216. package/src/webui/client/vendor/echarts.min.js +0 -45
  217. package/src/webui/index.js +0 -14
  218. package/src/webui/observer/assets.js +0 -146
  219. package/src/webui/observer/index.js +0 -37
  220. package/src/webui/observer/interactions.js +0 -127
  221. package/src/webui/observer/jsonl.js +0 -75
  222. package/src/webui/observer/paths.js +0 -46
  223. package/src/webui/observer/personality.js +0 -43
  224. package/src/webui/observer/pipelineEvents.js +0 -58
  225. package/src/webui/observer/redact.js +0 -63
  226. package/src/webui/observer/runs.js +0 -356
  227. package/src/webui/observer/safety.js +0 -57
  228. package/src/webui/observer/skills.js +0 -70
  229. package/src/webui/observer/status.js +0 -71
  230. package/src/webui/server/http.js +0 -138
  231. package/src/webui/server/routes.js +0 -41
package/README.ja-JP.md DELETED
@@ -1,521 +0,0 @@
1
- # 🧬 Evolver
2
-
3
- [![GitHub stars](https://img.shields.io/badge/Stars-8.8k-2b3137?logo=github&logoColor=white)](https://github.com/EvoMap/evolver/stargazers)
4
- [![License: GPL-3.0](https://img.shields.io/badge/License-GPL--3.0-blue.svg)](https://opensource.org/licenses/GPL-3.0)
5
- [![Node.js >= 18](https://img.shields.io/badge/Node.js-%3E%3D%2018-green.svg)](https://nodejs.org/)
6
- [![npm downloads](https://img.shields.io/npm/dm/@evomap/evolver.svg)](https://www.npmjs.com/package/@evomap/evolver)
7
- [![arXiv](https://img.shields.io/badge/arXiv-2604.15097-b31b1b.svg)](https://arxiv.org/abs/2604.15097)
8
-
9
- ![Evolver Cover](assets/cover.png)
10
-
11
- **[evomap.ai](https://evomap.ai)** | [ドキュメント](https://evomap.ai/wiki) | [English](README.md) | [中文文档](README.zh-CN.md) | [한국어 문서](README.ko-KR.md) | [GitHub](https://github.com/EvoMap/evolver) | [リリース](https://github.com/EvoMap/evolver/releases)
12
-
13
- ---
14
-
15
- > **お知らせ — ソースアベイラブルへの移行**
16
- >
17
- > Evolver は 2026-02-01 の初回リリース以来、完全にオープンソースで公開されてきました(当初は MIT、2026-04-09 以降は GPL-3.0-or-later)。2026年3月、同じ領域の別プロジェクトが、Evolver へのいかなる帰属表示もなく、メモリ・スキル・進化アセットの設計が驚くほど類似したシステムをリリースしました。詳細な分析: [Hermes Agent Self-Evolution vs. Evolver: A Detailed Similarity Analysis](https://evomap.ai/en/blog/hermes-agent-evolver-similarity-analysis)。
18
- >
19
- > 作品の完全性を守り、この方向性に投資を続けるため、今後の Evolver リリースは完全なオープンソースからソースアベイラブルへ移行します。**ユーザーへのコミットメントは変わりません**: 業界で最良のエージェント自己進化機能を引き続き提供します — より速いイテレーション、より深い GEP 統合、より強力なメモリとスキルシステム。既に公開された MIT および GPL-3.0 バージョンは、元の条件のもとで引き続き自由に利用できます。`npm install @evomap/evolver` や本リポジトリのクローンは引き続き可能で、現在のワークフローは何も壊れません。
20
- >
21
- > 質問や懸念: issue を開くか、[evomap.ai](https://evomap.ai) までお問い合わせください。
22
-
23
- ---
24
-
25
- > **研究論文 — Evolver の理論的基盤**
26
- >
27
- > **From Procedural Skills to Strategy Genes: Towards Experience-Driven Test-Time Evolution** · [arXiv:2604.15097](https://arxiv.org/abs/2604.15097) · [PDF](https://arxiv.org/pdf/2604.15097)
28
- >
29
- > 45 の科学コード求解シナリオにおける 4,590 回の対照試験を通じて、本論文はドキュメント指向の **Skill** パッケージが疎で不安定な制御信号しか提供しないのに対し、コンパクトな **Gene** 表現は最も強い総合性能を示し、大きな構造的摂動の下でも競争力を保ち、経験の反復的蓄積の担い手としても優れていることを示しました。CritPt では、gene-evolved システムは組み合わせたベースモデルを 9.1% から 18.57% へ、17.7% から 27.14% へと引き上げました。
30
- >
31
- > Evolver はこの結論を実装に落とし込んだオープンソースエンジンです。GEP プロトコルの下で、エージェントの経験を場当たり的なプロンプトやスキルドキュメントではなく、Gene と Capsule として符号化します。*なぜ* Evolver が長いスキルドキュメントではなく Gene にこだわるのか疑問に思ったことがあるなら、読むべきはこの論文です。
32
- >
33
- > 応用事例を見たい方へ:[OpenClaw x EvoMap:CritPt 評価レポート](https://evomap.ai/blog/openclaw-critpt-report) では、OpenClaw エージェントが CritPt Physics Solver 上の 5 バージョン(Beta → v2.2)にわたって、同じ Gene ベース進化ループによってスコアを 9.1% から 18.57% まで押し上げる全過程を、トークンコストの軌跡、遺伝子活性化マップ、そして推論が再利用可能な Gene に圧縮されるときに現れる「トークンが上昇してから下降する」シグネチャとともに詳述しています。
34
-
35
- ---
36
-
37
- > **「進化は任意ではない。適応するか、滅びるか。」**
38
-
39
- **3行で説明**
40
- - **何であるか**: AIエージェントのための[GEP](https://evomap.ai/wiki)駆動の自己進化エンジン。
41
- - **解決する課題**: その場限りのプロンプト調整を、監査可能で再利用可能な進化アセットに変換する。
42
- - **30秒で使い始める**: クローンし、インストールして、`evolver` を実行 -- GEPガイド付きの進化プロンプトを取得。
43
-
44
- ## EvoMap -- 進化ネットワーク
45
-
46
- Evolverは **[EvoMap](https://evomap.ai)** のコアエンジンです。EvoMapは、AIエージェントが検証済みのコラボレーションを通じて進化するネットワークです。[evomap.ai](https://evomap.ai)にアクセスして、完全なプラットフォーム -- ライブエージェントマップ、進化リーダーボード、個別のプロンプト調整を共有可能で監査可能なインテリジェンスに変えるエコシステム -- をご覧ください。
47
-
48
- キーワード: プロトコル制約付き進化、監査証跡、遺伝子とカプセル、プロンプトガバナンス。
49
-
50
-
51
- ## インストールパスの選び方
52
-
53
- Evolver のインストール方法は 1 つですが、使い方は 2 種類あります。まず自分がどちらかを決め、該当するセクションだけ読んでください。
54
-
55
- | パス | 対象読者 | インストール後のコマンド | ガイド |
56
- |---|---|---|---|
57
- | **CLI クイックスタート** | Evolver を使って Agent/プロジェクトを進化させたいだけの方。読者の 99% はこちらです。 | `evolver` | [下記](#cli-クイックスタート) |
58
- | **ソースから実行** | エンジン本体を触る、PR を投げる、未リリース版を試したい貢献者向け。 | `node index.js` | [下記](#ソースから実行貢献者向け) |
59
-
60
- > **Agent / Skill 連携** (Codex、Claude Code の skill システム、カスタム MCP クライアント) は別ドキュメント [SKILL.md](SKILL.md) を参照してください。そこでは CLI をラップする Proxy mailbox API を解説しています。まずは下記 CLI クイックスタートで Evolver をインストールしておく必要があります。
61
-
62
- ## インストール
63
-
64
- ### 前提条件
65
-
66
- - **[Node.js](https://nodejs.org/)** >= 18
67
- - **[Git](https://git-scm.com/)** -- 必須。Evolverはロールバック、影響範囲の算出、solidifyにgitを使用します。git管理外のディレクトリで実行すると、明確なエラーメッセージが表示されます。
68
-
69
- ### npm からインストール(推奨)
70
-
71
- ```bash
72
- npm install -g @evomap/evolver
73
- ```
74
-
75
- `evolver` CLI がグローバルにインストールされます。`evolver --help` で確認してください。
76
-
77
- Linux/macOS で `EACCES` エラーが出る場合は、`sudo` ではなくユーザーレベルの prefix を設定してください:
78
-
79
- ```bash
80
- npm config set prefix ~/.npm-global
81
- echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc
82
- source ~/.bashrc
83
- ```
84
-
85
- ### プラットフォーム統合
86
-
87
- Evolver は `setup-hooks` で主要な Agent ランタイムに統合できます。統合したいプラットフォームごとに 1 回実行してください。
88
-
89
- #### Cursor
90
-
91
- ```bash
92
- evolver setup-hooks --platform=cursor
93
- ```
94
-
95
- `~/.cursor/hooks.json` を書き込み、`~/.cursor/hooks/` に hook スクリプトを配置します。Cursor を再起動(または新しいセッションを開始)すると有効化されます。Hook は `sessionStart`、`afterFileEdit`、`stop` で発火します。
96
-
97
- #### Claude Code
98
-
99
- ```bash
100
- evolver setup-hooks --platform=claude-code
101
- ```
102
-
103
- `~/.claude/` を通して Claude Code の hook システムに Evolver を登録します。インストール後、Claude Code CLI を再起動してください。
104
-
105
- #### OpenClaw
106
-
107
- OpenClaw は Evolver が stdout に出力する `sessions_spawn(...)` プロトコルを解釈するため、**hook のインストールは不要**です。OpenClaw workspace に Evolver をクローンし、セッション内で実行してください:
108
-
109
- ```bash
110
- cd <your-openclaw-workspace>
111
- git clone https://github.com/EvoMap/evolver.git
112
- cd evolver
113
- npm install
114
- ```
115
-
116
- Evolver が OpenClaw セッション内で実行されると、ホストが stdout のディレクティブ(`sessions_spawn(...)` など)を拾い、後続のアクションを自動で連鎖させます。
117
-
118
- ### ソースから実行(貢献者向け)
119
-
120
- すでに `npm install -g @evomap/evolver` を済ませた方はこのセクションを完全にスキップしてください。ソース実行パスはエンジン本体を触る貢献者のみを対象としています。
121
-
122
- ```bash
123
- git clone https://github.com/EvoMap/evolver.git
124
- cd evolver
125
- npm install
126
-
127
- # ドキュメント内のすべての `evolver <flag>` は `node index.js <flag>` に置き換え可能で、挙動は同一です
128
- node index.js # evolver と等価
129
- node index.js --review # evolver --review と等価
130
- node index.js --loop # evolver --loop と等価
131
- ```
132
-
133
- ### EvoMap ネットワークへの接続(任意)
134
-
135
- [EvoMap ネットワーク](https://evomap.ai)に接続するには、**`evolver` を実行するカレントディレクトリ**(ホームディレクトリでも、グローバル npm インストール先でもありません)に `.env` ファイルを作成します。Evolver は実行のたびに `process.cwd()` から `.env` を読み込むので、プロジェクトごとに別々の `.env` を置くこともできます:
136
-
137
- ```bash
138
- # Node ID を取得するには https://evomap.ai で登録してください
139
- A2A_HUB_URL=https://evomap.ai
140
- A2A_NODE_ID=your_node_id_here
141
- ```
142
-
143
- > **注記**: Evolver は `.env` なしで完全にオフラインで動作します。Hub 接続は、スキル共有、ワーカープール、進化リーダーボードなどのネットワーク機能にのみ必要です。
144
-
145
- ## クイックスタート
146
-
147
- ```bash
148
- # 単一の進化実行 -- ログをスキャンし、Gene を選択し、GEP プロンプトを出力
149
- evolver
150
-
151
- # レビューモード -- 適用前に一時停止し、人間の確認を待つ
152
- evolver --review
153
-
154
- # 連続ループ -- バックグラウンドデーモンとして実行
155
- evolver --loop
156
- ```
157
-
158
- ## Evolver ができること・できないこと
159
-
160
- **Evolver はプロンプトジェネレータであり、コードパッチャーではありません。** 各進化サイクルでは:
161
-
162
- 1. `memory/` ディレクトリからランタイムログ、エラーパターン、シグナルをスキャンします。
163
- 2. `assets/gep/` から最適な [Gene または Capsule](https://evomap.ai/wiki) を選択します。
164
- 3. 次の進化ステップをガイドする厳密でプロトコル束縛された GEP プロンプトを発行します。
165
- 4. トレーサビリティのために監査可能な [EvolutionEvent](https://evomap.ai/wiki) を記録します。
166
-
167
- **次のことは行いません**:
168
- - ソースコードを自動的に編集する。
169
- - 任意のシェルコマンドを実行する([セキュリティモデル](#セキュリティモデル)参照)。
170
- - コア機能にインターネット接続を必要とする。
171
-
172
- ### ホストランタイムとの統合方法
173
-
174
- ホストランタイム(例: [OpenClaw](https://openclaw.com))の内部で実行される場合、stdout に出力される `sessions_spawn(...)` テキストは、フォローアップアクションをトリガーするためにホストによってピックアップされます。**スタンドアロンモードでは、これは単なるテキスト出力** -- 何も自動的に実行されません。
175
-
176
- | モード | 動作 |
177
- | :--- | :--- |
178
- | スタンドアロン (`evolver`) | プロンプトを生成し、stdout に出力し、終了 |
179
- | ループ (`evolver --loop`) | 適応的スリープ付きのデーモンループで上記を繰り返す |
180
- | OpenClaw 内 | ホストランタイムが `sessions_spawn(...)` などの stdout ディレクティブを解釈 |
181
-
182
- > **`--loop` は「動作中のエージェントをリアルタイムで支援する」モードではありません。** ループモードはバックグラウンドの自己メンテナンス(validator 実行、worker タスク、ATP マーチャント自動配信、solidify)のためのもので、その stdout は evolver 自身が消費します。したがって、たとえ OpenClaw / Cursor / Claude Code がインストールされていても、ループモードで出力される `sessions_spawn(...)` ディレクティブはこれらのホストには届きません。evolver にライブセッションを観察・補助させたい場合は、そのエージェントセッションの **内部から** `evolver` を呼び出してください(OpenClaw はその単一ランの stdout ディレクティブを取り込みます)。OpenClaw ユーザーはさらに、`AGENT_NAME`(または `AGENT_SESSIONS_DIR`)が実際にセッションを生成しているエージェントのディレクトリ(`~/.openclaw/agents/<名前>/sessions/`)を指していることを確認してください -- さもないと evolver は自身のログにフォールバックし、「空転している」ように見えます。
183
-
184
- ## 対象ユーザー
185
-
186
- **向いている**
187
- - 大規模にエージェントプロンプトとログを保守するチーム
188
- - 監査可能な進化トレース([Genes](https://evomap.ai/wiki)、[Capsules](https://evomap.ai/wiki)、[Events](https://evomap.ai/wiki))が必要なユーザー
189
- - 決定論的でプロトコル束縛された変更を要求する環境
190
-
191
- **向いていない**
192
- - ログや履歴のない使い捨てスクリプト
193
- - 自由形式で創造的な変更を必要とするプロジェクト
194
- - プロトコルのオーバーヘッドを許容できないシステム
195
-
196
- ## 機能
197
-
198
- - **自動ログ解析**: メモリと履歴ファイルをスキャンしてエラーとパターンを検出。
199
- - **自己修復ガイダンス**: シグナルから修復に焦点を当てたディレクティブを発行。
200
- - **[GEP プロトコル](https://evomap.ai/wiki)**: 再利用可能なアセットによる標準化された進化。
201
- - **Mutation + Personality 進化**: 各進化実行は明示的な Mutation オブジェクトと進化可能な PersonalityState でゲート。
202
- - **設定可能な戦略プリセット**: `EVOLVE_STRATEGY=balanced|innovate|harden|repair-only` でインテントバランスを制御。
203
- - **シグナル重複排除**: 停滞パターンを検出して修復ループを防止。
204
- - **オペレーションモジュール** (`src/ops/`): ポータブルなライフサイクル、スキル監視、クリーンアップ、自己修復、ウェイクトリガー -- プラットフォーム依存ゼロ。
205
- - **保護されたソースファイル**: 自律エージェントがコア evolver コードを上書きすることを防止。
206
- - **[Skill Store](https://evomap.ai)**: `evolver fetch --skill <id>` で再利用可能なスキルをダウンロードおよび共有。
207
-
208
- ## 典型的なユースケース
209
-
210
- - 編集前に検証を強制することで不安定なエージェントループを強化
211
- - 繰り返し発生する修正を再利用可能な [Genes と Capsules](https://evomap.ai/wiki) としてエンコード
212
- - レビューまたはコンプライアンスのための監査可能な進化イベントを生成
213
-
214
- ## アンチパターン
215
-
216
- - シグナルや制約なしでサブシステム全体を書き直す
217
- - プロトコルを汎用タスクランナーとして使用する
218
- - EvolutionEvent を記録せずに変更を生成する
219
-
220
- ## 使い方
221
-
222
- ### 標準実行(自動)
223
- ```bash
224
- evolver
225
- ```
226
-
227
- ### レビューモード(Human-in-the-Loop)
228
- ```bash
229
- evolver --review
230
- ```
231
-
232
- ### 連続ループ
233
- ```bash
234
- evolver --loop
235
- ```
236
-
237
- ### 戦略プリセット付き
238
- ```bash
239
- EVOLVE_STRATEGY=innovate evolver --loop # 新機能を最大化
240
- EVOLVE_STRATEGY=harden evolver --loop # 安定性に注力
241
- EVOLVE_STRATEGY=repair-only evolver --loop # 緊急修正モード
242
- ```
243
-
244
- | 戦略 | Innovate | Optimize | Repair | 使用タイミング |
245
- | :--- | :--- | :--- | :--- | :--- |
246
- | `balanced` (デフォルト) | 50% | 30% | 20% | 日常運用、着実な成長 |
247
- | `innovate` | 80% | 15% | 5% | システム安定、新機能を素早く出荷 |
248
- | `harden` | 20% | 40% | 40% | 大きな変更後、安定性に注力 |
249
- | `repair-only` | 0% | 20% | 80% | 緊急状態、全力修復 |
250
-
251
- ### オペレーション(ライフサイクル管理)
252
- ```bash
253
- node src/ops/lifecycle.js start # バックグラウンドで evolver ループを起動
254
- node src/ops/lifecycle.js stop # グレースフル停止 (SIGTERM -> SIGKILL)
255
- node src/ops/lifecycle.js status # 実行状態を表示
256
- node src/ops/lifecycle.js check # ヘルスチェック + 停滞時の自動再起動
257
- ```
258
-
259
- ### Skill Store
260
- ```bash
261
- # EvoMap ネットワークからスキルをダウンロード
262
- evolver fetch --skill <skill_id>
263
-
264
- # 出力ディレクトリを指定
265
- evolver fetch --skill <skill_id> --out=./my-skills/
266
- ```
267
-
268
- `A2A_HUB_URL` の設定が必要です。利用可能なスキルは [evomap.ai](https://evomap.ai) でご覧ください。
269
-
270
- ### Cron / 外部ランナーのキープアライブ
271
-
272
- cron/エージェントランナーから定期的なキープアライブ/ティックを実行する場合、クォートを最小限にしたシンプルな単一コマンドを推奨します。
273
-
274
- 推奨:
275
-
276
- ```bash
277
- bash -lc 'evolver --loop'
278
- ```
279
-
280
- cron ペイロード内で複数のシェルセグメントを組み合わせることは避けてください(例: `...; echo EXIT:$?`)。ネストされたクォートが複数のシリアライズ/エスケープ層を通過すると壊れることがあります。
281
-
282
- pm2 などのプロセスマネージャでも同じ原則が適用されます -- コマンドをシンプルにラップします:
283
-
284
- ```bash
285
- pm2 start "bash -lc 'evolver --loop'" --name evolver --cron-restart="0 */6 * * *"
286
- ```
287
-
288
- ## EvoMap Hub への接続
289
-
290
- Evolver は、ネットワーク機能のために [EvoMap Hub](https://evomap.ai) にオプションで接続できます。これはコア進化機能には**必須ではありません**。
291
-
292
- ### セットアップ
293
-
294
- 1. [evomap.ai](https://evomap.ai) で登録して Node ID を取得します。
295
- 2. `.env` ファイルに次を追加します:
296
-
297
- ```bash
298
- A2A_HUB_URL=https://evomap.ai
299
- A2A_NODE_ID=your_node_id_here
300
- ```
301
-
302
- ### Hub 接続で有効になる機能
303
-
304
- | 機能 | 説明 |
305
- | :--- | :--- |
306
- | **ハートビート** | Hub との定期的なチェックイン。ノード状態を報告し、利用可能な作業を受信 |
307
- | **Skill Store** | 再利用可能なスキルのダウンロードおよび公開 (`evolver fetch`) |
308
- | **ワーカープール** | ネットワークから進化タスクを受け入れて実行([ワーカープール](#ワーカープール-evomap-ネットワーク)参照) |
309
- | **進化サークル** | 共有コンテキストによる協調進化グループ |
310
- | **アセット公開** | Gene と Capsule をネットワークと共有 |
311
-
312
- ### 仕組み
313
-
314
- Hub が設定された状態で `evolver --loop` を実行すると:
315
-
316
- 1. 起動時に、evolver は Hub に登録するために `hello` メッセージを送信します。
317
- 2. ハートビートは 6 分ごとに送信されます(`HEARTBEAT_INTERVAL_MS` で設定可能)。
318
- 3. Hub は利用可能な作業、期限超過タスクのアラート、スキルストアのヒントで応答します。
319
- 4. `WORKER_ENABLED=1` の場合、ノードは機能を公開してタスクを取得します。
320
-
321
- Hub 設定なしでは、evolver は完全にオフラインで実行されます -- すべてのコア進化機能はローカルで動作します。
322
-
323
- ## ワーカープール (EvoMap ネットワーク)
324
-
325
- `WORKER_ENABLED=1` の場合、このノードは [EvoMap ネットワーク](https://evomap.ai) のワーカーとして参加します。ハートビート経由で機能を公開し、ネットワークの利用可能な作業キューからタスクを取得します。タスクは進化サイクルの成功後の solidify 中にアトミックにクレームされます。
326
-
327
- | 変数 | デフォルト | 説明 |
328
- |----------|---------|-------------|
329
- | `WORKER_ENABLED` | _(未設定)_ | `1` に設定してワーカープールモードを有効化 |
330
- | `WORKER_DOMAINS` | _(空)_ | このワーカーが受け入れるタスクドメインのカンマ区切りリスト (例: `repair,harden`) |
331
- | `WORKER_MAX_LOAD` | `5` | ハブ側スケジューリング用に公開される最大同時タスク容量(ローカルで強制される同時実行制限ではない) |
332
-
333
- ```bash
334
- WORKER_ENABLED=1 WORKER_DOMAINS=repair,harden WORKER_MAX_LOAD=3 evolver --loop
335
- ```
336
-
337
- ### WORKER_ENABLED と Website のトグル
338
-
339
- [evomap.ai](https://evomap.ai) のダッシュボードにはノード詳細ページに「Worker」トグルがあります。両者の関係は次のとおりです:
340
-
341
- | 制御 | スコープ | 動作 |
342
- | :--- | :--- | :--- |
343
- | `WORKER_ENABLED=1` (環境変数) | **ローカル** | ローカル evolver デーモンにハートビートでワーカーメタデータを含めてタスクを受け入れるよう指示 |
344
- | Website トグル | **Hub 側** | Hub にこのノードへタスクをディスパッチするかどうかを指示 |
345
-
346
- ノードがネットワークからタスクを受け取って実行するには**両方が有効**である必要があります。どちらかがオフの場合、ノードはネットワークから作業を取得しません。推奨フロー:
347
-
348
- 1. `.env` に `WORKER_ENABLED=1` を設定し、`evolver --loop` を開始します。
349
- 2. [evomap.ai](https://evomap.ai) に移動し、自分のノードを見つけて Worker トグルをオンにします。
350
-
351
- ## GEP プロトコル (監査可能な進化)
352
-
353
- このリポジトリには [GEP (Genome Evolution Protocol)](https://evomap.ai/wiki) に基づくプロトコル制約付きプロンプトモードが含まれています。
354
-
355
- - **構造化アセット**は `assets/gep/` にあります:
356
- - `assets/gep/genes.json`
357
- - `assets/gep/capsules.json`
358
- - `assets/gep/events.jsonl`
359
- - **セレクタ**ロジックは抽出されたシグナルを使用して既存の Gene/Capsule を優先し、プロンプトで JSON セレクタ決定を発行します。
360
- - **制約**: ドキュメントで許可されるのは DNA 絵文字のみ。他のすべての絵文字は禁止。
361
-
362
- ## 設定と分離
363
-
364
- Evolver は**環境非依存**になるよう設計されています。
365
-
366
- ### コア環境変数
367
-
368
- | 変数 | 説明 | デフォルト |
369
- | :--- | :--- | :--- |
370
- | `EVOLVE_STRATEGY` | 進化戦略プリセット (`balanced` / `innovate` / `harden` / `repair-only`) | `balanced` |
371
- | `A2A_HUB_URL` | [EvoMap Hub](https://evomap.ai) URL | _(未設定、オフラインモード)_ |
372
- | `A2A_NODE_ID` | ネットワーク上のノードアイデンティティ | _(デバイスフィンガープリントから自動生成)_ |
373
- | `HEARTBEAT_INTERVAL_MS` | Hub ハートビート間隔 | `360000` (6 分) |
374
- | `MEMORY_DIR` | メモリファイルのパス | `./memory` |
375
- | `EVOLVE_REPORT_TOOL` | 結果報告用のツール名 | `message` |
376
-
377
- ### ローカルオーバーライド(注入)
378
- コアコードを変更せずに、ローカル設定(例: レポートに `message` の代わりに `feishu-card` を使用)を注入できます。
379
-
380
- **方法 1: 環境変数**
381
- `.env` ファイルに `EVOLVE_REPORT_TOOL` を設定:
382
- ```bash
383
- EVOLVE_REPORT_TOOL=feishu-card
384
- ```
385
-
386
- **方法 2: 動的検出**
387
- スクリプトは、互換性のあるローカルスキル(`skills/feishu-card` など)がワークスペースに存在するかを自動的に検出し、それに応じて動作をアップグレードします。
388
-
389
- ### バリデータ役割(デフォルト ON)
390
-
391
- [EvoMap Hub](https://evomap.ai) に接続すると、各 evolver インスタンスは**分散バリデータ**としても動作します:hub から割り当てられた検証タスクを定期的に取得し、提案者が宣言した検証コマンドをサンドボックスで実行し、`ValidationReport` を返送します。コンセンサスに参加したバリデータはクレジットと評判を獲得します。
392
-
393
- | 変数 | デフォルト | 説明 |
394
- |------|-----------|------|
395
- | `EVOLVER_VALIDATOR_ENABLED` | _(未設定 = ON)_ | `0`/`false`/`off` でオプトアウト、`1`/`true`/`on` で強制 ON。env が hub プッシュフラグおよびコードのデフォルトより優先されます。 |
396
- | `EVOLVER_VALIDATOR_DAEMON_INTERVAL_MS` | `60000` | `--loop`/`--mad-dog` モードでのバリデータ常駐ポーリング間隔。 |
397
- | `EVOLVER_VALIDATOR_MAX_TASKS_PER_CYCLE` | `2` | ポーリングごとの最大取得タスク数。 |
398
- | `EVOLVER_VALIDATOR_FETCH_TIMEOUT_MS` | `8000` | 1 回のフェッチのタイムアウト。 |
399
-
400
- 永続フラグの上書き:env が未設定の場合、ランタイムは `~/.evomap/feature_flags.json` を読み込みます。Hub は既存の mailbox 経由で `feature_flag_update` イベントを送り、アップグレード後のレガシーノードを自動 ON にできます。
401
-
402
- 永続的にオプトアウト:
403
-
404
- ```bash
405
- EVOLVER_VALIDATOR_ENABLED=0 evolver --loop
406
- ```
407
-
408
- ### GitHub Issue 自動報告
409
-
410
- evolver が持続的な失敗(失敗ループまたは高い失敗率での繰り返しエラー)を検出すると、サニタイズされた環境情報とログで GitHub issue を上流リポジトリに自動的にファイルできます。すべての機密データ(トークン、ローカルパス、メールなど)は送信前に編集されます。
411
-
412
- | 変数 | デフォルト | 説明 |
413
- |----------|---------|-------------|
414
- | `EVOLVER_AUTO_ISSUE` | `true` | 自動 issue 報告の有効/無効 |
415
- | `EVOLVER_ISSUE_REPO` | `EvoMap/evolver` | ターゲット GitHub リポジトリ (owner/repo) |
416
- | `EVOLVER_ISSUE_COOLDOWN_MS` | `86400000` (24h) | 同じエラーシグネチャのクールダウン期間 |
417
- | `EVOLVER_ISSUE_MIN_STREAK` | `5` | トリガーする最小連続失敗ストリーク |
418
-
419
- `repo` スコープを持つ `GITHUB_TOKEN`(または `GH_TOKEN` / `GITHUB_PAT`)が必要です。トークンが利用できない場合、機能は静かにスキップされます。
420
-
421
- ## セキュリティモデル
422
-
423
- このセクションでは、Evolver の実行境界と信頼モデルについて説明します。
424
-
425
- ### 何が実行され、何が実行されないか
426
-
427
- | コンポーネント | 動作 | シェルコマンドを実行? |
428
- | :--- | :--- | :--- |
429
- | `src/evolve.js` | ログ読み取り、Gene 選択、プロンプト構築、アーティファクト書き込み | 読み取り専用の git/プロセスクエリのみ |
430
- | `src/gep/prompt.js` | GEP プロトコルプロンプト文字列を組み立て | いいえ(純粋なテキスト生成) |
431
- | `src/gep/selector.js` | シグナルマッチングで Gene/Capsule をスコアリングおよび選択 | いいえ(純粋なロジック) |
432
- | `src/gep/solidify.js` | Gene の `validation` コマンド経由でパッチを検証 | はい(下記参照) |
433
- | `index.js` (ループ復旧) | クラッシュ時に `sessions_spawn(...)` テキストを stdout に出力 | いいえ(テキスト出力のみ;実行はホストランタイムに依存) |
434
-
435
- ### Gene 検証コマンドの安全性
436
-
437
- `solidify.js` は Gene の `validation` 配列に列挙されたコマンドを実行します。任意のコマンド実行を防ぐため、すべての検証コマンドは安全性チェック (`isValidationCommandAllowed`) によってゲートされています:
438
-
439
- 1. **プレフィックスホワイトリスト**: `node`、`npm`、`npx` で始まるコマンドのみ許可。
440
- 2. **コマンド置換なし**: バッククォートと `$(...)` はコマンド文字列のどこでも拒否。
441
- 3. **シェル演算子なし**: 引用されたコンテンツを削除した後、`;`、`&`、`|`、`>`、`<` は拒否。
442
- 4. **タイムアウト**: 各コマンドは 180 秒に制限。
443
- 5. **スコープ実行**: コマンドは `cwd` をリポジトリルートに設定して実行。
444
-
445
- ### A2A 外部アセット取り込み
446
-
447
- `scripts/a2a_ingest.js` 経由で取り込まれた外部 Gene/Capsule アセットは、分離された候補ゾーンにステージングされます。ローカルストア (`scripts/a2a_promote.js`) への昇格には次が必要です:
448
-
449
- 1. 明示的な `--validated` フラグ(オペレータが最初にアセットを検証する必要がある)。
450
- 2. Gene の場合: すべての `validation` コマンドは昇格前に同じ安全性チェックに対して監査されます。安全でないコマンドは昇格を拒否されます。
451
- 3. Gene 昇格は、同じ ID の既存のローカル Gene を決して上書きしません。
452
-
453
- ### `sessions_spawn` 出力
454
-
455
- `index.js` と `evolve.js` の `sessions_spawn(...)` 文字列は、直接の関数呼び出しではなく、**stdout へのテキスト出力**です。これらが解釈されるかどうかはホストランタイム(例: OpenClaw プラットフォーム)に依存します。evolver 自体は `sessions_spawn` を実行可能コードとして呼び出しません。
456
-
457
- ## バージョニング (SemVer)
458
-
459
- MAJOR.MINOR.PATCH
460
-
461
- - MAJOR: 互換性のない変更
462
- - MINOR: 後方互換性のある機能
463
- - PATCH: 後方互換性のあるバグ修正
464
-
465
- ## 変更履歴
466
-
467
- 完全なリリース履歴は [GitHub Releases](https://github.com/EvoMap/evolver/releases) をご覧ください。
468
-
469
- ## FAQ
470
-
471
- **これはコードを自動的に編集しますか?**
472
- いいえ。Evolver は進化をガイドするプロトコル束縛のプロンプトとアセットを生成します。ソースコードを直接変更することはありません。[Evolver ができること・できないこと](#evolver-ができることできないこと) を参照してください。
473
-
474
- **`evolver --loop` を実行したが、テキストを出力し続けるだけです。動作していますか?**
475
- はい。スタンドアロンモードでは、evolver は GEP プロンプトを生成して stdout に出力します。変更を自動的に適用すると期待した場合は、出力を解釈する [OpenClaw](https://openclaw.com) のようなホストランタイムが必要です。または、`--review` モードを使用して各進化ステップを手動でレビューして適用します。
476
-
477
- **EvoMap Hub への接続は必要ですか?**
478
- いいえ。すべてのコア進化機能はオフラインで動作します。Hub 接続は、スキルストア、ワーカープール、進化リーダーボードなどのネットワーク機能にのみ必要です。[EvoMap Hub への接続](#evomap-hub-への接続) を参照してください。
479
-
480
- **すべての GEP アセットを使用する必要がありますか?**
481
- いいえ。デフォルトの Gene から始めて、時間をかけて拡張できます。
482
-
483
- **本番環境で安全ですか?**
484
- レビューモードと検証ステップを使用してください。ライブパッチャーではなく、安全性重視の進化ツールとして扱ってください。[セキュリティモデル](#セキュリティモデル) を参照してください。
485
-
486
- **このリポジトリはどこにクローンすべきですか?**
487
- 任意のディレクトリにクローンします。[OpenClaw](https://openclaw.com) を使用する場合は、ホストランタイムが evolver の stdout にアクセスできるよう、OpenClaw ワークスペースにクローンします。スタンドアロン使用の場合、任意の場所で動作します。
488
-
489
- ## ロードマップ
490
-
491
- 方針であり確約ではありません。最新のバックログは [GitHub Issues](https://github.com/EvoMap/evolver/issues) を参照してください。
492
-
493
- - **オンボーディング**: 1 分間のクイックスタートデモと、他のエージェント進化手法との比較表。
494
- - **GEP 統合の深化**: より豊富なシグナル抽出と Gene / Capsule 選択、および再利用アナリティクス。
495
- - **メモリとスキル**: セッション結果を再利用可能な Gene / Capsule へより速く蒸留。
496
- - **対応ランタイムの拡大**: Cursor / Claude Code / Codex / Kiro / opencode / OpenClaw 以外のホスト統合を拡充。
497
-
498
- ## Star 履歴
499
-
500
- [![Star History Chart](https://api.star-history.com/svg?repos=EvoMap/evolver&type=Date)](https://star-history.com/#EvoMap/evolver&Date)
501
-
502
- ## 謝辞
503
-
504
- - [onthebigtree](https://github.com/onthebigtree) -- evomap 進化ネットワークの作成にインスピレーションを与えた。3 つのランタイムおよびロジックバグを修正(PR [#25](https://github.com/EvoMap/evolver/pull/25))。ホスト名プライバシーハッシュ、ポータブルな検証パス、デッドコードクリーンアップに貢献(PR [#26](https://github.com/EvoMap/evolver/pull/26))。
505
- - [lichunr](https://github.com/lichunr) -- 私たちのコンピュートネットワークが無料で使用するために数千ドル相当のトークンを提供。
506
- - [shinjiyu](https://github.com/shinjiyu) -- 多数のバグレポートを提出し、スニペット付きタグを持つ多言語シグナル抽出に貢献(PR [#112](https://github.com/EvoMap/evolver/pull/112))。
507
- - [voidborne-d](https://github.com/voidborne-d) -- 11 の新しい認証情報編集パターンでブロードキャスト前のサニタイズを強化(PR [#107](https://github.com/EvoMap/evolver/pull/107))。strategy、validationReport、envFingerprint のために 45 のテストを追加(PR [#139](https://github.com/EvoMap/evolver/pull/139))。
508
- - [blackdogcat](https://github.com/blackdogcat) -- 欠落していた dotenv 依存関係を修正し、インテリジェントな CPU 負荷閾値自動計算を実装(PR [#144](https://github.com/EvoMap/evolver/pull/144))。
509
- - [LKCY33](https://github.com/LKCY33) -- .env 読み込みパスとディレクトリ権限を修正(PR [#21](https://github.com/EvoMap/evolver/pull/21))。
510
- - [hendrixAIDev](https://github.com/hendrixAIDev) -- ドライランモードで performMaintenance() が実行される問題を修正(PR [#68](https://github.com/EvoMap/evolver/pull/68))。
511
- - [toller892](https://github.com/toller892) -- events.jsonl forbidden_paths バグを独立に特定して報告(PR [#149](https://github.com/EvoMap/evolver/pull/149))。
512
- - [WeZZard](https://github.com/WeZZard) -- SKILL.md に A2A_NODE_ID セットアップガイドを追加し、NODE_ID が明示的に設定されていない場合に a2aProtocol でコンソール警告を追加(PR [#164](https://github.com/EvoMap/evolver/pull/164))。
513
- - [Golden-Koi](https://github.com/Golden-Koi) -- README に cron/外部ランナーキープアライブのベストプラクティスを追加(PR [#167](https://github.com/EvoMap/evolver/pull/167))。
514
- - [upbit](https://github.com/upbit) -- evolver および evomap 技術の普及に重要な役割を果たした。
515
- - [Chi Jianqiang](https://mowen.cn) -- プロモーションとユーザー体験の改善に多大な貢献。
516
-
517
- ## ライセンス
518
-
519
- [GPL-3.0-or-later](https://opensource.org/licenses/GPL-3.0)
520
-
521
- > コア進化エンジンモジュールは、知的財産を保護するために難読化された形式で配布されます。ソース: [EvoMap/evolver](https://github.com/EvoMap/evolver)。