From 9ba7cd3b47fb91eaaa8d0c3df8b7286a89be1756 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Sun, 28 Jun 2026 21:19:30 +0800
Subject: [PATCH] Freeze 0.1.12 local QA baseline

---
 C3.tools/round1-space-filter-fixture-qa.sh |   45 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 45 insertions(+), 0 deletions(-)

diff --git a/C3.tools/round1-space-filter-fixture-qa.sh b/C3.tools/round1-space-filter-fixture-qa.sh
index ca911b5..a999d69 100755
--- a/C3.tools/round1-space-filter-fixture-qa.sh
+++ b/C3.tools/round1-space-filter-fixture-qa.sh
@@ -556,6 +556,47 @@
 PY
 }
 
+assert_direct_space_double_click_report() {
+  /usr/bin/python3 - "$1" <<'PY'
+import json
+import sys
+
+path = sys.argv[1]
+with open(path, "r", encoding="utf-8") as file:
+    report = json.load(file)
+
+def require(condition, message):
+    if not condition:
+        print(message, file=sys.stderr)
+        print(json.dumps(report, indent=2, ensure_ascii=False), file=sys.stderr)
+        sys.exit(1)
+
+root = report.get("rootView", {})
+
+require(report.get("quickSwitchVisible") is False, "direct double-click Space must close Quick Switch")
+require(report.get("spaceFilterActive") is False, "direct double-click Space must not leave filter active")
+require(root.get("spaceFilterActive") is False, "root must show no filter after direct Space activation")
+require(report.get("lastSpaceFilterAction") == "activateSpace", "direct double-click Space must record activateSpace")
+require(report.get("lastCommittedWindowID") is None, "direct double-click Space must not commit a window")
+require(report.get("lastActivationWindowID") is None, "direct double-click Space must not target a window")
+require(report.get("lastActivationResult") is None, "direct double-click Space must not run window activation")
+require(report.get("lastCommitSource") is None, "direct double-click Space must not have a commit source")
+require(report.get("lastSpaceActivationSpaceID") == 1, "direct double-click A1 must request Space 1 activation")
+require(report.get("lastSpaceActivationDidRequestFocus") is True, "debug Space activation must request focus")
+require(report.get("lastSpaceActivationDisplayIdentifier") == "debug", "fixture must use debug Space activation service")
+require(report.get("lastSpaceActivationError") is None, "debug Space activation must not fail")
+require(root.get("lastMouseCommand") == "double-click-space:1", "last mouse command must be double-click-space:1")
+
+print(json.dumps({
+    "case": "direct-space-double-click",
+    "quickSwitchVisible": report.get("quickSwitchVisible"),
+    "lastSpaceFilterAction": report.get("lastSpaceFilterAction"),
+    "lastSpaceActivationSpaceID": report.get("lastSpaceActivationSpaceID"),
+    "lastSpaceActivationDisplayIdentifier": report.get("lastSpaceActivationDisplayIdentifier")
+}, indent=2, ensure_ascii=False))
+PY
+}
+
 assert_single_fullscreen_report() {
   local report="$1"
   local expected_previous_action="$2"
@@ -610,6 +651,7 @@
 FULLSCREEN_REPORT="$REPORT_PREFIX-fullscreen-report.json"
 LOCK_THEN_FULLSCREEN_REPORT="$REPORT_PREFIX-lock-then-fullscreen-report.json"
 LOCKED_DOUBLE_CLICK_REPORT="$REPORT_PREFIX-locked-double-click-report.json"
+DIRECT_DOUBLE_CLICK_REPORT="$REPORT_PREFIX-direct-double-click-report.json"
 
 run_report "$LOCK_A1_REPORT" "click-space:1" "click-space:1" "visible" "lock"
 assert_lock_a1_report "$LOCK_A1_REPORT"
@@ -635,6 +677,9 @@
 run_report "$LOCKED_DOUBLE_CLICK_REPORT" "click-space:1,double-click-space:1" "double-click-space:1" "space-hidden"
 assert_locked_space_double_click_report "$LOCKED_DOUBLE_CLICK_REPORT"
 
+run_report "$DIRECT_DOUBLE_CLICK_REPORT" "double-click-space:1" "double-click-space:1" "space-hidden"
+assert_direct_space_double_click_report "$DIRECT_DOUBLE_CLICK_REPORT"
+
 trap - EXIT
 cleanup
 

--
Gitblit v1.9.3