Repository navigation
feat(go): add provider-shaped routing decisions - #1149
Closed
afourniernv wants to merge 1 commit into
Closed
afourniernv wants to merge 1 commit into
afourniernv wants to merge 1 commit into
Conversation
This was referenced Oct 26, 2026
afourniernv
force-pushed
the
codex/go-review-02-native
branch
from
October 26, 2026 20:12
5370b9b to
aa03539
Compare
afourniernv
force-pushed
the
codex/go-decision-api
branch
from
October 26, 2026 20:12
0b7ea99 to
7304f01
Compare
afourniernv
force-pushed
the
codex/go-review-02-native
branch
from
October 27, 2026 20:26
aa03539 to
f192fd7
Compare
afourniernv
force-pushed
the
codex/go-decision-api
branch
2 times, most recently
from
October 27, 2026 23:44
0fa58fc to
84ab67f
Compare
afourniernv
force-pushed
the
codex/go-review-02-native
branch
from
October 27, 2026 23:44
f192fd7 to
6fdf6ac
Compare
Signed-off-by: Alex Fournier <afournier@nvidia.com>
afourniernv
force-pushed
the
codex/go-review-02-native
branch
from
October 28, 2026 00:09
6fdf6ac to
2668e6d
Compare
afourniernv
force-pushed
the
codex/go-decision-api
branch
from
October 28, 2026 00:09
84ab67f to
12cb73d
Compare
afourniernv
force-pushed
the
codex/go-review-02-native
branch
from
October 28, 2026 00:40
2668e6d to
6e2803d
Compare
afourniernv
changed the base branch from
codex/go-review-02-native
to
codex/go-decide-parked-base
October 28, 2026 00:41
Contributor
Author
|
Closing for now since Agent Router uses Route and the translation helpers. Keeping the branch so we can reopen if a caller needs Decide. |
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.
Parked for now. Agent Router uses
Routeplus the translation helpers, so this API is outside the initial Go-binding stack.What
Add
Router.Decideas a thin Go wrapper around the C bridge'ssy_decide_new. Hosts pass provider JSON and receive the normalized routing outcome plus ordered, provider-shaped candidate requests.Rust handles decoding, candidate preparation, and reply decoding. Go keeps callback execution, cancellation, and cleanup. Typed decision calls keep their existing protocol.
Why
Go gateways should not assemble the codec sequence themselves. This uses the shared C implementation rather than keeping a separate Go implementation of that sequence.
How tested
GOEXPERIMENT=cgocheck2.No live provider calls or actual Envoy/Enterprise deployment.
Notes for reviewers
Its original base is preserved on
codex/go-decide-parked-base, including the C support from #1156. The full implementation, including WASM integration, is preserved oncodex/go-decide-parked-full-stack. Neither draft blocks the active Go-binding stack.Adds one Go method and five supporting types. Existing public Go types and
Routeare unchanged. No additional C exports or dependency changes in this PR; build the matching C library.Outcomes retain the normalized request, optional answer, and evidence. Algorithm-produced answers remain normalized. Candidate requests are prepared eagerly. Preparation errors end the run, while ordinary host errors follow the algorithm's policy.