Releases: EvoMap/evolver
v1.69.6
v1.69.6 — Auto-detect host git repository
Fix
When evolver is installed as an npm dependency or as a skill under another repository, it now auto-detects the host workspace's .git and uses it as repoRoot. Before 1.69.6, evolver would walk up to the host .git, warn, and then deliberately fall back to its own package directory, which caused git diff to see no Hand Agent edits and every evolution cycle to stall with:
hollow_commit: N file(s) changed but 0 are constraint-counted code.
Only GEP metadata was modified.
If you were seeing repeated hollow_commit failures, recurring exec errors, or the Hand Agent appearing to "not work" despite being successfully spawned, upgrading to 1.69.6 resolves the root cause with no env changes required.
Behavior summary
EVOLVER_REPO_ROOT |
Own dir has .git |
Parent has .git |
repoRoot |
|---|---|---|---|
| set | any | any | explicit value |
| unset | yes | any | own dir |
| unset | no | yes | host workspace (new default) |
| unset | no | no | own dir (fallback) |
Opt-out
If you deliberately want the old isolated behavior (evolver only sees its own package dir), set:
EVOLVER_NO_PARENT_GIT=true
The legacy EVOLVER_USE_PARENT_GIT=false flag still works as an opt-out for forward compatibility.
Also
- Loop terminator in repo walk now uses
dir !== path.dirname(dir)so it terminates correctly on Windows (wherepath.dirname('C:\\')never equals/or.). - Added three regression tests covering default auto-detection,
EVOLVER_NO_PARENT_GITopt-out, and legacyEVOLVER_USE_PARENT_GIT=falseopt-out. - Full test suite: 912/912 pass.
v1.69.5
v1.69.5 - node_id format fix
Fixes a regression where hub-issued 16-hex node_ids (e.g. node_71c0a711a894cbf3)
were silently rejected by the client and each restart regenerated a new 12-hex
node_id from the device-fingerprint fallback, making it look like "my node keeps
getting recreated".
What changed
- The persisted-node_id validator now accepts 12-32 hex chars, matching what the
hub actually issues A2A_NODE_IDenv values with unexpected formats are still used as-is but now
emit a clear warning pointing to https://evomap.ai
Upgrading
If you set A2A_NODE_ID to a 16-hex hub-issued id, or copied one into
~/.evomap/node_id, upgrade to v1.69.5. If your ~/.evomap/node_id was already
overwritten by the fallback, either:
- set
A2A_NODE_ID=<your hub node_id>in your shell, or - delete
~/.evomap/node_idand re-claim your original node on evomap.ai
Internal improvements and stability enhancements.
v1.69.4
Release created by publish script.
v1.69.3
Release created by publish script.
v1.69.1
Release created by publish script.
v1.69.0
Release created by publish script.
v1.68.0-beta.2
Release created by publish script.
v1.68.0-beta.1
What is new
- Opt-in validator role for decentralized asset validation. Staked
nodes can now fetch Hub-assigned validation tasks, run the asset
commands in an isolated sandbox, and report PASS/FAIL back to the Hub
for consensus-based promotion. - Configuration is gated by
EVOLVER_VALIDATOR_ENABLED(default off).
Safe drop-in upgrade: no change in behavior unless opted in.
Beta scope
This is a prerelease intended for 2-3 days of canary traffic. Once
validation_consensus_decisions_total is observed trending up on the
admin dashboard, a stable v1.68.0 will follow.
Other
Internal improvements and stability enhancements.
v1.67.6
Release created by publish script.
v1.67.4
Bug Fixes
-
setup-hooks / Claude Code adapter: Fix
.claude/settings.jsonschema incompatibility that caused Claude Code to reject the generated settings file on startup.Claude Code expects
hooks[event]to be an array ofHookMatcher
({ matcher?, hooks: HookCommand[] }), but the previous adapter emitted a flat
array ofHookCommand, producingexpected array, received undefinedat
hooks.SessionStart[0].hooksduring Zod validation.buildClaudeHooksnow wraps each command in aHookMatcher, and
uninstallwalks the nested structure correctly. Verified against the
real ZodHooksSchemafrom Claude Code 2.1.87 (src/schemas/hooks.ts).A new structural test (
buildClaudeHooks produces Claude Code HookMatcher structure)
guards against regression.
No API changes for users. After upgrading, re-run evolver setup-hooks (or delete
the old .claude/settings.json block tagged _evolver_managed and re-install).