{"record":{"id":"08841413c2ae210b","repo":"xai-org/x-algorithm","slug":"sid-endpoint-is-required-when-pipeline","errorCode":null,"errorMessage":"--sid-endpoint is required when --pipeline={}","messagePattern":"--sid-endpoint is required when --pipeline=(.+?)","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"phoenix-rankall/src/main.rs","lineNumber":146,"sourceCode":"                    windows: cli.pipeline.window_configs(),\n                    compaction_interval_secs: cli.dump_interval_secs,\n                    versions_to_keep: cli.versions_to_keep,\n                    pipeline: cli.pipeline.to_string(),\n                    sid_num_levels: cli.sid_num_levels,\n                },\n                metadata_window_router(),\n                Arc::clone(&metrics),\n            );\n            Pipeline::new(\n                Box::new(consumer),\n                Box::new(processor),\n                Box::new(store),\n                Arc::try_unwrap(metrics).unwrap_or_else(|m| (*m).clone()),\n            )\n        }\n        PipelineKind::Sid | PipelineKind::SidTail => {\n            let endpoint = cli.sid_endpoint.as_deref().ok_or_else(|| {\n                anyhow::anyhow!(\n                    \"--sid-endpoint is required when --pipeline={}\",\n                    cli.pipeline\n                )\n            })?;\n            if cli.sid_num_levels == 0 {\n                bail!(\"--sid-num-levels must be > 0 for the SID pipeline\");\n            }\n            let windows = cli.pipeline.window_configs();\n\n            let sid_metrics = SidMetrics::new(&registry).context(\"failed to create SID metrics\")?;\n            let sid_client = Arc::new(\n                SidClient::new(\n                    endpoint,\n                    cli.sid_min_post_age_seconds,\n                    Duration::from_secs_f64(cli.sid_request_timeout_seconds),\n                    sid_metrics.clone(),\n                )\n                .context(\"failed to construct SidClient\")?,","sourceCodeStart":128,"sourceCodeEnd":164,"githubUrl":"https://github.com/xai-org/x-algorithm/blob/24c60942c5c5fdad3a6addffb4c6e6d2f228f04f/phoenix-rankall/src/main.rs#L128-L164","documentation":"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.","triggerScenarios":"Running phoenix-rankall with --pipeline=Sid or --pipeline=SidTail while omitting --sid-endpoint (e.g. `phoenix-rankall --pipeline=Sid`).","commonSituations":"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.","solutions":["Add --sid-endpoint <url> to the command line","If the SID pipeline was not intended, fix the --pipeline value (e.g. use the default pipeline)","If scripting, validate that pipeline==Sid/SidTail implies sid_endpoint is set before invoking the binary"],"exampleFix":"# before\nphoenix-rankall --pipeline=Sid\n\n# after\nphoenix-rankall --pipeline=Sid --sid-endpoint=http://sid-service:8080 --sid-num-levels=3","handlingStrategy":"validation","validationCode":"use pipeline == \"sid\" || pipeline == \"sid_tail\" { assert sid_endpoint set } end","typeGuard":null,"tryCatchPattern":"null","preventionTips":["Wrap the binary in a script that validates arg combinations","Add shell completion/docs for pipeline-specific flags"],"tags":["cli","argument-validation","phoenix","rust"],"backgroundTag":"missing-cli-argument","analyzedSha":"24c60942c5c5fdad3a6addffb4c6e6d2f228f04f","analyzedAt":"2026-08-28T11:40:14.686Z","schemaVersion":2},"datasetVersion":"2026-08-28T16:17:29.566Z"}