Skip to content

Commit 847b192

Browse files
committed
Rebuild Assets tool from old asset manager workflow reference - PR_26163_068-assets-tool-rebuild-from-v1-reference
1 parent d41a52d commit 847b192

9 files changed

Lines changed: 1991 additions & 647 deletions

File tree

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
# PR_26163_068-assets-tool-rebuild-from-v1-reference
2+
3+
## Branch Validation
4+
- PASS: Current branch is `main`.
5+
- Expected branch: `main`.
6+
7+
## Summary
8+
- Rebuilt the active `toolbox/assets` workflow around current Theme V2 shell patterns and the shared DB/mock adapter.
9+
- Used `archive/v1-v2/tools/old_asset-manager-v2` only as workflow reference for list/detail/update/status concepts.
10+
- Added row-level View, Edit, and Delete actions for user-owned asset records.
11+
- Enforced active-user ownership in the Assets mock repository for list/view/edit/delete/reset operations.
12+
- Preserved external JavaScript, external Theme V2 CSS, and no inline script/style/event handlers.
13+
14+
## Requirement Checklist
15+
- PASS: Read `docs_build/dev/PROJECT_INSTRUCTIONS.md` first.
16+
- PASS: Created `PR_26163_068-assets-tool-rebuild-from-v1-reference` report and artifacts.
17+
- PASS: Rebuilt `toolbox/assets` using the old asset manager only as workflow/UX reference.
18+
- PASS: Did not copy V1/legacy CSS, inline scripts, inline styles, or old architecture.
19+
- PASS: Omitted legacy asset-manager runtime dependencies from the active tool.
20+
- PASS: Preserved external JavaScript only.
21+
- PASS: Preserved external Theme V2 CSS only.
22+
- PASS: Preserved no HTML `<script>` or `<style>` blocks.
23+
- PASS: Preserved no inline event handlers.
24+
- PASS: Preserved no `toolbox/shared` dependency.
25+
- PASS: Did not introduce new classes, so no one-class-per-file split was required.
26+
- PASS: App/root behavior remains in the current external Assets runtime module and coordinates current controls without new tool-local CSS.
27+
- PASS: Uses existing Theme V2 shell, left/center/right columns, accordion stack, cards, tables, buttons, status, and action-group patterns.
28+
- PASS: Asset data flow remains aligned to the current API/service-backed DB/mock adapter.
29+
- PASS: User-owned asset records can be added/viewed/edited/deleted only by the owning active user.
30+
- PASS: Scope stayed limited to `toolbox/assets`, required dev-runtime/API adapter touchpoint, targeted tests, and reports.
31+
- PASS: Did not modify `start_of_day` folders.
32+
33+
## Search Evidence
34+
- PASS: `rg -n "<style| on[a-z]+=" toolbox/assets/index.html toolbox/assets/assets.js toolbox/assets/assets-api-client.js src/dev-runtime/persistence/tool-repositories/assets-mock-repository.js src/dev-runtime/server/mock-api-router.mjs tests/playwright/tools/AssetToolMockRepository.spec.mjs` returned no matches.
35+
- PASS: `rg -n "archive/v1-v2|old_asset-manager-v2|assetManagerV2|asset-manager-v2__|toolbox/shared|src/engine/theme/main.css|hubCommon.css|accordionV2.css|styles/assetManager.css" toolbox/assets src/dev-runtime/persistence/tool-repositories/assets-mock-repository.js src/dev-runtime/server/mock-api-router.mjs` returned no matches.
36+
37+
## Changed Files
38+
- `toolbox/assets/index.html`
39+
- `toolbox/assets/assets.js`
40+
- `src/dev-runtime/persistence/tool-repositories/assets-mock-repository.js`
41+
- `src/dev-runtime/server/mock-api-router.mjs`
42+
- `tests/playwright/tools/AssetToolMockRepository.spec.mjs`
43+
- `docs_build/dev/reports/playwright_v8_coverage_report.txt`
44+
- `docs_build/dev/reports/PR_26163_068-assets-tool-rebuild-from-v1-reference.md`
45+
- `docs_build/dev/reports/codex_changed_files.txt`
46+
- `docs_build/dev/reports/codex_review.diff`
47+
48+
## Impacted Lane
49+
- Assets tool runtime lane.
50+
- Shared dev-runtime API repository construction for Assets session-user ownership.
51+
- Targeted Assets Playwright behavior lane.
52+
53+
## Validation Performed
54+
- PASS: `node --check toolbox/assets/assets.js`
55+
- PASS: `node --check toolbox/assets/assets-api-client.js`
56+
- PASS: `node --check src/dev-runtime/persistence/tool-repositories/assets-mock-repository.js`
57+
- PASS: `node --check src/dev-runtime/server/mock-api-router.mjs`
58+
- PASS: `node --check tests/playwright/tools/AssetToolMockRepository.spec.mjs`
59+
- PASS: HTML restriction search returned no matches.
60+
- PASS: Legacy/archive dependency search returned no active matches.
61+
- PASS: `git diff --check -- toolbox/assets/index.html toolbox/assets/assets.js toolbox/assets/assets-api-client.js src/dev-runtime/persistence/tool-repositories/assets-mock-repository.js src/dev-runtime/server/mock-api-router.mjs tests/playwright/tools/AssetToolMockRepository.spec.mjs docs_build/dev/reports/playwright_v8_coverage_report.txt`
62+
- PASS: `npx playwright test tests/playwright/tools/AssetToolMockRepository.spec.mjs --reporter=line`
63+
- Result: 7 passed.
64+
- PASS: `npm run test:workspace-v2`
65+
- Result: 5 passed in the `workspace-contract` lane.
66+
- Note: command name is legacy; this PR changes the Assets tool and does not introduce user-facing Workspace V2 wording.
67+
68+
## Playwright Result
69+
- PASS: Assets tool launches.
70+
- PASS: Left/center/right shell renders.
71+
- PASS: Theme V2 accordions expand/collapse.
72+
- PASS: Asset list renders from the current DB/mock adapter data source.
73+
- PASS: Add/view/edit/delete behavior is owner-scoped.
74+
- PASS: Invalid/missing asset data fails visibly with actionable status.
75+
- PASS: No archive/V1 runtime dependency is used.
76+
77+
## V8 Coverage
78+
- PASS: `toolbox/assets/assets.js` collected browser V8 coverage at 96%.
79+
- WARN: `src/dev-runtime/persistence/tool-repositories/assets-mock-repository.js` is server/dev-runtime code and is not collected by Chromium browser V8 coverage.
80+
- WARN: `src/dev-runtime/server/mock-api-router.mjs` is server/dev-runtime code and is not collected by Chromium browser V8 coverage.
81+
- Report: `docs_build/dev/reports/playwright_v8_coverage_report.txt`.
82+
83+
## Manual Validation Steps
84+
1. Open `toolbox/assets/index.html` as User 1.
85+
2. Confirm the Assets tool renders left setup, center library, and right inspector/status columns.
86+
3. Toggle the Import Asset accordion closed and open.
87+
4. Add an Image asset and confirm it appears in the Library Records table.
88+
5. Click View and confirm preview/metadata update.
89+
6. Click Edit, rename the asset, Save, and confirm the row updates.
90+
7. Switch to User 2 and confirm User 1's asset is not visible.
91+
8. Add a User 2 asset, switch back to User 1, and confirm User 2's asset is not visible.
92+
9. Delete User 1's asset and confirm only User 1's library is affected.
93+
10. Attempt an invalid image upload and confirm the actionable validation panel appears.
94+
95+
## Skipped Lanes
96+
- SKIP: Full samples smoke test. Safe to skip because samples are explicitly out of scope and this PR only changes Assets tool UI/runtime plus required dev-runtime adapter ownership.
97+
- SKIP: Full repo Playwright suite. Safe to skip because targeted Assets Playwright plus the required workspace-contract command cover the affected tool and launch surface.
98+
- SKIP: Engine runtime validation. Safe to skip because no engine runtime behavior changed.
99+
100+
## Samples Validation
101+
- SKIP: Full samples smoke test was not run by request.
102+
103+
## Packaging
104+
- PASS: Repo-structured delta ZIP produced under `tmp/PR_26163_068-assets-tool-rebuild-from-v1-reference_delta.zip`.
Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
account/user-controls-page.js
2-
src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js
3-
tests/playwright/tools/InputMappingV2Tool.spec.mjs
1+
toolbox/assets/index.html
2+
toolbox/assets/assets.js
3+
src/dev-runtime/persistence/tool-repositories/assets-mock-repository.js
4+
src/dev-runtime/server/mock-api-router.mjs
5+
tests/playwright/tools/AssetToolMockRepository.spec.mjs
46
docs_build/dev/reports/playwright_v8_coverage_report.txt
5-
docs_build/dev/reports/PR_26163_067-user-controls-profile-radio-groups.md
7+
docs_build/dev/reports/PR_26163_068-assets-tool-rebuild-from-v1-reference.md
68
docs_build/dev/reports/codex_review.diff
79
docs_build/dev/reports/codex_changed_files.txt
8-
tmp/PR_26163_067-user-controls-profile-radio-groups_delta.zip
10+
tmp/PR_26163_068-assets-tool-rebuild-from-v1-reference_delta.zip

0 commit comments

Comments
 (0)