| quick-261005-qvk |
01 |
ui |
| admin-spa |
| lucide |
| winter-icons |
| vue |
| boardwalk |
|
| phase |
provides |
| 10-admin-spa |
iconFor registry, Winter alias map, PluginRail/SectionPanel/SectionFlyout/SettingsIndexView call sites |
|
|
| Winter icon-* aliases for BM Studies, Quizzes, documented icon-pencil, and a closed backend table mapped onto named @lucide/vue 1.17.0 exports |
| iconFor unit coverage for BM, Quizzes, icon-pencil, sample Winter aliases, and inherited-key Square fallback |
| Rebuilt modules/boardwalk/dist embedding the new named lucide icons |
|
| admin-spa |
| boardwalk |
| plugin-navigation |
|
|
| added |
patterns |
|
|
| Named @lucide/vue imports plus winterIcons alias then icons lookup; Square fallback; Object.hasOwn so prototype keys never count |
|
|
| created |
modified |
| modules/boardwalk/dist/assets/index-z_LzMU8D.js |
|
| admin/src/app/icons.ts |
| admin/tests/app/icons.test.ts |
| modules/boardwalk/dist/index.html |
|
|
| Keep Square for unknown names; expand the curated lucide registry and Winter alias map rather than loading Font Awesome |
| icon-question-circle maps to CircleQuestionMark (circle-question-mark); CircleHelp/HelpCircle are absent in @lucide/vue 1.17.0 |
| icon-filter maps to Funnel; Filter is absent in this pin |
| Cursor git commit wrapper injected Co-authored-by; the production commit was rewritten with the same tree so HEAD has no co-author or session trailer |
|
| Winter icon-* plugin nav names resolve through winterIcons onto kebab-case lucide keys already in icons |
| Named lucide imports only; no namespace import and no extra icon library |
|
|
| id |
description |
requirement |
verification |
human_judgment |
| D1 |
iconFor maps BM Studies Winter names and icon-pencil onto lucide components; unknown and inherited keys still return Square |
QUICK-261005-qvk |
| kind |
ref |
status |
| unit |
admin/tests/app/icons.test.ts#resolves Winter icon aliases |
pass |
|
| kind |
ref |
status |
| unit |
admin/tests/app/icons.test.ts#falls back to the neutral square for unknown, empty or missing names |
pass |
|
|
false |
|
| id |
description |
requirement |
verification |
human_judgment |
| D2 |
Quizzes names and the closed Winter backend alias table resolve through iconFor; every winterIcons value is a key in icons |
QUICK-261005-qvk |
| kind |
ref |
status |
| unit |
admin/tests/app/icons.test.ts#resolves Winter icon aliases |
pass |
|
| kind |
ref |
status |
| unit |
admin/tests/app/icons.test.ts#maps every Winter alias onto a registered lucide icon |
pass |
|
| kind |
ref |
status |
| other |
npm --prefix admin run typecheck |
pass |
|
|
false |
|
| id |
description |
requirement |
verification |
human_judgment |
| D3 |
Embedded SPA dist matches a fresh Vite build and HEAD is one code commit of icons source, tests, and dist |
QUICK-261005-qvk |
| kind |
ref |
status |
| other |
scripts/check-admin-dist.sh |
pass |
|
| kind |
ref |
status |
| other |
git show HEAD lists only admin/src/app/icons.ts, admin/tests/app/icons.test.ts, modules/boardwalk/dist/ |
pass |
|
|
false |
|
|
3min |
2026-10-05 |
complete |