fix(agent-runner): validate clean marketplace onboarding

This commit is contained in:
huanghuoguoguo
2026-07-15 07:52:43 +08:00
parent d88d05e27c
commit 1af106aa92
10 changed files with 461 additions and 41 deletions
@@ -1,5 +1,5 @@
id: wizard-runner-marketplace-catalog
title: "Quick Start discovers AgentRunner extensions on a clean instance"
title: "Quick Start installs a published AgentRunner on a clean instance"
mode: agent-browser
area: wizard
type: feature
@@ -16,33 +16,31 @@ skills:
- langbot-env-setup
- langbot-testing
env:
- LANGBOT_FRONTEND_URL
- LANGBOT_BACKEND_URL
- LANGBOT_E2E_LOGIN_USER
- LANGBOT_REPO
automation: scripts/e2e/wizard-runner-marketplace-catalog.mjs
automation_env:
- LANGBOT_FRONTEND_URL
- LANGBOT_BACKEND_URL
- LANGBOT_E2E_LOGIN_USER
- LANGBOT_REPO
- LANGBOT_BROWSER_PROFILE
- LANGBOT_CHROMIUM_EXECUTABLE
preconditions:
- "The target is a newly initialized local instance with wizard_status=none."
- "No plugins or AgentRunner components are installed."
- "The local checkout can start an isolated backend and Vite frontend and can reach LangBot Space."
steps:
- "Confirm the backend reports zero installed plugins and zero registered runners."
- "Start an isolated first-run instance and confirm zero installed plugins and zero registered runners."
- "Resume Quick Start at the AI Engine step with a temporary disabled Bot."
- "Confirm the browser requests Marketplace plugins with component_filter=AgentRunner."
- "When Space has not published Runner plugins, confirm the safe empty state and Runner Extensions link."
- "Confirm Create & Deploy remains disabled until a Runner is installed and selected."
- "Confirm langbot-team/LocalAgent is published with an installable version and the Runner Extensions link is correct."
- "Install LocalAgent and wait for plugin initialization and AgentRunner registration."
- "Confirm Create & Deploy is disabled before installation and enabled after LocalAgent is selected."
- "Verify the layout at desktop and mobile widths."
checks:
- "API: The instance has zero installed plugins and zero registered runners."
- "API: The instance wizard status is none."
- "Network: Marketplace search uses component_filter=AgentRunner and type_filter=plugin."
- "UI: The AI Engine step remains usable when the Runner catalog is empty."
- "UI: The AI Engine step displays the published langbot-team/LocalAgent card."
- "Marketplace: LocalAgent includes latest_version so installation can proceed."
- "Runtime: LocalAgent installs and registers plugin:langbot-team/LocalAgent/default."
- "UI: Browse Runner Extensions links to the AgentRunner-filtered market."
- "UI: Create & Deploy remains disabled without a selected Runner."
- "UI: Create & Deploy transitions from disabled to enabled only after Runner selection."
- "Console: No unexpected frontend errors appear during the flow."
- "Cleanup: Wizard progress and the temporary Bot are removed."
evidence_required:
@@ -51,8 +49,8 @@ evidence_required:
- console
- api_diagnostic
diagnostics:
- "This case validates the clean-instance discovery and empty state. Run the install continuation after Space publishes at least one AgentRunner plugin."
- "A Marketplace API response alone is not a pass; the empty or installable Runner UI must be visible."
- "The automation owns a temporary data root and random ports; it must not reuse or reset the developer instance."
- "A Marketplace API response alone is not a pass; LocalAgent must install and register through the visible Wizard flow."
troubleshooting:
- backend-not-listening
- plugin-runtime-timeout