xai-org/x-algorithm · error · anyhow::Error

--sid-endpoint is required when --pipeline={}

Error message

--sid-endpoint is required when --pipeline={}

What it means

Raised in phoenix-rankall's main when --pipeline is set to Sid or SidTail but --sid-endpoint was not provided. The SID pipeline requires a remote SID model endpoint, and the CLI args are insufficient to construct it.

Source

Thrown at phoenix-rankall/src/main.rs:146

                    windows: cli.pipeline.window_configs(),
                    compaction_interval_secs: cli.dump_interval_secs,
                    versions_to_keep: cli.versions_to_keep,
                    pipeline: cli.pipeline.to_string(),
                    sid_num_levels: cli.sid_num_levels,
                },
                metadata_window_router(),
                Arc::clone(&metrics),
            );
            Pipeline::new(
                Box::new(consumer),
                Box::new(processor),
                Box::new(store),
                Arc::try_unwrap(metrics).unwrap_or_else(|m| (*m).clone()),
            )
        }
        PipelineKind::Sid | PipelineKind::SidTail => {
            let endpoint = cli.sid_endpoint.as_deref().ok_or_else(|| {
                anyhow::anyhow!(
                    "--sid-endpoint is required when --pipeline={}",
                    cli.pipeline
                )
            })?;
            if cli.sid_num_levels == 0 {
                bail!("--sid-num-levels must be > 0 for the SID pipeline");
            }
            let windows = cli.pipeline.window_configs();

            let sid_metrics = SidMetrics::new(&registry).context("failed to create SID metrics")?;
            let sid_client = Arc::new(
                SidClient::new(
                    endpoint,
                    cli.sid_min_post_age_seconds,
                    Duration::from_secs_f64(cli.sid_request_timeout_seconds),
                    sid_metrics.clone(),
                )
                .context("failed to construct SidClient")?,

View on GitHub (pinned to 24c60942c5)

Solutions

  1. Add --sid-endpoint <url> to the command line
  2. If the SID pipeline was not intended, fix the --pipeline value (e.g. use the default pipeline)
  3. If scripting, validate that pipeline==Sid/SidTail implies sid_endpoint is set before invoking the binary

Example fix

# before
phoenix-rankall --pipeline=Sid

# after
phoenix-rankall --pipeline=Sid --sid-endpoint=http://sid-service:8080 --sid-num-levels=3
Defensive patterns

Strategy: validation

Validate before calling

use pipeline == "sid" || pipeline == "sid_tail" { assert sid_endpoint set } end

Try / catch

null

Prevention

When it happens

Trigger: Running phoenix-rankall with --pipeline=Sid or --pipeline=SidTail while omitting --sid-endpoint (e.g. `phoenix-rankall --pipeline=Sid`).

Common situations: Copy-pasting a command from docs for a different pipeline; scripts parameterizing the pipeline name but not the endpoint; renaming/removal of default endpoint flags between versions.

Understand the failure class

Background: "no subcommand specified" and "... is required": CLI errors when a required argument is missing — this error's family across 13 libraries.

Related errors


AI-assisted analysis of xai-org/x-algorithm@24c60942c5 (2026-08-28). Data as JSON: /api/errors/08841413c2ae210b. Report an issue: GitHub.