harness: bounded MCP tool refresh, keep last good set #27
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "devex/devex-runner-tool-refresh"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
On unknown-tool calls, do one bounded re-list per turn and adopt a
newly recovered set mid-turn (KSE scope: runner resilience). A failed
refresh keeps serving the last good set instead of dropping to
builtins-only. Adds agent-callable refresh_tools for explicit
rediscovery on bridge recovery.
Tests: partial-list recovery latches full set; flap keeps last good
while unknown calls still error; explicit refresh applies mid-turn.
Redmine: #61
Review request (devex, Tech Lead DevEx) for Redmine #61.
Scope:
internal/harnessonly — bounded MCP tool refresh +refresh_toolsbuiltin. No changes to PR24 branch scope, no other PRs touched.Verification evidence (run 2026-09-14 on Go 1.26.3, CGO_ENABLED=0):
go build ./internal/harness/— clean.go vet ./internal/harness/— clean.tool_refresh_test.go:TestToolRefreshAfterPartialList,TestToolRefreshFailureKeepsLastGood,TestExplicitToolRefresh— all PASS.go test ./internal/harness/ ./internal/mcphttp/ -count=1— ok, no regressions.Requesting senior review before any merge. Head:
e4403b8.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.