From 4daf99250a2740e1943635b6d46293d633427163 Mon Sep 17 00:00:00 2001 From: JavaZeroo <71128095+JavaZeroo@users.noreply.github.com> Date: Tue, 27 Oct 2026 00:33:54 +0800 Subject: [PATCH 1/2] fix: recognize empty record redraw before persistence output (#72) --- .../workspace-restore-transport-oracle.md | 5 ++-- experiments/shell/transport_completion.hpp | 14 +++++---- .../shell/transport_completion_test.cpp | 29 +++++++++++++++++++ 3 files changed, 41 insertions(+), 7 deletions(-) diff --git a/docs/research/workspace-restore-transport-oracle.md b/docs/research/workspace-restore-transport-oracle.md index 7aeb7cfd..8c812dfe 100644 --- a/docs/research/workspace-restore-transport-oracle.md +++ b/docs/research/workspace-restore-transport-oracle.md @@ -14,12 +14,13 @@ - 独立扫描 7-bit ESC 形式的完整 OSC(BEL 或 ST 终止)和 CSI。OSC 内容不参与正文匹配,UTF-8 的所有高位正文 bytes 原样保留,包括 `目` 中的 `0x9b`。 - 标记必须匹配完整正文记录,前后不可附加命令、其它正文或任意子串。LF 结束记录;显式正行号、第 1 列 CUP/HVP 仅可结束完整标记或提示符,不能清除命令前缀或拼接分散的标记片段。其它非空内容遇 CUP 保持未知,直到真实 LF;SGR 和其它 CSI 不会凭空结束标记。 -- 在首次匹配输出之前,命令编辑中的 BS 只会污染当前记录;CUP 不能解除该污染,也不把退格两侧文字拼起来。真实 LF 后可验证新的完整记录。已经匹配输出后的 BS 仍拒绝,不能借编辑过的提示符证明命令完成;其它裸控制字符的拒绝保持不变。 +- 在首次匹配输出之前,命令编辑中的 BS 只会污染当前记录;CUP 不能解除该污染,也不把退格两侧文字拼起来。真实 LF 后可验证新的完整记录。已经匹配输出后的 BS 仍拒绝,不能借编辑过的提示符证明命令完成。 +- CRLF 的 CR 不改变正文。裸 CR 仅在已观察到记录边界、当前记录为空且未受 BS 污染、尚未匹配输出时允许经过;它不清除文字、不结束记录,也不替代之后的完整标记和新提示符。初始裸 CR、非空或受编辑污染记录中的裸 CR、已匹配输出后的裸 CR,以及其它裸控制字符仍拒绝。 - 该记录之后必须出现独立的 `TF>` 或 `TF> ` 记录,才证明 shell 返回;输入命令回显、标题内标记、旧提示符和输出行前缀都不满足条件。 - 完整 CSI 仅按语法封装剥离,不解释或验收其执行语义;其中受限 column-one CUP 的记录边界另按上条处理。不完整或格式错误的封装、未知 ESC 引导形式、DCS 等其它控制字符串保持未证明状态。这只覆盖固定持久化命令已输出和返回提示符的运输证据,不扩展为第二个通用 VT 核心;产品屏幕及恢复断言仍独立保留。 - 保留原有 8192-byte 观测上限、30 秒总期限、真实目录/版本、返回提示符、恢复成员/标题/缩放/分屏/几何及尺寸检查和真实 Job/desktop 回收断言。 -`transport_completion_test` 独立覆盖标题重复遮蔽、BEL/ST、SGR、CUP、UTF-8、命令编辑前缀 BS,以及命令回显、BS 拼接/提示符编辑、OSC/DCS payload、不完整控制、缺失或旧提示符等反例。它修正的是测试 oracle,不构成产品恢复故障修复或完整 R2 验收。 +`transport_completion_test` 独立覆盖标题重复遮蔽、BEL/ST、SGR、CUP、UTF-8、命令编辑前缀 BS、空记录裸 CR,以及命令回显、CR/BS 拼接或提示符编辑、OSC/DCS payload、不完整控制、缺失或旧提示符等反例。它修正的是测试 oracle,不构成产品恢复故障修复或完整 R2 验收。 ```powershell ctest --test-dir build/default -C Release -R '^transport_completion$' --output-on-failure diff --git a/experiments/shell/transport_completion.hpp b/experiments/shell/transport_completion.hpp index cc56ce3a..e038584c 100644 --- a/experiments/shell/transport_completion.hpp +++ b/experiments/shell/transport_completion.hpp @@ -13,17 +13,19 @@ namespace tf_shell_test { // A command-editor BS before output invalidates that record until a real LF; // it cannot erase an echo prefix or splice a marker. Unknown ESC forms, // malformed/incomplete envelopes and other controls remain unproven. +// A bare CR is harmless only in an empty, unedited record after an observed +// boundary and before marker output. It cannot discard text or end a record. // ShellWindow retains its independent 8192-byte observation cap. inline bool transport_output_completed(std::string_view raw, std::string_view marker) { if(marker.empty()) return false; for(const unsigned char byte:marker) if(byte<0x20 || byte==0x7f) return false; const auto prompt=[](std::string_view line) { return line=="TF>" || line=="TF> "; }; std::string line; - bool output_seen=false,prompt_seen=false,literal_line=true; + bool output_seen=false,prompt_seen=false,literal_line=true,record_boundary=false; const auto end_line=[&] { if(literal_line && line==marker) output_seen=true; else if(literal_line && output_seen && prompt(line)) prompt_seen=true; - line.clear(); literal_line=true; + line.clear(); literal_line=true; record_boundary=true; }; for(std::size_t i=0;i(raw[i++]); @@ -73,9 +75,11 @@ inline bool transport_output_completed(std::string_view raw, std::string_view ma if(!terminated) return false; } else return false; } else if(byte=='\r') { - // CR alone may overwrite an echo; only a following LF proves the - // literal output line has completed. - if(i==raw.size() || raw[i]!='\n') return false; + // Only CRLF completes literal text. An empty redraw before the + // marker leaves the record empty and still needs fresh output. + if(i==raw.size() || raw[i]!='\n') { + if(!record_boundary || !line.empty() || !literal_line || output_seen) return false; + } } else if(byte=='\n') { end_line(); } else if(byte=='\b') { diff --git a/experiments/shell/transport_completion_test.cpp b/experiments/shell/transport_completion_test.cpp index 1707f4d4..70a412af 100644 --- a/experiments/shell/transport_completion_test.cpp +++ b/experiments/shell/transport_completion_test.cpp @@ -31,6 +31,19 @@ int main() { line+"TF>",marker),"command redraw BS before a fresh literal output line does not poison later records"); check(transport_output_completed("echo old\b\r\n"+line+"TF_PS_MAJOR=5\r\nTF> ",marker), "fresh output remains independent of a prior edited command record"); + const std::string save="\x1b[?25l\x1b[1;3H> \x1b[93mWrite-Output \x1b[36m" + "'TF_SAVE_PS' \x1b[m\r\n" + "\x1b[63X\x1b[63C\r\x1b[?25hTF_SAVE_PS\r\nTF> "; + auto no_empty_cr=save; + no_empty_cr.erase(no_empty_cr.find("\r\x1b[?25h"),1); + check(transport_output_completed(no_empty_cr,"TF_SAVE_PS"), + "removing only the empty-record CR isolates the captured rejection"); + check(transport_output_completed(save,"TF_SAVE_PS"), + "captured PowerShell empty-record CR must not hide independent output and prompt"); + check(transport_output_completed("echo old\r\n\r"+line+"TF>",marker), + "an empty record CR preserves a later exact output and prompt"); + check(transport_output_completed("echo old\b\r\n\x1b[63X\x1b[63C\r\r"+line+"TF> ",marker), + "LF restores an independent record before repeated empty redraw CRs"); check(!transport_output_completed("TF>echo "+line+"TF>",marker),"command echo is not independent output"); check(!transport_output_completed(title+"\a\r\nTF>",marker),"OSC BEL payload is not output"); @@ -69,6 +82,22 @@ int main() { check(!transport_output_completed(line+"\bTF>",marker),"BS after a marker cannot manufacture prompt"); check(!transport_output_completed(line+"TF>\b",marker),"trailing prompt BS remains unknown"); check(!transport_output_completed("\t\r\n"+line+"TF>",marker),"other bare controls remain rejected"); + check(!transport_output_completed("\r"+line+"TF>",marker), + "initial bare CR lacks an observed record boundary"); + check(!transport_output_completed("echo\r\nTF>echo \r"+line+"TF>",marker), + "CR cannot erase a nonempty echo prefix"); + check(!transport_output_completed("echo\r\n\b\r"+line+"TF>",marker), + "CR cannot reset an empty BS-tainted record"); + check(!transport_output_completed("echo\r\nTF_CMD_DIR=\rrestore-cmd \xe7\x9b\xae\xe5\xbd\x95\r\nTF>",marker), + "CR-separated marker fragments do not form literal output"); + check(!transport_output_completed("echo\r\n\rTF>echo "+line+"TF>",marker), + "empty-record CR does not admit a later command echo"); + check(!transport_output_completed("echo\r\n\rTF_CMD_DIR=restore-cmd \xe7\x9b\xfe\xe5\xbd\x95\r\nTF>",marker), + "empty-record CR does not repair corrupted UTF-8 marker bytes"); + check(!transport_output_completed("echo\r\n\r"+line+"\x1b[31",marker), + "empty-record CR does not admit an incomplete trailing envelope"); + check(!transport_output_completed(line+"\rTF>",marker), + "bare CR after matched output does not manufacture a prompt"); std::cout<<"transport completion checks passed\n"; } catch(const std::exception& error) { std::cerr< Date: Tue, 27 Oct 2026 00:49:42 +0800 Subject: [PATCH 2/2] docs: record empty-record CR cause and configuration-specific validation (#72) --- docs/EVIDENCE.md | 1 + docs/FEATURES.md | 4 +- .../workspace-restore-transport-oracle.md | 4 + .../validation.json | 3195 +++++++++++++++++ 4 files changed, 3202 insertions(+), 2 deletions(-) create mode 100644 experiments/shell/results/2026-10-27-workspace-empty-cr/validation.json diff --git a/docs/EVIDENCE.md b/docs/EVIDENCE.md index a4e1db22..2614b33b 100644 --- a/docs/EVIDENCE.md +++ b/docs/EVIDENCE.md @@ -59,6 +59,7 @@ R1 固定总出口的源码为 `ce9b24d`,早期 `2dc8d6d` / `9b16acc` 仍分 | 短窗口选区夹具与 hosted 四 shell 前置(#38) | [固定锚点回归](../experiments/shell/test_shell.py)、[准备入口](../tools/prepare_hosted_shells.py)、[夹具收尾合同](research/hosted-wsl-fixture-cleanup.md)、[云端结果与剩余阻塞](https://github.com/JavaZeroo/termforge/issues/38) | 短窗口保留相同选择断言;仅指定一次性 hosted VM 准备固定 Ubuntu。夹具强制收尾与产品自然退出分列,未知归属/回收仍失败。 | | 工作区恢复的运输完成端点(#38 夹具修正) | [限定合同](research/workspace-restore-transport-oracle.md)、[原失败及默认/候选验证](../experiments/shell/results/2026-10-26-workspace-transport-oracle/validation.json) | OSC 标题中的重复标记与 column-one CUP 误导旧端点;新判定保留完整 UTF-8、期限、负载及恢复断言。仅修夹具,不宣称修复产品恢复。 | | 工作区恢复的命令编辑前缀(#61) | [BS 因果反例及复验](../experiments/shell/results/2026-10-26-workspace-restore-bs/validation.json)、[运输完成合同](research/workspace-restore-transport-oracle.md) | 原失败中的 PowerShell 命令重绘 BS 污染当前记录;真实 LF 后仍须完整输出与新提示符,回显/拼接/非法封装拒绝保留。仅修完成 oracle,原 30/40 秒与产品断言不变。 | +| 工作区保存的空记录重绘(#72) | [原 122 B 因果回归与三配置结果](../experiments/shell/results/2026-10-27-workspace-empty-cr/validation.json)、[运输完成合同](research/workspace-restore-transport-oracle.md) | 两次 CI 失败记录逐字节相同;空且未编辑的记录在输出前允许裸 CR,仍须完整独立标记与新提示符。默认/system、候选/system、候选/官方各两轮保存/恢复/钳制共 18 次通过;最终完整回归、跳过和未闭合项独立记录。 | | 候选文字观测与回显端点(#38 夹具修正) | [同源码前后对照及反事实](../experiments/shell/results/2026-10-26-native-observation/validation.json)、[标准文本投影](../experiments/core/text_projection.hpp) | 观测改用标准文本投影,回显完成后才全选;原断言和负例保留。修正夹具时序/投影,不宣称产品选择策略已变或 R2 全绿。 | | 拒绝负例的读取前停止(#46 夹具修正) | [原记录、反事实及 fresh 验证](../experiments/shell/results/2026-10-26-receiver-stop/validation.json)、[公开空数据夹具](../experiments/shell/fixtures/rejected-order-before-read.json) | 旧 oracle 错误拒绝“首读前已停止”;同一空数据/零读原件红→绿,正常读取约束保留。限定夹具修正,不解释 #44 的退出。 | | 候选 GUI 合法空标题(#45) | [真实 GUI 前后对照](../experiments/shell/results/2026-10-26-empty-title/validation.json)、[转换入口](../experiments/presentation/render.hpp)、[持续回归](../experiments/shell/candidate_title_test.cpp) | 真实空 OSC 标题使旧 UTF 转换抛异常;修后两 fresh GUI 正常,非法非空反例保留。不回填旧 normal-1 未知异常的根因。 | diff --git a/docs/FEATURES.md b/docs/FEATURES.md index 5ecb1828..90d01e56 100644 --- a/docs/FEATURES.md +++ b/docs/FEATURES.md @@ -45,7 +45,7 @@ | 基础窗口操作 | **限定验收**:新建/切换/关闭/重命名、五条分隔线、面板显隐、底部焦点模式 | 完整会话动作/快捷键、命令面板、目标 Focus/SyncInput 行为 | R1 / R4 | | 工作区外观 | **实现中,未验收**:两种逻辑尺寸下部分外框/层级依据直接取证;UI 字体来自独立 OFL 来源,私有加载、实际 GDI face/em/行高与缺失资产失败有自动检查 | 不是像素等价;图标、主题/透明度、多语言及所有状态仍缺。Explorer/Filer/Outline 当前为空区域 | R2 / R3 / R4 | | DPI 与文字缩放 | **限定验收**:每会话 50%–200%,受控 96→144→192→96;[字体/显示合同](milestones/R2-font-display.md)明确 12×26 基准网格。两台真实 96-DPI 显示器间往返两次保持窗口、rename 焦点、隐藏标签和网格,[证据](../experiments/shell/results/2026-10-24-r2-monitor-font/validation.json)明确 `distinct_dpi=false`;v2 会话恢复另覆盖 100%/150%/75% zoom | 不同 DPI 的真实跨屏、实际呈现和真实 IME 跨屏仍未验收;恢复证据为同一 96-DPI 私有 desktop,目标字形/逐字形 fallback 未等价 | R2 | -| 配置与会话持久化 | **限定验收**:有界 v2、原子替换、v1 迁移、空会话与损坏/未知版本保护;[多会话恢复](../experiments/shell/results/2026-10-25-workspace-restore-multi/validation.json)覆盖 shell 类型/目录/标题/zoom/split/窗口,[迁移回退](../experiments/shell/results/2026-10-25-workspace-recovery-guards/validation.json)及[写失败与关闭策略](../experiments/shell/results/2026-10-25-workspace-write-failure/validation.json)均有真实验证。[#61 的合法编辑 BS 前缀](../experiments/shell/results/2026-10-26-workspace-restore-bs/validation.json)已在默认/候选 system 限定修正;目录/版本完成按[独立输出与新提示符合同](research/workspace-restore-transport-oracle.md)核对;只重建白名单 shell,不恢复原进程/历史;保存失败保留窗口,显式放弃保存才跳过 | 仅当前单工作区、正常窗口和白名单本地会话;偏好、分组/搜索、最大化/多窗口与文字标记恢复归后续。真实 DPI、呈现和 #38 等独立回归不因此视为通过,R2 出口未宣告完成 | R2 / R3 / R4 | +| 配置与会话持久化 | **限定验收**:有界 v2、原子替换、v1 迁移、空会话与损坏/未知版本保护;[多会话恢复](../experiments/shell/results/2026-10-25-workspace-restore-multi/validation.json)覆盖 shell 类型/目录/标题/zoom/split/窗口,[迁移回退](../experiments/shell/results/2026-10-25-workspace-recovery-guards/validation.json)及[写失败与关闭策略](../experiments/shell/results/2026-10-25-workspace-write-failure/validation.json)均有真实验证。[#61 的合法编辑 BS 前缀](../experiments/shell/results/2026-10-26-workspace-restore-bs/validation.json)与 [#72 的空记录 CR 重绘](../experiments/shell/results/2026-10-27-workspace-empty-cr/validation.json)已限定修正;后者同源码三配置共 18 次保存/恢复/钳制通过;目录/版本完成按[独立输出与新提示符合同](research/workspace-restore-transport-oracle.md)核对;只重建白名单 shell,不恢复原进程/历史;保存失败保留窗口,显式放弃保存才跳过 | 仅当前单工作区、正常窗口和白名单本地会话;偏好、分组/搜索、最大化/多窗口与文字标记恢复归后续。真实 DPI、呈现和 #38 等独立回归不因此视为通过,R2 出口未宣告完成 | R2 / R3 / R4 | | 文本增强与辅助面板 | **未实现** | 高亮/时间戳/折叠/outline、补全与 Fish 增强、命令历史、Sender/QuickBar、Free Type Mode(输入模式,行为待取证)、vim 本地/远程键位、锁屏、Sysmon | R4 | ## 远程、文件与协议 @@ -68,7 +68,7 @@ | 组合验收基础 | **限定验收**:[固定源码审计](../experiments/shell/results/2026-10-24-r1-workflow-foundation/validation.json)覆盖基础数据与快照;[受控夹具](../experiments/shell/WORKFLOW.md)分离编号日志、ConPTY传输、原始接收与阶段日志;固定输入前缀保持4096 UTF-16容量,旧IME模式仍要求空前缀 | 该基础证据不单独验收八会话或真实Copy→Paste→IME;组合出口见 #18 独立验收 | R1 | | 八会话文字工作流 | **限定验收**:[R1 固定源码整体验收](../experiments/shell/results/2026-10-24-r1-system-workflow/validation.json)覆盖同次 8 会话/拒绝第 9 个、后台有限洪流、历史/Find/实际选择与 CF 复制/确认粘贴/真实拼音、切换缩放、淘汰、取消关闭和重复回收;实际字节、目标隔离、动作与 Job/desktop 回收有独立审计 | 限定 Windows 固定拼音、本地 cmd 与有界负载;这是固定 R1 配置的组合验收,不能替代 R2 候选/新后端组合。实际呈现、常用 TUI、长期稳定及 UI/性能等价仍未验收 | R1 | | 活体资源与滚动端点 | **限定测量**:普通启动默认关闭;[R1 组合审计](../experiments/shell/results/2026-10-24-r1-system-workflow/validation.json)绑定实际接收、state 与同 revision 的 WM_PAINT/BitBlt/GdiFlush 提交,保留跨时钟校准与阶段资源,可离线重算 | launcher-tree 不等于 UI 归因;观察进程成本不等于增量采样成本,短命进程及退出 CPU 可能漏采。短驻留不证明长期无泄漏,`presented_done=null`,不构成性能通过 | R1;扩展 R4 / R5 | -| 自动正确性与构建 | **限定验收**:Windows shell/ConPTY/呈现及 Windows/Linux 核心 CI、差分/恢复/队列/生命周期场景 | 产品打包、干净机器使用、依赖升级、长期回归和更广平台矩阵;#40 的 CI 纯夹具超时,以及后续保存 stage2 #72 / 窄窗口选择 #73 的独立失败仍未闭合 | R2 / R4 | +| 自动正确性与构建 | **限定验收**:Windows shell/ConPTY/呈现及 Windows/Linux 核心 CI、差分/恢复/队列/生命周期场景 | 产品打包、干净机器使用、依赖升级、长期回归和更广平台矩阵;#40 的 CI 纯夹具超时,以及窄窗口选择 #73 等独立失败仍未闭合;#72 保存完成判据的限定修正不代替完整回归 | R2 / R4 | | Windows 产品交付 | **实现中,未验收**:首个 [v0.1.0-alpha.1 预发布](releases/v0.1.0-alpha.1.md)提供 Windows x64、静态 MSVC 运行库、附资源许可和构建身份的免安装 ZIP;未签名,已验环境限 Windows 11 本机与 Server 2025 CI,布局仍写入 LOCALAPPDATA | 这是 R1 体验包,尚非 R2 日常开发版;干净机器与更广平台矩阵、签名/安装、配置升级及持续运行仍待完成。Windows 10 未验收,Server 2022 已知资源门槛未过 | R2 / R3 | | Linux/macOS 与其他架构 | **未实现**客户端;Linux 核心 CI 已有。[官方平台范围台账](../research/windterm-2.7.0-platform-scope.md)已固定 2.7.0 的 Windows x86/x64、macOS x64、Linux x64 资产及声明下限;这不是 TermForge 支持或实测结论 | 最终需真实 Linux/macOS 客户端;平台调查可提前进行,整合及完整验收排在 Windows 11 x64 完整版本之后。其他系统版本、最低版本和架构由用户后续明确;旧系统及 ARM 等保持调查记录,不自动承诺或排除,也不能由核心 CI 推断产品支持 | 持续调查;R5 全平台出口 | | 吞吐、响应、内存与稳定性 | **实现中,未验收**:已有机制实验、连续 CPU 区间校准与合成回归;候选字素改动的受限诊断中 project/interactive 吞吐中位数约下降 16%/9%,由 [#54](https://github.com/JavaZeroo/termforge/issues/54) 跟踪 | 共享宿主、allocator 包装与缺少真实呈现/输入时延端点使该诊断不构成正式预算。仍需同负载/同正确性、无插桩对照、观测开销和长期/多会话公平性;可靠原版基线后提出逐项预算及允许波动范围,**由用户明确确认**。与 WindTerm 的实际差距**待取证** | 当前优先;贯穿 R1–R5 | diff --git a/docs/research/workspace-restore-transport-oracle.md b/docs/research/workspace-restore-transport-oracle.md index 8c812dfe..7d8a17b2 100644 --- a/docs/research/workspace-restore-transport-oracle.md +++ b/docs/research/workspace-restore-transport-oracle.md @@ -10,6 +10,10 @@ [#61](https://github.com/JavaZeroo/termforge/issues/61) 的两份默认/system 新失败具有不同原因:PowerShell 命令编辑重绘在实际输出之前带一个裸 BS(`0x08`)。旧 oracle 因它直接拒绝整个运输,即使随后已有真正 CRLF、完整目录/版本输出和新提示符。用原字节独立重放,两个 PowerShell 条件均为 false,而 cmd/底部条件为 true;仅移除前缀 BS 的诊断输入使旧条件转为 true,证实拒绝分支。修正不模拟退格或删除回显,而是把该前缀记录标记为不可信,直到真正 LF 才允许后续独立输出;[限定复验](../../experiments/shell/results/2026-10-26-workspace-restore-bs/validation.json)保留原始失败及各配置身份。这是测试完成端点修正,不是产品输出丢失或恢复功能缺陷的修复。 +[#72](https://github.com/JavaZeroo/termforge/issues/72) 的两次默认/system CI 保存 stage2 失败记录逐字节相同。PowerShell 的 122 B 原运输在真实 LF 后、完整输出之前含 `CSI 63X / CSI 63C / CR / CSI ?25h`;旧 helper 对空记录的裸 CR 永久拒绝。保留完整原字节的 C++ 回归先红后绿,仅移除这一 CR 的诊断对照在旧 helper 下已通过。修正只允许下述受限空记录情形,不删除运输字节或改变产品输出。源码 `4daf992` 下默认/system、候选/system、候选/官方 flags24 各两轮保存、普通恢复、钳制恢复共 18 次真实运行通过;[身份与结果](../../experiments/shell/results/2026-10-27-workspace-empty-cr/validation.json)分别保留因果回归、原始失败及各配置的实际断言与回收。局部通过不替代最终完整回归或 CI。 + +同源码官方配置完整 CTest 为 54/56、449.38 秒;工作区保存/恢复方法也在完整 shell 套件中通过。剩余为 Vim stage59,以及 shell 的 resize/resize-close stage43、main stage7、workspace stage52,分别由 #51/#52/#63 承接。此次 shell 套件实际完成 40 方法,4 error、3 skip,用时 174.65 秒;旧批次的 180 秒聚合超时仍保留。内部可选依赖、hosted 系统输入和私有剪贴板跳过逐项记录,不写成这些能力通过。PR #78 的两条 CI 均通过,其中 Windows 默认/system 为 51/51、273.64 秒;其实际合并 checkout 与本机源码分别列明。 + ## 限定 oracle 合同 - 独立扫描 7-bit ESC 形式的完整 OSC(BEL 或 ST 终止)和 CSI。OSC 内容不参与正文匹配,UTF-8 的所有高位正文 bytes 原样保留,包括 `目` 中的 `0x9b`。 diff --git a/experiments/shell/results/2026-10-27-workspace-empty-cr/validation.json b/experiments/shell/results/2026-10-27-workspace-empty-cr/validation.json new file mode 100644 index 00000000..1f029aff --- /dev/null +++ b/experiments/shell/results/2026-10-27-workspace-empty-cr/validation.json @@ -0,0 +1,3195 @@ +{ + "source_commit": "4daf99250a2740e1943635b6d46293d633427163", + "platform": "Windows-11-10.0.26200-SP0", + "python": "3.12.10", + "started_utc": "2026-10-26T16:35:57.098152+00:00", + "source_sha256": { + "CMakeLists.txt": "f5bb85e12b7a815c4feb7417da9ebc5298de58664bcd2792b277cb282729da73", + "experiments/shell/transport_completion.hpp": "535ff47bfbdd1038dca22820b467d1ee0d1839a29be38cd750e4de49439b602f", + "experiments/shell/transport_completion_test.cpp": "c9bb02bd739f916e78530590ee0f3b29bc952c58e445d31bc047ee69d301dcee", + "experiments/shell/workspace_persistence_scenario.hpp": "7f70d755549718d0fddb94b43cce12f3955727fcc51599a8bb124bf3e59ec263", + "experiments/shell/test_shell.py": "a6b63c1754b0e0dc1cc01863891f4c7c9d989f818d351838a8cfe295edaf811c", + "experiments/shell/run.py": "45976b828eecb316881d698dedaef09ad304f72d991dfa360f1c552bbcbe9f1d", + "experiments/shell/shell.cpp": "ac4dd44861aa2928213fffe91d30cdaf3aedf19f08468aefeed22828352296cc", + "experiments/shell/test_launcher.cpp": "19cab4a960f47f252c02f92a36316d43eed2481da1f72b5a7e97003c4fa1c2ed", + "experiments/core/candidate_terminal.cpp": "3092ee2ea44ca0f897a7d3b6244c079ba8073dc109993204e435f065388a2ed1", + "experiments/candidates/alacritty/Cargo.lock": "896c6e60909d55d61fb26d277b1a98daf9245e8aee811caff37fc3e9d06ca627" + }, + "source_git_blobs": { + "CMakeLists.txt": "2454a7b8dc34fa2bbd74b25b0ad77d19a71a5f18", + "experiments/shell/transport_completion.hpp": "e038584c5d719d2890ce58b292d5c2ac27c94ca2", + "experiments/shell/transport_completion_test.cpp": "70a412afaa644413460ada14f8c28c91b206d509", + "experiments/shell/workspace_persistence_scenario.hpp": "f7f73dbd771f559384d9b4e569d815d2ef0792da", + "experiments/shell/test_shell.py": "66512ac1099cf477cac8f26f225b18c301c1d3d8", + "experiments/shell/run.py": "bbd4dfc05012c55956973d7e2c69be717b48b1a9", + "experiments/shell/shell.cpp": "90b3f166e8a50ca2488f749e8e188c52cb5e4a91", + "experiments/shell/test_launcher.cpp": "6da0882255cd9587111aa4536b1f0b5a93b193bf", + "experiments/core/candidate_terminal.cpp": "9bb1fab8f6deac294d0ba1a44712b67c919d03c7", + "experiments/candidates/alacritty/Cargo.lock": "6501189a98bfe0610ebcb5e3c31d3abc2ae3f132" + }, + "configurations": [ + { + "build_config": "system-r72", + "candidate": false, + "backend": "system", + "binaries_sha256": { + "shell_clipboard_reader.exe": "6afbaba725490cc3856df97b56a8a16190251b27fa5c34024c63132a6c6bde41", + "shell_ime_client.exe": "2f032970045e33b80b615e0ffebe06e29ebe7b18698b7609bffc129af9b4d7df", + "shell_input_client.exe": "0471578cce2959b200c2e174514cbd8663e2b51db1bb973f8932ebe5a866f1b7", + "shell_query_client.exe": "d92be37207a6a7a4c03d4b08dd1f704ccddc2e86b7ef00085e028168d1a915e1", + "shell_selection_text_client.exe": "0ec9d66d66e672e98487bf38ee4db4313ac7bdad8b6852ebdc8fcd6309fd4358", + "shell_size_client.exe": "323583d4127d4aca27026cbe3ef9328a80390a269e99be763580f706c1cb4115", + "shell_test_launcher.exe": "3e72c4d5bd418eaa22062606f39891f0412acaf46a2841a3f9d219f24bc33014", + "shell_text_client.exe": "f151602090a8700fd48115cd4db1169a9f2cfe8e856f454bc21bf1509ddff85b", + "termforge_shell.exe": "433905e75f4f12699e59adc8c8775756f9098125aa68595d2dec6290c334dfeb", + "transport_completion_test.exe": "ba1c84b60d68d366c9d9e15e0b11e96b84e7066376c805b6ee0122c7defedc67" + }, + "cmake_cache_sha256": "27b22b5286dfc2aba8325201d143f7102400812bf27667300025232fc6394500", + "tests": [ + { + "name": "transport-completion", + "returncode": 0, + "started_utc": "2026-10-26T16:35:57.572260+00:00", + "elapsed_seconds": 0.141528, + "log_sha256": "c804b0583bcb4501edf84ab54dfe03ddcf8aeb00f7e6ffddf65d25cf6e031cb0" + }, + { + "name": "workspace", + "returncode": 0, + "started_utc": "2026-10-26T16:35:57.713788+00:00", + "elapsed_seconds": 10.657289, + "log_sha256": "eae576610ed3c3de80350f33f0d094c51b612339639b0fcf26108f3ba3eb80c2" + } + ], + "cases": [ + { + "case": "workspace-v2-clamped-0", + "sample": { + "mode": "ui-workspace-restore", + "status": "passed", + "timed_out": false, + "exit_code": 0, + "job_after": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "job_after_cleanup": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "desktop_gone": true, + "result": { + "valid": true, + "mode": "ui-workspace-restore", + "sessions_closed": 3, + "active_children_after": 0, + "settings_save_failed": false, + "presented_done": null + }, + "data_only": true + }, + "geometry": { + "schema": "termforge-workspace-restore-v1", + "dpi": 96, + "window": [ + 0, + 60, + 2560, + 799 + ], + "client": [ + 2544, + 760 + ], + "ratios": [ + 0.24, + 0.21, + 0.57, + 0.38, + 0.69 + ], + "sides": 0, + "focus_mode": 0, + "focused": "bottom", + "bottom_active": 0, + "main_active": 0, + "split_index": 1, + "split_active": 1, + "split_right_focus": 1, + "tabs": [ + { + "group": "bottom", + "kind": "cmd", + "title": "底部 cmd", + "zoom": 100, + "rect": [ + 0, + 465, + 2544, + 238 + ], + "visible": 1, + "grid": [ + 210, + 9 + ], + "cell": [ + 12, + 26 + ] + }, + { + "group": "main", + "kind": "cmd", + "title": "主 cmd", + "zoom": 150, + "rect": [ + 0, + 93, + 1272, + 321 + ], + "visible": 1, + "grid": [ + 69, + 8 + ], + "cell": [ + 18, + 39 + ] + }, + { + "group": "main", + "kind": "powershell", + "title": "研究 PowerShell", + "zoom": 75, + "rect": [ + 1272, + 93, + 1272, + 321 + ], + "visible": 1, + "grid": [ + 139, + 16 + ], + "cell": [ + 9, + 20 + ] + } + ] + }, + "raw_sha256": { + "restore-geometry.json": "e1b9fdfa4c0be1cf1901dfc4678c2952f5be23b95ca1d2a434c92b17f5069ce0", + "sample.json": "78f0976c47b06a5007bd588febd69f08bf2e3c48ac4476d548896ff6a4af319f", + "workspace.layout": "11f3b16527405dd1119da84184d416509f384d791371fca82644f257d306e87e" + } + }, + { + "case": "workspace-v2-clamped-1", + "sample": { + "mode": "ui-workspace-restore", + "status": "passed", + "timed_out": false, + "exit_code": 0, + "job_after": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "job_after_cleanup": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "desktop_gone": true, + "result": { + "valid": true, + "mode": "ui-workspace-restore", + "sessions_closed": 3, + "active_children_after": 0, + "settings_save_failed": false, + "presented_done": null + }, + "data_only": true + }, + "geometry": { + "schema": "termforge-workspace-restore-v1", + "dpi": 96, + "window": [ + 0, + 60, + 2560, + 799 + ], + "client": [ + 2544, + 760 + ], + "ratios": [ + 0.24, + 0.21, + 0.57, + 0.38, + 0.69 + ], + "sides": 0, + "focus_mode": 0, + "focused": "bottom", + "bottom_active": 0, + "main_active": 0, + "split_index": 1, + "split_active": 1, + "split_right_focus": 1, + "tabs": [ + { + "group": "bottom", + "kind": "cmd", + "title": "底部 cmd", + "zoom": 100, + "rect": [ + 0, + 465, + 2544, + 238 + ], + "visible": 1, + "grid": [ + 210, + 9 + ], + "cell": [ + 12, + 26 + ] + }, + { + "group": "main", + "kind": "cmd", + "title": "主 cmd", + "zoom": 150, + "rect": [ + 0, + 93, + 1272, + 321 + ], + "visible": 1, + "grid": [ + 69, + 8 + ], + "cell": [ + 18, + 39 + ] + }, + { + "group": "main", + "kind": "powershell", + "title": "研究 PowerShell", + "zoom": 75, + "rect": [ + 1272, + 93, + 1272, + 321 + ], + "visible": 1, + "grid": [ + 139, + 16 + ], + "cell": [ + 9, + 20 + ] + } + ] + }, + "raw_sha256": { + "restore-geometry.json": "e1b9fdfa4c0be1cf1901dfc4678c2952f5be23b95ca1d2a434c92b17f5069ce0", + "sample.json": "2d802b2f19ac76b98bae2a8455fc094be1abb857543062072d52bdac7d27b74e", + "workspace.layout": "657ae2809533be0c5138485fed93babf98a75061aea17e0f18a4dc74f5913cae" + } + }, + { + "case": "workspace-v2-restore-0", + "sample": { + "mode": "ui-workspace-restore", + "status": "passed", + "timed_out": false, + "exit_code": 0, + "job_after": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "job_after_cleanup": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "desktop_gone": true, + "result": { + "valid": true, + "mode": "ui-workspace-restore", + "sessions_closed": 3, + "active_children_after": 0, + "settings_save_failed": false, + "presented_done": null + }, + "data_only": true + }, + "geometry": { + "schema": "termforge-workspace-restore-v1", + "dpi": 96, + "window": [ + 90, + 60, + 1216, + 799 + ], + "client": [ + 1200, + 760 + ], + "ratios": [ + 0.24, + 0.21, + 0.57, + 0.38, + 0.69 + ], + "sides": 0, + "focus_mode": 0, + "focused": "bottom", + "bottom_active": 0, + "main_active": 0, + "split_index": 1, + "split_active": 1, + "split_right_focus": 1, + "tabs": [ + { + "group": "bottom", + "kind": "cmd", + "title": "底部 cmd", + "zoom": 100, + "rect": [ + 0, + 465, + 1200, + 238 + ], + "visible": 1, + "grid": [ + 98, + 9 + ], + "cell": [ + 12, + 26 + ] + }, + { + "group": "main", + "kind": "cmd", + "title": "主 cmd", + "zoom": 150, + "rect": [ + 0, + 93, + 600, + 321 + ], + "visible": 1, + "grid": [ + 32, + 8 + ], + "cell": [ + 18, + 39 + ] + }, + { + "group": "main", + "kind": "powershell", + "title": "研究 PowerShell", + "zoom": 75, + "rect": [ + 600, + 93, + 600, + 321 + ], + "visible": 1, + "grid": [ + 64, + 16 + ], + "cell": [ + 9, + 20 + ] + } + ] + }, + "raw_sha256": { + "restore-geometry.json": "5cc777f65d580599f8bda2d3e7e3d246b63aba19dba55a27e65d358709402638", + "sample.json": "fa0f1df0488dc2f6c7f650ade82dd1ebe12d40a14ae7b12419dc9f569928daab", + "workspace.layout": "59e62adef0b758158c65b56919350064f7d2c344906d2c848bab80e6f32739de" + } + }, + { + "case": "workspace-v2-restore-1", + "sample": { + "mode": "ui-workspace-restore", + "status": "passed", + "timed_out": false, + "exit_code": 0, + "job_after": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "job_after_cleanup": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "desktop_gone": true, + "result": { + "valid": true, + "mode": "ui-workspace-restore", + "sessions_closed": 3, + "active_children_after": 0, + "settings_save_failed": false, + "presented_done": null + }, + "data_only": true + }, + "geometry": { + "schema": "termforge-workspace-restore-v1", + "dpi": 96, + "window": [ + 90, + 60, + 1216, + 799 + ], + "client": [ + 1200, + 760 + ], + "ratios": [ + 0.24, + 0.21, + 0.57, + 0.38, + 0.69 + ], + "sides": 0, + "focus_mode": 0, + "focused": "bottom", + "bottom_active": 0, + "main_active": 0, + "split_index": 1, + "split_active": 1, + "split_right_focus": 1, + "tabs": [ + { + "group": "bottom", + "kind": "cmd", + "title": "底部 cmd", + "zoom": 100, + "rect": [ + 0, + 465, + 1200, + 238 + ], + "visible": 1, + "grid": [ + 98, + 9 + ], + "cell": [ + 12, + 26 + ] + }, + { + "group": "main", + "kind": "cmd", + "title": "主 cmd", + "zoom": 150, + "rect": [ + 0, + 93, + 600, + 321 + ], + "visible": 1, + "grid": [ + 32, + 8 + ], + "cell": [ + 18, + 39 + ] + }, + { + "group": "main", + "kind": "powershell", + "title": "研究 PowerShell", + "zoom": 75, + "rect": [ + 600, + 93, + 600, + 321 + ], + "visible": 1, + "grid": [ + 64, + 16 + ], + "cell": [ + 9, + 20 + ] + } + ] + }, + "raw_sha256": { + "restore-geometry.json": "5cc777f65d580599f8bda2d3e7e3d246b63aba19dba55a27e65d358709402638", + "sample.json": "95b7d480f900492b5ef1cb2d75ee939eb9bb2c4aa047be9dd213fb49371525fd", + "workspace.layout": "37b9ad8d5a982460f484042018baed17340c713c7e5d361376a1ebd3c31fb21d" + } + }, + { + "case": "workspace-v2-save-0", + "sample": { + "mode": "ui-workspace-save", + "status": "passed", + "timed_out": false, + "exit_code": 0, + "job_after": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "job_after_cleanup": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "desktop_gone": true, + "result": { + "valid": true, + "mode": "ui-workspace-save", + "sessions_closed": 3, + "active_children_after": 0, + "settings_save_failed": false, + "presented_done": null + }, + "data_only": true + }, + "geometry": { + "schema": "termforge-workspace-restore-v1", + "dpi": 96, + "window": [ + 90, + 60, + 1216, + 799 + ], + "client": [ + 1200, + 760 + ], + "ratios": [ + 0.24, + 0.21, + 0.57, + 0.38, + 0.69 + ], + "sides": 0, + "focus_mode": 0, + "focused": "bottom", + "bottom_active": 0, + "main_active": 0, + "split_index": 1, + "split_active": 1, + "split_right_focus": 1, + "tabs": [ + { + "group": "bottom", + "kind": "cmd", + "title": "底部 cmd", + "zoom": 100, + "rect": [ + 0, + 465, + 1200, + 238 + ], + "visible": 1, + "grid": [ + 98, + 9 + ], + "cell": [ + 12, + 26 + ] + }, + { + "group": "main", + "kind": "cmd", + "title": "主 cmd", + "zoom": 150, + "rect": [ + 0, + 93, + 600, + 321 + ], + "visible": 1, + "grid": [ + 32, + 8 + ], + "cell": [ + 18, + 39 + ] + }, + { + "group": "main", + "kind": "powershell", + "title": "研究 PowerShell", + "zoom": 75, + "rect": [ + 600, + 93, + 600, + 321 + ], + "visible": 1, + "grid": [ + 64, + 16 + ], + "cell": [ + 9, + 20 + ] + } + ] + }, + "raw_sha256": { + "restore-geometry.json": "5cc777f65d580599f8bda2d3e7e3d246b63aba19dba55a27e65d358709402638", + "sample.json": "cc79cd9828da737c892cf94466baf7fceda5844c42fee17c140dec83a6ef5275", + "workspace.layout": "59e62adef0b758158c65b56919350064f7d2c344906d2c848bab80e6f32739de" + } + }, + { + "case": "workspace-v2-save-1", + "sample": { + "mode": "ui-workspace-save", + "status": "passed", + "timed_out": false, + "exit_code": 0, + "job_after": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "job_after_cleanup": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "desktop_gone": true, + "result": { + "valid": true, + "mode": "ui-workspace-save", + "sessions_closed": 3, + "active_children_after": 0, + "settings_save_failed": false, + "presented_done": null + }, + "data_only": true + }, + "geometry": { + "schema": "termforge-workspace-restore-v1", + "dpi": 96, + "window": [ + 90, + 60, + 1216, + 799 + ], + "client": [ + 1200, + 760 + ], + "ratios": [ + 0.24, + 0.21, + 0.57, + 0.38, + 0.69 + ], + "sides": 0, + "focus_mode": 0, + "focused": "bottom", + "bottom_active": 0, + "main_active": 0, + "split_index": 1, + "split_active": 1, + "split_right_focus": 1, + "tabs": [ + { + "group": "bottom", + "kind": "cmd", + "title": "底部 cmd", + "zoom": 100, + "rect": [ + 0, + 465, + 1200, + 238 + ], + "visible": 1, + "grid": [ + 98, + 9 + ], + "cell": [ + 12, + 26 + ] + }, + { + "group": "main", + "kind": "cmd", + "title": "主 cmd", + "zoom": 150, + "rect": [ + 0, + 93, + 600, + 321 + ], + "visible": 1, + "grid": [ + 32, + 8 + ], + "cell": [ + 18, + 39 + ] + }, + { + "group": "main", + "kind": "powershell", + "title": "研究 PowerShell", + "zoom": 75, + "rect": [ + 600, + 93, + 600, + 321 + ], + "visible": 1, + "grid": [ + 64, + 16 + ], + "cell": [ + 9, + 20 + ] + } + ] + }, + "raw_sha256": { + "restore-geometry.json": "5cc777f65d580599f8bda2d3e7e3d246b63aba19dba55a27e65d358709402638", + "sample.json": "1316f55f86c6af9c425b9b5d996d0d9fad6b16f3745fda847ca9b798bbe0bb1d", + "workspace.layout": "37b9ad8d5a982460f484042018baed17340c713c7e5d361376a1ebd3c31fb21d" + } + } + ] + }, + { + "build_config": "candidate-system-r72", + "candidate": true, + "backend": "system", + "binaries_sha256": { + "shell_clipboard_reader.exe": "71faaa8009762d7bfe0186cc499422762f532581288eb57fde949d7774872e98", + "shell_ime_client.exe": "c671b3bcc051f2f4397467fa52029a964a721613841913e7c2e334355d4e5236", + "shell_input_client.exe": "a550513b18161e05bae681d4c9ddf79cb1a86d42bafb3a7518057a44105b99c2", + "shell_query_client.exe": "58e704e2090c4b9b0550622c84cb4ffafc6f6f42df1cdfe363a0e99e6e7db486", + "shell_selection_text_client.exe": "37862fcc2f1db49118d10c3e03dac1be851bf255cbebe2f0556f89062342bc18", + "shell_size_client.exe": "427afbd778881f5e921a1782d473ad190a1340fb691b95adce9e138a516317b5", + "shell_test_launcher.exe": "cb96d03fed43d7e63e820e0ced6cf0f241762b0cc4dbec094c458041f38f1e55", + "shell_text_client.exe": "b81cba00bdaed52c50783d6fa0a1528301e3df40d2c6c4e060aa01a9c2f81ce3", + "termforge_shell.exe": "6c756b03e445dfec9a1fd4fd8b5d628f031076d546defd4e3f3eb0c546e1cb4d", + "transport_completion_test.exe": "1945189627c71d0bedd1f8875f6bb80da6065246c687fa8651efa205346d336b" + }, + "cmake_cache_sha256": "65d497ede16ae771b8f5bad312df0d7dc98e70c095622bfbec009f455c6decdb", + "tests": [ + { + "name": "transport-completion", + "returncode": 0, + "started_utc": "2026-10-26T16:36:08.380170+00:00", + "elapsed_seconds": 0.144565, + "log_sha256": "173c950ca1f323012ddd687b96628b2bd747bbf63e28a971fef46fa28b0e2e66" + }, + { + "name": "workspace", + "returncode": 0, + "started_utc": "2026-10-26T16:36:08.524735+00:00", + "elapsed_seconds": 10.226751, + "log_sha256": "276fc4b4f011a8e5eae6e3b748d01a83b0f907771d7463fb7677c23470b846f4" + } + ], + "cases": [ + { + "case": "workspace-v2-clamped-0", + "sample": { + "mode": "ui-workspace-restore", + "status": "passed", + "timed_out": false, + "exit_code": 0, + "job_after": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "job_after_cleanup": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "desktop_gone": true, + "result": { + "valid": true, + "mode": "ui-workspace-restore", + "sessions_closed": 3, + "active_children_after": 0, + "settings_save_failed": false, + "presented_done": null + }, + "data_only": true + }, + "geometry": { + "schema": "termforge-workspace-restore-v1", + "dpi": 96, + "window": [ + 0, + 60, + 2560, + 799 + ], + "client": [ + 2544, + 760 + ], + "ratios": [ + 0.24, + 0.21, + 0.57, + 0.38, + 0.69 + ], + "sides": 0, + "focus_mode": 0, + "focused": "bottom", + "bottom_active": 0, + "main_active": 0, + "split_index": 1, + "split_active": 1, + "split_right_focus": 1, + "tabs": [ + { + "group": "bottom", + "kind": "cmd", + "title": "底部 cmd", + "zoom": 100, + "rect": [ + 0, + 465, + 2544, + 238 + ], + "visible": 1, + "grid": [ + 210, + 9 + ], + "cell": [ + 12, + 26 + ] + }, + { + "group": "main", + "kind": "cmd", + "title": "主 cmd", + "zoom": 150, + "rect": [ + 0, + 93, + 1272, + 321 + ], + "visible": 1, + "grid": [ + 69, + 8 + ], + "cell": [ + 18, + 39 + ] + }, + { + "group": "main", + "kind": "powershell", + "title": "研究 PowerShell", + "zoom": 75, + "rect": [ + 1272, + 93, + 1272, + 321 + ], + "visible": 1, + "grid": [ + 139, + 16 + ], + "cell": [ + 9, + 20 + ] + } + ] + }, + "raw_sha256": { + "restore-geometry.json": "e1b9fdfa4c0be1cf1901dfc4678c2952f5be23b95ca1d2a434c92b17f5069ce0", + "sample.json": "4120d7f440c8effc70b25ba522cbc3b44a64999a4e1875f467478fe96b03245a", + "workspace.layout": "2b84a08b2af758e35a196ad71dc3356a5c15836c9ff301845e5a0fcc80fc767a" + } + }, + { + "case": "workspace-v2-clamped-1", + "sample": { + "mode": "ui-workspace-restore", + "status": "passed", + "timed_out": false, + "exit_code": 0, + "job_after": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "job_after_cleanup": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "desktop_gone": true, + "result": { + "valid": true, + "mode": "ui-workspace-restore", + "sessions_closed": 3, + "active_children_after": 0, + "settings_save_failed": false, + "presented_done": null + }, + "data_only": true + }, + "geometry": { + "schema": "termforge-workspace-restore-v1", + "dpi": 96, + "window": [ + 0, + 60, + 2560, + 799 + ], + "client": [ + 2544, + 760 + ], + "ratios": [ + 0.24, + 0.21, + 0.57, + 0.38, + 0.69 + ], + "sides": 0, + "focus_mode": 0, + "focused": "bottom", + "bottom_active": 0, + "main_active": 0, + "split_index": 1, + "split_active": 1, + "split_right_focus": 1, + "tabs": [ + { + "group": "bottom", + "kind": "cmd", + "title": "底部 cmd", + "zoom": 100, + "rect": [ + 0, + 465, + 2544, + 238 + ], + "visible": 1, + "grid": [ + 210, + 9 + ], + "cell": [ + 12, + 26 + ] + }, + { + "group": "main", + "kind": "cmd", + "title": "主 cmd", + "zoom": 150, + "rect": [ + 0, + 93, + 1272, + 321 + ], + "visible": 1, + "grid": [ + 69, + 8 + ], + "cell": [ + 18, + 39 + ] + }, + { + "group": "main", + "kind": "powershell", + "title": "研究 PowerShell", + "zoom": 75, + "rect": [ + 1272, + 93, + 1272, + 321 + ], + "visible": 1, + "grid": [ + 139, + 16 + ], + "cell": [ + 9, + 20 + ] + } + ] + }, + "raw_sha256": { + "restore-geometry.json": "e1b9fdfa4c0be1cf1901dfc4678c2952f5be23b95ca1d2a434c92b17f5069ce0", + "sample.json": "0b54da0e331d564807006ede5bc5141d6ebb3dcbc78fc703ec9afb84e9e835f8", + "workspace.layout": "b396797597866e3036655c455b67ea7f3525fb73bc83dcd4a6124740f6a6a00d" + } + }, + { + "case": "workspace-v2-restore-0", + "sample": { + "mode": "ui-workspace-restore", + "status": "passed", + "timed_out": false, + "exit_code": 0, + "job_after": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "job_after_cleanup": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "desktop_gone": true, + "result": { + "valid": true, + "mode": "ui-workspace-restore", + "sessions_closed": 3, + "active_children_after": 0, + "settings_save_failed": false, + "presented_done": null + }, + "data_only": true + }, + "geometry": { + "schema": "termforge-workspace-restore-v1", + "dpi": 96, + "window": [ + 90, + 60, + 1216, + 799 + ], + "client": [ + 1200, + 760 + ], + "ratios": [ + 0.24, + 0.21, + 0.57, + 0.38, + 0.69 + ], + "sides": 0, + "focus_mode": 0, + "focused": "bottom", + "bottom_active": 0, + "main_active": 0, + "split_index": 1, + "split_active": 1, + "split_right_focus": 1, + "tabs": [ + { + "group": "bottom", + "kind": "cmd", + "title": "底部 cmd", + "zoom": 100, + "rect": [ + 0, + 465, + 1200, + 238 + ], + "visible": 1, + "grid": [ + 98, + 9 + ], + "cell": [ + 12, + 26 + ] + }, + { + "group": "main", + "kind": "cmd", + "title": "主 cmd", + "zoom": 150, + "rect": [ + 0, + 93, + 600, + 321 + ], + "visible": 1, + "grid": [ + 32, + 8 + ], + "cell": [ + 18, + 39 + ] + }, + { + "group": "main", + "kind": "powershell", + "title": "研究 PowerShell", + "zoom": 75, + "rect": [ + 600, + 93, + 600, + 321 + ], + "visible": 1, + "grid": [ + 64, + 16 + ], + "cell": [ + 9, + 20 + ] + } + ] + }, + "raw_sha256": { + "restore-geometry.json": "5cc777f65d580599f8bda2d3e7e3d246b63aba19dba55a27e65d358709402638", + "sample.json": "bb7dcffd003f6836c81ebe2c1a76add10137e75c17de550d4c79f02cf09ac770", + "workspace.layout": "fad7156f6463e92356c52c64121b793c2989eada6377228f502b314dcc1cd822" + } + }, + { + "case": "workspace-v2-restore-1", + "sample": { + "mode": "ui-workspace-restore", + "status": "passed", + "timed_out": false, + "exit_code": 0, + "job_after": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "job_after_cleanup": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "desktop_gone": true, + "result": { + "valid": true, + "mode": "ui-workspace-restore", + "sessions_closed": 3, + "active_children_after": 0, + "settings_save_failed": false, + "presented_done": null + }, + "data_only": true + }, + "geometry": { + "schema": "termforge-workspace-restore-v1", + "dpi": 96, + "window": [ + 90, + 60, + 1216, + 799 + ], + "client": [ + 1200, + 760 + ], + "ratios": [ + 0.24, + 0.21, + 0.57, + 0.38, + 0.69 + ], + "sides": 0, + "focus_mode": 0, + "focused": "bottom", + "bottom_active": 0, + "main_active": 0, + "split_index": 1, + "split_active": 1, + "split_right_focus": 1, + "tabs": [ + { + "group": "bottom", + "kind": "cmd", + "title": "底部 cmd", + "zoom": 100, + "rect": [ + 0, + 465, + 1200, + 238 + ], + "visible": 1, + "grid": [ + 98, + 9 + ], + "cell": [ + 12, + 26 + ] + }, + { + "group": "main", + "kind": "cmd", + "title": "主 cmd", + "zoom": 150, + "rect": [ + 0, + 93, + 600, + 321 + ], + "visible": 1, + "grid": [ + 32, + 8 + ], + "cell": [ + 18, + 39 + ] + }, + { + "group": "main", + "kind": "powershell", + "title": "研究 PowerShell", + "zoom": 75, + "rect": [ + 600, + 93, + 600, + 321 + ], + "visible": 1, + "grid": [ + 64, + 16 + ], + "cell": [ + 9, + 20 + ] + } + ] + }, + "raw_sha256": { + "restore-geometry.json": "5cc777f65d580599f8bda2d3e7e3d246b63aba19dba55a27e65d358709402638", + "sample.json": "bb37ee8b05088b72c466f87a716434b2ad1eee5e83f5597a8c438de7c729415b", + "workspace.layout": "dff8885eeadffc72e58dc84b031fe4d6a3179edeffce82853c5f480e12c6d055" + } + }, + { + "case": "workspace-v2-save-0", + "sample": { + "mode": "ui-workspace-save", + "status": "passed", + "timed_out": false, + "exit_code": 0, + "job_after": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "job_after_cleanup": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "desktop_gone": true, + "result": { + "valid": true, + "mode": "ui-workspace-save", + "sessions_closed": 3, + "active_children_after": 0, + "settings_save_failed": false, + "presented_done": null + }, + "data_only": true + }, + "geometry": { + "schema": "termforge-workspace-restore-v1", + "dpi": 96, + "window": [ + 90, + 60, + 1216, + 799 + ], + "client": [ + 1200, + 760 + ], + "ratios": [ + 0.24, + 0.21, + 0.57, + 0.38, + 0.69 + ], + "sides": 0, + "focus_mode": 0, + "focused": "bottom", + "bottom_active": 0, + "main_active": 0, + "split_index": 1, + "split_active": 1, + "split_right_focus": 1, + "tabs": [ + { + "group": "bottom", + "kind": "cmd", + "title": "底部 cmd", + "zoom": 100, + "rect": [ + 0, + 465, + 1200, + 238 + ], + "visible": 1, + "grid": [ + 98, + 9 + ], + "cell": [ + 12, + 26 + ] + }, + { + "group": "main", + "kind": "cmd", + "title": "主 cmd", + "zoom": 150, + "rect": [ + 0, + 93, + 600, + 321 + ], + "visible": 1, + "grid": [ + 32, + 8 + ], + "cell": [ + 18, + 39 + ] + }, + { + "group": "main", + "kind": "powershell", + "title": "研究 PowerShell", + "zoom": 75, + "rect": [ + 600, + 93, + 600, + 321 + ], + "visible": 1, + "grid": [ + 64, + 16 + ], + "cell": [ + 9, + 20 + ] + } + ] + }, + "raw_sha256": { + "restore-geometry.json": "5cc777f65d580599f8bda2d3e7e3d246b63aba19dba55a27e65d358709402638", + "sample.json": "ed0cfb5a2ddcbffb67515f70aceca1817e78da50eee4979166aeae7e07bed292", + "workspace.layout": "fad7156f6463e92356c52c64121b793c2989eada6377228f502b314dcc1cd822" + } + }, + { + "case": "workspace-v2-save-1", + "sample": { + "mode": "ui-workspace-save", + "status": "passed", + "timed_out": false, + "exit_code": 0, + "job_after": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "job_after_cleanup": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "desktop_gone": true, + "result": { + "valid": true, + "mode": "ui-workspace-save", + "sessions_closed": 3, + "active_children_after": 0, + "settings_save_failed": false, + "presented_done": null + }, + "data_only": true + }, + "geometry": { + "schema": "termforge-workspace-restore-v1", + "dpi": 96, + "window": [ + 90, + 60, + 1216, + 799 + ], + "client": [ + 1200, + 760 + ], + "ratios": [ + 0.24, + 0.21, + 0.57, + 0.38, + 0.69 + ], + "sides": 0, + "focus_mode": 0, + "focused": "bottom", + "bottom_active": 0, + "main_active": 0, + "split_index": 1, + "split_active": 1, + "split_right_focus": 1, + "tabs": [ + { + "group": "bottom", + "kind": "cmd", + "title": "底部 cmd", + "zoom": 100, + "rect": [ + 0, + 465, + 1200, + 238 + ], + "visible": 1, + "grid": [ + 98, + 9 + ], + "cell": [ + 12, + 26 + ] + }, + { + "group": "main", + "kind": "cmd", + "title": "主 cmd", + "zoom": 150, + "rect": [ + 0, + 93, + 600, + 321 + ], + "visible": 1, + "grid": [ + 32, + 8 + ], + "cell": [ + 18, + 39 + ] + }, + { + "group": "main", + "kind": "powershell", + "title": "研究 PowerShell", + "zoom": 75, + "rect": [ + 600, + 93, + 600, + 321 + ], + "visible": 1, + "grid": [ + 64, + 16 + ], + "cell": [ + 9, + 20 + ] + } + ] + }, + "raw_sha256": { + "restore-geometry.json": "5cc777f65d580599f8bda2d3e7e3d246b63aba19dba55a27e65d358709402638", + "sample.json": "ab509cefe2e4a9dde03dc8d9e12b0d3060026a8b8392db9a847a004321544d1b", + "workspace.layout": "dff8885eeadffc72e58dc84b031fe4d6a3179edeffce82853c5f480e12c6d055" + } + } + ] + }, + { + "build_config": "candidate", + "candidate": true, + "backend": "reviewed-side-by-side-1.25.260930003", + "binaries_sha256": { + "alpha_normal_smoke.exe": "36ac6dbe36c942b9850d6d9f5b3538fbfe2fc251f38ac026ea12c343b0e9abc8", + "candidate_core_test.exe": "6e9df1abbe2271690a1480a1be9042e219a5947779b6a4b03f529a742fbd10ce", + "candidate_reply_close_test.exe": "40603aa54fbad42d55a5a7ea24b7aecebefdacd8f3c802e3ac89c52ef3a4b74d", + "candidate_resize_replay.exe": "3d91227adb37bba4defcef8f803f0f3c2916001223300b99d18e0e2ab695de94", + "candidate_title_test.exe": "90db63148f6aafaf79d65d5b40e61bbdc9f54486a6be36e26523699e0b46035d", + "clipboard_policy_test.exe": "809815e9838cad5b3443c98620d23a4e6c7186b5304b524d0990988eb47a6da9", + "conpty_backend_probe.exe": "3c54962c20f04e688a0413bb822713e908582af20b0be8bcfd188fb436907ef8", + "conpty_ctrl_c_probe.exe": "ac5ae5ccdb77c82512a8a6d769fafbe74693bf6fc535ce4d22bf60b0c8df2bfa", + "conpty_margin_probe.exe": "5404b009d0e005cd940d8a65afeb0fb9caf9c9ce2a18f651a88146343c41c252", + "core_measure.exe": "df9df797b16239d2fb71707f8a042a1ed956ad30c407d884527cdf18d600e785", + "find_bar_test.exe": "030733a2396ca9b31bbd029c610f1b838ab52394338c08410274501747dd9982", + "history_test.exe": "035507366facfd6de00e0c2762775c8d3816f605da3e55d498995a74a3f447d2", + "ime_context_test.exe": "be0d71ca72aee3dbd1565c9ad2314f81f0cd0c5511ec54cb623bbd39eede9974", + "ime_input_expectation_test.exe": "a5ea4532a06b893d955299793b4859cb9ccf221fab64e51949e1af2ee6ba5d0b", + "keyboard_test.exe": "18a35c2b2ab8a6316e0c938d8c36d0b82bcc131989d683205888b08bf4d33e19", + "layout_state_test.exe": "307519003536ce16d7d6fc552b3a25e9de25356d50a80c2de0c01168a10784a9", + "paste_test.exe": "47e9a5ce33335370b6fb199b0ff11adc19e2ab55bf64657061a13c1c020a24b0", + "presentation_probe.exe": "b7043cace46f65b22c7295df2fc06b214f060c2fd6fe18ac5ff27e13d943e096", + "raw_console_receiver_test.exe": "9c05cdb80d87ff264b3275387eb01dabc8f57640adbc7ee3910b0fc44f378224", + "real_app_capture.exe": "011efaad94da74ce182e30a3ff8abb0c1e1f58235bc77fa8c347ec3d9dcb822e", + "receive.exe": "ef316e11ddcc764ddac57426fc37b8b69f599ddb28a0ffedf5c2e85a3004a9d4", + "recovery_probe.exe": "c84e7b1b1792773b993f2758d5cafa59b80495451c01d194c3afd6cc653f0344", + "renderer_metrics_test.exe": "4cebad62798ff0f8eac42641a1119c7b9725728dd5fd31befcdf7e1ecb686cfd", + "replay.exe": "674f96ebbf00497576951a6780a5cf5195e3b80cc4acdb7f296fa8910a6203b7", + "resize_test.exe": "f566c56a1fa34e2a8ff480900ac5ae5059e2ac6872554208d5dbf0e24673dde0", + "runtime_observation_test.exe": "dfd04533d35d78401da75ad7d0965d923d7b7e95ad304775367b6088acc341ed", + "scenario_tick_gate_test.exe": "06cd4e813f1034d1a8c7fea592979f49c3ef89117c97fc6636cdae5012017ce8", + "search_test.exe": "0f29f3ea3147cc45eb2e500e683f3bcc1db04f820470b2ff473fffcb31cdb4f4", + "selection_test.exe": "104576787b62c2c4bb2428e0786c7742e63a23ceb766df293c88a5ccc6a1b836", + "sender_fence_pipe_test.exe": "6a94ac84631434a81ae1098932813d7ceeb81f2bb33a2e4b2456834bd8972e92", + "sender_fence_test.exe": "ab4af3b0f148f6e6377e70c98936c6c34d0be0d3cee4b17b3f8554c39b2d3e52", + "sent_message_wait_test.exe": "bc3cff14f60e3f1b17b3fd6255ff1c5b507f506d897d528802efa9666be74dcf", + "shell_clipboard_reader.exe": "bacc4bff465ca644fae61f9d26184a7adc22df9793470feca647af1d823fece8", + "shell_ime_client.exe": "d787ebf702cf5895e1ad0d71f895a51b3dead34d02953b5e7deff086c2bf8eb7", + "shell_input_client.exe": "850c82fb8bb58de8170bf096cc6dd4f8ba34d9ba11dbd2addc41508cddc31d8c", + "shell_launch_test.exe": "ace9b63148848bf7b405edb4b8818ca23d52699ac2ce8ca03a90c5bc1e32622d", + "shell_paste_probe.exe": "1370c6381b990270dfd816f53758e5aa57c63deba050fa7cf0dbd0d5cbf4f315", + "shell_query_client.exe": "71419f7918bc58f4ee47d14f8e6de35aa1828ac838a73ed607797fc120f56886", + "shell_queue_probe.exe": "7f34d6ff66b3e00d56798e22a480fb20a5afa083cff65a9d689dcbca44dbe12d", + "shell_selection_text_client.exe": "dbad81a22ecce4508eada90ae445f9a75abfe1effd2571776ef31b32144c8ac4", + "shell_size_client.exe": "5394d9863df9a589012f0d9a31f7e4167e7bc4ea23e93f9711c0a67c540651f6", + "shell_test_launcher.exe": "dbde4249dc08c7df80120398ffd252aa5e4958e4ef640cc161ea4c2d28b9f291", + "shell_text_client.exe": "9485b03424e421a4018596cc9487e7feeb33c26d30820985aa45843fdcf315d9", + "termforge_conpty_probe.exe": "7dd59bc8d0309ad5b131cde1c3ed98819139b6bb70f505347c98aabe8396f618", + "termforge_ime_probe.exe": "788a186b5fafb6d155eeab74f78d4f7cb992a599937b3aa48c5efcf49affe993", + "termforge_shell.exe": "650ea74ba3ad39b91ab4773c72af3ee70e59bc9d63e76249ea8fa6745a367081", + "terminal_trace.exe": "40e869753f4c00515ee0990f3732eac04f965fe2c3070f1bf772717476269f3d", + "text_action_policy_test.exe": "535b469c9aa0da7e77670578f75d04956d98e9f912d5c9a6c310ab796ab58d4f", + "transport_completion_test.exe": "9f63a2f8a08ddcd459d422f69bfbeae9ceaee9527edc0198c7e4fbd07bff7dc4", + "workflow_fixture_test.exe": "a6624a6b1536c6f445f92e05ff72a5318ece47d455500f6adc467d94f9f04222", + "workspace_state_test.exe": "ac3fbc8a56d33efda33cc9040c731c183e0a8666e23fce48d368c1868797714d" + }, + "cmake_cache_sha256": "d652393042e1195908894a592dda1ebf0c8e1e8ccd3e05ecacec2760b41bc2ff", + "tests": [ + { + "name": "transport-completion", + "returncode": 0, + "started_utc": "2026-10-26T16:36:18.796351+00:00", + "elapsed_seconds": 0.134451, + "log_sha256": "2bcde71179fda986d1dab2d5b84737f9d5a4c965da407e6f2f07b4c60faa49cd" + }, + { + "name": "workspace", + "returncode": 0, + "started_utc": "2026-10-26T16:36:18.932314+00:00", + "elapsed_seconds": 10.383378, + "log_sha256": "9004ff6178e1bec317c7c8de5c70c0a7318ef5a298aae3e48a161e85b05a2b34" + } + ], + "cases": [ + { + "case": "workspace-v2-clamped-0", + "sample": { + "mode": "ui-workspace-restore", + "status": "passed", + "timed_out": false, + "exit_code": 0, + "job_after": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "job_after_cleanup": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "desktop_gone": true, + "result": { + "valid": true, + "mode": "ui-workspace-restore", + "sessions_closed": 3, + "active_children_after": 0, + "settings_save_failed": false, + "presented_done": null + }, + "data_only": true + }, + "geometry": { + "schema": "termforge-workspace-restore-v1", + "dpi": 96, + "window": [ + 0, + 60, + 2560, + 799 + ], + "client": [ + 2544, + 760 + ], + "ratios": [ + 0.24, + 0.21, + 0.57, + 0.38, + 0.69 + ], + "sides": 0, + "focus_mode": 0, + "focused": "bottom", + "bottom_active": 0, + "main_active": 0, + "split_index": 1, + "split_active": 1, + "split_right_focus": 1, + "tabs": [ + { + "group": "bottom", + "kind": "cmd", + "title": "底部 cmd", + "zoom": 100, + "rect": [ + 0, + 465, + 2544, + 238 + ], + "visible": 1, + "grid": [ + 210, + 9 + ], + "cell": [ + 12, + 26 + ] + }, + { + "group": "main", + "kind": "cmd", + "title": "主 cmd", + "zoom": 150, + "rect": [ + 0, + 93, + 1272, + 321 + ], + "visible": 1, + "grid": [ + 69, + 8 + ], + "cell": [ + 18, + 39 + ] + }, + { + "group": "main", + "kind": "powershell", + "title": "研究 PowerShell", + "zoom": 75, + "rect": [ + 1272, + 93, + 1272, + 321 + ], + "visible": 1, + "grid": [ + 139, + 16 + ], + "cell": [ + 9, + 20 + ] + } + ] + }, + "raw_sha256": { + "restore-geometry.json": "e1b9fdfa4c0be1cf1901dfc4678c2952f5be23b95ca1d2a434c92b17f5069ce0", + "sample.json": "4f5443ddb183618cbe787be35499c53a9c5dc71383e1242f44b98b565ecb2794", + "workspace.layout": "85ad2c772bbe4ae1a16ac48dcb4d6d52dfaed5a50f60cbf818a6538d94fa32af" + } + }, + { + "case": "workspace-v2-clamped-1", + "sample": { + "mode": "ui-workspace-restore", + "status": "passed", + "timed_out": false, + "exit_code": 0, + "job_after": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "job_after_cleanup": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "desktop_gone": true, + "result": { + "valid": true, + "mode": "ui-workspace-restore", + "sessions_closed": 3, + "active_children_after": 0, + "settings_save_failed": false, + "presented_done": null + }, + "data_only": true + }, + "geometry": { + "schema": "termforge-workspace-restore-v1", + "dpi": 96, + "window": [ + 0, + 60, + 2560, + 799 + ], + "client": [ + 2544, + 760 + ], + "ratios": [ + 0.24, + 0.21, + 0.57, + 0.38, + 0.69 + ], + "sides": 0, + "focus_mode": 0, + "focused": "bottom", + "bottom_active": 0, + "main_active": 0, + "split_index": 1, + "split_active": 1, + "split_right_focus": 1, + "tabs": [ + { + "group": "bottom", + "kind": "cmd", + "title": "底部 cmd", + "zoom": 100, + "rect": [ + 0, + 465, + 2544, + 238 + ], + "visible": 1, + "grid": [ + 210, + 9 + ], + "cell": [ + 12, + 26 + ] + }, + { + "group": "main", + "kind": "cmd", + "title": "主 cmd", + "zoom": 150, + "rect": [ + 0, + 93, + 1272, + 321 + ], + "visible": 1, + "grid": [ + 69, + 8 + ], + "cell": [ + 18, + 39 + ] + }, + { + "group": "main", + "kind": "powershell", + "title": "研究 PowerShell", + "zoom": 75, + "rect": [ + 1272, + 93, + 1272, + 321 + ], + "visible": 1, + "grid": [ + 139, + 16 + ], + "cell": [ + 9, + 20 + ] + } + ] + }, + "raw_sha256": { + "restore-geometry.json": "e1b9fdfa4c0be1cf1901dfc4678c2952f5be23b95ca1d2a434c92b17f5069ce0", + "sample.json": "88bd123a353389461c7e3f69a05baac16695a3b1a43c70dfbf4d8818f996561d", + "workspace.layout": "eaa185a9288a25bab6e5d3518fb87182b9959b3b591a1840a0699cb999c62fff" + } + }, + { + "case": "workspace-v2-restore-0", + "sample": { + "mode": "ui-workspace-restore", + "status": "passed", + "timed_out": false, + "exit_code": 0, + "job_after": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "job_after_cleanup": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "desktop_gone": true, + "result": { + "valid": true, + "mode": "ui-workspace-restore", + "sessions_closed": 3, + "active_children_after": 0, + "settings_save_failed": false, + "presented_done": null + }, + "data_only": true + }, + "geometry": { + "schema": "termforge-workspace-restore-v1", + "dpi": 96, + "window": [ + 90, + 60, + 1216, + 799 + ], + "client": [ + 1200, + 760 + ], + "ratios": [ + 0.24, + 0.21, + 0.57, + 0.38, + 0.69 + ], + "sides": 0, + "focus_mode": 0, + "focused": "bottom", + "bottom_active": 0, + "main_active": 0, + "split_index": 1, + "split_active": 1, + "split_right_focus": 1, + "tabs": [ + { + "group": "bottom", + "kind": "cmd", + "title": "底部 cmd", + "zoom": 100, + "rect": [ + 0, + 465, + 1200, + 238 + ], + "visible": 1, + "grid": [ + 98, + 9 + ], + "cell": [ + 12, + 26 + ] + }, + { + "group": "main", + "kind": "cmd", + "title": "主 cmd", + "zoom": 150, + "rect": [ + 0, + 93, + 600, + 321 + ], + "visible": 1, + "grid": [ + 32, + 8 + ], + "cell": [ + 18, + 39 + ] + }, + { + "group": "main", + "kind": "powershell", + "title": "研究 PowerShell", + "zoom": 75, + "rect": [ + 600, + 93, + 600, + 321 + ], + "visible": 1, + "grid": [ + 64, + 16 + ], + "cell": [ + 9, + 20 + ] + } + ] + }, + "raw_sha256": { + "restore-geometry.json": "5cc777f65d580599f8bda2d3e7e3d246b63aba19dba55a27e65d358709402638", + "sample.json": "61e5af44331e37e52fc4f46e10f56e8ba11f2c1316d3a123ce79d3dbda073d2e", + "workspace.layout": "c5cc46a5395e488830e636e2cae90b038fe5eaac0cb3244395754c24830757fe" + } + }, + { + "case": "workspace-v2-restore-1", + "sample": { + "mode": "ui-workspace-restore", + "status": "passed", + "timed_out": false, + "exit_code": 0, + "job_after": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "job_after_cleanup": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "desktop_gone": true, + "result": { + "valid": true, + "mode": "ui-workspace-restore", + "sessions_closed": 3, + "active_children_after": 0, + "settings_save_failed": false, + "presented_done": null + }, + "data_only": true + }, + "geometry": { + "schema": "termforge-workspace-restore-v1", + "dpi": 96, + "window": [ + 90, + 60, + 1216, + 799 + ], + "client": [ + 1200, + 760 + ], + "ratios": [ + 0.24, + 0.21, + 0.57, + 0.38, + 0.69 + ], + "sides": 0, + "focus_mode": 0, + "focused": "bottom", + "bottom_active": 0, + "main_active": 0, + "split_index": 1, + "split_active": 1, + "split_right_focus": 1, + "tabs": [ + { + "group": "bottom", + "kind": "cmd", + "title": "底部 cmd", + "zoom": 100, + "rect": [ + 0, + 465, + 1200, + 238 + ], + "visible": 1, + "grid": [ + 98, + 9 + ], + "cell": [ + 12, + 26 + ] + }, + { + "group": "main", + "kind": "cmd", + "title": "主 cmd", + "zoom": 150, + "rect": [ + 0, + 93, + 600, + 321 + ], + "visible": 1, + "grid": [ + 32, + 8 + ], + "cell": [ + 18, + 39 + ] + }, + { + "group": "main", + "kind": "powershell", + "title": "研究 PowerShell", + "zoom": 75, + "rect": [ + 600, + 93, + 600, + 321 + ], + "visible": 1, + "grid": [ + 64, + 16 + ], + "cell": [ + 9, + 20 + ] + } + ] + }, + "raw_sha256": { + "restore-geometry.json": "5cc777f65d580599f8bda2d3e7e3d246b63aba19dba55a27e65d358709402638", + "sample.json": "23088bdaea3a39e571c3407357847fc1559b62839b5a5fd13bad69bc8f0bf9d5", + "workspace.layout": "ce7ccde5387ee25fc6ef9e2485f794d737406942d0cdbd72970c33938bf0cd8d" + } + }, + { + "case": "workspace-v2-save-0", + "sample": { + "mode": "ui-workspace-save", + "status": "passed", + "timed_out": false, + "exit_code": 0, + "job_after": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "job_after_cleanup": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "desktop_gone": true, + "result": { + "valid": true, + "mode": "ui-workspace-save", + "sessions_closed": 3, + "active_children_after": 0, + "settings_save_failed": false, + "presented_done": null + }, + "data_only": true + }, + "geometry": { + "schema": "termforge-workspace-restore-v1", + "dpi": 96, + "window": [ + 90, + 60, + 1216, + 799 + ], + "client": [ + 1200, + 760 + ], + "ratios": [ + 0.24, + 0.21, + 0.57, + 0.38, + 0.69 + ], + "sides": 0, + "focus_mode": 0, + "focused": "bottom", + "bottom_active": 0, + "main_active": 0, + "split_index": 1, + "split_active": 1, + "split_right_focus": 1, + "tabs": [ + { + "group": "bottom", + "kind": "cmd", + "title": "底部 cmd", + "zoom": 100, + "rect": [ + 0, + 465, + 1200, + 238 + ], + "visible": 1, + "grid": [ + 98, + 9 + ], + "cell": [ + 12, + 26 + ] + }, + { + "group": "main", + "kind": "cmd", + "title": "主 cmd", + "zoom": 150, + "rect": [ + 0, + 93, + 600, + 321 + ], + "visible": 1, + "grid": [ + 32, + 8 + ], + "cell": [ + 18, + 39 + ] + }, + { + "group": "main", + "kind": "powershell", + "title": "研究 PowerShell", + "zoom": 75, + "rect": [ + 600, + 93, + 600, + 321 + ], + "visible": 1, + "grid": [ + 64, + 16 + ], + "cell": [ + 9, + 20 + ] + } + ] + }, + "raw_sha256": { + "restore-geometry.json": "5cc777f65d580599f8bda2d3e7e3d246b63aba19dba55a27e65d358709402638", + "sample.json": "118e7fca8cedbd507e67a915eb98425603dc48d12edd50cfeee8119221788d46", + "workspace.layout": "c5cc46a5395e488830e636e2cae90b038fe5eaac0cb3244395754c24830757fe" + } + }, + { + "case": "workspace-v2-save-1", + "sample": { + "mode": "ui-workspace-save", + "status": "passed", + "timed_out": false, + "exit_code": 0, + "job_after": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "job_after_cleanup": { + "active": 0, + "total": 14, + "terminated": 0 + }, + "desktop_gone": true, + "result": { + "valid": true, + "mode": "ui-workspace-save", + "sessions_closed": 3, + "active_children_after": 0, + "settings_save_failed": false, + "presented_done": null + }, + "data_only": true + }, + "geometry": { + "schema": "termforge-workspace-restore-v1", + "dpi": 96, + "window": [ + 90, + 60, + 1216, + 799 + ], + "client": [ + 1200, + 760 + ], + "ratios": [ + 0.24, + 0.21, + 0.57, + 0.38, + 0.69 + ], + "sides": 0, + "focus_mode": 0, + "focused": "bottom", + "bottom_active": 0, + "main_active": 0, + "split_index": 1, + "split_active": 1, + "split_right_focus": 1, + "tabs": [ + { + "group": "bottom", + "kind": "cmd", + "title": "底部 cmd", + "zoom": 100, + "rect": [ + 0, + 465, + 1200, + 238 + ], + "visible": 1, + "grid": [ + 98, + 9 + ], + "cell": [ + 12, + 26 + ] + }, + { + "group": "main", + "kind": "cmd", + "title": "主 cmd", + "zoom": 150, + "rect": [ + 0, + 93, + 600, + 321 + ], + "visible": 1, + "grid": [ + 32, + 8 + ], + "cell": [ + 18, + 39 + ] + }, + { + "group": "main", + "kind": "powershell", + "title": "研究 PowerShell", + "zoom": 75, + "rect": [ + 600, + 93, + 600, + 321 + ], + "visible": 1, + "grid": [ + 64, + 16 + ], + "cell": [ + 9, + 20 + ] + } + ] + }, + "raw_sha256": { + "restore-geometry.json": "5cc777f65d580599f8bda2d3e7e3d246b63aba19dba55a27e65d358709402638", + "sample.json": "33bb1634252634013da65fd77333a253ad2277350fdbac4ccbad07cc9e1596fa", + "workspace.layout": "ce7ccde5387ee25fc6ef9e2485f794d737406942d0cdbd72970c33938bf0cd8d" + } + } + ] + } + ], + "completed_utc": "2026-10-26T16:36:29.317251+00:00", + "local_identity_sha256": "4584b1e3190d354115907cf46ad9344d9d45a6048da4fc6babe6f61f9407aeaa", + "schema": "termforge-workspace-empty-cr-v1", + "scope": "Test completion oracle correction; no product persistence or timeout change", + "compiler": "MSVC 19.42.34433 x64 Release; Windows SDK 10.0.26100", + "alacritty": "0.26.1-dev+termforge.4", + "candidate_library_sha256": "aa41a9ea5749f3933a0db8bfa41dda68812c68727d47d394fc3edd859973a260", + "preserved_contract": { + "observation_cap_bytes": 8192, + "native_deadline_seconds": 30, + "outer_deadline_seconds": 40, + "rounds_per_configuration": 2, + "processes_per_round": 3, + "independent_exact_output_and_fresh_prompt": true, + "unicode_directories_and_power_shell_version": true, + "layout_titles_zoom_split_window_and_child_grid": true, + "owned_job_and_noninput_desktop": true, + "presented_done": null + }, + "causal_observation": { + "original_and_repeated_failure_bytes_identical": true, + "failure_json_sha256": "71b9a860f70cbee2e8b52501bb0877ee8e218c8962f580321df40e215f4d6f4a", + "powershell_observed_bytes": 122, + "powershell_observed_sha256": "4c1d91f70cb82f745b1fa3eab3bca03048ac419aab0fe8c1e510cc2bc63041b5", + "original_run": 40313671258, + "original_job": 121540798389, + "repeated_run": 40355938302, + "repeated_job": 121688289054, + "repeated_source_head": "848cb0e621a291f732cc0e046d0b2fab6a77d962", + "repeated_checkout": "f72c239bb1bfa6d978c72646d88cbccf434f3fd5", + "repeated_artifact": 12665678304, + "repeated_archive_sha256": "c0b2aad326ee14b3e3c89aba06c12366bdf7f45af3a2233709729427919c4ab2", + "original_status": "failed", + "original_exit_code": 2, + "original_stage": 2, + "native_child_exit": null, + "reader_eof": null, + "native_forced_cleanup": null, + "no_cr_diagnostic_control_passed_old_helper": true, + "unchanged_captured_bytes_passed_old_helper": false, + "unchanged_captured_bytes_passed_corrected_helper": true, + "cr_removal": "diagnostic control only; accepted input and transport bytes remain unchanged" + }, + "causal_runs": [ + { + "phase": "red", + "passed": false, + "runtime_seconds": 0.02, + "files_sha256": { + "ctest.log": "d9d8617d9bbbebd631e88c800872fee19634c2673523b2f7348d7df4b3525a09", + "transport_completion.hpp": "47f85232785ccade107123342019a81f013991e33cacffad7616ce8334fe69ab", + "transport_completion_test.cpp": "c9bb02bd739f916e78530590ee0f3b29bc952c58e445d31bc047ee69d301dcee", + "transport_completion_test.exe": "62b08594caa62170468316ad65e6038954e9d2d40bddb0ce42db1342732cea9d" + } + }, + { + "phase": "green", + "passed": true, + "runtime_seconds": 0.01, + "files_sha256": { + "ctest.log": "8d61cc19d56f28141ec46fdb9d22845036f434cbe5f49301bdc14d426c36c46f", + "transport_completion.hpp": "535ff47bfbdd1038dca22820b467d1ee0d1839a29be38cd750e4de49439b602f", + "transport_completion_test.cpp": "c9bb02bd739f916e78530590ee0f3b29bc952c58e445d31bc047ee69d301dcee", + "transport_completion_test.exe": "9f63a2f8a08ddcd459d422f69bfbeae9ceaee9527edc0198c7e4fbd07bff7dc4" + } + } + ], + "full_candidate_official": { + "source_commit": "4daf99250a2740e1943635b6d46293d633427163", + "platform": "Windows-11-10.0.26200-SP0", + "started_utc": "2026-10-26T16:37:05.024869+00:00", + "backend": "reviewed-side-by-side-1.25.260930003", + "candidate": true, + "binaries_sha256": { + "alpha_normal_smoke.exe": "36ac6dbe36c942b9850d6d9f5b3538fbfe2fc251f38ac026ea12c343b0e9abc8", + "candidate_core_test.exe": "6e9df1abbe2271690a1480a1be9042e219a5947779b6a4b03f529a742fbd10ce", + "candidate_reply_close_test.exe": "40603aa54fbad42d55a5a7ea24b7aecebefdacd8f3c802e3ac89c52ef3a4b74d", + "candidate_resize_replay.exe": "3d91227adb37bba4defcef8f803f0f3c2916001223300b99d18e0e2ab695de94", + "candidate_title_test.exe": "90db63148f6aafaf79d65d5b40e61bbdc9f54486a6be36e26523699e0b46035d", + "clipboard_policy_test.exe": "809815e9838cad5b3443c98620d23a4e6c7186b5304b524d0990988eb47a6da9", + "conpty_backend_probe.exe": "3c54962c20f04e688a0413bb822713e908582af20b0be8bcfd188fb436907ef8", + "conpty_ctrl_c_probe.exe": "ac5ae5ccdb77c82512a8a6d769fafbe74693bf6fc535ce4d22bf60b0c8df2bfa", + "conpty_margin_probe.exe": "5404b009d0e005cd940d8a65afeb0fb9caf9c9ce2a18f651a88146343c41c252", + "core_measure.exe": "df9df797b16239d2fb71707f8a042a1ed956ad30c407d884527cdf18d600e785", + "find_bar_test.exe": "030733a2396ca9b31bbd029c610f1b838ab52394338c08410274501747dd9982", + "history_test.exe": "035507366facfd6de00e0c2762775c8d3816f605da3e55d498995a74a3f447d2", + "ime_context_test.exe": "be0d71ca72aee3dbd1565c9ad2314f81f0cd0c5511ec54cb623bbd39eede9974", + "ime_input_expectation_test.exe": "a5ea4532a06b893d955299793b4859cb9ccf221fab64e51949e1af2ee6ba5d0b", + "keyboard_test.exe": "18a35c2b2ab8a6316e0c938d8c36d0b82bcc131989d683205888b08bf4d33e19", + "layout_state_test.exe": "307519003536ce16d7d6fc552b3a25e9de25356d50a80c2de0c01168a10784a9", + "paste_test.exe": "47e9a5ce33335370b6fb199b0ff11adc19e2ab55bf64657061a13c1c020a24b0", + "presentation_probe.exe": "b7043cace46f65b22c7295df2fc06b214f060c2fd6fe18ac5ff27e13d943e096", + "raw_console_receiver_test.exe": "9c05cdb80d87ff264b3275387eb01dabc8f57640adbc7ee3910b0fc44f378224", + "real_app_capture.exe": "011efaad94da74ce182e30a3ff8abb0c1e1f58235bc77fa8c347ec3d9dcb822e", + "receive.exe": "ef316e11ddcc764ddac57426fc37b8b69f599ddb28a0ffedf5c2e85a3004a9d4", + "recovery_probe.exe": "c84e7b1b1792773b993f2758d5cafa59b80495451c01d194c3afd6cc653f0344", + "renderer_metrics_test.exe": "4cebad62798ff0f8eac42641a1119c7b9725728dd5fd31befcdf7e1ecb686cfd", + "replay.exe": "674f96ebbf00497576951a6780a5cf5195e3b80cc4acdb7f296fa8910a6203b7", + "resize_test.exe": "f566c56a1fa34e2a8ff480900ac5ae5059e2ac6872554208d5dbf0e24673dde0", + "runtime_observation_test.exe": "dfd04533d35d78401da75ad7d0965d923d7b7e95ad304775367b6088acc341ed", + "scenario_tick_gate_test.exe": "06cd4e813f1034d1a8c7fea592979f49c3ef89117c97fc6636cdae5012017ce8", + "search_test.exe": "0f29f3ea3147cc45eb2e500e683f3bcc1db04f820470b2ff473fffcb31cdb4f4", + "selection_test.exe": "104576787b62c2c4bb2428e0786c7742e63a23ceb766df293c88a5ccc6a1b836", + "sender_fence_pipe_test.exe": "6a94ac84631434a81ae1098932813d7ceeb81f2bb33a2e4b2456834bd8972e92", + "sender_fence_test.exe": "ab4af3b0f148f6e6377e70c98936c6c34d0be0d3cee4b17b3f8554c39b2d3e52", + "sent_message_wait_test.exe": "bc3cff14f60e3f1b17b3fd6255ff1c5b507f506d897d528802efa9666be74dcf", + "shell_clipboard_reader.exe": "bacc4bff465ca644fae61f9d26184a7adc22df9793470feca647af1d823fece8", + "shell_ime_client.exe": "d787ebf702cf5895e1ad0d71f895a51b3dead34d02953b5e7deff086c2bf8eb7", + "shell_input_client.exe": "850c82fb8bb58de8170bf096cc6dd4f8ba34d9ba11dbd2addc41508cddc31d8c", + "shell_launch_test.exe": "ace9b63148848bf7b405edb4b8818ca23d52699ac2ce8ca03a90c5bc1e32622d", + "shell_paste_probe.exe": "1370c6381b990270dfd816f53758e5aa57c63deba050fa7cf0dbd0d5cbf4f315", + "shell_query_client.exe": "71419f7918bc58f4ee47d14f8e6de35aa1828ac838a73ed607797fc120f56886", + "shell_queue_probe.exe": "7f34d6ff66b3e00d56798e22a480fb20a5afa083cff65a9d689dcbca44dbe12d", + "shell_selection_text_client.exe": "dbad81a22ecce4508eada90ae445f9a75abfe1effd2571776ef31b32144c8ac4", + "shell_size_client.exe": "5394d9863df9a589012f0d9a31f7e4167e7bc4ea23e93f9711c0a67c540651f6", + "shell_test_launcher.exe": "dbde4249dc08c7df80120398ffd252aa5e4958e4ef640cc161ea4c2d28b9f291", + "shell_text_client.exe": "9485b03424e421a4018596cc9487e7feeb33c26d30820985aa45843fdcf315d9", + "termforge_conpty_probe.exe": "7dd59bc8d0309ad5b131cde1c3ed98819139b6bb70f505347c98aabe8396f618", + "termforge_ime_probe.exe": "788a186b5fafb6d155eeab74f78d4f7cb992a599937b3aa48c5efcf49affe993", + "termforge_shell.exe": "650ea74ba3ad39b91ab4773c72af3ee70e59bc9d63e76249ea8fa6745a367081", + "terminal_trace.exe": "40e869753f4c00515ee0990f3732eac04f965fe2c3070f1bf772717476269f3d", + "text_action_policy_test.exe": "535b469c9aa0da7e77670578f75d04956d98e9f912d5c9a6c310ab796ab58d4f", + "transport_completion_test.exe": "9f63a2f8a08ddcd459d422f69bfbeae9ceaee9527edc0198c7e4fbd07bff7dc4", + "workflow_fixture_test.exe": "a6624a6b1536c6f445f92e05ff72a5318ece47d455500f6adc467d94f9f04222", + "workspace_state_test.exe": "ac3fbc8a56d33efda33cc9040c731c183e0a8666e23fce48d368c1868797714d" + }, + "vim_sha256": "2e0fda63a89171adfc46c9417d5105cc39ed778cc69a890b83a4eabc34e7646a", + "vim_version": [ + "VIM - Vi IMproved 9.1 (2024 Jan 02, compiled Jul 09 2024 07:07:42)", + "Included patches: 1-532", + "Compiled by " + ], + "cmake_cache_sha256": "d652393042e1195908894a592dda1ebf0c8e1e8ccd3e05ecacec2760b41bc2ff", + "returncode": 8, + "completed_utc": "2026-10-26T16:44:34.597552+00:00", + "log_sha256": "2e0a4fd1afa9234461cb2598a6d52063115edcce3510017644d026125c7d37a7", + "last_test_sha256": "4da7c00a9422b9911c25cf4b6aba315e7e723e758132f61e285e5ca61bc0cf11", + "tests": [ + { + "name": "shell_launch", + "status": "run", + "seconds": 0.0119766, + "failed": false, + "skipped": false + }, + { + "name": "candidate_title", + "status": "run", + "seconds": 0.679326, + "failed": false, + "skipped": false + }, + { + "name": "candidate_reply_close", + "status": "run", + "seconds": 0.331894, + "failed": false, + "skipped": false + }, + { + "name": "runtime_observation", + "status": "run", + "seconds": 1.42167, + "failed": false, + "skipped": false + }, + { + "name": "ime_input_expectation", + "status": "run", + "seconds": 0.0101662, + "failed": false, + "skipped": false + }, + { + "name": "sent_message_wait", + "status": "run", + "seconds": 0.272669, + "failed": false, + "skipped": false + }, + { + "name": "find_bar", + "status": "run", + "seconds": 0.372583, + "failed": false, + "skipped": false + }, + { + "name": "renderer_metrics", + "status": "run", + "seconds": 0.89513, + "failed": false, + "skipped": false + }, + { + "name": "ime_context", + "status": "run", + "seconds": 0.333653, + "failed": false, + "skipped": false + }, + { + "name": "layout_state", + "status": "run", + "seconds": 0.123253, + "failed": false, + "skipped": false + }, + { + "name": "workspace_state", + "status": "run", + "seconds": 0.31827, + "failed": false, + "skipped": false + }, + { + "name": "transport_completion", + "status": "run", + "seconds": 0.0096818, + "failed": false, + "skipped": false + }, + { + "name": "scenario_tick_gate", + "status": "run", + "seconds": 0.0094621, + "failed": false, + "skipped": false + }, + { + "name": "candidate_core", + "status": "run", + "seconds": 1.12604, + "failed": false, + "skipped": false + }, + { + "name": "resize_core", + "status": "run", + "seconds": 0.0141228, + "failed": false, + "skipped": false + }, + { + "name": "history_core", + "status": "run", + "seconds": 0.0160041, + "failed": false, + "skipped": false + }, + { + "name": "selection_core", + "status": "run", + "seconds": 0.0736148, + "failed": false, + "skipped": false + }, + { + "name": "search_core", + "status": "run", + "seconds": 0.104065, + "failed": false, + "skipped": false + }, + { + "name": "paste", + "status": "run", + "seconds": 0.0100795, + "failed": false, + "skipped": false + }, + { + "name": "sender_fence", + "status": "run", + "seconds": 1.01974, + "failed": false, + "skipped": false + }, + { + "name": "sender_fence_pipe", + "status": "run", + "seconds": 0.377036, + "failed": false, + "skipped": false + }, + { + "name": "clipboard_policy", + "status": "run", + "seconds": 0.0080975, + "failed": false, + "skipped": false + }, + { + "name": "keyboard", + "status": "run", + "seconds": 0.0083753, + "failed": false, + "skipped": false + }, + { + "name": "text_action_policy", + "status": "run", + "seconds": 0.0075863, + "failed": false, + "skipped": false + }, + { + "name": "candidate_resize_replay", + "status": "run", + "seconds": 0.456575, + "failed": false, + "skipped": false + }, + { + "name": "candidate_shell_tui", + "status": "fail", + "seconds": 30.2581, + "failed": true, + "skipped": false + }, + { + "name": "core", + "status": "run", + "seconds": 5.70024, + "failed": false, + "skipped": false + }, + { + "name": "recovery", + "status": "run", + "seconds": 8.93909, + "failed": false, + "skipped": false + }, + { + "name": "measure", + "status": "run", + "seconds": 3.92379, + "failed": false, + "skipped": false + }, + { + "name": "binary_paths", + "status": "run", + "seconds": 0.190192, + "failed": false, + "skipped": false + }, + { + "name": "conpty_margin_contract", + "status": "run", + "seconds": 0.292098, + "failed": false, + "skipped": false + }, + { + "name": "benchmark_tools", + "status": "run", + "seconds": 5.29884, + "failed": false, + "skipped": false + }, + { + "name": "differential", + "status": "run", + "seconds": 2.9914, + "failed": false, + "skipped": false + }, + { + "name": "ime_inventory", + "status": "run", + "seconds": 48.3912, + "failed": false, + "skipped": false + }, + { + "name": "text_actions", + "status": "run", + "seconds": 5.26478, + "failed": false, + "skipped": false + }, + { + "name": "workflow_fixture", + "status": "run", + "seconds": 22.4382, + "failed": false, + "skipped": false + }, + { + "name": "workflow_sessions", + "status": "run", + "seconds": 73.5678, + "failed": false, + "skipped": false + }, + { + "name": "workflow_resources", + "status": "run", + "seconds": 0.473082, + "failed": false, + "skipped": false + }, + { + "name": "workflow_resource_phases", + "status": "run", + "seconds": 4.20935, + "failed": false, + "skipped": false + }, + { + "name": "workflow_system_content", + "status": "run", + "seconds": 0.139848, + "failed": false, + "skipped": false + }, + { + "name": "workflow_system_runner", + "status": "run", + "seconds": 0.59471, + "failed": false, + "skipped": false + }, + { + "name": "copy_error_frame", + "status": "run", + "seconds": 0.122081, + "failed": false, + "skipped": false + }, + { + "name": "paste_fence_evidence", + "status": "run", + "seconds": 0.101017, + "failed": false, + "skipped": false + }, + { + "name": "resize_trace", + "status": "run", + "seconds": 0.115742, + "failed": false, + "skipped": false + }, + { + "name": "research_guards", + "status": "run", + "seconds": 4.75846, + "failed": false, + "skipped": false + }, + { + "name": "receive", + "status": "run", + "seconds": 0.195176, + "failed": false, + "skipped": false + }, + { + "name": "conpty", + "status": "run", + "seconds": 23.2193, + "failed": false, + "skipped": false + }, + { + "name": "conpty_ctrl_c", + "status": "run", + "seconds": 4.26167, + "failed": false, + "skipped": false + }, + { + "name": "conpty_margin", + "status": "run", + "seconds": 0.348728, + "failed": false, + "skipped": false + }, + { + "name": "conpty_backend", + "status": "run", + "seconds": 1.13411, + "failed": false, + "skipped": false + }, + { + "name": "presentation", + "status": "run", + "seconds": 4.02108, + "failed": false, + "skipped": false + }, + { + "name": "shell", + "status": "fail", + "seconds": 174.653, + "failed": true, + "skipped": false + }, + { + "name": "selection_bytes", + "status": "run", + "seconds": 3.80834, + "failed": false, + "skipped": false + }, + { + "name": "selection_context", + "status": "run", + "seconds": 3.77349, + "failed": false, + "skipped": false + }, + { + "name": "raw_console_receiver", + "status": "run", + "seconds": 0.364619, + "failed": false, + "skipped": false + }, + { + "name": "paste_system", + "status": "run", + "seconds": 7.74685, + "failed": false, + "skipped": false + } + ], + "internal_skips": [ + { + "test": "setUpClass (test_candidate_compare.CandidateComparisonTests)", + "reason": "optional Alacritty binary is not built; core-candidate workflow runs these checks" + }, + { + "test": "setUpClass (test_capability_matrix.CapabilityMatrixTests)", + "reason": "optional Alacritty binary is not built; core-candidate workflow runs these checks" + }, + { + "test": "setUpClass (test_fuzz_matrix.FuzzMatrixTests)", + "reason": "optional Alacritty binary is not built; core-candidate workflow runs these checks" + }, + { + "test": "setUpClass (test_real_app_matrix.RealApplicationMatrixTests)", + "reason": "optional real application capture dependencies are not built" + }, + { + "test": "test_actual_system_copy_paste_and_shortcuts_twice (experiments.shell.test_actions.ActionWindowTest.test_actual_system_copy_paste_and_shortcuts_twice)", + "reason": "actual system Copy/Paste requires a disposable hosted VM" + }, + { + "test": "test_suspended_target_is_reclaimed_if_job_assignment_fails (test_ui_r1.EvidenceBoundaryTests.test_suspended_target_is_reclaimed_if_job_assignment_fails)", + "reason": "opt-in pinned reference failure injection" + }, + { + "test": "test_mouse_selection_to_real_system_clipboard (experiments.shell.test_shell.ShellTests.test_mouse_selection_to_real_system_clipboard)", + "reason": "system copy UI gate requires a disposable hosted VM" + }, + { + "test": "test_system_clipboard_product_read_errors_cancel_and_close (experiments.shell.test_shell.ShellTests.test_system_clipboard_product_read_errors_cancel_and_close)", + "reason": "product clipboard read gate requires a disposable hosted VM" + }, + { + "test": "test_system_clipboard_shortcut_to_window_confirmation_and_receiver (experiments.shell.test_shell.ShellTests.test_system_clipboard_shortcut_to_window_confirmation_and_receiver)", + "reason": "real system clipboard UI gate requires a disposable hosted VM" + }, + { + "test": "test_real_system_copy_shortcuts_for_styled_fixture_twice (experiments.shell.test_selection_bytes.SelectionBytesWindowTest.test_real_system_copy_shortcuts_for_styled_fixture_twice)", + "reason": "system CF requires a disposable hosted VM" + }, + { + "test": "test_real_system_copy_and_edit_context_twice (experiments.shell.test_selection_context.SelectionContextWindowTest.test_real_system_copy_and_edit_context_twice)", + "reason": "real CF/EDIT Copy requires a disposable hosted VM" + }, + { + "test": "test_real_system_clipboard (experiments.shell.test_paste.PasteTests.test_real_system_clipboard)", + "reason": "Private window station OpenClipboard denied (5); system API gate remains unverified." + } + ], + "failed_methods": [ + "test_real_fullscreen_editor_and_cursor_reply", + "test_close_while_resizing_continuous_output", + "test_main_and_bottom_sessions_focus_geometry_and_cleanup", + "test_resize_child_dimensions_and_interrupt", + "test_workspace_sessions_resize_and_cleanup" + ], + "observed_failures": [ + { + "case": "candidate-tui-0", + "sample": { + "mode": "candidate-tui", + "status": "failed", + "timed_out": false, + "exit_code": 2, + "job_after": { + "active": 0, + "total": 7, + "terminated": 0 + }, + "desktop_gone": true + }, + "stage": 59, + "raw_sample_sha256": "556fb95b611df35afd43c36b79c5ecd471b4fc524addcff9568b1178972bb265" + }, + { + "case": "main-2", + "sample": { + "mode": "ui-main", + "status": "failed", + "timed_out": false, + "exit_code": 2, + "job_after": { + "active": 0, + "total": 16, + "terminated": 0 + }, + "desktop_gone": true + }, + "stage": 7, + "raw_sample_sha256": "3958d53e4a69819bd3aa9db04c2fe09d26b78aba22d76db904102b257ea59340" + }, + { + "case": "resize-0", + "sample": { + "mode": "resize", + "status": "failed", + "timed_out": false, + "exit_code": 2, + "job_after": { + "active": 0, + "total": 8, + "terminated": 0 + }, + "desktop_gone": true + }, + "stage": 43, + "raw_sample_sha256": "eab4ad23688907b4cfe66756203e088ccfcfbc251d271e2497f64ee9375ac043" + }, + { + "case": "resize-close-0", + "sample": { + "mode": "resize-close", + "status": "failed", + "timed_out": false, + "exit_code": 2, + "job_after": { + "active": 0, + "total": 8, + "terminated": 0 + }, + "desktop_gone": true + }, + "stage": 43, + "raw_sample_sha256": "24ce02899ca5110cc20fabc847725d28ea73da6866f9b2a387e7620760829700" + }, + { + "case": "ui-2", + "sample": { + "mode": "ui", + "status": "failed", + "timed_out": false, + "exit_code": 2, + "job_after": { + "active": 0, + "total": 12, + "terminated": 0 + }, + "desktop_gone": true + }, + "stage": 52, + "raw_sample_sha256": "fe0985a95d8c70063e214bebec6476afdb651413f554ade5a199d46d79428d18" + } + ], + "persistence_method_passed": true, + "all_tests_completed": true, + "total_seconds": 449.38, + "limitations": [ + "Candidate/official full regression retains actual failures and internal skips.", + "Standalone persistence passes do not replace the failing aggregate shell suite.", + "No actual presented endpoint, long-run stability or WindTerm performance equivalence." + ] + }, + "ci": { + "source_head": "4daf99250a2740e1943635b6d46293d633427163", + "checkout": "c5d397999fbc00a83dd4055d975d8c12f855af5e", + "workflows": [ + { + "run": 40360427005, + "name": "Build and synthetic regression", + "conclusion": "success", + "windows_job": 121704057921, + "windows_tests": 51, + "windows_failed": 0, + "windows_seconds": 273.64 + }, + { + "run": 40360426973, + "name": "External core candidate", + "conclusion": "success", + "windows_job": 121704056881 + } + ], + "normalized_local_job_logs_sha256": { + "121704057921": "939a15bf59996dd31ce5a90cdefb240af0450060087d5b8e2b712b651bfb9310", + "121704056881": "26b187a507ac46184e0dec9da964e08fb82ffdab0a725c58a5979dd7e37acd7e" + }, + "limitation": "CI source is the experimental stack; a separate main-line patch requires its own merge-checkout validation." + } +}