UI-SP1 — Web App Shell + Auth + Tasks (Dashboard/List/Create)#19
Merged
Conversation
UI-SP1 = app shell + auth + useLiveResource foundation + Dashboard + Task List + Task Create. Frontend-only on the existing ~11-endpoint backend (zero backend/api/migration change). UI-SP2..SP5 (download- manager Task Detail, infra/governance, AI-Copilot, realtime upgrade) each need additive backend read-endpoints — deferred to their own spec/plan cycles. Grounded by 5-agent exploration of the v2.0 design, the real implemented API surface, the scaffold conventions, AI-Copilot feasibility, and an industry-leading UX synthesis. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- B-A1/B-B1 (BLOCKER): decodePrincipal binds parts[1] (noUncheckedIndexedAccess) + re-pads base64url before atob (JWT is unpadded; atob is length-dependent). - A-B2/B-I5 (BLOCKER): TaskCreateBody.upgrade_from_revision is ?:string (no |null); drop the invalid `v-model="form.x as string"` cast; init ''. - A-B3 (BLOCKER): Task 1 no longer edits main.ts (i18n move wholly in Task 3; partial edit was throwaway/red-gate risk). - A-I1 (BLOCKER): useLiveResource uses a real QueryKey (refs-in-array, the proven scaffold pattern) — vue-query v5.59 rejects a getter queryKey. - B-I2: main.ts mounts after router.isReady() (no authed login-flash). - B-M2: mapCreateError maps 403 → errors.forbidden (+test). - B-M3: added a mounted TaskCreate wiring test (submit/error-map + service-token disabled) + defineExpose. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
First of 5 decomposed UI sub-projects. Turns the 3-page read-only scaffold into a usable application:
/): KPI cards + 24h sparkline + quota + recent (client-aggregated from the task list)./tasks): client-side filter/search + view/cancel/delete actions (optimistic)./tasks/new): full form + validation + friendly error mapping + service-token preflight guard (blocks theuser_id=0owner-FK 500).useLiveResourcerealtime seam (adaptive polling; SP5 swaps to SSE/WS with zero view change).Frontend-only — only
frontend/**+docs/**; zero backend/API/migration/lint change. Reuses the scaffold conventions (Vue3+Pinia+vue-query+ElementPlus+vue-i18n). No new dependency.2-opus pre-execution review fixed 5 BLOCKER-class issues in the plan before code (decodePrincipal base64 re-pad + indexed-access; v-model cast; main.ts ownership; vue-query v5 queryKey; mount-after-router-ready). Final opus whole-impl review: MERGE-READY, 0 CRITICAL/HIGH (2 LOWs record-and-accept, scoped-deferred per spec).
Test plan
pnpm test:unit— 20 files / 61 tests greenpnpm lint(eslint --max-warnings=0),pnpm typecheck(vue-tsc),pnpm build— all greenfrontend/**+docs/superpowers/**+docs/operator/web-ui.md)Spec: docs/superpowers/specs/2026-05-19-ui-sp1-shell-tasks-design.md
Plan: docs/superpowers/plans/2026-05-19-ui-sp1-shell-tasks.md
Deferred (own sub-projects, each needs additive backend endpoints): UI-SP2 download-manager Task Detail · UI-SP3 Executors/Quota/Audit/Settings · UI-SP4 AI-Copilot · UI-SP5 realtime upgrade.
🤖 Generated with Claude Code