Problem / Motivation
install.sh had several UX issues and silent bugs that caused configuration to be incomplete or confusing on first run:
- MLflow experiment creation silently failed: the script called databricks experiments create-experiment, which doesn't exist in the Databricks
CLI. The error was swallowed by 2>/dev/null, leaving MLFLOW_EXPERIMENT_ID empty and MLflow showing as disabled in the summary even when the user
opted in.
- No fallback when an experiment already exists: re-running the installer with the same experiment path would fail the create call with no
recovery.
- LLM "Other" path had a misleading default: when manually entering a custom endpoint, the input field defaulted to databricks-claude-sonnet-4-6
— the model the user explicitly chose not to use.
- APP_NAME_DEFAULT used before app name was collected: the auto-created MLflow experiment path was built from a hardcoded genie-workbench string,
not the user's chosen app name (which is collected two steps later).
- Inconsistent Y/N prompt formatting: some prompts showed [Y/n], others [y/N], with no visual consistency.
- No Enter-to-accept for the recommended model: Step 5 required typing a number even to pick the clearly recommended option.
Proposed Solution
- Replace databricks experiments create-experiment with POST /api/2.0/mlflow/experiments/create (the REST API pattern already used elsewhere in
the script), with a search-by-name fallback so re-runs succeed when the experiment already exists.
- Remove the databricks-claude-sonnet-4-6 default from the manual endpoint entry prompt.
- Remove APP_NAME_DEFAULT and replace the hardcoded experiment path with a prompted input so users can match the path to their app name.
- Standardize all Y/N hints to [Y/N].
- Add default index support to _select_from so pressing Enter selects the recommended option in Step 5.
- Change the MLflow enable prompt default to Y (recommended on).
Alternatives Considered
- Keeping databricks experiments create-experiment and handling CLI version differences — rejected in favor of the REST API which is already the
pattern in this script and more stable across CLI versions.
Additional Context
All changes are in scripts/install.sh. No deploy logic or backend code was modified.
Problem / Motivation
install.sh had several UX issues and silent bugs that caused configuration to be incomplete or confusing on first run:
CLI. The error was swallowed by 2>/dev/null, leaving MLFLOW_EXPERIMENT_ID empty and MLflow showing as disabled in the summary even when the user
opted in.
recovery.
— the model the user explicitly chose not to use.
not the user's chosen app name (which is collected two steps later).
Proposed Solution
the script), with a search-by-name fallback so re-runs succeed when the experiment already exists.
Alternatives Considered
pattern in this script and more stable across CLI versions.
Additional Context
All changes are in scripts/install.sh. No deploy logic or backend code was modified.