5.0 KiB
5.0 KiB
ADDED Requirements
Requirement: Acceptance suite runs against the real local debug stack
The repository SHALL provide an automated browser acceptance suite that verifies platform_web against the API-backed local debug stack and safe game plugin fixture.
Scenario: Suite prepares local debug fixture
- WHEN the acceptance suite is run from a clean checkout with documented local debug prerequisites
- THEN it MUST start or reuse platform, run worker, platform_web, and the dev game plugin fixture through documented local debug commands and MUST seed or verify
game.example,server-local-debug, andrun-local-debugbefore browser assertions begin
Scenario: Suite uses platform-owned browser API path
- WHEN platform_web is exercised by the acceptance suite
- THEN browser requests MUST go through the configured platform API proxy with
VITE_PLATFORM_API_BASE_URL=/api/v1and MUST NOT require direct run URLs, run credentials, or plugin-owned transports in browser code or visible output
Requirement: Acceptance suite verifies first-party console areas
The browser acceptance suite SHALL verify the required first-party platform_web areas with an API-backed user session.
Scenario: Suite logs in with local debug user
- WHEN the acceptance suite opens platform_web
- THEN it MUST log in with the documented local debug operator account and confirm the session lands on an API-backed workspace rather than local fallback data
Scenario: Suite verifies required routes
- WHEN browser acceptance route checks run
- THEN they MUST open 首页、服务器管理、插件市场、用户管理、AI 提供商管理 and assert stable API-backed content for each route
Scenario: Suite rejects fallback content
- WHEN any required route renders fallback, mock, demo-only, or local-auth fallback content
- THEN the acceptance suite MUST fail and report the route, visible evidence, and failed assertion
Requirement: Acceptance suite verifies plugin and server operation surfaces
The browser acceptance suite SHALL verify core plugin/server operation surfaces that prove the console is connected to platform-mediated lifecycle and plugin data.
Scenario: Suite verifies server detail lifecycle surface
- WHEN the suite opens the local debug server detail route
- THEN it MUST assert that
Local Debug Example Server,server-local-debug,game.example,run-local-debug, lifecycle controls, operation history, log entry points, and artifact or artifact-reference entry points are visible or otherwise represented through platform-owned UI state
Scenario: Suite verifies plugin marketplace data
- WHEN the suite opens the plugin marketplace route or plugin detail surface
- THEN it MUST assert that
game.example, manifest reference metadata, installed state, platform-mediated permissions, bridge actions, and lifecycle capabilities are visible without exposing unsafe runtime transport details
Scenario: Suite verifies operation proof without direct run access
- WHEN the suite triggers or inspects a lifecycle operation
- THEN it MUST verify platform-owned job or operation-history evidence and MUST NOT rely on platform_web or plugin pages contacting run directly
Requirement: Acceptance suite scans visible safety boundaries
The browser acceptance suite SHALL scan accepted browser-visible content for fallback indicators and forbidden sensitive fragments.
Scenario: Suite scans each accepted route
- WHEN a required route or plugin/server operation surface is accepted
- THEN the suite MUST scan visible text for
/Users/,/private/,unix://,tcp://,Bearer,sk-,password=,apiKeyRef,rawApiKey, run session tokens, direct run URLs, and plugin-owned transport details
Scenario: Suite fails on forbidden visible fragments
- WHEN any forbidden sensitive fragment is visible on an accepted route
- THEN the suite MUST fail and report the route, matched fragment class, and enough nearby evidence to debug the leak without printing raw credentials
Requirement: Acceptance suite produces reproducible evidence
The browser acceptance suite SHALL provide concrete commands and evidence outputs that can be used to close OpenSpec tasks.
Scenario: Suite command is documented
- WHEN contributors read the change documentation or tasks
- THEN they MUST find concrete commands for running local debug smoke, browser acceptance, frontend checks, structure checks, and strict OpenSpec validation
Scenario: Suite writes acceptance evidence
- WHEN browser acceptance passes
- THEN it MUST write or print evidence including stack URLs, seed evidence directory, routes checked, required assertions, fallback scan results, forbidden-fragment scan results, and plugin/server operation proof
Scenario: Suite cleans up self-started services
- WHEN the suite starts local debug services itself
- THEN it MUST stop or reset only the documented local debug root after completion or failure, using the same safe reset scope as the local debug workspace