feat: make ServeConfig.address optional with no default - #2301
Merged
Conversation
None leaves the bind to whoever hosts the env: serve_env falls back to its default loopback bind, a launcher may derive one per server. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
ApprovabilityVerdict: Approved 4aba2da This change makes the You can customize Macroscope's approvability policy. Learn more. |
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.
Summary
ServeConfig.addressis nowstr | None = None: the config no longer bakes in a bind address, leaving the choice to whoever hosts the env.serve_envacceptsaddress=Noneand falls back to its previous default loopback bind (tcp://127.0.0.1:5000), so standalone serving behaves exactly as before.ServeConfig.address(the eval runner binds an OS-assignedtcp://127.0.0.1:0), so this only affects downstream consumers of the config.Companion to PrimeIntellect-ai/prime-rl#3218, which consumes
vf.ServeConfigas-is per source: an unsetaddressmeans the prime-rl launcher serves the source at a derived loopback address, a set one marks the server externally managed (e.g. its own k8s pod).🤖 Generated with Claude Code
Note
Make
ServeConfig.addressoptional withNoneas defaultChanges
ServeConfig.addressfrom a requiredstrdefaulting to"tcp://127.0.0.1:5000"toOptional[str]defaulting toNone. WhenNone,serve_envcoerces the value to"tcp://127.0.0.1:5000"internally, keeping runtime behavior unchanged while allowing callers to omit the address and defer bind selection to the host.Macroscope summarized 4aba2da.
Note
Low Risk
Small API/config default change with explicit runtime fallback; no auth or data-path changes.
Overview
ServeConfig.addressno longer defaults to a bind URL — it isstr | Nonewith defaultNone, so the[serve]block does not imply where the ZMQ ROUTER listens; hosts (eval runner, external launchers) decide or derive an address.serve_envacceptsaddress=Noneand normalizes totcp://127.0.0.1:5000at entry, so direct/standalone serving keeps the same loopback bind as before. Docstrings describe that split: unset config defers to the host; unsetserve_envarg still gets the historical default.Reviewed by Cursor Bugbot for commit 4aba2da. Bugbot is set up for automated code reviews on this repo. Configure here.