Skip to content

feat!: Add a local instance pool selector and name pool peers by instance_id - #22

Merged
shackmann merged 1 commit into
mainfrom
stefan/inference
Oct 13, 2026
Merged

shackmann merged 1 commit into
mainfrom
stefan/inference

Conversation

@shackmann

@shackmann shackmann commented Oct 13, 2026 •

Copy link
Copy Markdown
Collaborator

BREAKING CHANGE: JointFMInstanceSettings, InstanceHealth, endpoint_client(),
and the CLI health output name peers by instance_id instead of deployment_id.
HealthMetadata requires the /healthz generation field.


Note

Medium Risk
Breaking renames and a new required health field can break existing integrations; pooling and health-probe paths changed for multi-local setups, affecting routing and capacity behavior without touching auth secrets.

Overview
Breaking: Pool and health APIs now identify peers with instance_id (hosted deployment ID or normalized local base URL) instead of deployment_id. That applies to JointFMInstanceSettings, InstanceHealth, JointFMClient.endpoint_client(), and the jointfm-client health JSON output. HealthMetadata now requires a generation field (jointfm-1 / jointfm-2) from service health payloads.

Adds JOINTFM_LOCAL_BASE_URLS: a comma-separated list of at least two local inference base URLs for round-robin pooling with the same semantics as JOINTFM_DEPLOYMENT_IDS (health aggregation, sample batch splitting, failover, max-utilization). Configuration flows through config.sample.yaml, unified selector resolution (mutually exclusive selectors), and JointFMSettings.is_local / instance_id helpers. Local pool peers are probed via POST {"request_type": "health"} on each service’s predict URL; a single local URL still uses GET /healthz.

Docs, notebooks, and samples are updated (generic placeholders, equality-condition behavior). CLAUDE.md is replaced by a symlink to AGENTS.md. Tests cover local pool loading, routing, checkpoint mismatch, and transport auth omission for local targets.

Reviewed by Cursor Bugbot for commit 14be330. Configure here.

…n counts

- Updated `forecast_samples.ipynb`, `max_utilization.ipynb`, `pandas_result_conversion.ipynb`, `predict_json.ipynb`, `service_health.ipynb` to clear output cells and set execution counts to null for a cleaner notebook state.
- This change enhances the readability and maintainability of the notebooks by removing unnecessary output clutter.
@shackmann
shackmann merged commit 9408d1a into main Oct 13, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant