chore: remove prefix-cache-salt and reset-prefix-cache config flags - #2314
Conversation
Hardcode the defaults: always set cache_salt on inference requests (keyed by ckpt_step) and never reset the prefix cache after weight or LoRA updates. The salt alone is sufficient to invalidate stale KV states across policy updates, so the reset path is redundant. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 26fdbc9. Configure here.
| class OrchestratorExperimentalConfig(BaseConfig): | ||
| """Experimental features for the orchestrator.""" | ||
|
|
||
| use_prefix_cache_salt: Annotated[ |
There was a problem hiding this comment.
Empty experimental config classes left as dead code
Low Severity
After removing their only fields, OrchestratorExperimentalConfig and InferenceExperimentalConfig are now empty classes with no fields. They are still instantiated as experimental fields on OrchestratorConfig and InferenceConfig, but nothing in the codebase accesses .experimental anymore. The PR description explicitly states the intent to remove these classes and their parent fields, but this wasn't carried out.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 26fdbc9. Configure here.


Summary
orchestrator.experimental.use_prefix_cache_saltflag — always salt inference requests withstr(ckpt_step), for both training rollouts and evals.inference.experimental.reset_prefix_cache_after_updateflag — the/update_weightsand/load_lora_adapterendpoints no longer reset the prefix cache. The salt alone is sufficient to invalidate stale KV states across policy updates, making the reset path redundant.OrchestratorExperimentalConfigandInferenceExperimentalConfigclasses and their parentexperimentalfields.cache_salttyping inenvs.pyfromstr | Nonetostr(always set).🤖 Generated with Claude Code
Note
Medium Risk
Changes inference cache invalidation behavior by removing prefix-cache resets on weight/LoRA updates and making
cache_saltmandatory and always derived fromckpt_step, which could affect serving performance/correctness if assumptions about vLLM cache salting are wrong.Overview
Removes the configurable prefix-cache invalidation toggles (
orchestrator.experimental.use_prefix_cache_saltandinference.experimental.reset_prefix_cache_after_update) and their associated wiring.The orchestrator/scheduler now always injects
cache_salt=str(ckpt_step)for training rollouts and evals (andcache_saltis now a requiredstrthroughout env APIs). Inference/update_weightsand/load_lora_adapterno longer reset the vLLM prefix cache after applying updates.Reviewed by Cursor Bugbot for commit 26fdbc9. Bugbot is set up for automated code reviews on this repo. Configure here.