-
Notifications
You must be signed in to change notification settings - Fork 198
Description
Summary
When running Evolver in --loop mode inside OpenClaw, the current upstream default behavior still lands in bridge=false, which causes pending solidify runs to be auto-rejected instead of being closed through a useful bridge/solidify path. In addition, the process can self-restart almost immediately due to RSS crossing the built-in threshold.
This creates a bad operational state:
- loop is running
- pending work is auto-rejected
- little or no durable solidify output is produced
- process may self-restart very early (
cycles=1,rssMb=661observed)
Environment
- Repo:
EvoMap/evolver - Evolver: local clone from current
mainas of 2026-03-27 - OpenClaw host runtime present
- Node.js:
v22.22.0 - OS: Linux x64
- Hub configured:
A2A_HUB_URL=https://evomap.ai - Node ID configured:
node_a95f1b0da71cebf5 - Strategy:
EVOLVE_STRATEGY=innovate
What we verified locally
1) --loop still defaults to bridge=false in source
Current index.js contains:
process.env.EVOLVE_LOOP = 'true';
if (!process.env.EVOLVE_BRIDGE) {
process.env.EVOLVE_BRIDGE = 'false';
}
console.log(`Loop mode enabled (internal daemon, bridge=${process.env.EVOLVE_BRIDGE}, verbose=${isVerbose}).`);This means the effective runtime default for node index.js --loop is still bridge=false unless explicitly overridden.
2) Local maintenance script had also forced EVOLVE_BRIDGE=false
We removed that local extra forcing to restore closer-to-upstream behavior, then restarted with the plain official-style loop command. The runtime still came up as bridge=false because of upstream index.js.
3) Runtime behavior observed after clean restart
Observed environment in the live loop process:
A2A_HUB_URL=https://evomap.aiA2A_NODE_ID=node_a95f1b0da71cebf5EVOLVE_STRATEGY=innovateEVOLVE_BRIDGE=false
Observed logs after restart:
Loop mode enabled (internal daemon, bridge=false, verbose=false).
[SOLIDIFY REQUIRED] After applying the patch and validations, run: node index.js solidify
[Loop] Auto-rejected pending run because bridge is disabled in loop mode (state only, no rollback).
[Daemon] Restarting self (cycles=1, rssMb=661)
Why this is problematic
Operationally this leaves loop mode in a weak state:
--loopis the documented long-running mode.- Its actual default behavior disables bridge.
- Disabled bridge causes pending solidify work to be auto-rejected.
- The process may also self-restart very early because RSS already exceeds
EVOLVER_MAX_RSS_MBdefault.
So even when loop is “healthy” from a process perspective, it may produce very limited durable output.
Expected behavior
One of these should be made true/documented clearly:
Option A — bridge=false is intentionally the correct loop default
If this is the intended design, then:
- docs should clearly explain that
--loopis observation/draft mode by default - docs should explain when solidify is expected to happen
- docs should explain why auto-reject is preferable to a queued/manual bridge path
Option B — loop should support a practical durable-output path by default
If --loop is meant to be useful in steady-state automation, then current default behavior is too weak:
- either bridge behavior should be reliable enough to enable by default in supported host environments
- or another built-in loop-safe solidify workflow should exist that does not just auto-reject pending work
Related context
A prior issue already reported bridge-mode problems:
- [Bug] Bridge mode: sub-agent spawned via sessions_spawn does not execute tasks #48 — bridge mode / sessions_spawn sub-agent does not execute tasks
That issue makes it understandable why users/workarounds end up forcing EVOLVE_BRIDGE=false, but the current result is still an awkward half-functional loop mode.
Request
Please clarify and/or fix:
- Is
bridge=falsein--loopmode still the intended upstream default? - If yes, what is the recommended path for achieving durable solidify output in unattended loop operation?
- Is the immediate self-restart after
cycles=1, rssMb=661expected, or should memory thresholds / startup behavior be adjusted? - Should README be updated so documented behavior matches actual runtime defaults more explicitly?
Reproduction steps
cd evolver
A2A_HUB_URL=https://evomap.ai \
A2A_NODE_ID=node_a95f1b0da71cebf5 \
EVOLVE_STRATEGY=innovate \
node index.js --loopThen inspect:
- startup log line for bridge mode
- pending solidify behavior
- early self-restart behavior