Skip to content

Show the running engine, endpoint and recent recalls in evolver_status - #37

Merged
forrestlinfeng merged 2 commits into
mainfrom
feat/richer-status
Oct 9, 2026
Merged

forrestlinfeng merged 2 commits into
mainfrom
feat/richer-status

Conversation

@forrestlinfeng

Copy link
Copy Markdown
Contributor

Why

A Windows user reported that strategy recall is always empty: /asset/search returns results while /asset/fetch is empty. The Proxy status they shared looked healthy (node_id set, hub auth ok). The plugin gave nothing more to go on: a failed recall, an empty one, and one whose candidates were all filtered out looked identical, and /evolver-status couldn't show which evolver version was actually serving.

What changes

evolver_status now always answers. It returns the Proxy's own status, or reachable: false with the error, together with the plugin's view:

Section Contents
proxy the Proxy's /proxy/status (node, Hub auth/sync, pending counts, backoffs), or the error reaching it
plugin, runtime plugin version; platform, arch, Node
proxy_endpoint URL in use and where it came from; whether a token is present (never its value); the version, pid and start time the Proxy recorded in ~/.evolver/settings.json
engine running version vs the evolver on PATH vs the 2.0.39 minimum; flags a Proxy started by a different, older install
recall settings, the last recall's outcome and timing, and counts per outcome since dsh started

Each recall now reports why it ended (skipped, proxy_error, no_candidates, all_filtered with per-reason counts, injected with asset/title/steps/chars). Selection and ranking are unchanged. /evolver-status renders all sections and explains the last outcome in one line.

The settings path is resolved on each call again. Hoisting it to module load made the tests' temp HOME invisible, which is how this regression was caught.

Test plan

  • npm test: 101/101, with new tests for every recall outcome, evolver_status when the Proxy is unreachable, and diagnostics flagging a running Proxy older than the one on PATH (no token in the output)
  • Against a live Proxy: full report returned, last recall injected (14 steps, 3197 chars, 3.5s), no token values in the output

🤖 Generated with Claude Code

forrestlinfeng and others added 2 commits October 9, 2026 21:15
A recall that injected nothing looked the same whether the Proxy was down,
the network had no candidates, or every candidate was filtered out, which
left a Windows report of "recall is always empty" with nothing to go on.
hubGene now reports one outcome per lookup through an onOutcome callback:
skipped, proxy_error (with the error), no_candidates, all_filtered (with a
count per reason: too_few_steps, too_long, low_similarity,
already_injected), or injected (asset, title, steps, chars, similarity).
Selection and ranking are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
evolver_status only relayed the Proxy's /proxy/status and failed outright
when the Proxy was unreachable. It now always answers, with:

- proxy: the Proxy's status, or reachable: false and the error
- plugin and runtime: plugin version, platform, arch, Node
- proxy_endpoint: the URL in use and where it came from, whether a token
  is present (never its value), and the version, pid and start time the
  Proxy recorded in settings.json
- engine: the running version against the evolver on PATH and the 2.0.39
  minimum, flagging a Proxy started by a different, older install
- recall: settings, the last recall's outcome and timing, and counts per
  outcome since dsh started

/evolver-status renders all of it and explains the last recall outcome.
The settings path is resolved per call again, so HOME changes are seen.
101/101 pass.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@forrestlinfeng
forrestlinfeng merged commit 384a8f1 into main Oct 9, 2026
@forrestlinfeng
forrestlinfeng deleted the feat/richer-status branch October 9, 2026 14:51
@forrestlinfeng forrestlinfeng mentioned this pull request Oct 9, 2026
forrestlinfeng added a commit that referenced this pull request Oct 9, 2026
evolver_status reports the running engine, the Proxy endpoint and the
outcome of recent strategy recalls (#37).

Co-authored-by: forrestlinfeng <linfengchen@tencent.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant