Files
redis-gui-foundation/docs/qa/acceptance-matrix.md
Senior Frontend Engineer 969744733f feat(desktop): clarify inspector readability path
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-31 08:23:13 +00:00

7.4 KiB

Redis GUI V1 Acceptance Matrix

Date: 2026-03-27 Owner: QA Engineer

Evidence Collected On 2026-03-27

  • A fresh cargo test -p redis-core rerun passes in this session with 16 tests green.
  • pnpm --filter @redis-gui/desktop test passes in this session with 8 files and 30 tests green.
  • pnpm install --lockfile-only passes at repository root after adding pnpm-workspace.yaml.
  • pnpm run desktop:build passes and emits apps/desktop/dist/.
  • pnpm run desktop:tauri:build now completes Linux .deb and .rpm artifact generation under target/release/bundle/, then fails later in the AppImage stage with io: Connection reset by peer (os error 104).
  • The repository now contains a Rust workspace, a React workspace UI baseline, Tauri commands for connection testing and command execution, and shared frontend scope documentation.
  • Browser dev mode still uses demo data for shell review, while Tauri desktop mode can now exercise live connection-test, key browse, value read/write, and command-execution bridges.
  • A repeatable local Redis fixture and smoke runbook now exist in scripts/redis-fixture/ and docs/qa/local-desktop-smoke.md.

Matrix

Scope Happy Path Acceptance Failure Path Acceptance Required Evidence Current Status
Linux app smoke App installs or launches from a documented command, opens main window, connects to test Redis, exits cleanly Missing Redis, bad host, bad password, unsupported DB or network loss surface actionable error and app stays stable Launch steps, versioned artifact or dev command, screenshots, QA run log Partially blocked: documented fixture and smoke path now exist, but a full Linux launch-and-connect evidence set is still pending
macOS app smoke Same as Linux, using signed or documented macOS artifact Same failure paths, plus first-run permission or gatekeeper guidance if relevant Build artifact name, install steps, screenshots, QA run log Blocked: no validated macOS build or artifact evidence
Windows app smoke Same as Linux, using installer or portable package Same failure paths, plus Windows-specific install and uninstall validation Build artifact name, install steps, screenshots, QA run log Blocked: no validated Windows build or artifact evidence
Desktop workspace shell Rail, browser, inspector, and command tray render together with active connection, build identity, runtime mode, and a copyable QA snapshot visible; command history labels live vs demo results; inspector summary and key facts stay visible for the active key Empty search state clears the inspector selection, read-only non-string value state, inspector status/action guidance stays aligned to live vs demo vs missing cases, destructive confirmation, and browser-mode demo fallback stay stable and explicit npm run desktop:dev or npm run desktop:build, docs/frontend-workspace-baseline.md, screenshots or copied QA snapshot text Pass for shell-level evidence; not a substitute for Redis feature acceptance
Connection management Create a validated draft profile, keep DB context visible, and run the existing live connection-test bridge from Tauri desktop mode Invalid host, bad port, bad password, duplicate name, timeout, and unreachable server are handled with consistent operator-facing messaging Tauri run log, screenshots, repeatable steps, Redis target Partially blocked: the shell now validates draft name/host/port/DB locally, maps backend error codes into shared notices, and calls the real connection-test command, but profile persistence and full evidence capture are not complete
Key browsing Browse DBs and keys, paginate or virtualize large lists, view metadata Empty DB, deleted key during browse, permission error, and connection drop do not crash UI, and live failures reuse the shared error banner treatment Seed dataset, result screenshots, observed limits Partially blocked: desktop UI now calls the live browse bridge with SCAN pagination and metadata, but fixture-backed Tauri screenshots and measured limits are still pending
Search Search by key name or pattern and return matching set within documented limits No matches, invalid pattern, and very large result sets are handled predictably Seed dataset, search queries, measured behavior Partially blocked: desktop UI now maps search to live browse requests, but fixture-backed evidence and measured limits are still pending
Value editing Open supported value types, edit, save, and refresh persisted value; inspector keeps current state and write semantics explicit while editing Concurrent modification, invalid payload, missing-key transitions, and permission error preserve user context and surface failure through the shared operator notice layer Before/after values, screenshots, repeatable steps Partially blocked: string read/save/refresh is wired through the live desktop bridge, non-string types now render in structured read-only inspector panels, and the inspector guidance is clearer across live and fallback states, but fixture-backed evidence and broader editing scope remain pending
TTL operations View TTL, set TTL, remove TTL, and verify expiration behavior Invalid TTL, already expired key, and permission error handled safely with consistent banner feedback Seed dataset, timestamps, verification steps Partially blocked: desktop UI now exposes live TTL set and remove controls through the existing contract, but seeded-fixture validation evidence is still missing
Command console Execute safe Redis commands in Tauri desktop mode and show result or error output with explicit live/demo labeling Invalid command, long-running command, and blocked dangerous command are handled predictably, and backend failures reuse the shared operator notice mapping Command transcript, screenshots, allow or deny rules Partially blocked: the desktop UI now calls the real command execution bridge, but it is not yet validated against a shared live Redis fixture and dangerous mutations still stay blocked at shell level
Dangerous operation confirmation Delete, flush, overwrite, or destructive commands require explicit confirmation Cancel path does not mutate data; confirm path mutates only intended scope Confirmation UX screenshots, before/after data Blocked: feature not implemented
Installer and packaging Package metadata, icon, version, and uninstall behavior are correct on each target OS Corrupt install, upgrade, downgrade, and missing dependency behavior are documented or handled Artifact checklist, install logs, uninstall evidence Partially blocked: Linux .deb and .rpm artifacts now exist, but AppImage failed and install or uninstall evidence is still absent

Current Acceptance Judgment

  • No Redis-backed Redis GUI V1 feature acceptance item can be marked passed on 2026-03-27.
  • Current repository state now supports shell-level frontend acceptance and partial backend feature review: the React workspace shell builds, live desktop bridges exist for connection test, browse, value read/write, and command execution, draft-validation and empty-state behavior are explicit, and shared UI scope documentation is present in-repo.
  • Rust source-level test evidence is now current for redis-core, Linux package artifacts exist for .deb and .rpm, but live Redis screenshots and installation evidence are still required.
  • QA can now reuse the documented fixture and smoke path, but feature acceptance and release sign-off remain blocked on end-to-end desktop evidence.