From 49003f3085d79b117e0e31dfbb82b366df3b466a Mon Sep 17 00:00:00 2001 From: gauss-math-inc Date: Thu, 2 Apr 2026 15:43:19 +0000 Subject: [PATCH] Trim Morph onboarding provider clutter --- scripts/install-internal.sh | 60 +++++-------------- .../run-in-container.sh | 28 ++++++++- 2 files changed, 40 insertions(+), 48 deletions(-) diff --git a/scripts/install-internal.sh b/scripts/install-internal.sh index 4eb2ce3..86e4b5b 100755 --- a/scripts/install-internal.sh +++ b/scripts/install-internal.sh @@ -1166,12 +1166,12 @@ guide_html = f"""

Commit important changes, push to a remote, and use any save or snapshot feature Morph exposes before closing the tab. Avoid leaving important work only in temp directories.

- Ready Paths -

{escape(str(repo_root))}
{escape(str(workspace_dir))}
{escape(str(gauss_home / ".env"))}
{escape(str(start_here_doc))}

+ Open Gauss Prepared +

{escape(str(repo_root))}
{escape(str(workspace_dir))}
{escape(str(start_here_doc))}

- Backend Helpers -

gauss-use-claude-backend
gauss-use-codex-backend
gauss-use-auto-auth
gauss-use-claude-login
gauss-use-codex-login

+ Change Settings Later +

Run gauss setup if you want to review providers, switch models, or change other defaults after the first session.

@@ -1467,22 +1467,15 @@ if [ "${1:-}" = "--print-summary" ]; then shift fi -staged_keys="none" -if [ -n "${OPENROUTER_API_KEY:-}" ] || [ -n "${OPENAI_API_KEY:-}" ] || [ -n "${ANTHROPIC_API_KEY:-}" ]; then - staged_keys="" - [ -n "${OPENROUTER_API_KEY:-}" ] && staged_keys="${staged_keys} OPENROUTER_API_KEY" - [ -n "${OPENAI_API_KEY:-}" ] && staged_keys="${staged_keys} OPENAI_API_KEY" - [ -n "${ANTHROPIC_API_KEY:-}" ] && staged_keys="${staged_keys} ANTHROPIC_API_KEY" - staged_keys="${staged_keys# }" -fi - -interactive_provider="none staged" +main_chat_status="needs setup." +launcher_behavior="Because no main chat provider is staged, this launcher will run gauss setup first and then leave you in a shell." launch_gauss=0 if provider_status="$(gauss-configure-main-provider auto 2>&1)"; then - interactive_provider="$provider_status" + main_chat_status="ready." + launcher_behavior="This launcher opens Gauss automatically and begins with /start." launch_gauss=1 else - interactive_provider="$provider_status" + : fi clear >/dev/null 2>&1 || true @@ -1495,10 +1488,8 @@ Commit: $(git -C "$REPO_ROOT" rev-parse --short=12 HEAD 2>/dev/null || printf 'u Lean project: $WORKSPACE_DIR Guide: __GUIDE_PATH__ Gauss project manifest: initialized -Default managed backend: claude-code -Default auth mode: auto -Main interactive provider: ${interactive_provider} -Staged keys: ${staged_keys} +Managed backend: claude-code +Main chat: ${main_chat_status} Start here: gauss-open-guide @@ -1518,24 +1509,11 @@ Lean workflows: /autoformalize --source ./paper.pdf --claim-select=first --out=Paper.lean /swarm -Backend helpers: - gauss-use-claude-backend - gauss-use-codex-backend - gauss-use-auto-auth - gauss-use-claude-login - gauss-use-codex-login - gauss-use-openrouter-key - gauss-use-anthropic-key - gauss-use-openai-key - -Interactive provider notes: - Auto-selection priority: OpenRouter, then Anthropic, then OpenAI-compatible. - OpenRouter affects the in-process main chat only; managed workflow backends stay separate. +Notes: /start keeps you in Gauss and enables inline onboarding chat before project selection. /chat opens the configured managed backend chat session and returns you to Gauss when it exits. - gauss-use-claude-backend and gauss-use-codex-backend switch both /chat and the managed Lean workflows. - When the main provider is staged, this launcher opens Gauss automatically and begins with /start. - If no main provider is staged, this launcher runs gauss setup first and then falls back to a shell. + Run gauss setup later if you want to review or change providers and other settings. + $launcher_behavior PROMPT_TOOLKIT_NO_CPR=1 is enabled to avoid CPR warnings inside tmux. The local guide is written to __GUIDE_PATH__. @@ -1745,15 +1723,6 @@ print_summary() { echo echo " Inside Gauss, use /prove, /review, /draft, /autoprove, /formalize, or /autoformalize once a project is active." echo - printf '%b%s%b\n' "${CYAN}${BOLD}" "Helper Commands:" "${NC}" - echo " gauss-configure-main-provider [auto|openrouter|anthropic|openai]" - echo " gauss-use-openrouter-key" - echo " gauss-use-anthropic-key" - echo " gauss-use-openai-key" - echo " gauss-use-claude-backend" - echo " gauss-use-codex-backend" - echo " gauss-use-auto-auth" - echo printf '%b%s%b\n' "${CYAN}${BOLD}" "Notes:" "${NC}" echo " - The installer keeps code in your existing repository checkout." echo " - The installer updates future shells, but it cannot change PATH in the shell that launched the installer." @@ -1766,6 +1735,7 @@ print_summary() { fi echo " - The local guide is written to $GUIDE_DIR/index.html." echo " - If Open Gauss feels intimidating, start with /start for inline onboarding or /chat for managed backend chat." + echo " - Use gauss setup later if you want to review providers or other settings." echo " - No Morph iframe is exposed automatically; use gauss-open-guide if you want the local guide in a browser." echo " - No tmux session is opened during install; use gauss-open-session when you want the workflow launcher." } diff --git a/tests/installer/ubuntu_repository_local_install_smoke/run-in-container.sh b/tests/installer/ubuntu_repository_local_install_smoke/run-in-container.sh index ddb1030..e5198ca 100755 --- a/tests/installer/ubuntu_repository_local_install_smoke/run-in-container.sh +++ b/tests/installer/ubuntu_repository_local_install_smoke/run-in-container.sh @@ -57,6 +57,12 @@ grep -F "/start" "$INSTALL_LOG" >/dev/null || die "expected installer summary to grep -F "gauss-open-session" "$INSTALL_LOG" >/dev/null || die "expected installer summary to mention gauss-open-session" grep -F "gauss-open-guide" "$INSTALL_LOG" >/dev/null || die "expected installer summary to mention gauss-open-guide" grep -F "cannot change PATH in the shell that launched the installer." "$INSTALL_LOG" >/dev/null || die "expected installer summary to explain current-shell PATH behavior" +if grep -F "Helper Commands:" "$INSTALL_LOG" >/dev/null; then + die "expected installer summary to avoid helper-command clutter" +fi +if grep -F "gauss-use-openrouter-key" "$INSTALL_LOG" >/dev/null; then + die "expected installer summary to avoid provider-key helper clutter" +fi grep -F "Managed Lean workflow assets ready:" "$INSTALL_LOG" >/dev/null || die "expected installer to prewarm managed Lean workflow assets" grep -F "Managed /prove staging verified:" "$INSTALL_LOG" >/dev/null || die "expected installer to verify managed /prove staging in the Lean workspace" if grep -F "Skipping managed /prove staging verification" "$INSTALL_LOG" >/dev/null; then @@ -87,6 +93,12 @@ grep -F "Start Here" "$GAUSS_HOME/guide/index.html" >/dev/null || die "expected grep -F "/start" "$GAUSS_HOME/guide/index.html" >/dev/null || die "expected generated guide to mention /start" grep -F "/chat" "$GAUSS_HOME/guide/index.html" >/dev/null || die "expected generated guide to mention /chat" grep -F "If You Opened This In Morph" "$GAUSS_HOME/guide/index.html" >/dev/null || die "expected generated guide to include Morph guidance" +if grep -F "gauss-use-claude-login" "$GAUSS_HOME/guide/index.html" >/dev/null; then + die "expected generated guide to avoid login-helper clutter" +fi +if grep -F "$GAUSS_HOME/.env" "$GAUSS_HOME/guide/index.html" >/dev/null; then + die "expected generated guide to avoid exposing the staged .env path" +fi assert_exists "$GAUSS_HOME/autoformalize/assets/lean4-skills/.gauss-managed-revision" assert_exists "$GAUSS_HOME/skins/mathinc.yaml" assert_exists "$WORKSPACE_DIR/PAPER.md" @@ -172,11 +184,21 @@ grep -F 'OPENAI_BASE_URL="https://api.openai.com/v1"' "$GAUSS_HOME/.env" >/dev/n echo "==> Verifying launcher summary" SUMMARY_OUTPUT="$(gauss-launch-session --print-summary)" printf '%s\n' "$SUMMARY_OUTPUT" -[[ "$SUMMARY_OUTPUT" == *"OpenAI-compatible main provider configured"* ]] || die "expected OpenAI provider summary" +[[ "$SUMMARY_OUTPUT" == *"Managed backend: claude-code"* ]] || die "expected managed backend summary" +[[ "$SUMMARY_OUTPUT" == *"Main chat: ready."* ]] || die "expected ready main-chat summary" [[ "$SUMMARY_OUTPUT" == *"$WORKSPACE_DIR"* ]] || die "expected workspace path in launcher summary" [[ "$SUMMARY_OUTPUT" == *"/chat"* ]] || die "expected launcher summary to mention /chat" [[ "$SUMMARY_OUTPUT" == *"gauss-open-guide"* ]] || die "expected launcher summary to mention gauss-open-guide" [[ "$SUMMARY_OUTPUT" == *"begins with /start"* ]] || die "expected launcher summary to mention automatic /start" +if [[ "$SUMMARY_OUTPUT" == *"Staged keys:"* ]]; then + die "expected launcher summary to avoid staged-key details" +fi +if [[ "$SUMMARY_OUTPUT" == *"Gauss Setup — Non-interactive mode"* ]]; then + die "expected launcher summary to avoid inlined setup output" +fi +if [[ "$SUMMARY_OUTPUT" == *"gauss-use-openrouter-key"* ]]; then + die "expected launcher summary to avoid provider-key helper clutter" +fi echo "==> Verifying no-provider launcher fallback state" cp "$GAUSS_HOME/.env" "$GAUSS_HOME/.env.backup" @@ -202,9 +224,9 @@ PY NO_PROVIDER_SUMMARY="$(gauss-launch-session --print-summary)" printf '%s\n' "$NO_PROVIDER_SUMMARY" -[[ "$NO_PROVIDER_SUMMARY" == *"No staged OpenRouter, Anthropic, or OpenAI key found for the main interactive provider."* ]] || die "expected missing-provider summary" +[[ "$NO_PROVIDER_SUMMARY" == *"Main chat: needs setup."* ]] || die "expected missing-provider launcher summary" [[ "$NO_PROVIDER_SUMMARY" == *"/chat opens the configured managed backend chat session"* ]] || die "expected provider notes to mention managed /chat" -[[ "$NO_PROVIDER_SUMMARY" == *"runs gauss setup first"* ]] || die "expected missing-provider summary to mention setup fallback" +[[ "$NO_PROVIDER_SUMMARY" == *"run gauss setup first and then leave you in a shell"* ]] || die "expected missing-provider summary to mention setup fallback" grep -F "GAUSS_FORCE_FIRST_TIME_SETUP=1 gauss setup || true" "$HOME/.local/bin/gauss-launch-session" >/dev/null || die "expected launcher to restore first-run setup fallback when no provider is staged" grep -F "gauss --startup-input /start" "$HOME/.local/bin/gauss-launch-session" >/dev/null || die "expected launcher to auto-start gauss with /start" grep -F "exec bash -i" "$HOME/.local/bin/gauss-launch-session" >/dev/null || die "expected interactive shell fallback when no provider is staged"