Repository navigation
Show the running engine, endpoint and recent recalls in evolver_status - #37
Merged
Merged
Conversation
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>
Merged
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
A Windows user reported that strategy recall is always empty:
/asset/searchreturns results while/asset/fetchis 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-statuscouldn't show which evolver version was actually serving.What changes
evolver_statusnow always answers. It returns the Proxy's own status, orreachable: falsewith the error, together with the plugin's view:proxy/proxy/status(node, Hub auth/sync, pending counts, backoffs), or the error reaching itplugin,runtimeproxy_endpoint~/.evolver/settings.jsonengineevolveron PATH vs the 2.0.39 minimum; flags a Proxy started by a different, older installrecallEach recall now reports why it ended (
skipped,proxy_error,no_candidates,all_filteredwith per-reason counts,injectedwith asset/title/steps/chars). Selection and ranking are unchanged./evolver-statusrenders 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_statuswhen the Proxy is unreachable, and diagnostics flagging a running Proxy older than the one on PATH (no token in the output)injected(14 steps, 3197 chars, 3.5s), no token values in the output🤖 Generated with Claude Code