diff --git a/1020092/META.json b/1020092/META.json new file mode 100644 index 0000000..04e006d --- /dev/null +++ b/1020092/META.json @@ -0,0 +1,53 @@ +{ + "spotify_version": "1.2.92.148", + "classmap_key": "1020092", + "status": "verified", + "generated": "2026-07-21", + "pipeline": "migrate(1020040 -> 1020092) + static verify + CDP e2e (deep) + manual DOM probe", + "guards": [ + "playbar!=actionBar", + "content!=closeBtn", + "settings!=equalizer/NPV/actionBar", + "semantic-only requires target CSS presence (sem>=0.75)" + ], + "stats": { + "leaves": 36, + "verified": 33, + "verified_cdp": 19, + "verified_dom_probe": 2, + "stale": 3, + "verify_rate": 0.9167, + "threshold": 0.55, + "css_map_entries": 2585 + }, + "required_paths": { + "main.playbar.buttons.button.wrapper": "verified", + "main.topbar.wrapper": "verified", + "main.navbar.link.wrapper": "verified", + "tracklist.column_header": "verified", + "context_menu.menu_item": "verified", + "search_box.container": "verified", + "search_chips.wrapper": "verified", + "sort_box.list.button": "verified", + "settings.button.wrapper": "verified", + "settings.header.container": "verified (DOM probe)", + "settings.section.container": "verified (DOM probe)", + "modal.track_credits.container": "verified", + "modal.widget_generator.container": "verified" + }, + "stale_leaves": [ + "main.topbar.left.button.icon.wrapper", + "main.topbar.right.upgrade_button.wrapper", + "settings.text_input" + ], + "unverified_leaves": [], + "notes": [ + "CDP e2e (deep navigation: home/search/library/playlist/context menu/settings) verified 19 leaves by hashed-class DOM presence on a stock 1.2.92.148 client.", + "modal.track_credits.* remapped to trackCreditsModalV2 classes (Spotify replaced the V1 modal); V2 hashes verified in live DOM via View credits.", + "modal.widget_generator.* verified in live DOM via Share > Embed, including content.container (ywtSYUL2xRwVlvSo, previously stale).", + "scrollable_text.container/wrapper remapped via css-map reverse lookup (single candidate in spa) and verified in live DOM on a search results page.", + "search_chips.wrapper_wrapper remapped to the 1.2.9x search results chips bar (qZHfdckfFVY5AURF), DOM-verified; search_chips.chip corrected from the home filterChips class to the search page chip link (U4idT8HUFwfj7PWP).", + "main.topbar.left.button_t.wrapper remapped to main-globalNav-link-icon (_Bg_zSvFrEutyacG), live on the nav buttons custom navlinks clone.", + "Retired in 1.2.9x (kept stale, no candidate hash anywhere in the spa): topbar.left.button.icon.wrapper (icon span unclassed), topbar.right.upgrade_button.wrapper (no Upgrade button surface), settings.text_input (settings inputs are Encore form controls now)." + ] +} diff --git a/1020092/classmap-19f8522e902.json b/1020092/classmap-19f8522e902.json new file mode 100644 index 0000000..1c47f0f --- /dev/null +++ b/1020092/classmap-19f8522e902.json @@ -0,0 +1,109 @@ +{ + "main": { + "topbar": { + "wrapper": "NXttmW3KPwE1r4Am", + "left": { + "button": { + "wrapper": "kUHE42xvQVzWqabl", + "icon": { + "wrapper": "IYDlXmBmmUKHveMzIPCF" + } + }, + "button_t": { + "wrapper": "_Bg_zSvFrEutyacG" + } + }, + "right": { + "button": { + "wrapper": "kUHE42xvQVzWqabl" + }, + "button_t": { + "wrapper": "sXjzYBob5Y4psogB" + }, + "upgrade_button": { + "wrapper": "Upqw01TOXETOmR5Td7Dj" + } + } + }, + "playbar": { + "widget": {}, + "controls": {}, + "buttons": { + "button": { + "wrapper": "kBq3sMkivgMPe5qr", + "wrapper__active": "kBq3sMkivgMPe5qr", + "wrapper__indicator": "kBq3sMkivgMPe5qr" + } + } + }, + "navbar": { + "link": { + "wrapper": "kUHE42xvQVzWqabl", + "container": "kUHE42xvQVzWqabl", + "container__active": "kUHE42xvQVzWqabl" + } + }, + "global_navbar": {}, + "sidebar": {}, + "panel": {} + }, + "tracklist": { + "column_header": "F_VvNCRKZ2cKj1a9" + }, + "search_chips": { + "wrapper_wrapper": "qZHfdckfFVY5AURF", + "wrapper": "x_HLN829yDsvJDgl", + "container": "dxlv5wfAu8zgm7HY", + "chip": "U4idT8HUFwfj7PWP" + }, + "modal": { + "widget_generator": { + "container": "gx9qsprOAO4ubEFc", + "header": { + "container": "g9sFYudWkUldbuNa", + "close": "Pk4GI8WfBMjS5R2J" + }, + "content": { + "container": "ywtSYUL2xRwVlvSo" + } + }, + "track_credits": { + "container": "p5LJBmlswjcRT458", + "header": { + "container": "idsrX6VAUY49Eczw", + "close": "_18qFNPzv7Eyyck8" + }, + "content": { + "container": "yKG9lWaUWIBUyVCu" + } + } + }, + "settings": { + "header": { + "container": "fEEfljGMIEhhmWVi" + }, + "section": { + "container": "nWR7PbHjFXQJiYNL" + }, + "button": { + "wrapper": "nHgEqWYM1q0omZ6y" + }, + "text_input": "SkbGMKYv49KtJNB5XxdX" + }, + "scrollable_text": { + "container": "MyaStf5D5Im3gt9M", + "wrapper": "dxlv5wfAu8zgm7HY" + }, + "sort_box": { + "list": { + "button": "LQ6y2jhZZtMS7xCr" + } + }, + "search_box": { + "container": "S0nU7XTXYMOBcASz", + "expand_button": "eu6ObgEHE5owtzi_" + }, + "context_menu": { + "menu_item": "yqG4N5YYcY4uEujt" + } +} diff --git a/1020092/css-map.json b/1020092/css-map.json new file mode 100644 index 0000000..e19fdc7 --- /dev/null +++ b/1020092/css-map.json @@ -0,0 +1,5 @@ +{ + "U4idT8HUFwfj7PWP": "search-searchCategory-categoryGridItem", + "fEEfljGMIEhhmWVi": "x-settings-outputSectionHeader", + "nWR7PbHjFXQJiYNL": "x-settings-section" +}