Repository navigation
feat(router): unify frontend and standalone selection core #14570
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
ishandhanani
merged 111 commits into
ai-dynamo:main
from
ishandhanani:idhanani/dyn-14310-selection-core-full
Sep 17, 2026
+16,540
−10,068
Merged
Changes from 84 commits
Commits
Show all changes
111 commits
Select commit
Hold shift + click to select a range
ab668d8
feat(kv-router): host-supplied inputs for SelectionService parity wit…
ishandhanani 888548e
fix(router): preserve current session input context contract
ishandhanani 042dc29
feat(kv-router): approximate, remote, and hint-aware indexing in Sele…
ishandhanani e7ef305
fix(router): use typed KV transfer hints in standalone selection
ishandhanani 8dfeecb
fix(bindings): compile selection service tests with remote indexing
ishandhanani 2d77426
feat(router): re-host KvRouter scheduling on an embedded selection pa…
ishandhanani fc8a67c
fix(router): feed scheduler load from the embedded selection partition
ishandhanani ad7e918
feat(router): make embedded selection the default scheduler
ishandhanani 616bcef
feat(router): replica sync for the embedded selection partition
ishandhanani f417e1c
feat(router): resolve linked worker-selection policies on the embedde…
ishandhanani b2644f8
fix(router): project current KV transfer metadata into embedded selec…
ishandhanani 14aad43
refactor(router): delete the runtime-bound KV router scheduler
ishandhanani 2c3a1e6
style(router): remove duplicate test configuration attribute
ishandhanani 81cc6b6
refactor(router): remove the ignored router_embedded_selection flag
ishandhanani 6c2e7d4
refactor(router): drop the selector type parameter from the frontend …
ishandhanani f9f1259
refactor(kv-router): remove the delegated worker-selector adapter
ishandhanani e7713c8
refactor(kv-router): group host-supplied selection inputs into Select…
ishandhanani 9cb836b
fix(router): update callers after selector type erasure
ishandhanani cd1a793
feat(epp): data-parallel worker registration in the standalone reflector
ishandhanani d140d9c
feat(kv-router): WorkerCatalogSource and CatalogReconciler for worker…
ishandhanani 2efe000
refactor(router): feed the embedded partition's catalog through Catal…
ishandhanani dab4d2b
refactor(epp): expose the pod reflector as a WorkerCatalogSource
ishandhanani 945b4ae
fix(router): update membership tests to reconciler API
ishandhanani 1990241
refactor(kv-router): HostCache.index names where a partition's KV ind…
ishandhanani 8772ed0
refactor(kv-router): one Indexer type for the frontend and the select…
ishandhanani d17aa47
refactor(kv-router): the frontend's index is the partition's index
ishandhanani e263341
feat(kv-router): KvEventIngress feeds core-owned indexes
ishandhanani 9aa0971
feat(router): RuntimeIngress feeds the partition's index for the fron…
ishandhanani f413da4
refactor(kv-router): session-affinity table shared by every selection…
ishandhanani 12d0610
feat(kv-router): session affinity for request-shaped selection hosts
ishandhanani f1d2668
feat(epp): session affinity in the standalone EPP
ishandhanani f8432b3
docs(router): clarify partition session affinity ownership
ishandhanani cc4d756
fix(router): preserve partition and reservation lifecycle in selectio…
ishandhanani b91015f
fix(bindings): reject invalid selection affinity TTLs
ishandhanani 8071b3e
Merge origin/main (464ea4f82a) into idhanani/dyn-14310-selection-core…
ishandhanani efb4c7e
fix(router): drop the reservation-index guard before the partition lo…
ishandhanani 533ff45
fix(router): consume worker completion marks without replica sync
ishandhanani ab4c959
fix(kv-router): compile the slot tracker without the selection feature
ishandhanani 0c0096d
fix(router): default unreported worker capacity for discovered workers
ishandhanani 76c4374
fix(router): restore per-worker load gauges on the embedded partition
ishandhanani e5fe3f0
fix(router): restore router queue metrics and the prefill overlap obs…
ishandhanani ca0a0c6
fix(router): route without affinity when the session table is full
ishandhanani 9493e06
fix(router): report remote indexer outages as not-ready
ishandhanani 17c73cc
fix(epp): surface selection client errors as 400
ishandhanani 20c307d
chore(router): gate affinity test hooks and drop dead re-exports
ishandhanani f81f949
fix(router): reject cache_salt on tiered indexer queries and skip no-…
ishandhanani 7741152
fix(router): reject unsupported data-parallel shapes and correct stan…
ishandhanani 960500e
fix(router): free core bookings the caller never consumes
ishandhanani 3003cb8
fix(router): hold the rebound session lease on concurrent affinity fa…
ishandhanani 92ea625
fix(router): re-register KV listeners a cancelled worker update removed
ishandhanani b4a81a5
fix(router): purge index blocks for a rank whose listener is already …
ishandhanani e2e4e61
feat(router): guard core bookings with the lifecycle lease and claim …
ishandhanani fe816fc
feat(router): share the session affinity commit and configure its mode
ishandhanani 9740a38
refactor(router): route every selection through one core operation
ishandhanani d6b1c8f
perf(router): trim the core hint and readiness hot paths and carry th…
ishandhanani 6616406
feat(router): wire the frontend to the shared selection core without …
ishandhanani c670214
refactor(router): route the frontend through the shared selection core
ishandhanani 1172f06
refactor(router): commit session affinity through the shared table
ishandhanani fabac4b
refactor(router): split the selection core into one module per concern
ishandhanani 9c4b334
chore(router): delete the selection paths the core cutover left unused
ishandhanani 89785a3
refactor(router): start replica ingress after the lease manager is in…
ishandhanani 25aea16
fix(router): hold the routed selection future once on the cleanup path
ishandhanani e22fab5
fix(router): apply the review round on the selection core
ishandhanani 317eb30
chore(router): clear the small self-review findings
ishandhanani ea037f3
test(router): pin the booking lifecycle invariants
ishandhanani c95307e
fix(router): gate the LoRA narrowing helper behind standalone-selection
ishandhanani 1f91e53
refactor(router): hand bookings to hosts as one BookingHandle
ishandhanani bbd8412
refactor(router): wire the request lease manager directly as the part…
ishandhanani 45383b4
Merge branch 'main' into idhanani/dyn-14310-selection-core-full
ishandhanani 5c2eb04
chore(router): cleanup round one, drop test-only shims and duplicate …
ishandhanani 63f7ac4
chore(router): cleanup round two, one result shape and fewer wrappers
ishandhanani 99f8574
chore(router): cleanup round three, verbatim moves and shorter tests
ishandhanani 37cfba9
test(router): restore two pins the cutover dropped
ishandhanani 7d637ba
ci: refresh the kvbm bindings lockfile and fix a moved docs link
ishandhanani 29a05b4
chore(router): finish the deferred mechanical cleanups
ishandhanani 7b2f6c3
fix(router): track hint capability per partition and clear stale rank…
ishandhanani 9a18ffb
fix(router): reconcile a catalog snapshot as one batch, retry a faile…
ishandhanani 3cecd2a
fix(router): read hint capability from the published partition snapshot
ishandhanani 29b2b9c
fix(router): construct the worker-selection policy once per partition
ishandhanani 4cc6f49
fix(router): publish a completed partition move before the batch cont…
ishandhanani 9e1e92a
fix(router): keep a lease when a session commit lands behind a compet…
ishandhanani 2dfc529
fix(router): derive the embedded partition key in one place
ishandhanani d4be244
fix(router): uncount a joined lease released before its initializer c…
ishandhanani 02165d7
feat(router): instrument the active-sequence ingress funnel
ishandhanani 27c03ee
fix(router): label ingress metrics by worker type and pin the queued …
ishandhanani 461fff6
fix(epp): address EPP-specific bugs and config layering issues in sel…
tmonty12 41d1e68
fix(router): address PR review comments on session affinity
tmonty12 3b660db
refactor(router): unify session affinity config into KvRouterConfig
tmonty12 6b6d5c2
docs(router): restore canonical doc comment on session affinity fields
tmonty12 ea7ab6e
fix(epp): address EPP-specific bugs and config layering issues in sel…
ishandhanani 39da83d
Merge origin/main into idhanani/dyn-14310-selection-core-full
ishandhanani fd09b4b
revert(router): back out EPP affinity follow-up
ishandhanani 71335cf
fix(router): validate session affinity DP ranks during failover
ishandhanani 54c2076
perf(router): keep LoRA candidate filtering linear
ishandhanani 800070d
perf(router): move the committed booking request ID
ishandhanani 928321e
docs(router): clarify default lookup retention
ishandhanani 0a477b1
fix(router): preserve affinity ownership across concurrent failover
ishandhanani 0049ca3
perf(router): omit unused metadata from frontend leases
ishandhanani c71f3d3
refactor(router): defer standalone HTTP indexer integration
ishandhanani 90557bb
test(bindings): update selection service lifecycle constructor call
ishandhanani 3b40f4d
fix(router): preserve frontend accounting before discovery
ishandhanani 9d1859a
fix(router): fence pending reservation claims by identity
ishandhanani 6bef1c4
fix(router): yield during repeated affinity invalidation
ishandhanani e1878f6
Merge main into selection-core branch
ishandhanani 0d80f5c
Merge branch 'main' into idhanani/dyn-14310-selection-core-full
ishandhanani 8827c61
fix(router): address selection core review feedback
ishandhanani 3335e4b
refactor(router): remove unused indexer lookup wrappers
ishandhanani 3165ff2
Merge main into idhanani/dyn-14310-selection-core-full
ishandhanani 5eaea24
Merge main into idhanani/dyn-14310-selection-core-full
ishandhanani c66159b
Merge latest main into idhanani/dyn-14310-selection-core-full
ishandhanani 1b82fe2
perf(router): borrow membership snapshots during reconciliation
ishandhanani File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.