Coverage mode: full-surface
No FOCUS_OVERRIDE set; MISSION.md declares full-surface coverage with every major subsystem getting ≥1 probe.
| Feature | Surface | Traits | Depth | Covered by |
|---|---|---|---|---|
| F1 | Admin-bar toggle | Admin bar node desktop-mode-toggle (all admin pages) AJAX-exposed, settings-form, output-rendering, user-facing-text, mode-toggle |
depth | portal-session-cluster, usability-first-use, breadth-tour-admin |
| F2 | AJAX save-desktop-mode | wp-admin/admin-ajax.php?action=save-desktop-mode (POST) AJAX-exposed, DB-writing, settings-form |
depth | portal-session-cluster, breadth-tour-admin |
| F3 | Portal URL /desktop-mode/ | parse_request hook — portal.php output-rendering, DB-writing, settings-form, mode-toggle |
depth | portal-session-cluster, breadth-tour-admin |
| F4 | Auto-enable on portal visit | portal.php:105 — update_user_meta DB-writing, mode-toggle |
depth | portal-session-cluster, breadth-tour-admin |
| F5 | Portal redirect from wp-admin | admin_init hook — portal.php:234 output-rendering |
depth | portal-session-cluster, breadth-tour-admin |
| F6 | Chromeless iframe mode | helpers.php:149 — query flag + Sec-Fetch heuristic output-rendering, AJAX-exposed |
depth | window-manager-cluster, breadth-tour-shell |
| F7 | Detach to new tab (classic mode) | portal.php:36 + render.php:2486 output-rendering |
depth | window-manager-cluster, usability-first-use |
| F8 | REST: GET/POST /os-settings | /wp-json/desktop-mode/v1/os-settings settings-form, DB-writing, output-rendering, user-facing-text |
depth | os-settings-save, breadth-tour-shell |
| F9 | REST: GET/POST/DELETE /session | /wp-json/desktop-mode/v1/session DB-writing, settings-form, scale-sensitive |
depth | portal-session-cluster, breadth-tour-shell |
| F10 | REST: GET/POST /presence | /wp-json/desktop-mode/v1/presence DB-writing, scale-sensitive |
depth | scale-presence-cluster, breadth-tour-lifecycle |
| F11 | REST: GET/POST /extended-options | /wp-json/desktop-mode/v1/extended-options settings-form, DB-writing, output-rendering, user-facing-text |
depth | os-settings-save, breadth-tour-lifecycle |
| F12 | REST: POST /default-window | /wp-json/desktop-mode/v1/default-window DB-writing, settings-form |
depth | os-settings-save, breadth-tour-shell |
| F13 | REST: GET /debug (devtools) | /wp-json/desktop-mode/v1/debug output-rendering |
breadth-only | breadth-tour-lifecycle |
| F14 | REST: GET /recycle-bin list | /wp-json/desktop-mode/v1/recycle-bin scale-sensitive, output-rendering |
depth | recycle-bin-andlist, scale-presence-cluster |
| F15 | REST: POST /recycle-bin/restore | /wp-json/desktop-mode/v1/recycle-bin/restore destructive-operation, DB-writing |
depth | recycle-bin-andlist |
| F16 | REST: POST /recycle-bin/purge | /wp-json/desktop-mode/v1/recycle-bin/purge destructive-operation, DB-writing |
depth | recycle-bin-andlist |
| F17 | REST: POST /recycle-bin/empty | /wp-json/desktop-mode/v1/recycle-bin/empty destructive-operation, DB-writing, scale-sensitive |
depth | recycle-bin-andlist, scale-presence-cluster |
| F18 | REST: GET /recycle-bin/count | /wp-json/desktop-mode/v1/recycle-bin/count output-rendering |
breadth-only | recycle-bin-andlist, breadth-tour-recycle |
| F19 | Dock rail (admin menu builder) | helpers.php:503 — desktop_mode_build_dock_items() output-rendering, user-facing-text |
depth | window-manager-cluster, breadth-tour-shell |
| F20 | Presence tracking (heartbeat) | heartbeat_received filter — presence.php:373 DB-writing, scale-sensitive |
depth | scale-presence-cluster, breadth-tour-lifecycle |
| F21 | Presence cron prune | desktop_mode_presence_daily_prune event — presence.php:321 DB-writing |
depth | lifecycle-cluster, breadth-tour-lifecycle |
| F22 | Recycle bin: attachment capture | pre_delete_attachment + deleted_post hooks — capture.php destructive-operation, DB-writing |
depth | recycle-bin-andlist, breadth-tour-recycle |
| F23 | Recycle bin: realtime badge | heartbeat_received — realtime.php:288 DB-writing, output-rendering |
depth | recycle-bin-andlist, breadth-tour-recycle |
| F24 | Media Library enhancement (drag shim) | admin_enqueue_scripts — extended-options.php:166 output-rendering |
breadth-only | breadth-tour-shell |
| F25 | Media query REST extension | media-query.php — REST args extension output-rendering, scale-sensitive |
breadth-only | breadth-tour-lifecycle |
| F26 | OS Settings window (native window) | components.php registration — native window os-settings settings-form, output-rendering, user-facing-text |
depth | os-settings-save, breadth-tour-shell |
| F27 | Recycle Bin native window | recycle-bin/window.php destructive-operation, output-rendering, user-facing-text |
depth | recycle-bin-andlist, breadth-tour-recycle |
| F28 | Admin-bar layout menu | Admin bar submenu desktop-layout-menu output-rendering, user-facing-text |
depth | window-manager-cluster, breadth-tour-shell |
| F29 | Virtual Desktops (Spaces) | Client-side JS, persisted via /session settings-form |
depth | window-manager-cluster, breadth-tour-shell |
| F30 | Window chrome / detach / multi-window | render.php + window-chrome.php output-rendering, user-facing-text |
depth | window-manager-cluster, breadth-tour-shell |
| F31 | Lifecycle hooks (absent) | desktop-mode.php:49 — no activation/deactivation/uninstall hooks destructive-operation |
depth | lifecycle-cluster |
portal-session-cluster(hypothesis-cluster, critical) — Portal entry, auto-enable CSRF guard, session write-path and race (F1–F5, F9)os-settings-save(hypothesis-cluster, critical) — OS Settings save path, persistence, extended-options, default-window (F8, F11, F12, F26)recycle-bin-andlist(andlist, critical) — Recycle Bin — destructive-operation AND-list (b1–b7) + scale (c1–c3) (F14–F18, F22, F23, F27)window-manager-cluster(hypothesis-cluster, critical) — Window manager — chromeless, dock, virtual desktops, singleton, admin-bar two-click trap (F6, F7, F19, F28–F30)lifecycle-cluster(hypothesis-cluster, high) — Plugin lifecycle — no activation/deactivation hooks, orphaned data, cron orphan (F20, F21, F31)scale-presence-cluster(hypothesis-cluster, high) — Scale-sensitive features — presence option growth, recycle-bin unbounded list, session limit (F9, F10, F14, F17, F20)i18n-admin(hypothesis-cluster, high) — i18n lens — JS translation filename mismatch, POT version lag, RTL layout, wp.i18n fallback (H4, H5, H23, H24)usability-first-use(hypothesis-cluster, high) — Usability lens — first activation, onboarding gap, mode indicator, feedback, consistency (H19, H25, H26, H14, H16)breadth-tour-admin(breadth, critical) — Breadth tour — admin entry, portal, admin-bar toggle, AJAX, chromeless, detach (F1–F7)breadth-tour-shell(breadth, critical) — Breadth tour — desktop shell, dock, windows, OS Settings window, virtual desktops, media library (F8, F12, F19, F24, F26, F28–F30)breadth-tour-recycle(breadth, high) — Breadth tour — recycle bin window, attachment capture, realtime badge, count (F18, F22, F23, F27)breadth-tour-lifecycle(breadth, high) — Breadth tour — presence, cron, extended-options, media-query REST, devtools (F10, F11, F13, F20, F21, F25)