(extraEnv = {})
| 279 | } |
| 280 | |
| 281 | function daemonChildEnv(extraEnv = {}) { |
| 282 | return { |
| 283 | ...process.env, |
| 284 | EVOLVE_LOOP: 'true', |
| 285 | A2A_HUB_URL: '', |
| 286 | EVOLVER_REPO_ROOT: tmpDir, |
| 287 | EVOLVER_CAFFEINATE: '0', |
| 288 | // Isolate the singleton pid-file in tmpDir so concurrent tests (and |
| 289 | // a real daemon at the dev repo) do not block this spawn. |
| 290 | EVOLVER_LOCK_DIR: tmpDir, |
| 291 | EVOLVER_SETTINGS_DIR: path.join(tmpDir, '.evolver-settings'), |
| 292 | EVOMAP_PROXY: '0', |
| 293 | EVOMAP_PROXY_AUTO_INJECT: 'off', |
| 294 | CLAUDE_SETTINGS_FILE: path.join(tmpDir, '.claude', 'settings.json'), |
| 295 | EVOLVER_SUICIDE: 'false', |
| 296 | EVOLVER_CYCLE_TIMEOUT_ENABLED: 'false', |
| 297 | EVOLVER_CYCLE_TIMEOUT_MS: '2700000', |
| 298 | EVOLVER_MIN_SLEEP_MS: '1', |
| 299 | EVOLVER_MAX_SLEEP_MS: '1', |
| 300 | EVOLVE_PENDING_SLEEP_MS: '1', |
| 301 | EVOLVER_MAX_CYCLES_PER_PROCESS: '1', |
| 302 | ...extraEnv, |
| 303 | }; |
| 304 | } |
| 305 | |
| 306 | function runDaemonOnce(extraEnv = {}) { |
| 307 | ensureGitRepo(tmpDir); |
no outgoing calls
no test coverage detected