Skip to content

docs(cli): spice version always names the runtime path, managed install included - #2190

Merged
lukekim merged 1 commit into
trunkfrom
fix/spice-version-runtime-path-unconditional
Sep 10, 2026
Merged

lukekim merged 1 commit into
trunkfrom
fix/spice-version-runtime-path-unconditional

Conversation

@claudespice

Copy link
Copy Markdown
Contributor

Summary

#2186 added runtime-path reporting to the spice version and spice run pages, both gated on the same condition:

version.md: "For a runtime outside the managed install, the output also includes its path and source"
run.md: "For a runtime outside the managed install, the CLI reports its path and source. spice version also reports these values."

spice version does not test the source. It prints the line whenever a runtime resolves:

if !args.cli_only {
    println!("Runtime version: {}", describe_runtime_version(runtime.as_ref()));
    if let Some(resolved) = &resolved {
        println!("Runtime path:    {} ({})", resolved.path().display(), resolved.source.describe());
    }
}

So a reader on the ordinary spice install layout — the commonest one — is told they will not see a line they do see, and the "sample output" blocks above it show a two-line output that no longer matches.

The conditional is real, but it belongs to spice run, and it is a log level, not presence:

if resolved.source.is_expected_default() {
    tracing::debug!("Using the Spice.ai runtime at '{path}' ({source}).");
} else {
    tracing::info!("Using the Spice.ai runtime at '{path}' ({source}).");
}

is_expected_default() is true only for ManagedInstall, and its doc comment is explicit that this is "what keeps spice run from announcing its runtime". The two commands were collapsed into one sentence that is right for neither.

What changed

  • version.md — the line is described as unconditional, with the managed install as the shown example; enumerates the four describe() strings verbatim (pinned by SPICED_PATH, beside the spice CLI, installed by spice install, installed by spice install, by the sudo invoker); names the two cases where it is absent (no runtime resolves, or --cli-only); and records the located-but-unprobeable case, whose Runtime version: text is quoted from source. Notes that runtime_source in JSON is the enum, not the prose — the code comments that this deliberately, so docs describing it as the same string would be wrong.
  • run.md — replaces the shared sentence with spice run's own behavior, quoting the log message and saying which level each case gets, then states that spice version reports the same values unconditionally.

Every quoted string is a static template with no substituted fields except the path and source, which the text identifies as such.

Source refs (spiceai/spiceai @ 2f10331)

The four-rung selection order #2186 documented is accurate as written — context.rs#L518-L527 lists the same four, and PATH really is excluded by design.

Scope

vNext only — neither claim exists in any versioned snapshot (grep -rn "Runtime path" website/versioned_docs/ is empty), and the reporting itself is newer than v2.2.1.

Test plan

  • cd website && npm run build passes (./run#runtime-selection and ./install both resolve)
  • Files updated: 2

…ll included

The version page said the path/source line appears only 'for a runtime outside
the managed install'. version.rs prints it whenever a runtime resolves, with no
test on the source, so a reader on an ordinary managed install is told they will
not see a line they do see.

The conditional does exist, but it belongs to 'spice run': report_resolved_runtime
logs at info for a non-managed runtime and at debug for the managed one. Splits
the two commands' behavior apart, lists the four source strings, and says when the
line is genuinely absent.
@github-actions

github-actions Bot commented Sep 10, 2026 •

Copy link
Copy Markdown
Contributor

✅ Pull with Spice Passed

Passing checks:

  • ✅ Title meets minimum length requirement (10 characters)
  • ✅ Has at least one of the required labels: area/blog, area/docs, area/cookbook, dependencies
  • ✅ No banned labels detected
  • ✅ Has at least one assignee: claudespice

@github-actions

Copy link
Copy Markdown
Contributor

🔍 Pull with Spice Failed

Passing checks:

  • ✅ Title meets minimum length requirement (10 characters)
  • ✅ Has at least one of the required labels: area/blog, area/docs, area/cookbook, dependencies
  • ✅ No banned labels detected

Failed checks:

  • ❌ At least one assignee is required for this pull request.

Please address these issues and update your pull request.

@github-actions

Copy link
Copy Markdown
Contributor

🚀 deployed to https://e3aaf542.spiceai-org-website.pages.dev

@lukekim
lukekim merged commit 32d385d into trunk Sep 10, 2026
6 of 11 checks passed
@lukekim
lukekim deleted the fix/spice-version-runtime-path-unconditional branch September 10, 2026 15:07
lukekim pushed a commit that referenced this pull request Sep 12, 2026
The version-2.3.x snapshot was cut hours before #2190, so it still ties
the Runtime path line to a runtime outside the managed install. At
v2.3.0 spice version prints it whenever a runtime resolves, with no test
on the source; the conditional is real but belongs to spice run, where
it is a log level, not presence.

This branch was successfully deployed

1 active deployment
preview — 1f46aa74 Deployed Sep 10, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants