|
1 | 1 | # PR_26177_ALFA_058-flat-project-tags Report |
2 | 2 |
|
3 | | -Generated: 2026-06-26 18:53:15 UTC |
4 | | -Branch: `PR_26177_ALFA_058-flat-project-tags` |
5 | | -Base: `main` |
6 | | -Current HEAD before packaging: `675b1a40f` |
7 | | - |
8 | 3 | ## Summary |
9 | | -PR058 keeps Tags as a human-testable flat tag tool. The tool loads the current Game Hub game context, shows starter current-game tag assignments from API runtime state, supports add/edit/assign/remove/delete actions through the API, persists rows to database-backed tag tables, and survives refresh/reload. |
| 4 | +- Reworked Tags to use Browser -> API -> Database through the shared server repository client and DB-backed API service. |
| 5 | +- Removed retired Tags, Game Design, and Game Configuration mock repository files from the active runtime stack. |
| 6 | +- Updated `local-api-router.mjs` so Tags, Game Design, and Game Configuration route to API database services rather than mock repositories. |
| 7 | +- Added guardrail coverage that fails if retired Alfa mock repository files exist or are imported by active JS/MJS. |
| 8 | +- Kept Tags flat: no category table, category UI, grouped category filtering, or category-owned seed data. |
10 | 9 |
|
11 | | -## Implementation Notes |
12 | | -- Center title is `Tags`; no Workspace wording is used. |
13 | | -- Starter runtime tag state includes assignments for the selected Demo Game so the tool opens with current-game tag context. |
14 | | -- Static seed JSON keeps project assignments empty because runtime project keys remain server/API-owned. |
15 | | -- The Playwright lane uses `/toolbox/tags/index.html` and asserts the shared status bar selected game. |
16 | | -- Guest write coverage checks add, update, assign, remove, and delete API methods. |
17 | | -- No categories, SQLite, tmp runtime dependency, JSON source of truth, mock-db-store expansion, or new mock repository file was added. |
| 10 | +## Data Contract |
| 11 | +- DDL remains under `docs_build/database/ddl/`. |
| 12 | +- Tags use `project_tags` and `project_tag_assignments` only. |
| 13 | +- Server/API owns authoritative keys for created records. |
| 14 | +- Records include `createdAt`, `updatedAt`, `createdBy`, `updatedBy` and ownership references `users.key`. |
| 15 | +- Browser does not own product data and does not use JSON/local storage as source of truth. |
18 | 16 |
|
19 | 17 | ## Validation |
20 | | -- PASS - node --check assets/toolbox/tags/js/index.js |
21 | | -- PASS - node --check src/dev-runtime/persistence/tool-repositories/tags-mock-repository.js |
22 | | -- PASS - node --check src/dev-runtime/server/local-api-router.mjs |
23 | | -- PASS - node --check tests/playwright/tools/TagsTool.spec.mjs |
24 | | -- PASS - python -m json.tool docs_build/database/seed/tags.json |
25 | | -- PASS - git diff --check (line-ending notices only) |
26 | | -- PASS - npx playwright test tests/playwright/tools/TagsTool.spec.mjs --workers=1 --reporter=line (4 passed) |
| 18 | +- PASS - `node --check src/dev-runtime/toolbox-api/alfa-tool-services.mjs` |
| 19 | +- PASS - `node --check src/dev-runtime/server/local-api-router.mjs` |
| 20 | +- PASS - `node --check src/dev-runtime/persistence/tool-repositories/assets-mock-repository.js` |
| 21 | +- PASS - `node --test tests/dev-runtime/DevRuntimeBoundary.test.mjs` |
| 22 | +- PASS - `npx playwright test tests/playwright/tools/TagsTool.spec.mjs --project=playwright` |
| 23 | +- PASS - `npx playwright test tests/playwright/tools/GameDesignApiDb.spec.mjs --project=playwright` |
| 24 | +- PASS - `npx playwright test tests/playwright/tools/GameConfigurationApiDb.spec.mjs --project=playwright` |
| 25 | +- PASS - `npx playwright test tests/playwright/tools/ToolboxSelectedGameStatusBar.spec.mjs --project=playwright` |
| 26 | +- PASS - `npx playwright test tests/playwright/tools/AssetToolMockRepository.spec.mjs --project=playwright -g "Asset repository exposes catalog tables"` |
| 27 | +- INFO - Full `AssetToolMockRepository.spec.mjs` was not part of the impacted lane and timed out when run as a broad suite; the touched Asset tag-reference test passed. |
| 28 | + |
| 29 | +## Removed Mock Repository Files |
| 30 | +- `src/dev-runtime/persistence/tool-repositories/tags-mock-repository.js` |
| 31 | +- `src/dev-runtime/persistence/tool-repositories/game-design-mock-repository.js` |
| 32 | +- `src/dev-runtime/persistence/tool-repositories/game-configuration-mock-repository.js` |
| 33 | + |
| 34 | +## Status |
| 35 | +PASS - PR058 is reworked and ready for owner testing after the stack-wide no-mock correction is propagated to PR059-PR061. |
0 commit comments