## 1. Shared Operations Contracts - [x] 1.1 Add shared frontend view contracts for module availability, job buckets, attention signals, and safe operation targets outside page components. - [x] 1.2 Add pure derivation helpers for active/failed jobs, server attention sorting, and overview module summaries. - [x] 1.3 Add focused tests for job classification, unavailable-module handling, deterministic ordering, and forbidden-field omission. ## 2. Shared Operations UI - [x] 2.1 Add a compact theme-aware current-session operation tray with pending, succeeded, failed, and empty states. - [x] 2.2 Pass the operation tracker through the shell and keep durable Platform job/audit history clearly distinguished from session feedback. - [x] 2.3 Add Escape handling, duplicate-submit protection, and accessible labels to shared management and confirmation dialogs. ## 3. Operations Overview - [x] 3.1 Refactor overview API modules so metrics, usage, providers, and audit events preserve independent loading, ready, empty, and unavailable states. - [x] 3.2 Add actionable endpoint/job/resource/provider status modules and scoped retry/refresh timestamps using only safe Platform projections. - [x] 3.3 Add overview tests covering partial API failure, active/failed jobs, actionable navigation, and read-only session behavior. ## 4. Server Management - [x] 4.1 Add explicit metrics availability/retry and deterministic status/job sorting to the full-width server working surface. - [x] 4.2 Add real active/failed job summaries and recovery navigation without reflowing cards or simulating terminal success. - [x] 4.3 Add tests for metrics failure, job summaries, sorting, and permission-aware create/action controls. ## 5. Plugin Marketplace - [x] 5.1 Add permission-gated confirmed install/enable/disable actions with per-action busy state and persisted-response refresh. - [x] 5.2 Add scoped plugin detail retry that preserves the list summary when detail loading fails. - [x] 5.3 Add tests for confirmation cancellation, duplicate-submit prevention, state failure recovery, and detail retry. ## 6. User Management - [x] 6.1 Remove normal-page development user fallback substitution and render API failure with scoped retry. - [x] 6.2 Add API-backed search, role/status filters, operational summaries, and clear-filter behavior to the full-width user list. - [x] 6.3 Add tests for development API failure, filtering, mutation failure preservation, and platform-admin gating. ## 7. AI Provider Management - [x] 7.1 Replace full-page reload retry with scoped provider loading and preserve explicit empty versus unavailable states. - [x] 7.2 Add confirmed enable/disable/retire actions, provider-scoped busy state, persisted-response refresh, and safe key-presence copy. - [x] 7.3 Add tests for scoped retry, confirmation cancellation, pending duplicate prevention, and failed action recovery. ## 8. Theme and Responsive Integration - [x] 8.1 Add shared theme styles for operations modules, job rows, filters, confirmations, and the operation tray using existing tokens and frame materials. - [x] 8.2 Add responsive rules for full-width working surfaces, dialogs, toolbars, and operation rows at 390px without page-local global decoration. - [x] 8.3 Extend CSS contract tests for theme material reuse, radius limits, and nested-frame safety. - [x] 8.4 Replace the narrow-screen top navigation stack with a theme-aware off-canvas text sidebar, left-edge effect handle, bounded swipe-open/close behavior, and accessible dismissal. - [x] 8.5 Add focused component and CSS contract coverage for mobile labels, drawer state semantics, gesture thresholds, and no-flow layout. ## 9. Verification - [x] 9.1 Run `cd platform_web && npm run typecheck`. - [x] 9.2 Run `cd platform_web && npm test`. - [x] 9.3 Run `cd platform_web && npm run build`. - [x] 9.4 Run browser acceptance for all five first-party areas in black-mecha and magical-girl themes at desktop and 390px, including mobile drawer open/close, confirmation, and failure recovery. - [x] 9.5 Scan rendered first-party pages for forbidden raw key, token, secret, path, PID, socket, credential, DSN, RCON, and direct Run endpoint fragments. - [x] 9.6 Run `scripts/check-structure.sh`, `openspec validate enrich-platform-operations-console --strict`, and both repository `git diff --check` commands, then record evidence. ## Verification Evidence - 2026-07-18 15:25 CST: `npm run typecheck`, `npm run build`, and the full Vitest suite passed (24 files, 132 tests). - In-app browser acceptance passed against the real local Platform stack for 首页、服务器管理、插件市场、用户管理、AI 提供商管理 and server detail in `mecha-black` and `magical-girl` at 1440x960 and 390x844 (24 route/theme/viewport checks, zero horizontal overflow, zero console errors). - The 390px sidebar stayed outside page flow (`mainTop=0`, `scrollWidth=390`), opened as a 300px icon-and-Chinese-text drawer, and closed by route selection; both themes were visually inspected. - Confirmation cancellation preserved plugin state and dispatched no mutation. Real plugin persisted responses populated the session operation tray; a duplicate server ID produced a real Platform failure while preserving the form, and a corrected ID retry succeeded. A real dependency validation failure remained traceable in the staged task dialog. - Rendered-page scans found no raw key/token/secret value, host path, PID, socket, credential, DSN, RCON value, or direct Run endpoint across all 24 route states. Safe ordinary labels such as key presence and non-projection notices were intentionally retained. - `scripts/local-debug-smoke.sh` passed using Run-reported capabilities; absent `distribution.build` was verified as unavailable without fake success. `bash -n` and `node --check platform_web/acceptance/browser-acceptance.mjs` passed. - `scripts/check-structure.sh`, `openspec validate enrich-platform-operations-console --strict`, main repository `git diff --check`, and independent Run repository `git diff --check` all passed. - Structured browser evidence: `/private/tmp/browser-local-debug-acceptance-9k/browser-acceptance/item-9-evidence.json`.