Summary
On Codex, evolver run can generate pending review state and local artifacts successfully, but the process does not exit naturally and remains alive as a residual node process.
This appears to be separate from:
- the old
_memoryFiltering.js copy bug (#547)
- the older Codex context/session-log discovery issues (
#540, #543)
Those areas improved, but this process-lifecycle issue still affects actual usability.
Environment
- OS: Windows
- Host: Codex
- node:
v22.15.0
- npm:
11.6.2
- package:
@evomap/evolver@1.87.2
- also observed on
@evomap/evolver@1.86.1
What I did
-
Installed the latest package:
npm install -g @evomap/evolver@1.87.2 --prefer-online --no-audit
-
In a fresh git repo, ran:
evolver setup-hooks --platform=codex
-
Verified the generated Codex hooks:
session-start runs and returns {}
session-end runs and returns {}
-
Ran:
-
Waited for local artifacts/state, then checked:
assets/gep/candidates.jsonl
memory/evolution/memory_graph.jsonl
memory/evolution/evolution_solidify_state.json
- residual
node / evolver processes
-
Ran:
Actual behavior
evolver run does not exit naturally within the observation window, but by that time it has already produced:
candidates.jsonl
memory_graph.jsonl
evolution_solidify_state.json with last_run
evolver review can then read the pending run correctly.
So the sequence is effectively:
- pending run state is written
- reviewable artifacts are written
- but the
evolver run process stays alive instead of terminating
This leaves a residual node process that may need to be killed manually before continuing.
Why this matters
This is not the same as "run failed."
The core pipeline seems to reach a reviewable state, but the process lifecycle does not finish cleanly. In practice this hurts:
- CLI usability
- automation expectations
- host integration reliability
- human review flow, because a still-running process can keep mutating or rewriting state while review is already possible
Expected behavior
After the pending state and reviewable local artifacts are fully written, evolver run should terminate cleanly instead of remaining as a residual process.
If some long-running background mode is intended, that should be explicit and documented separately from the normal evolver run behavior.
Summary
On Codex,
evolver runcan generate pending review state and local artifacts successfully, but the process does not exit naturally and remains alive as a residualnodeprocess.This appears to be separate from:
_memoryFiltering.jscopy bug (#547)#540,#543)Those areas improved, but this process-lifecycle issue still affects actual usability.
Environment
v22.15.011.6.2@evomap/evolver@1.87.2@evomap/evolver@1.86.1What I did
Installed the latest package:
In a fresh git repo, ran:
Verified the generated Codex hooks:
session-startruns and returns{}session-endruns and returns{}Ran:
Waited for local artifacts/state, then checked:
assets/gep/candidates.jsonlmemory/evolution/memory_graph.jsonlmemory/evolution/evolution_solidify_state.jsonnode/evolverprocessesRan:
Actual behavior
evolver rundoes not exit naturally within the observation window, but by that time it has already produced:candidates.jsonlmemory_graph.jsonlevolution_solidify_state.jsonwithlast_runevolver reviewcan then read the pending run correctly.So the sequence is effectively:
evolver runprocess stays alive instead of terminatingThis leaves a residual
nodeprocess that may need to be killed manually before continuing.Why this matters
This is not the same as "run failed."
The core pipeline seems to reach a reviewable state, but the process lifecycle does not finish cleanly. In practice this hurts:
Expected behavior
After the pending state and reviewable local artifacts are fully written,
evolver runshould terminate cleanly instead of remaining as a residual process.If some long-running background mode is intended, that should be explicit and documented separately from the normal
evolver runbehavior.