Files

6.6 KiB

ADDED Requirements

Requirement: Exact SCUM detail navigation

The SCUM server detail view SHALL contain exactly five tabs in this order: 用户管理, 队伍管理, 实时地图, 礼包管理, AI 助手.

Scenario: SCUM detail opens normally

  • WHEN an operator opens a SCUM server detail without a valid section selector
  • THEN the page selects 用户管理 as the default and renders no standalone 管理 or Workflow 状态 tab

Scenario: Legacy section is requested

  • WHEN a legacy manage, workflows, or otherwise invalid SCUM section is requested
  • THEN the page replaces/falls back to 用户管理 without an empty screen or a Workflow/management placeholder

Scenario: Non-SCUM server detail is rendered

  • WHEN another plugin/server type legitimately declares different navigation
  • THEN the SCUM-only five-tab restriction does not silently remove that plugin's declared pages

Requirement: Required management controls are relocated

Removing the SCUM 管理 tab SHALL NOT remove server deployment, metadata, or administrator-membership capabilities.

Scenario: Operator edits deployment

  • WHEN an authorized operator needs to change the SCUM deployment definition
  • THEN the existing server-list deployment action remains available and no replacement permanent detail tab is introduced

Scenario: Server owner opens settings

  • WHEN the server owner selects the compact settings action in the detail header
  • THEN a drawer or dialog permits display-name and administrator membership changes with the existing ownership authorization

Scenario: Non-owner opens server settings

  • WHEN a server member who is not the owner views the settings surface
  • THEN owner-only membership mutations are unavailable and a direct API attempt remains forbidden

Requirement: Projection and Workflow concepts are removed from the product

SCUM pages and browser contracts SHALL NOT render or offer projection, observation, manual synchronization, audit-initiation, pending-review counter, or Workflow product concepts.

Scenario: Any retained SCUM page renders

  • WHEN users, squads, map, gifts, or AI content is displayed
  • THEN it contains none of Workflow 状态, 投影, 真实投影, 玩家投影, 刷新投影, 刷新世界投影, 刷新真实数据, 发起审计, 创建发放 workflow, typed workflow, typed observation, typed operation, 待审操作, 审批/确认队列, 清理旧入口, 目前暂无真实投影数据, 暂无真实投影数据, 暂无玩家投影, or Companion 可用

Scenario: Plugin page loads data

  • WHEN any of the four SCUM management pages initializes or retries a failed local read
  • THEN it calls only its local resource API and does not list/create Workflow instances/steps or start a query, projection refresh, real-data refresh, or audit

Scenario: Removed endpoint is requested

  • WHEN a browser requests the removed SCUM Workflow, Workflow-step, observation, operation-list/approve, projection/real-data refresh, or audit-initiation endpoint
  • THEN Platform returns not found or a stable removal response without dispatching a job or exposing a replacement raw execution path

Scenario: Legacy operation approval route is requested

  • WHEN a caller invokes a legacy SCUM operation-list, /scum/operations/{id}/approve, pending-review, or confirmation-queue route
  • THEN Platform returns not found or a stable removal response and SHALL NOT create an approval record, dispatch a write, or revive an approval product domain

Scenario: Internal write safety is recorded

  • WHEN Platform records authorization, idempotency, backup, execution, or confirmation evidence for a write
  • THEN the record remains internal/safe and does not create a user-facing audit-start action or Workflow status page

Requirement: Trustworthy management page layouts

The user, squad, map, and gift pages SHALL use full-width business data layouts and shared theme-aware table, drawer, dialog, and status patterns without placeholder product data.

Scenario: Management page is implemented

  • WHEN a first-party SCUM page adds or changes styles
  • THEN it preserves black-mecha and magical-girl theme readability, reuses shared tokens/components, keeps CSS declarations compact, and does not add unrelated opaque SaaS cards or page-local fixed decorative effects

Scenario: Data load fails

  • WHEN a local API request fails
  • THEN the page shows a readable error and may retry only the local read; it does not generate sample players, squads, vehicles, flags, positions, gifts, maintenance evidence, backups, or operation results

Requirement: AI assistant is preserved with reviewable effects

The AI 助手 SHALL remain the final SCUM tab and SHALL support plugin-declared configuration suggestions and controlled player-operation drafts without receiving provider secrets or independent write authority.

Scenario: AI suggests plugin configuration

  • WHEN an authorized operator requests SCUM plugin configuration assistance
  • THEN AI proposes only plugin-declared fields, Platform validates and displays a reviewable diff, and the authorized review-and-confirm config-write path applies the change only after explicit confirmation

Scenario: User can view but cannot apply a suggestion

  • WHEN the user may invoke/read an AI suggestion but lacks the permission required for the proposed config or player write
  • THEN the suggestion remains reviewable while the apply action is disabled and backend application is forbidden

Scenario: AI provider is invoked

  • WHEN Platform sends the allowed prompt/context to the configured AI provider
  • THEN raw AI keys, database credentials, SCUM.db paths, raw XML, and protected Run material never reach the plugin page/browser

Requirement: Obsolete UI actions and placeholders are removed

The SCUM product SHALL replace hard-coded actions and placeholder map/gift behavior with the declared business flows.

Scenario: Player actions render

  • WHEN a player has writable verified fields
  • THEN the UI offers explicit named-field editing and contains no Fame +100, 现金 +1000, 855 审批, fake before value, fake maintenance ID, or fake backup reference

Scenario: Map renders

  • WHEN the map page is available
  • THEN it uses the verified map capability and contains no gradient-only board or arbitrary percentage-dot transform

Scenario: Gift page renders

  • WHEN gift management is available
  • THEN it reads local gift packages and contains no hard-coded starter-pack, fixed player-card delivery, or fixed notification text