Skip to content

[CI] Windows 真实应用捕获在 Vim wq 生命周期失败 #37

Closed

Description

@JavaZeroo

现象

candidate workflow 的 Windows Server 2025 分支在 Compare real application traces on Windows 失败,后续 fuzz 与 project/interactive 计量步骤被跳过;Ubuntu 同次全流程通过。

  • 失败运行:https://github.com/JavaZeroo/termforge/actions/runs/40155572785
  • 提交:485d5d5
  • real_app_capture 退出码 1;上传产物 real-app-cli/capture/capture.stderr.txt 为 editor wq lifecycle failed,stdout 为空。
  • 该失败发生在新增交互计量之前,不能据此判为交互探针回归;本地 Windows 既有真实 cmd/more.com/Vim 核心轨迹证据仍只代表其记录环境。

验收

  • 固定 CI 中 Vim 的实际身份、启动/输入/退出轨迹及失败阶段,保留自动清理。
  • 在不降低生命周期或文件内容校验的前提下修复捕获;Windows candidate workflow 自然结束并通过真实应用、fuzz、project/interactive 全部步骤。
  • 若证实是 runner 环境差异,记录精确条件与可复验证据;不得静默跳过真实应用步骤。

关联 #25、#26。此问题单独跟踪,不重新关闭或缩小 R2 路标。

Activity

  1. JavaZeroo commented on Oct 25, 2026

    @JavaZeroo
    OwnerAuthor

    本地修复与验证已提交并推送:0803c81。

    • 捕获器不再以一个 ESC 作为 Vim 可输入依据,依次要求 [New]、-- INSERT -- 和实际插入文本,再执行 Escape/:wq。
    • manifest 记录真实编辑器路径;失败时新增 editor-failure.json,保留阶段、错误、退出码、合成输出及 Job 清理状态,避免只有笼统 wq 错误。
    • 本地 Windows 的真实 Vim 写盘/退出和三应用核心轨迹 3 次一致;真实应用 Python 4 项与 differential CTest 通过。负例故意使用非 Vim 可执行文件,实际得到 stage=new-buffer、86 字节输出、child_signaled=true、active_children=0、cleanup_complete=true。
    • 证据:experiments/differential/results/2026-10-25-real-applications-v4/{summary.json,validation.json}。默认完整 CTest 38/39 的唯一失败仍为 [R1回归] 持续 cmd 输出时 ETX 未中断导致 normal/resize 超时 #36。

    #37 保持 OPEN,等待 Windows Server 2025 candidate workflow 的真实应用、fuzz、project/interactive 计量自然结束。远程全部通过前不宣称此 issue 已解决。

  2. JavaZeroo commented on Oct 25, 2026

    @JavaZeroo
    OwnerAuthor

    新的握手修复已提交并推送:26ddd1d。

    证据:experiments/differential/results/2026-10-25-real-applications-v5/。本 issue 继续 OPEN,等待此次新提交的 Windows 真实应用、fuzz、project/interactive 全流程自然结束。

  3. JavaZeroo commented on Oct 25, 2026

    @JavaZeroo
    OwnerAuthor

    CI 环境差异已进一步定位并推送修复:当前提交见 main 最新提交。

    #37 继续 OPEN,等待新提交的 Windows 真实应用及后续 fuzz/计量完整通过。不会把事件握手或局部通过扩大为全量完成。

  4. JavaZeroo commented on Oct 25, 2026

    @JavaZeroo
    OwnerAuthor

    c284c86 已补充 shell_test_launcher -> shell_size_client 目标依赖,修复 Windows runner 在 Vim 成功后找不到尺寸辅助程序的问题。\n\n本机全新构建目录已确认辅助程序生成并被真实候选场景调用;workspace_state 和 candidate_shell_tui 为 2/2 通过。该结果只验证前置修复,尚未代替 Windows CI 的真实应用、fuzz、project/interactive 完整验收;等待该提交的自然运行结果,本 issue 保持 OPEN。

  5. JavaZeroo commented on Oct 25, 2026

    @JavaZeroo
    OwnerAuthor

    限定验收已完成并同步于 29d02ed。\n\n- CI 40190890251 在 c284c86 的 Windows Server 2025 / Ubuntu 均自然成功;Windows 的真实应用、fuzz、project/interactive 全部通过。\n- 下载产物确认 Vim 9.2、VimEnter=READY、InsertEnter=INSERT、写入 TF_VIM_REAL、退出0及三应用轨迹一致;候选产品两轮 Vim 60x12、光标回复和 Job 回收也通过。\n- 34个产物源码哈希与提交内容核对一致,其中29个仅CRLF转换差异。证据:validation.json。\n\n本问题仅覆盖 CI 捕获链;#27/#28/#29/#31/#33 和 R2 路标不因此关闭。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions