All evidence gathered. The gemini wording fix is verified end-to-end (source → resolver behaviour → generated schema); the popup fix is present, but porting the panel's key branch into a row that — unlike a panel row — hosts a checkbox and two buttons introduces real keyboard regressions. Report follows.

## Verdict
VERDICT: DO-NOT-SHIP (3 findings) - both round-2 findings are CLOSED, but fix 2 introduces keyboard regressions in the popup rows it touched.

## Round-2 fix verification

- **Fix 1 (launch-mode copy): CLOSED.** `src/providers/gemini.ts:71` carries the reworded description and the generated `schema/plugin.json:75` carries it verbatim, so the rendered settings text is correct. Checked against the actual resolver `src/core/modes.ts:20-45`: `force` (the menu's variant entry) wins outright; an enum moved off its default wins over any boolean; a boolean fires only with enums at default; an enum at default sends nothing. Every clause of the new copy ("passed... when set to a value other than the default", "non-default value takes precedence over the YOLO switch", "only the forced YOLO menu action overrides it") is true of the code. The `menuLabel: 'YOLO'` entry (`gemini.ts:65`) exists, so "the forced YOLO menu action" names a real affordance.
- **Fix 2 (popup switch rows keyboard route): CLOSED as specified.** `src/core/popup.ts:333-341`: `role="button"`, `tabIndex = 0`, and an Enter/Space keydown branch with `preventDefault` matching the panel's (`panel.ts:1370-1379`). The round-2 defect - a nameless, mouse-only div - no longer exists.

## Findings (new regressions from fix 2, all in src/core/popup.ts)

- **[CRITICAL] Row keydown swallows child keyboard activation** - the keydown handler at `popup.ts:335-341` has no target guard, and unlike a panel row this row hosts three focusable children: the selection checkbox (`popup.ts:249`) and the Open/Copy buttons (`popup.ts:141-153`). A keyboard user tabs to the checkbox and presses Space to select a branch for deletion; the keydown bubbles to the row, `preventDefault()` cancels the checkbox's native toggle, and `activate()` fires - with nothing yet selected this disposes the dialog and switches the session. The intended keystroke ("tick this box") becomes its opposite ("close everything and switch"). Enter/Space on the Open and Copy buttons are likewise cancelled and replaced by switch - their `stopPropagation` at `popup.ts:148` is on `click`, which never fires once the keydown default is cancelled. Fix: first line of the row keydown, bail unless the event originated on the row itself (`if (e.target !== row) return;`).
- **[MAJOR] Keydown route bypasses the busy lock** - the panel's key branch opens with `if (removing) return;` (`panel.ts:1371`); the popup copy dropped the equivalent `deleting` guard. The busy lock is `jp-mod-busy` pointer-events CSS (`popup.ts:366-374`), which the code itself notes does not block keyboard (`popup.ts:258`). During the async delete a keyboard user can Enter/Space a row: `activate()` (`popup.ts:312-328`) either mutates the in-flight `selected` set - exactly what the lock's own comment at `popup.ts:362-364` says must not happen - or, if selection is empty, disposes the dialog mid-delete. Fix: `if (deleting) return;` at the top of the keydown handler, mirroring the panel.
- **[MAJOR] Nested interactive controls inside `role="button"`** - ARIA gives `button` presentational children; putting it on a row that contains a checkbox and two `<button>`s (`popup.ts:333`) is the classic axe `nested-interactive` violation. Screen readers announce one composite button whose accessible name concatenates every descendant ("Select X... label... Open Copy 3h ago") and may not expose the inner controls as operable. The panel row is exempt - it has no interactive children (`panel.ts:1290-1355`, spans only) - so the pattern was safe at its source and wrong at its destination. Fix: move the switch affordance's `role="button"`/`tabIndex`/keydown onto a dedicated element (the label span at `popup.ts:280` is the natural host) and leave the row a plain container; that also structurally resolves the CRITICAL above.

## What works

- The gemini description is now one of the rare settings strings that is *provably* true - every clause maps to a line of `resolveLaunchMode`, and the schema regeneration kept source and rendered text byte-identical
- The comment discipline in `popup.ts` is genuinely good - the busy-lock comment at 362-364 states the exact invariant, which is what made the keydown bypass easy to confirm as a defect rather than a taste call
- The panel-row key branch itself (Enter/Space + `preventDefault` + Shift-F10/ContextMenu routes, `panel.ts:1370-1385`) remains a solid reference pattern - the failure here was transplant context, not the pattern

Per the pinned scope I ran no fresh sweep; nothing previously CLOSED or ruled was re-examined. All three findings are one-guard or one-element fixes confined to the popup row block the batch touched - a small batch 4 away from SHIP.
