Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1946 commits
Select commit Hold shift + click to select a range
8be4df8
feat(ais): migrate perf-model consumers to canonical configuration (#…
tedzhouhk Sep 29, 2026
7f7b533
test(sidecar): validate disaggregated native serving (#15082)
JulienDarve Sep 29, 2026
b4909a6
fix(operator): read every vLLM flag spelling through one parser (#15028)
tzulingk Sep 29, 2026
2d5b116
ci: publish build images to east and west ECR (#15331)
lavanyavijayk Sep 29, 2026
887a6c1
chore: bump trtllm to v1.3.0rc28 (#15215)
dynamo-ops Sep 29, 2026
9262eab
test(sidecar): cover DEP rank-aware KV routing (#15086)
JulienDarve Sep 30, 2026
2de120f
refactor(router): centralize policy configuration and flag deprecatio…
ishandhanani Sep 30, 2026
00416b5
ci(recipes): run DeepSeek V4 Pro aggregated nightly benchmark (#15325)
sara4dev Sep 30, 2026
b59582d
refactor(replay): delegate Weka ingestion to AISimulate (#14355)
Harrilee Sep 30, 2026
3f46e3d
fix(runtime): recover hung etcd watches with keepalive (#15266)
michaelfeil Sep 30, 2026
8c226c9
feat(llm): preserve opaque coding-agent headers (#15367)
ishandhanani Sep 30, 2026
777977d
fix(multimodal): preserve URL path case in ImageLoader cache key (#15…
Atharva-Kanherkar Sep 30, 2026
4d28ee2
fix(operator): support B300 in DGDR GPU discovery (#15216)
sttts Sep 30, 2026
0c0ce6d
docs: refresh community events
dynamo-ops Sep 30, 2026
3079ce5
ci: gate deploy tests on operator and copy success (#15394)
nv-rinig Sep 30, 2026
9949fea
fix: IPv6-only fixes for listeners, ZMQ, SGLang KV events, and vLLM m…
jthomson04 Sep 30, 2026
2365cf5
docs(tokenspeed): add LongCat disaggregation example (#15013)
nv-yna Sep 30, 2026
8ad295a
fix(recipes): use default TCP transport for Kimi aggregated KV routin…
sara4dev Sep 30, 2026
dac068f
fix(recipes): update DeepSeek V4 Pro aggregated runtime (#15427)
sara4dev Sep 30, 2026
1512ffd
ci(deploy): count only live Pods in the operator readiness gate (#15384)
nv-tusharma Sep 30, 2026
df8ad66
fix(vllm): declare the ModelExpress startup weight version (#15252)
c2w-sea Sep 30, 2026
835be3a
chore(deps): bump AISimulate to September 30 nightly (#15422)
tedzhouhk Sep 30, 2026
b85db41
fix(vllm): OPS-8696 let the EPD encode worker report healthy (#15434)
dmitry-tokarev-nv Sep 30, 2026
16c6d3d
ci(sidecar): run aggregated e2e tests post-merge and nightly (#15328)
JulienDarve Sep 30, 2026
99ae6e5
perf(router): reduce scheduler and dispatch overhead (#14666)
jthomson04 Sep 30, 2026
5a47eb6
feat(mm-routing): add Qwen video-aware KV routing for SGLang (#15014)
krishung5 Sep 30, 2026
e6bdf6f
test(vllm): stop a shared NIXL port stalling decode worker startup (#…
glamr-agent Sep 30, 2026
ae83593
fix(router): account for all output blocks in response chunks (#14613)
bzsuni Sep 30, 2026
bf13a46
feat(sidecar): speak TensorRT-LLM's OpenEngine gRPC API (#14349)
tanmayv25 Sep 30, 2026
aacb1ab
perf(llm): reduce decoder prompt copies (#15234)
jthomson04 Sep 30, 2026
9dc2102
fix(replay): remove stale gates and forward planner policies (#15435)
tedzhouhk Sep 30, 2026
63039b4
perf(router): skip capacity checks when queueing is disabled (#15423)
jthomson04 Sep 30, 2026
1abbb57
fix(bench): make the Mooncake indexer replay runnable and correctly t…
PeaBrane Sep 30, 2026
520bdc9
perf(kv-router): speed up CRTC removes and lookups (#15408)
PeaBrane Sep 30, 2026
c7241c2
test(sidecar): prototype shared CPU integration-test harness (#14879)
JulienDarve Sep 30, 2026
3cde317
feat(mocker): add a TensorRT-LLM OpenEngine mocker server (#14350)
tanmayv25 Sep 30, 2026
1a26bf9
fix(kv-router): gate standalone-only items so isolated builds lint cl…
PeaBrane Sep 30, 2026
522096a
fix(sidecar): expose health probes before engine discovery (#15051)
tmonty12 Oct 1, 2026
7b1da11
ci(kimi): add aggregated nightly smoke test (#15361)
sara4dev Oct 1, 2026
7b1a79f
test(vllm): remove flaky gc_maintain freeze-count test (#15109)
glamr-agent Oct 1, 2026
eb1f0db
fix(frontend): preserve message rewrites with renderer 5.4.1 (#15163)
jthomson04 Oct 1, 2026
3aa1d3d
fix(sidecar): preserve terminal metadata and add isolated unit tests …
JulienDarve Oct 1, 2026
50889c0
fix(llm): forward images in Responses function_call_output (#15306)
pskiran1 Oct 1, 2026
86e34d1
feat(operator): add LPX integration (#15062)
andrewpaprotsky Oct 1, 2026
9118444
refactor(operator): separate managed Grove components (#15311)
sttts Oct 1, 2026
e14108e
fix(llm): start a new Anthropic text block for text after a tool call…
ishandhanani Oct 1, 2026
0c435de
fix(runtime): cancel pending handshakes when workers leave discovery …
bzsuni Oct 1, 2026
e6a10cc
fix(frontend): reject continuation across reordered messages (#15247)
alexeldeib Oct 1, 2026
d573cc7
fix(anthropic): return 400 for unsupported hosted tools (#15468)
rmccorm4 Oct 1, 2026
938d89b
fix(fpm kvwarm): hybrid (KDA/Mamba) fixes for the real-KV decode warm…
tianhaox Oct 1, 2026
5d6d44b
docs: refresh community events
dynamo-ops Oct 1, 2026
3af83c2
ci(release): on demand workflow (#13961)
pvijayakrish Oct 1, 2026
849f781
test(sidecar): add isolated SGLang unit coverage (#15360)
JulienDarve Oct 1, 2026
d11bfff
perf(mocker): cut offline KV-router replay overhead (#15455)
PeaBrane Oct 1, 2026
8929fa8
chore(triton): Update Triton Runtime Base Container (#15499)
whoisj Oct 1, 2026
cf4ffa4
fix(planner): preserve decode replicas when raising GPU floor (#15466)
bzsuni Oct 1, 2026
07db310
feat(examples): add cascaded Nemotron Speech pipeline (#12567)
ptarasiewiczNV Oct 1, 2026
9756b36
fix(trtllm): report cached_tokens from kv_cache_metrics when availabl…
peilii Oct 1, 2026
509a4e5
feat(frontend): share tokenizer cache budget across models (#15387)
jthomson04 Oct 1, 2026
ec71339
fix(operator): resolve repeated vLLM flags to their last occurrence (…
tzulingk Oct 1, 2026
dc02e97
ci(recipes): benchmark DeepSeek V4 Pro disaggregated nightly (#15393)
lavanyavijayk Oct 1, 2026
0ceb3a2
test(sglang): pin sampling on the parallel tool-call protocol test (#…
glamr-agent Oct 1, 2026
006e5f3
fix(vllm): return engine-expanded prompt IDs in MITO metadata (#15470)
biswapanda Oct 1, 2026
e00a35f
fix(frontend): render chat templates off the async runtime (restores …
tzulingk Oct 1, 2026
6593cb3
fix(sglang): use harness-reserved KV-event ports in multimodal router…
glamr-agent Oct 1, 2026
49370cf
test(sglang): add EAGLE3 speculative decoding e2e (#15251)
livingshade Oct 1, 2026
7778c8d
test(sglang): bound cross-process log waits in decode-cancel test (#1…
glamr-agent Oct 1, 2026
56ea640
feat(recipes): add A.X-K2 H200 vLLM recipes with 2P2D disagg benchmar…
SeungminHeo Oct 1, 2026
bfa2a82
feat: opt-in packed int32 token_ids on the request plane (DYN_TOKEN_I…
peilii Oct 1, 2026
635152c
perf(router): batch output-block updates (#15448)
jthomson04 Oct 1, 2026
631d7c1
fix(kv-router): break request-lease observer ownership cycle (#15258)
surajssd Oct 1, 2026
9d8f18c
feat(recipes): cherry-pick Motif-3 NVFP4 serving recipe (#15382) (#15…
ynpandey-nv Oct 1, 2026
85f15f5
chore(operator): drop stale dynamoGraphDeploymentRef from LPX binding…
kathleenfrench Oct 1, 2026
e54dbab
ci(snapshot): remove placeholder image builds (#15140)
julienmancuso Oct 1, 2026
0a6f58b
feat(router): add worker-reported KV cache reuse telemetry for vLLM, …
glamr-agent Oct 2, 2026
2c0145a
fix(vllm): background the aggregated multimodal worker (#15104)
glamr-agent Oct 2, 2026
97bace4
docs: move Enterprise artifacts to 1.5.0 (#15245)
dagil-nvidia Oct 2, 2026
991ce9e
fix(recipes): K-EXAONE 2.0 review follow-ups — Fern-only docs, IB com…
chw001 Oct 2, 2026
6f85f23
perf(kv-router): cut slot tracker lifecycle and projection cost (#15531)
PeaBrane Oct 2, 2026
8cd79d8
ci: group nightly recipe tests in Actions (#15503)
sara4dev Oct 2, 2026
9833440
fix(vllm): use native Qwen3-ASR realtime support (#15481)
ptarasiewiczNV Oct 2, 2026
4f0b400
fix(llm): preserve refusal text in aggregated chat responses (#15516)
neilkg Oct 2, 2026
317777c
fix(vllm): put omni video negative_prompt in prompt dict entry (fixes…
charan-rathore Oct 2, 2026
fba4ade
fix(frontend): classify SGLang chat template errors (#15511)
neilkg Oct 2, 2026
dbf466e
fix(frontend): pass checkpoint tokenizer to SGLang parsers (#15509)
neilkg Oct 2, 2026
f67423f
fix(frontend): preserve colliding Responses tool namespaces (#15401)
elizabetht Oct 2, 2026
23d9a54
test(sglang): add EAGLE3 disagg KV-router e2e (#15261)
livingshade Oct 2, 2026
266605e
docs(sglang): add EAGLE3 speculative decoding guide (#15268)
livingshade Oct 2, 2026
8531548
fix(docs): let recipe cards without logos use full header width (#15546)
geelen Oct 2, 2026
e07d871
fix(vllm): accept Dynamo parser flags in sidecar (#15539)
alec-flowers Oct 2, 2026
5735112
docs: refresh community events
dynamo-ops Oct 2, 2026
80b177f
feat(operator): add role-specific multinode PodTemplates (#14468)
sttts Oct 2, 2026
bf923d9
fix(frontend): report dropped GLM-4.7 calls as length (#15184)
qimcis Oct 2, 2026
228f508
perf(kv-router): rework worker recovery snapshot cache and relax dump…
PeaBrane Oct 2, 2026
a81da0e
fix(vllm): propagate FPM worker_id into snapshot-restored EngineCore …
RealNicolasBourbaki Oct 2, 2026
524ad21
chore: bump trtllm to v1.3.0rc29 (#15418)
dynamo-ops Oct 2, 2026
70066c1
ci(sidecar): run GPU E2E tests only post-merge and nightly (#15456)
JulienDarve Oct 2, 2026
46d5fab
feat(mocker): publish native KV events from SGLang gRPC servers (#14744)
jthomson04 Oct 2, 2026
a88ef6d
fix(benchmarks): OPS-8740 drop httpx backend attribution from the HTT…
dmitry-tokarev-nv Oct 2, 2026
4a5a284
ci(deploy): read operator readiness from the vCluster Deployment (#15…
nv-tusharma Oct 2, 2026
2145839
fix(frontend): preserve constrained JSON content with SGLang (#15515)
neilkg Oct 2, 2026
be14761
refactor(request-trace): make payload capture a pass-through for non-…
nnshah1 Oct 2, 2026
d9ea8c4
fix(multimodal): nvbug/6169700 cap the size of inline data: URLs (#14…
nnshah1 Oct 2, 2026
27f2375
build: compile NVTX ranges into runtime wheels via the header-only nv…
peilii Oct 2, 2026
0560832
fix(kv-router): tighten slot tracker replica sync (#15578)
PeaBrane Oct 2, 2026
2d5b57c
perf(cache): avoid scanning all keys during embedding admission (#15497)
bojiang-li Oct 2, 2026
895d78c
build(container): pin PyNvVideoCodec at 2.2.3 and move the in-tree FF…
dmitry-tokarev-nv Oct 2, 2026
c28ade6
test(sidecar): add vLLM CPU integration coverage (#15091)
JulienDarve Oct 2, 2026
2fde30b
fix(multimodal): prevent ring buffer rewrap over live allocations (#1…
bojiang-li Oct 2, 2026
88750c1
fix(frontend): retain parser-declared stop markers for SGLang (#15510)
neilkg Oct 3, 2026
7509799
docs: refresh community events
dynamo-ops Oct 3, 2026
7ffd86f
fix(vllm): keep nvext.negative_prompt on the omni video stage path (#…
jorgeantonio21 Oct 3, 2026
e61319d
fix(sglang-sidecar): report engine cached tokens in usage (#15602)
ishandhanani Oct 3, 2026
d13b92d
feat(operator): pack homogeneous LPX PropSync partitions (#15583)
andrewpaprotsky Oct 4, 2026
1cbc578
docs: refresh community events
dynamo-ops Oct 4, 2026
85062ee
docs: refresh community events
dynamo-ops Oct 4, 2026
519e735
test(sglang): wait for cancellable response readiness (#13878)
jain-ria Oct 4, 2026
d39d11a
feat(operator): inject portable multinode topology environment variab…
sttts Oct 5, 2026
d42b434
docs: refresh community events
dynamo-ops Oct 5, 2026
4017395
feat(operator): select GPU-local partitions for hybrid LPX builds (#1…
joshhay95 Oct 5, 2026
3cff862
test(sidecar): add SGLang CPU integration coverage (#15447)
JulienDarve Oct 5, 2026
8889eb3
feat(bench): add Codex trace export and harden Claude trace export (#…
PeaBrane Oct 5, 2026
465d094
docs(router): correct per-request router override examples (#15589)
PeaBrane Oct 5, 2026
94677cf
feat(operator): roll compatible LPX builds through Grove (#15607)
andrewpaprotsky Oct 5, 2026
269939c
feat(sidecar): accept video media in vLLM sidecar encode role (#15287)
KrishnanPrash Oct 5, 2026
a4f4f71
fix(operator): repair LPX tests after rollout merge (#15644)
andrewpaprotsky Oct 5, 2026
0627870
fix(planner): enforce replica floors in single-pool load scaling (#15…
aylonsk Oct 5, 2026
e9b4f83
feat(triton): add /v1/classify support (#15396)
Vinya567 Oct 5, 2026
5a902ba
fix(vllm-omni): reject TTS tasks the checkpoint cannot serve (#15591)
ericcurtin Oct 5, 2026
61cc6dc
fix(llm): preserve raw completion stop markers when requested (#15519)
neilkg Oct 5, 2026
d15ec1d
fix(runtime): point to shared ZMQ subscriber setting (#15587)
jthomson04 Oct 5, 2026
7d75749
docs(frontend): correct the default event plane in the frontend refer…
glamr-agent Oct 5, 2026
4bfdd83
fix(router): reject non-finite router scoring weights at config valid…
aylonsk Oct 5, 2026
eaf6194
feat(operator): support engine-primary Dynamo native sidecars (#14927)
tmonty12 Oct 5, 2026
9953a99
fix(runtime): retry NATS connections during startup (#15269)
surajssd Oct 5, 2026
b99152d
docs(router): correct KV event gap recovery and TreeDump replacement …
PeaBrane Oct 5, 2026
def3b79
fix(runtime): carry typed pre-stream errors on QUIC response plane (#…
Prudctual Oct 5, 2026
afd0758
fix(deps): override aiohttp in the frontend image (#15676)
dagil-nvidia Oct 6, 2026
4252431
test: signal readiness for mocked cancellation responses (#15677)
karen-sy Oct 6, 2026
6ebaf07
ci(recipes): use one load point for aggregated nightly tests (#15571)
sara4dev Oct 6, 2026
edd4a22
fix(frontend): stop the media-loader NIXL agent from spinning a core …
KrishnanPrash Oct 6, 2026
5c8b22b
chore(sglang): bump to 0.5.21 (#15538)
jain-ria Oct 6, 2026
80cb96c
fix(sglang): request first-token logprobs during prefill (#15512)
neilkg Oct 6, 2026
6c7ab96
feat(model): add shared NGC fetching support with vLLM/SGLang integra…
sunil1511 Oct 6, 2026
3902d3b
ci: link PRs to issues and sync merged work to Linear releases (#14141)
dagil-nvidia Oct 6, 2026
e40fa37
fix(vllm): keep multi_modal_data on non-Qwen decode for image KV iden…
dundysm Oct 6, 2026
655f90c
fix(llm): return completion top logprobs as token maps (#15521)
neilkg Oct 6, 2026
a4563fe
fix(operator): preserve LPX workloads after Grove defaulting (#15672)
andrewpaprotsky Oct 6, 2026
7d7d3da
fix(llm): return chat prompt logprobs (#13957)
yankay Oct 6, 2026
1f7a233
docs: refresh community events
dynamo-ops Oct 6, 2026
224d929
feat(operator): select GPU-local partitions for HX LPX builds (#15706)
joshhay95 Oct 6, 2026
b8c57d6
feat(llm): add unary chat model publisher (#15552)
furionw Oct 6, 2026
778d195
fix(vllm): unset disabled top_k/min_p, rerun SamplingParams post-init…
KrishnanPrash Oct 6, 2026
841aeac
build(grove): bump dependency to v0.1.0-alpha.14 (#15704)
sttts Oct 6, 2026
a4adcfe
feat(replay): add an offline KV event lag knob (#15685)
PeaBrane Oct 6, 2026
1ea8159
feat(sglang): relay node-local KV events from headless sidecars (#14908)
jain-ria Oct 6, 2026
5233229
fix(mocker): align sidecar mocks with engine contracts (#15527)
JulienDarve Oct 6, 2026
1e93048
ci(recipes): add Kimi K2.5 disaggregated nightly smoke test (#15537)
lavanyavijayk Oct 6, 2026
b37890b
Merge pull request #15120 from biswapanda/bis/sglang-thinking-token-b…
biswapanda Oct 6, 2026
d314eef
feat(mocker): wire AISimulate G2 into the mocker with G2-aware KV rou…
dreamtalen Oct 6, 2026
4419fca
fix(thunderagent): charge and gate explicit hard pins at admission (#…
JasperChan929 Oct 6, 2026
ee07d6b
fix(runtime): prefer the routed source address in automatic host sele…
nvpohanh Oct 6, 2026
995cf08
fix(runtime): rebind system status listener after accept failures (#1…
glamr-agent Oct 6, 2026
32a0561
fix(container): remove Git LFS from runtime images (#15695)
dagil-nvidia Oct 6, 2026
2b3c13d
fix(sidecar): refresh installed runtime system packages (#15698)
dagil-nvidia Oct 6, 2026
c746b5d
feat(planner): introduce planner gym for autoscaler evaluation (#15576)
sachalmalick Oct 6, 2026
22dfb35
fix(trtllm-sidecar): enable guided decoding for required tool_choice …
KrishnanPrash Oct 6, 2026
7d82c10
docs(operator): warn that compilationCache is version-specific (#14381)
Efeselimsurekli Oct 6, 2026
1e1a9e4
fix(trtllm): load embedding URLs through the shared HTTP client (#14373)
nnshah1 Oct 6, 2026
c5d615e
fix(planner): treat an unreadable request count as unknown, not zero …
thaihuynhxyz Oct 6, 2026
f57502a
fix(vllm): accept thinking settings when sidecar parsers are on (#15684)
KrishnanPrash Oct 7, 2026
7c77f15
fix(vllm): return 400 with worker message when multimodal request hit…
flpanbin Oct 7, 2026
2df3bfd
docs: refresh community events
dynamo-ops Oct 7, 2026
433b4da
fix(sglang): reject media for text-only engines (#15520)
neilkg Oct 7, 2026
cfc3fc0
fix(frontend): bound client token ids in the preprocessor (#14475)
nnshah1 Oct 7, 2026
acf7b83
build(deps): update frontend parser crates (#15542)
furionw Oct 7, 2026
ac2968b
fix(planner): unify simulation defaults with PlannerConfig (#15678)
tedzhouhk Oct 7, 2026
b7981ea
chore(deps): bump ModelExpress to 0.7.0 (#15656)
nv-hwoo Oct 7, 2026
6e4221b
docs(replay): clarify arrival seed determinism (#15651)
tedzhouhk Oct 7, 2026
5e82beb
fix(container): refresh SGLang runtime support packages (#15693)
dagil-nvidia Oct 7, 2026
16820ec
fix(container): refresh standalone etcd binaries (#15697)
dagil-nvidia Oct 7, 2026
548a010
fix(operator): refresh runtime base and crypto dependency (#15692)
dagil-nvidia Oct 7, 2026
86b2a65
chore(codeowners): keep GPU discovery operator-owned (#15803)
sttts Oct 7, 2026
965e62f
fix(container): refresh TensorRT-LLM system Python packages (#15696)
dagil-nvidia Oct 7, 2026
6f44dad
docs: refresh community events
dynamo-ops Oct 7, 2026
18f1787
fix(operator): give HX Cyborg conductors their LPU Agent addresses (#…
joshhay95 Oct 7, 2026
3d9211e
feat(vllm): support incremental /v1/realtime text input (#14326)
ptarasiewiczNV Oct 7, 2026
d592389
fix(operator): support canonical GB200 GPU SKU in DGDR (#15711)
sttts Oct 7, 2026
0c79779
feat(examples): overlap ASR and LLM prefill (#14327)
ptarasiewiczNV Oct 7, 2026
395f024
build(vllm): bump core to v0.31.0 (#15643)
JulienDarve Oct 7, 2026
697410b
docs(recipes): restore Expected Performance table for Nemotron-3-Ultr…
snarravula-dl Oct 7, 2026
f787ba7
feat: add opt-in V2 parsing for eight model families (#14950)
keivenchang Oct 7, 2026
85af64f
feat(sidecar): expose shared runtime transport flags (#15653)
alec-flowers Oct 7, 2026
50b1ce6
refactor(container): share the PyNvVideoCodec install guard (#15595)
ericcurtin Oct 7, 2026
2f74d29
fix(docs): generate nightly release ledger (#15410)
awesome-pro Oct 7, 2026
ae08449
chore(github): add Cherry-Pick Request issue template (#15801)
dagil-nvidia Oct 7, 2026
974f967
fix(frontend): validate media requests and drop dead audio nvext fiel…
jorgeantonio21 Oct 7, 2026
3ce2531
chore(codeowners): require operator review for LPX integration files …
sttts Oct 7, 2026
2132f9a
refactor(mocker): consume canonical AISimulate engine configuration (…
tedzhouhk Oct 7, 2026
202d552
fix: OPS-8838: Increase pod search in route buildkit (#15814)
dillon-cullinan Oct 7, 2026
74cb148
fix(test): validate completion logprobs as token maps (#15821)
zhongdaor-nv Oct 7, 2026
a2cae83
fix(frontend): Return chat logprobs from the vLLM chat processor (#15…
houshengbo Oct 7, 2026
75cccf0
chore(vllm): use explicit NIXL roles in examples and recipes (#15366)
junuxyz Oct 7, 2026
d37136b
fix(frontend): strip Anthropic billing preambles by default (#15826)
michaelfeil Oct 7, 2026
1c1fd86
feat(snapshot): checkpoint CUDA shared memory with cuInterpose (#15791)
galletas1712 Oct 7, 2026
3d5f387
feat(router): lower router's KV hints into vllm's KvHintsEnvelope typ…
karen-sy Oct 7, 2026
dca4b1d
fix(runtime): isolate operator-managed namespace discovery (#15561)
hhzhang16 Oct 7, 2026
ea23e51
fix(multimodal): nvbug/6242427 serialize mm_kwargs transfer with vLLM…
nnshah1 Oct 7, 2026
16b2ae5
fix(vllm-omni): fetch ref_audio URLs through the shared HTTP client (…
nnshah1 Oct 7, 2026
fcb499c
fix(trtllm): preserve request semantics and rank-zero routing in side…
tanmayv25 Oct 7, 2026
a219e68
feat(llm): stream tool calls with the V2 parser adapter (#15577)
keivenchang Oct 7, 2026
0018b58
fix: honor the OpenAI `n` parameter in the SGLang image diffusion han…
marckarp Oct 7, 2026
3213fe6
feat: Enable structural tags by default and improve Kimi K3 guidance …
indrajit96 Oct 7, 2026
23cfd3a
docs: refresh community events
dynamo-ops Oct 8, 2026
b53cb43
test(profiler): cover deferred AISimulate benchmark imports (#15747)
simone-chen Oct 8, 2026
808d695
docs(frontend): document protocol field handling (#15737)
GuanLuo Oct 8, 2026
90b41c8
test(http): shorten oversized URL validation test IDs (#15664)
jthomson04 Oct 8, 2026
588f032
build(deps): upgrade AIPerf to 0.13.0 (#15495)
glamr-agent Oct 8, 2026
1668037
docs(blog): add Jul–Oct 2026 publications, featured picks, AIPerf pos…
harryskim Oct 8, 2026
049eece
fix(omni): omit unsupported diffusion layer count at startup (#15388)
maheshrbapatu Oct 8, 2026
fc4630f
fix(operator): support VR200 in DGDR GPU discovery (#15703)
sttts Oct 8, 2026
e99e205
feat(aisimulate): add DGD output adapter (#13765)
sttts Oct 8, 2026
9cc8c36
docs: refresh community events
dynamo-ops Oct 8, 2026
dd2a430
fix(operator): make Grove coherent updates an explicit opt-in (#15714)
julienmancuso Oct 8, 2026
c9cc96d
fix(recipes): glm-5.2: move SGLang B200/H200 recipes to stock Dynamo …
shugandhi Oct 8, 2026
5cbdc71
feat(frontend): expose active requests per worker and dp_rank by requ…
jorgeantonio21 Oct 8, 2026
14732ce
fix(test): prevent artifact upload failures caused by unsupported cha…
junuxyz Oct 8, 2026
d76ce91
fix(mocker): allow explicit output lengths up to 1M tokens (#15778)
jthomson04 Oct 8, 2026
a70115f
chore(vllm): remove unused Qwen DEP launch example (#15909)
alec-flowers Oct 8, 2026
f7ada8d
feat(recipes): move Kimi-K3 SGLang recipes to the 1.5.0-kimi-k3-post.…
sungsooha Oct 8, 2026
437670b
feat(docs): Many Model Deployment Examples (#15584)
nv-kmcgill53 Oct 8, 2026
e90483e
fix(omni): forward image-edit references to vLLM-Omni (#15390)
maheshrbapatu Oct 8, 2026
478a687
feat(examples): add Switchyard model routing to Dynamo GAIE (#15691)
ayushag-nv Oct 8, 2026
689a20b
feat(operator): enable snapshot-backed engine failover (#12874)
galletas1712 Oct 8, 2026
d8cd626
feat(recipes): add DeepSeek-V4.1-Flash vLLM recipes (#15146)
sungsooha Oct 8, 2026
6e74933
build(sidecar): build all sidecars in one RUN step to free BuildKit s…
pvijayakrish Oct 8, 2026
021e891
fix(vllm): enforce media limits before worker decoding (#15872)
bewestphal Oct 8, 2026
22698fe
docs: increment release docs to v1.5.1 (#15785)
dagil-nvidia Oct 8, 2026
3bdbb2e
feat(replay): qualify AgentX G2 on existing mocker APIs (#15626)
Harrilee Oct 8, 2026
a83f479
build(container): refresh planner and operator runtime bases (#15938)
dagil-nvidia Oct 8, 2026
2946153
test(trtllm): increase cancellation timeout (#15157)
MartinRepo Oct 9, 2026
7ea89cd
fix(llm): preserve local sources under custom model names (#15891)
xianlubird Oct 9, 2026
7995ff3
Merge upstream 99dae1f53e into t5 preserving Dingo customizations
guojn1 Oct 9, 2026
7dc86f0
Merge upstream 7ea89cd3d7 into t5 preserving local runtime contracts
guojn1 Oct 9, 2026
c974eb5
fix: upstream-sync regressions, CI apt mirror, smoke test push trigge…
guojn1 Oct 12, 2026
1bb354e
Merge origin/DingoRouter-base into DingoRouter-t5-upstream-sync
guojn1 Oct 13, 2026
e374281
fix(build): build pinned AISimulate wheel when unpublished
guojn1 Oct 13, 2026
93966d7
fix: resolve PR76 compatibility and CPU regression failures
guojn1 Oct 13, 2026
439c4ae
fix(ci): preserve package index secrets and build GMS offline
guojn1 Oct 14, 2026
565b6dc
fix(ci): resolve SGLang packages and cache runtime dependencies
guojn1 Oct 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
39 changes: 39 additions & 0 deletions .ai/ais-perf-model-guidelines.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<!--
SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0
-->

# AISimulate performance-model integration

All new performance-model features must enter through AISimulate's canonical
`ForwardPassPerfModelConfig` and `ForwardPassPerfModel::best_available(config)`.
Python uses `aisimulate_core.sdk.RustForwardPassPerfModel.best_available(config)`.
Do not add parallel constructors, revive removed `from_native` / `from_regression`
APIs, or construct a private native engine to bypass this interface.

- Use `ais` / `AIS` for Dynamo integration names. Accept old `--aic-*` spellings
only in CLI parsers and immediately lower them to the canonical configuration.
Do not restore retired SDK aliases, modules, environment variables or config
formats. Actual AIConfigurator task-v2/interpolation APIs and upstream-owned
wire protocols retain their upstream names at their boundaries.
- AISimulate owns schema, defaults, validation, selection, tuning and prediction.
Pass complete configurations, including ordered roots and nested estimator
controls. Reject unknown fields and conflicting old/new input names.
- New configs default to `estimation_mode: auto`, `fallback_policy: deny`.
Auto still searches `op_level`, `fpm_interpolation`, then `fpm_regression`.
Explicit selections obey their fallback policy; do not silently relax it.
- Bind `worker_type` to the deployed worker role, not the current query phase.
Preserve model, backend/version, parallelism, quantization and speculation
identity across CLI, SDK, Rust, replay, diagnostics, and saved configuration.
- Planner organizes full configurations under `ais_perf_model.roles` for
`prefill`, `decode`, or `aggregated`. Omitted configuration explicitly creates
cold regression with traceable model identity. Consumers without a training
source must reject an unready regression model.
- Use upstream migration helpers for legacy controls: 16 total buckets means a
`[4, 4]` grid, not `[16, 16]`. Preserve independent regression/correction controls.
- Include complete configuration and limits in model reuse decisions. Keep
online training state local to the worker group/consumer. Rebuild and replay
retained observations when identity or limits change.
- Upgrade Python wheel and Rust crate together from the same released source and
rebuild Dynamo bindings. Validate the installed wheel and actual Rust callback;
permissive test fakes cannot detect removed APIs or EngineSpec schema mismatches.
13 changes: 13 additions & 0 deletions .codex/agents/hypothesis-challenger.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

name = "hypothesis_challenger"
description = "Adversarially review one generated Dynamo optimization candidate before GPU spend."

developer_instructions = """
Before acting, read agents/hypothesis-challenger/AGENTS.md from the repository root and follow that role contract,
including the skills, documentation, rules, inputs, outputs, and stopping conditions it names.

Operate only as the hypothesis challenger. Do not edit the consultation or candidate draft, deploy, run AIPerf,
generate a competing hypothesis, or approve while a blocking objection remains.
"""
13 changes: 13 additions & 0 deletions .codex/agents/hypothesis-generator.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

name = "hypothesis_generator"
description = "Generate one evidence-backed Dynamo optimization proposal and challenger-ready DGD draft."

developer_instructions = """
Before acting, read agents/hypothesis-generator/AGENTS.md from the repository root and follow that role contract,
including the skills, documentation, rules, inputs, outputs, and stopping conditions it names.

Operate only as the hypothesis generator. Do not deploy, benchmark, approve candidates, change frozen benchmark
semantics, or present an untested internal mechanism as fact.
"""
13 changes: 13 additions & 0 deletions .codex/agents/perf-analyzer.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

name = "perf_analyzer"
description = "Configure, run, validate, and analyze AIPerf for one successfully deployed Dynamo candidate."

developer_instructions = """
Before acting, read agents/perf-analyzer/AGENTS.md from the repository root and follow that role contract, including
the skills, documentation, rules, inputs, outputs, and stopping conditions it names.

Operate only as the performance analyzer. Do not modify the deployed DGD, change frozen benchmark semantics, generate
the next hypothesis, or approve a candidate.
"""
13 changes: 13 additions & 0 deletions .codex/agents/recipe-deployer.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

name = "recipe_deployer"
description = "Deploy one assigned Dynamo DGD, wait for readiness, and produce smoke-test evidence."

developer_instructions = """
Before acting, read agents/recipe-deployer/AGENTS.md from the repository root and follow that role contract, including
the skills, documentation, rules, inputs, outputs, and stopping conditions it names.

Operate only as the recipe deployer. Do not search for or substitute a DGD, tune deployment settings, run performance
benchmarks, generate hypotheses, or approve candidates.
"""
17 changes: 17 additions & 0 deletions .codex/agents/user-interviewer.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

name = "user_interviewer"
description = "Act first, establish the baseline DGD via the baseline-source ladder, and synthesize the canonical workload contract."

developer_instructions = """
Before acting, read agents/user-interviewer/AGENTS.md from the repository root and follow that role contract, including
the skill, documentation, rules, inputs, outputs, and stopping conditions it names.

Operate only as the user interviewer. Use the initial user request and minimal follow-up questions to produce the
canonical user_workload.yaml and immutable inputs/user_provided_dgd.yaml. The baseline comes from the baseline-source
ladder in AGENTS.md: capture the DGD the user supplies; or propose an exact or close catalog recipe (a close match
with an explicit adaptation diff); or invoke author-baseline-dgd to draft one. Every rung requires the user's explicit
confirmation, and only the confirmed manifest is captured, with its origin recorded in the contract. Never deploy,
benchmark, or generate optimization hypotheses, and never record an unconfirmed manifest as the baseline.
"""
25 changes: 25 additions & 0 deletions .codex/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

[features]
multi_agent = true

[agents.user_interviewer]
description = "First optimization role: capture the user's DGD and synthesize the canonical workload contract."
config_file = "agents/user-interviewer.toml"

[agents.recipe_deployer]
description = "Deploy one assigned Dynamo DGD and produce smoke-test evidence."
config_file = "agents/recipe-deployer.toml"

[agents.perf_analyzer]
description = "Configure, run, validate, and analyze AIPerf for one deployed candidate."
config_file = "agents/perf-analyzer.toml"

[agents.hypothesis_generator]
description = "Generate one evidence-backed Dynamo optimization proposal and challenger-ready DGD draft."
config_file = "agents/hypothesis-generator.toml"

[agents.hypothesis_challenger]
description = "Adversarially review one generated Dynamo optimization candidate before GPU spend."
config_file = "agents/hypothesis-challenger.toml"
12 changes: 12 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,24 @@
**/*.libtorch_model_store/*
**/.git
**/.github
# Test images exercise these scripts without copying the rest of the GitHub
# metadata into every Docker build context.
!.github
.github/*
!.github/scripts
.github/scripts/*
!.github/scripts/apply_dev_version.py
!.github/scripts/retry_kubectl.sh
!.github/scripts/collect_vcluster_diagnostics.sh
**/*backup*/
.dockerignore
**/target/*
**/*safetensors
container/Dockerfile*
container/**/*.Dockerfile
# The AISimulate dependency contract test reads this template from runtime test
# images; keep every other generated/template Dockerfile excluded.
!container/templates/wheel_builder.Dockerfile
container/render.py
container/context.yaml
# container/compliance/ is now COPY'd into each image's `licenses` Dockerfile
Expand Down
5 changes: 5 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
* text eol=lf
*.sln text eol=crlf
*.[Gg][Ii][Ff] binary
*.[Ii][Cc][Oo] binary
*.[Jj][Pp][Ee][Gg] binary
*.[Jj][Pp][Gg] binary
Expand All @@ -11,7 +12,11 @@
*.[Gg][Zz] binary
*.fatbin binary
*.mp4 binary
*.woff2 binary -eol

# Exclude test data files from linguist language detection
lib/llm/tests/data/** linguist-vendored
lib/llm/tests/snapshots/** linguist-vendored

# Preserve the released vLLM proto byte-for-byte, including its trailing blank line.
lib/backend/vllm-sidecar/proto/vllm_grpc.proto -text diff whitespace=-blank-at-eof
35 changes: 35 additions & 0 deletions .github/ISSUE_TEMPLATE/agent-reported.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

name: Agent-reported instruction gap
description: For AI agents using the optimization skills — report instructions that misled, blocked, or contradicted live verification.
title: "[AGENT]: "
# NOTE: the "agent-reported" label must exist in the repository before this template is used —
# GitHub silently drops unknown labels at issue creation.
labels: ["agent-reported"]
body:
- type: markdown
attributes:
value: |
For AI agents. Search existing agent-reported issues before filing; one issue per
optimization session; sanitize all user/engagement specifics.
- type: input
id: agent-identity
attributes:
label: Agent identity
description: Driver model and the skills commit you were running.
placeholder: "claude-opus-4-8, skills @ abc1234"
validations:
required: true
- type: textarea
id: gap
attributes:
label: What the instructions said vs what you verified
description: Describe the instruction gap only. No user workload details, traffic numbers, cluster/namespace names, company names, or credentials.
validations:
required: true
- type: textarea
id: suggestion
attributes:
label: Suggested correction
description: Optional. The wording you would have needed.
58 changes: 58 additions & 0 deletions .github/ISSUE_TEMPLATE/cherry_pick_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Cherry-Pick Request
description: Request a merged fix on a release branch
title: '[Cherry-Pick Request] [release/X.Y.Z]: '
labels: ["cherry-pick:requested"]
body:
- type: markdown
attributes:
value: |
Use this form to request a fix on a release branch after code freeze. Get the fix merged to `main` first. Release-only fixes skip this step. The maintainer who merged your PR opens the release PR. For a release-only fix, the release approver assigns a maintainer to open it.

In the title, replace `X.Y.Z` with the target release, for example `[release/1.6.0]`.

- type: input
id: main-pr
attributes:
label: Merged Main PR
description: Link to the merged PR on `main`. Leave empty only for a release-only fix.
placeholder: https://github.com/ai-dynamo/dynamo/pull/12345
validations:
required: false

- type: input
id: target-release
attributes:
label: Target Release
description: The release this fix ships in, for example 1.6.0.
placeholder: "1.6.0"
validations:
required: true

- type: dropdown
id: type
attributes:
label: Type
options:
- Fix
- Test
- Infra
- CI
- Dependency
validations:
required: true

- type: textarea
id: reason
attributes:
label: Reason
description: What breaks in the release without it?
validations:
required: true

- type: textarea
id: dependencies
attributes:
label: Dependencies
description: Other PRs that must land first, if any.
validations:
required: false
16 changes: 16 additions & 0 deletions .github/actionlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

paths:
.github/workflows/**/*.{yml,yaml}:
ignore:
# actionlint 1.7.12 does not recognize GitHub's self-repository syntax yet.
- '^specifying action "\$/\.github/(actions|workflows)/[^"]+" in invalid format because ref is missing\.'
- '^reusable workflow call "\$/\.github/workflows/[^"]+" at "uses" is not following the format '
.github/actions/**/action.{yml,yaml}:
ignore:
- '^specifying action "\$/\.github/actions/[^"]+" in invalid format because ref is missing\.'

self-hosted-runner:
labels:
- prod-builder-v3
53 changes: 53 additions & 0 deletions .github/actions/changed-files/report.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""Report tj-actions JSON file lists and reject files without a CI filter."""

import json
import os
from pathlib import Path


def load_files(path: Path) -> set[str]:
"""Read an unescaped JSON array written by tj-actions/changed-files."""
filenames = json.loads(path.read_text())
if not isinstance(filenames, list) or not all(
isinstance(name, str) for name in filenames
):
raise ValueError(f"Expected a JSON array of filenames in {path.name}")
return set(filenames)


def report(output_dir: Path, base_sha: str = "") -> int:
"""Log filenames as JSON data and check the union of all explicit filters."""
all_path = output_dir / "all_all_modified_files.json"
all_files = load_files(all_path)
print("Base SHA:", json.dumps(base_sha or "default (previous commit)"))
print(
f"All modified files ({len(all_files)} total):", json.dumps(sorted(all_files))
)
print("Files matching each filter:")
covered: set[str] = set()
for path in sorted(output_dir.glob("*_all_modified_files.json")):
if path == all_path:
continue
filenames = load_files(path)
filter_name = path.name.removesuffix("_all_modified_files.json")
print(f" {json.dumps(filter_name)}: {json.dumps(sorted(filenames))}")
covered.update(filenames)

uncovered = all_files - covered
if uncovered:
print("::error::The following files are not covered by any CI filter:")
for filename in sorted(uncovered):
print(json.dumps(filename))
print("Add these paths to .github/filters.yaml. See .github/FILTERS.md.")
return 1
print("All modified files are covered by CI filters.")
return 0


if __name__ == "__main__":
raise SystemExit(
report(Path(os.environ["CHANGED_FILES_DIR"]), os.environ["BASE_SHA"])
)
Loading
Loading