====== metrics.csv — locked Phase 1 cells ====== Locked binding cells for the campaign. Raw CSV attachment: [[kwin_overlay_subsurface:evidence:metrics_csv|metrics.csv (inlined)]]. Inherits the success-criteria shape from [[ohm_gl_fix:start|ohm_gl_fix]] Phase 1r (drops_post_warmup, drops sanity cap) plus a new cell ''kwin_wayland_cpu_steady_state'' that locks the intent that the fix must move work, not hide it. ===== Schema ===== * **phase** — ''phase0_handover'' | ''phase1_baseline_kwin'' | ''phase1_reference_cage'' | ''phase1_goal_target'' | ''phase1_goal_actual'' | ''phase3_perf_kwin'' | ''phase3_perf_cage'' * **path_label** — descriptive playback configuration * **clip** — source media file (sha16: ''dcf8a7170fbd49bb'' for ''bbb_1080p30_h264.mp4'') * **compositor** — ''kwin'' | ''cage_nested'' | ''cage_drm'' * **surface_protocol** — ''zwp_linux_dmabuf_v1_subsurface'' | ''single_fullscreen_surface'' | ''direct_drm_scanout'' * **drops** — total dropped frames over window_s * **frames_total** — total frames considered (delivered + dropped) * **drop_pct** — ''100 * drops / frames_total'' * **window_s** — full measurement window * **warmup_s** — duration tolerated as warmup * **drops_post_warmup** — drops in (warmup_s, window_s] — binding for C1 * **effective_fps** — delivered frames per second * **kwin_wayland_cpu** — steady-state %CPU of kwin_wayland during t > 30 s * **route_engaged** — Y/N — wp_subsurface protocol still in use (binding for C4) * **role** — ''metric'' = success criterion; ''reference'' = control floor; ''metric_actual'' = measured-against-locked-metric; ''handover'' = imported context, not own measurement * **source** — where this row's number came from * **date** — ISO date the number was taken ===== Phase 1 success criteria (locked 2026-05-02) ===== * **C1**: ''drops_post_warmup == 0'' over 60 s (warmup_s = 10) * **C2**: ''drops_total <= 10'' over 70 s (sanity cap) * **C3**: ''kwin_wayland_cpu <= cage_baseline + 5pp absolute'' * **C4**: ''route_engaged == Y'' (no "treat-as-regular-surface" cheat) All four must hold for Phase 7 verification. ===== Locked rows (snapshot 2026-05-02) ===== ^ phase ^ compositor ^ drops ^ frames_total ^ drop_pct ^ drops_post_warmup ^ kwin_wayland_cpu ^ route_engaged ^ role ^ | phase0_handover_kwin | kwin | 58 | 1498 | 3.87 | 29 | 20.5 | Y | handover | | phase0_handover_cage | cage_nested | 7 | 1686 | 0.42 | 0 | (not captured) | Y | handover | | phase1_goal_target | kwin | 10 | 1440 | 0.69 | 0 | cage_baseline + 5pp | Y | metric | | phase3_perf_kwin | kwin | TBD | TBD | TBD | TBD | 17.0 | TBD | metric_actual | | phase3_perf_cage | cage_nested | TBD | TBD | TBD | TBD | 36.9 | TBD | metric_actual | | phase3_perf_brave_kwin | kwin | 18 | 1624 | 1.11 | 0_visible_upper_bound_18 | 35.9 | unknown_no_chrome_trace | metric_actual_exploratory | Full row schema (window_s, warmup_s, effective_fps, source, date) lives in the [[kwin_overlay_subsurface:evidence:metrics_csv|raw CSV attachment (inlined)]]. ===== Provenance ===== * ''phase0_handover_kwin'' — ''ohm_gl_fix:phase3_remeasure_2026-05-02/A2_brave_drops_findings.md'', 2026-05-02. * ''phase0_handover_cage'' — ''ohm_gl_fix:phase3_remeasure_2026-05-02/task25_cage_vs_kwin_decisive.md'', 2026-05-02. * ''phase1_goal_target'' — [[kwin_overlay_subsurface:phase1_lock|phase1_lock]], 2026-05-02. * ''phase3_perf_kwin'' — [[kwin_overlay_subsurface:phase3_findings|phase3_findings]] (drops trajectory not captured; see ''phase3_evidence/kwin_direct_rep1/''), 2026-05-02. * ''phase3_perf_cage'' — [[kwin_overlay_subsurface:phase3_findings|phase3_findings]] (''kwin_wayland_cpu'' measured on KWin under cage; cage process perf also captured at ~7 %; drops trajectory not captured), 2026-05-02. * ''phase3_perf_brave_kwin'' — [[kwin_overlay_subsurface:phase3_findings|phase3_findings]] C3 + ''phase3_evidence/brave_stock_kwin_rep1/drops_trajectory_typed.txt'', 2026-05-02.