You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# PR_26160_057 Toolbox DB Status Vote Restore Report
2
+
3
+
## Branch Validation
4
+
5
+
| Check | Result | Evidence |
6
+
| --- | --- | --- |
7
+
| Current branch is `main`| PASS |`git branch --show-current` returned `main`. |
8
+
| Local branches reported | PASS |`git branch --list` returned only `* main`. |
9
+
10
+
## Requirement Checklist
11
+
12
+
| Requirement | Status | Evidence |
13
+
| --- | --- | --- |
14
+
| Build Path reads tool Status from shared DB/tool registry data source | PASS |`toolbox/tools-page-accordions.js` now renders Build Path status from each tool release channel populated by the server-backed registry API client. |
15
+
| Remove Build Path Complete column | PASS |`createBuildPathTable()` now renders `Order`, `Tool`, and `Status` only; Playwright asserts these headers. |
16
+
| Build Path supports planned/wireframe/beta/complete filters | PASS | Shared release-channel filter controls are active in Build Path mode and filter Build Path rows. |
17
+
| Default Build Path filter state shows only Complete active | PASS |`applyReleaseFilterDefaults("build-path")` sets only `complete`; Playwright asserts planned/wireframe/beta false and complete true after opening Build Path. |
18
+
| Filter counts show Planned includes remaining planned tools | PASS | Counts now use all visible registry tools rather than role-filtered tiles; Playwright asserts `Planned (28)`, `Wireframe (4)`, `Beta (5)`, `Complete (1)`. |
19
+
| Persist each user vote in shared DB-backed state | PASS | Added `toolbox_votes` shared table schema/seed plus server writes through `/api/toolbox/votes/cast`; Playwright verifies `/api/mock-db/snapshot` contains vote rows. |
20
+
| Vote Up/Down counts show all users' votes | PASS | Server snapshot aggregates all rows in `toolbox_votes`; Playwright verifies two users voting Up produces `Up 2`, `Down 0`. |
21
+
| Current user's selected vote is visually identified and can switch direction | PASS | Vote buttons retain `aria-pressed`; Playwright verifies restore and switching from Down to Up updates counts and pressed state. |
22
+
| Add admin ability to change order number for each tool | PASS | Added `/api/toolbox/votes/order`, `updateToolboxVoteOrder()`, and editable order inputs on `admin/tool-votes.html`; Playwright edits Build Game order to `7`. |
23
+
| Make selected Order, Group, and Path visible in admin vote viewer | PASS |`admin/tool-votes.html` shows selected detail pills; Playwright selects Build Game and verifies Order, Group, and Path. |
24
+
| Preserve one-vote-per-user-per-tool behavior | PASS | Server stores one `toolbox_votes` row per `toolId` + `userKey`; changing direction mutates the existing row. |
25
+
| No inline script/style/event handlers | PASS | Static `rg --pcre2` scan returned no matches for inline scripts, styles, or inline event handlers in touched HTML pages. |
| Playwright V8 coverage | Generated by `ToolboxRoutePages.spec.mjs` via `workspaceV2CoverageReporter`| PASS, report written to `docs_build/dev/reports/playwright_v8_coverage_report.txt`|
37
+
38
+
## Impacted Lane
39
+
40
+
Targeted Toolbox/page lane only: Toolbox index Build Path filters, Toolbox tile voting, admin Tool Votes viewer, and supporting server/API vote endpoints.
| Full samples validation | SKIPPED | Samples were not changed and no shared sample loader/framework was touched. |
54
+
| Broad Project Workspace lane | SKIPPED | Project Workspace runtime files were not changed; Toolbox only reads existing registry/project summary context. |
55
+
| Full app Playwright suite | SKIPPED | PR scope is targeted Toolbox/page behavior and the affected file was validated directly. |
56
+
57
+
## Manual Test Notes
58
+
59
+
1. Open `http://127.0.0.1:5501/toolbox/index.html`.
60
+
2. Select `Build Path`; verify only Complete is active and the table has `Order`, `Tool`, `Status`.
61
+
3. Vote on a planned or wireframe tile as User 1, navigate away/back, and verify the selected vote is restored.
62
+
4. Switch to another user, vote the other direction, and verify aggregate counts include both users.
63
+
5. Log in as DavidQ/Admin, open `admin/tool-votes.html`, select a row, and edit its Order value.
64
+
65
+
## Coverage Notes
66
+
67
+
V8 coverage reports browser-collected files. Server-side dev-runtime changes are listed as advisory warnings because they execute in Node behind the API boundary rather than Chromium coverage.
0 commit comments