Repository navigation
feat: native WorkBuddy proxy and governed maintenance - #9
Merged
Merged
Conversation
LuneZ99
marked this pull request as ready for review
October 20, 2026 19:12
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.
Native WorkBuddy proxy and governed maintenance
Add an opt-in native WorkBuddy provider with isolated credential persistence, transports and durable risk state. Chat uses the vendor SSE contract and supports OpenAI Chat/Responses, Claude and Gemini clients. Account/model throttling, regional holds, free-model reset caps, breakers, credit parking and observed token/credit budgets share one governor. Midstream failures cannot replay emitted output; refresh persists rotated credentials before retrying.
Session affinity and long-conversation paging operate only within SDK-eligible credentials. Optional product switching, exit backoff and paid fallback have bounded request budgets; restrictions and durable caps survive identity changes. Content-rejection recovery rebuilds the original request, then applies user payload rules exactly once as the final semantic mutation.
Opt-in maintenance adds live catalog discovery, paginated balance observation, CN check-in, growth acceptance/verified reward claims, free-model quota scans and reset probes. Atomic receipts precede actions, survive restarts, bound retries and retain unknown rewards as unknown. Configuration reload cancels active maintenance and fences stale executors. Probes use the governed native executor with paid fallback and product switching disabled. All jobs default off.
A separate image workflow runs offline race checks and publishes immutable
ghcr.io/corgicortex/cliproxyapi-wb:sha-<full-sha>candidates. It does not deploy, modify the existing DockerHub image, or use production provider accounts. Deployment is prepared independently in Qortex-GitOps with its own namespace, PVC, Secret and API key, an empty auth directory and jobs disabled.Validation
internal/workbuddy,internal/runtime/executor,internal/runtime/executor/helps,sdk/cliproxy/auth,sdk/cliproxyandinternal/config; required server build passes.go test ./...run also encountered existing WebRTC/Responses interrupt test failures outside the modified paths.TestResponsesInterruptStopsHTTPUpstreamwas separately reproduced on the clean upstream-sync branch without WorkBuddy changes. Latest-head CI remains the merge gate; these failures are not represented as passing.litellm/cliproxyremains UID80e2bbb7-4a50-4259-bbf1-04f947a114c8, generation 18, imageeceasy/cli-proxy-api:v8.0.35, ready replica 1.Explicit limits
Actual international web activity and task-specific growth actions remain follow-up work; the implementation does not fabricate telemetry to claim tasks were performed. Mock tests do not establish current upstream entitlement, real reward amounts or anti-abuse acceptance. Dedicated-account validation remains pending the owner's later credential handoff.