Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# PR_26177_CHARLIE_017-sprites-toolbox-entry-active

## Summary

Team Charlie activated the Sprites entry on the Toolbox landing page.

This PR keeps the change scoped to Toolbox entry state and targeted coverage:

- Sprites now publishes the source-controlled Toolbox release channel as `wireframe`.
- The Local API Toolbox metadata sync now treats Sprites as source-controlled so the API-backed landing page receives the active state.
- Toolbox landing coverage verifies Sprites is visible, not planned, and links to `/toolbox/sprites/index.html`.
- Toolbox route coverage verifies the Sprites card opens the Sprites route.
- No Sprites API, database, CRUD, import, preview, palette, tags, or reference behavior changed.

## Changed Files

- `src/dev-runtime/server/local-api-router.mjs`
- `src/shared/toolbox/tool-metadata-inventory.js`
- `tests/playwright/tools/ToolNavigationPrevNext.spec.mjs`
- `tests/playwright/tools/ToolboxRoutePages.spec.mjs`
- `docs_build/dev/reports/coverage_changed_js_guardrail.txt`
- `docs_build/dev/reports/playwright_v8_coverage_report.txt`
- `docs_build/dev/reports/PR_26177_CHARLIE_017-sprites-toolbox-entry-active.md`
- `docs_build/dev/reports/PR_26177_CHARLIE_017-sprites-toolbox-entry-active_branch-validation.md`
- `docs_build/dev/reports/PR_26177_CHARLIE_017-sprites-toolbox-entry-active_manual-validation-notes.md`
- `docs_build/dev/reports/PR_26177_CHARLIE_017-sprites-toolbox-entry-active_requirements-checklist.md`
- `docs_build/dev/reports/PR_26177_CHARLIE_017-sprites-toolbox-entry-active_validation-lane.md`
- `docs_build/dev/reports/codex_changed_files.txt`
- `docs_build/dev/reports/codex_review.diff`

## Implementation Notes

- `/toolbox/index.html` required no direct markup edit because the landing page renders cards from the API-backed Toolbox registry contract.
- Added `releaseChannel: "wireframe"` to the Sprites registry entry so it is active/clickable while still labeled as a wireframe.
- Added Sprites to the Local API source-controlled Toolbox metadata set so stale persisted metadata rows cannot keep the card in the planned bucket.
- Preserved existing Toolbox card order, routes, Theme V2 rendering, and Sprites route behavior.

## Validation

- PASS: `node --check src/dev-runtime/server/local-api-router.mjs`
- PASS: `node --check src/shared/toolbox/tool-metadata-inventory.js`
- PASS: `node --check tests/playwright/tools/ToolNavigationPrevNext.spec.mjs`
- PASS: `node --check tests/playwright/tools/ToolboxRoutePages.spec.mjs`
- PASS: `npx playwright test tests/playwright/tools/ToolNavigationPrevNext.spec.mjs -g "Toolbox card names link" --workers=1 --reporter=list`
- PASS: `npx playwright test tests/playwright/tools/ToolboxRoutePages.spec.mjs -g "toolbox index|toolbox status kickers|Build Path status" --workers=1 --reporter=list`
- PASS: direct Local API `/api/toolbox/registry/snapshot` probe confirmed Sprites route `toolbox/sprites/index.html` and release channel `wireframe`.
- PASS: `git diff --check`
- PASS: no `start_of_day` files changed.

## Validation Note

- BLOCKED unrelated adjacent check: `npx playwright test tests/playwright/tools/ToolboxAdminMetadataSsot.spec.mjs -g "share the same DB-backed metadata" --workers=1 --reporter=list` fails before Toolbox assertions because `GET /api/local-db/snapshot` returns `Unknown API route`. The failure is outside this PR's Sprites Toolbox entry scope.

## ZIP

- `tmp/PR_26177_CHARLIE_017-sprites-toolbox-entry-active_delta.zip`
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# PR_26177_CHARLIE_017 Branch Validation

## Branch

- Branch: `PR_26177_CHARLIE_017-sprites-toolbox-entry-active`
- Start branch: `main`
- Main start commit: `1b49270c469d12a107823e9b0a85c9300c09fea5`

## Checks

| Check | Result | Notes |
| --- | --- | --- |
| Started from `main` | PASS | Main was fetched and fast-forwarded before branch recreation. |
| Main/local sync before branch work | PASS | `git rev-list --left-right --count main...origin/main` returned `0 0`. |
| Worktree clean before branch work | PASS | Startup status check returned no changes. |
| One PR purpose only | PASS | Only the Sprites Toolbox entry state and targeted coverage changed. |
| No `start_of_day` changes | PASS | Changed-file list contains no `start_of_day` paths. |
| No Sprites API/DB/CRUD behavior change | PASS | No Sprites implementation files were changed. |
| Theme V2 patterns preserved | PASS | Existing Toolbox registry and landing page rendering remain in use. |
| Repo-structured ZIP created | PASS | `tmp/PR_26177_CHARLIE_017-sprites-toolbox-entry-active_delta.zip`. |

## Result

PASS
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# PR_26177_CHARLIE_017 Manual Validation Notes

## Manual Checks

- PASS: Confirmed the Local API Toolbox registry snapshot returns Sprites with `releaseChannel: "wireframe"`.
- PASS: Confirmed the Local API Toolbox registry snapshot returns Sprites route `toolbox/sprites/index.html`.
- PASS: Confirmed the Toolbox landing page renders a visible Sprites card in the default active set.
- PASS: Confirmed the Sprites card action label is `Open Tool`, not `Planned Details`.
- PASS: Confirmed targeted Playwright clicks the Sprites card from `/toolbox/index.html` and lands on `/toolbox/sprites/index.html`.
- PASS: Confirmed `toolbox/index.html` static markup did not require a direct edit because the page is registry/API-driven.
- PASS: Confirmed no `start_of_day` paths were changed.

## Notes

- Sprites remains a wireframe tool; this PR only activates the Toolbox landing entry and route clickability.
- No Sprites implementation behavior changed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# PR_26177_CHARLIE_017 Requirement Checklist

| Requirement | Result | Notes |
| --- | --- | --- |
| Use main branch only for startup | PASS | Main was checked out, fetched, fast-forwarded, and verified synced before branch creation. |
| Hard stop if worktree not clean | PASS | Worktree was clean before branch work. |
| Recreate `PR_26177_CHARLIE_017-sprites-toolbox-entry-active` from updated main | PASS | Stale empty local branch was deleted and recreated from updated main. |
| Update `/toolbox/index.html` only as needed | PASS | No direct static edit was needed because the page is registry/API-driven. |
| Change Sprites from planned/inactive to active/clickable | PASS | Sprites now resolves to `wireframe`, appears in default Toolbox results, and renders `Open Tool`. |
| Link Sprites to `toolbox/sprites/index.html` | PASS | API snapshot and Playwright assert the route. |
| Preserve Toolbox card/menu order and Theme V2 patterns | PASS | Existing registry order and card rendering remain unchanged. |
| Do not change Sprites API, DB, CRUD, import, preview, palette, tags, or reference behavior | PASS | No Sprites tool files or Sprites service contracts changed. |
| Add targeted Playwright coverage for clickable Sprites entry | PASS | `ToolNavigationPrevNext` clicks the Sprites card; `ToolboxRoutePages` asserts the active landing card. |
| No unrelated cleanup | PASS | Changes are scoped to Toolbox metadata sync, registry state, tests, and reports. |
| Do not modify `start_of_day` folders | PASS | No changed paths under `start_of_day`. |
| Create required reports and ZIP | PASS | Required report set and delta ZIP were generated. |
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# PR_26177_CHARLIE_017 Validation Lane

## Commands

| Command | Result |
| --- | --- |
| `node --check src/dev-runtime/server/local-api-router.mjs` | PASS |
| `node --check src/shared/toolbox/tool-metadata-inventory.js` | PASS |
| `node --check tests/playwright/tools/ToolNavigationPrevNext.spec.mjs` | PASS |
| `node --check tests/playwright/tools/ToolboxRoutePages.spec.mjs` | PASS |
| `npx playwright test tests/playwright/tools/ToolNavigationPrevNext.spec.mjs -g "Toolbox card names link" --workers=1 --reporter=list` | PASS, 1 test |
| `npx playwright test tests/playwright/tools/ToolboxRoutePages.spec.mjs -g "toolbox index\|toolbox status kickers\|Build Path status" --workers=1 --reporter=list` | PASS, 3 tests |
| Direct Local API `/api/toolbox/registry/snapshot` probe | PASS, Sprites route and `wireframe` release channel returned |
| `git diff --check` | PASS |
| `git ls-files --modified --others --exclude-standard \| Select-String -Pattern '(^\|/)start_of_day(/\|$)'` | PASS, no output |

## Playwright

Impacted: Yes, Toolbox landing page and Sprites route clickability changed.

Result: PASS for targeted Toolbox landing and route coverage.

## Adjacent Validation

`npx playwright test tests/playwright/tools/ToolboxAdminMetadataSsot.spec.mjs -g "share the same DB-backed metadata" --workers=1 --reporter=list`

Result: BLOCKED by unrelated `Unknown API route: GET /api/local-db/snapshot` before Toolbox assertions.

## Full Samples Smoke

Not run. Not required for this targeted Toolbox entry PR.
18 changes: 11 additions & 7 deletions docs_build/dev/reports/codex_changed_files.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
docs_build/dev/ProjectInstructions/backlog/BACKLOG_MASTER.md
docs_build/dev/ProjectInstructions/team_assignments/team_ownership.md
docs_build/dev/reports/PR_26177_DELTA_001-hitboxes-team-ownership.md
docs_build/dev/reports/PR_26177_DELTA_001-hitboxes-team-ownership_branch-validation.md
docs_build/dev/reports/PR_26177_DELTA_001-hitboxes-team-ownership_validation-checklist.md
docs_build/dev/reports/codex_changed_files.txt
docs_build/dev/reports/codex_review.diff
# git status --short
M docs_build/dev/reports/coverage_changed_js_guardrail.txt
M docs_build/dev/reports/playwright_v8_coverage_report.txt

# git ls-files --others --exclude-standard
(no output)

# git diff --stat
.../dev/reports/coverage_changed_js_guardrail.txt | 4 +--
.../dev/reports/playwright_v8_coverage_report.txt | 32 +++++++++++++---------
2 files changed, 21 insertions(+), 15 deletions(-)
Loading
Loading