# Advanced context menu verification Implemented against the approved 2026-10-05 spec and plan. Implementation was verified in the feature checkout. PR preparation commits the extension changes separately from unrelated local notes. No release or permission change is included. ## Automated checks - `npm test`: strict lint with zero errors, notices, or warnings; 10 discovered test files passed; unsigned ZIP built successfully. - Direct execution of each test file: **60 individual tests passed**. - ZIP inspection: dialog assets present; no docs, tests, or execution scratch. - `git diff --check`: clean. - Regression checks cover legacy preference migration, partial-save preservation, context priority, dedicated prompts, literal substitutions, URL rejection, Unicode budgets, truncation consent, dialogs, menu updates, and frame focus. ## Actual Firefox 157 checks Temporary Firefox launched through `npm run dev`; interactions automated using Marionette in a temporary profile. No user's browsing profile was modified. - Native selection, link, linked-selection, and page-background menus displayed the intended action groups. - Extension dialog handoff acknowledged; language input received initial focus; Spanish translation opened the correctly constructed ChatGPT URL. - Concurrent dialogs held separate selections. Cancel and actual Escape key dispatch opened no ChatGPT tab. Empty language submission was blocked. - Long selection displayed consent; Continue opened an 8,000-character URL. - Settings reflected storage updates. Narrow light/dark settings screenshots were inspected and showed no horizontal overflow. - Extension reload preserved configured preferences. Not verified: physical shortcut presses in the user's desktop session (headless WebDriver key attempts did not trigger the command), full browser restart, forced background suspension/wakeup, all editable-field cases, dialog-window creation failure on the native desktop, and the complete AGENTS.md manual matrix. The shortcut's frame-selection logic is covered by an executable regression test, including stale parent selection and restricted-page failure. ## Independent review A fresh reviewer found no blocking defect. Its partial-save contract finding was reclassified as important and fixed with a failing-then-passing regression. One minor remains: if a direct launch fails but a retry dialog opens, the dialog says it is ready rather than explaining the original failure. Continue retries. ## Execution decisions - Worked in the existing feature checkout with a backup at `/tmp/chatgpt-advanced-baseline`; this preserves prior uncommitted work but means new work shares that checkout. - Deferred implementation commits to avoid sweeping unrelated changes into them; review uses the saved baseline instead of task commit ranges. - Target languages must be single-line text of at most 100 Unicode code points; unusual control-character labels are rejected. - Menu-open visibility uses permission-free Firefox context labels. Source data is read only at invocation. Whitespace-only selections may show a group but cannot trigger a nonempty-source action. - Partial settings updates retain their original contract so unrelated settings cannot be reset; the extra regression test protects that contract. - Prior shortcut-editor behavior and other unrelated dirty changes were kept; their preexisting limitations are outside this change. - ChatGPT honoring hints or retrieving a URL remains external behavior, described as best effort rather than guaranteed.