Skip to content

[R2-12][交付] 构建并验收 Windows R2 基础开发包 #35

Open
1 of 1 issue completed
Open

Description

@JavaZeroo

R2 最终交付口径

按 ADR-0009 决策5C:交付为Windows 11 x64 本地终端基础+已知差异清单,不宣称日常可用、完整WindTerm等价或性能等价。本项接续#47已整合路线的正式产物重建复验,以及#34未收敛的交付证据。

用户明确保留#29/#30;不能仅将这些工作写入差异清单便当作验收豁免。跨屏已移至#297/R4,R2保留单屏96/144。#54回归治理方向已记录,数值性能容差未单独批准,不能使用未确认20%作为门禁。

开放前置

原生关系中仍开放:#27/#28/#29/#30/#38;#38只剩#44/#80/#99。其他已闭前置保留历史关系,关闭依据见各项,不再列为未解决硬阻塞。可以先做产物清单与构建准备,最终工作流验收须绑定同一正式包。

交付检查表

  • 冻结产品入口、source/tree、构建参数、Qt/ConPTY/CRT/字体版本及包内SHA;显式区分旧Alpha/Win32、Alacritty参考和正式Qt产品。
  • 从公开源码干净构建,核对完整依赖/字体来源、许可证、NOTICE及分发清单;缺失/篡改固定依赖明确失败。
  • 在声明的干净Windows环境完整解压运行,验证启动/输入输出、多cmd标签、自然退出/取消/启动失败与Job回收;不能把开发机SDK存在当部署成功。
  • 复验声明的shell/TUI、文字/IME、resize/历史、选择/复制/粘贴及配置保存/恢复范围。Qt尚未迁移项逐条列为未实现,旧Win32恢复能力不得借用。
  • 单屏96/144 DPI核对正式Qt的网格、实际文字/候选框、焦点与可用交互、隐藏会话及child尺寸。#31关闭只调整范围,不是Qt流程验收通过。
  • 将[R2][Regression] controller B graceful 的 cmd 正常退出观测缺口 #44/[R2][回归] 定位 hosted 四 shell 退出 stage6 超时 #80/#99按各自合同收口,或取得明确范围处置;不以重复绿回填历史根因。其他已接受未复现项保留原记录和重开条件。
  • 随包冻结当前能力/差异,逐条区分未实现、未验证、已接受平台差异及范围外项;记录现有测量和局限,任何后续性能门槛先单独确认。
  • 发布使用/构建/诊断说明、哈希清单及验证记录,再核对#7出口;包名、默认入口和能力声明必须一致。

必须保留的差异

产品recovery不回复DA1(strict回放已有VT102回复);DA2/OSC10/11、bracketed paste/更多输入模式、完整字素、Qt历史/选择/Find/恢复仍有缺口;暗色/上划线等状态与渲染分列。原生CHAR_INFO margin差异按ADR-0007保留,特定主屏margin原版缺陷修正按ADR-0009决策6登记。Server2022句柄记录制不代表广泛平台支持。

验收合同 · 证据索引。本项保持开放;本次台账刷新不代表任何新运行或发布完成。

Activity

  1. added
    enhancementNew feature or request
    blocked有明确未完成前置;见原生 blocked-by
    on Oct 24, 2026
  2. JavaZeroo commented on Oct 28, 2026

    @JavaZeroo
    OwnerAuthor

    #138 / PR141已以abfc98595b3d92a09916886c1d1efea4eee7fe35合入main,CRT运行源码c5a47ad与发布4388302均在main可达。独立Win11中原包首次0xC0000135、原52不变仅增CRT因果包、新源码包三组分别留证;原生加载/cmd/关闭回收通过,System32与安装记录未改。只关闭此依赖加载切片,完整Qt/第三方分发条件、最终开发包/输入显示/TUI与本项出口仍未验收。默认旧诊断实际失败#144/#145继续由#38接续,未冒称全CI通过。

  3. added a commit that references this issue on Oct 31, 2026
  4. JavaZeroo commented on Oct 31, 2026

    @JavaZeroo
    OwnerAuthor

    按决策 5C:R2 交付的「已知差异清单」当前内容

    决策 5C(docs/adr/0009-r2-scope-decisions.md)把 R2 交付定义为「本地终端基础 + 已知差异清单」。下面是从当前仓库文档与已合入改动中逐条摘出的清单,供交付时随附。这份清单不宣称任何项已完成。

    1. 尚未实现的能力

    项 依据
    DA1/DA2、OSC 10/11 回复 无原版观测,按原则未实现(#28)
    SGR 下划线颜色(58)等其余属性 strict 负样本仍用它,说明未实现
    暗色 / 上划线的渲染表现 核心有状态,两个渲染器未绘制(未观察原版,避免猜)
    bracketed paste 等输入模式 #28 未闭合

    2. 已实现但未按原版验证的行为

    项 现状
    Qt 入口 Ctrl+字母 现契约只允许 Ctrl+C;Win32 入口经 WM_CHAR 支持
    DECSTBM 光标归位 按参考实现归位到屏幕原点
    隐藏单元格复制 实现为「文字仍在模型」

    3. 范围外(已由决策移出)

    项 决策
    真实跨屏 / 多显示器 DPI 迁移 决策 4C:移出 R2,推迟 R4
    SSH / SFTP 与远程日常版 里程碑既有范围(R3)

    4. 已知平台差异

    项 说明
    系统 ConPTY 丢主屏 margin 产品路径用固定包规避;原生 CHAR_INFO 缺口保留记录(#41)
    Server 2022 每会话多一个 Job 句柄 平台行为;该基线已改记录制(#21)

    5. 未闭合的可靠性项

    以下问题在本会话内仍观察到或未定位,交付时必须一并列出:#36(洪流 ETX)、#40(夹具 10 秒)、#73(选择场景期限)、#80(四 shell stage5)、#97(candidate-scroll)、#99(剪贴板握手)、#144(Node 启动停顿)、#145(resize 旧尺寸回复)、#160(watchdog desktop)。

    边界

    • 本清单基于仓库当前文档与已合入改动摘录,不含猜测;
    • 清单会随各 issue 关闭而缩短,交付时应重新生成。
  5. JavaZeroo commented on Oct 31, 2026

    @JavaZeroo
    OwnerAuthor

    按决策 5C:R2 交付清单(带证据位置)

    把上一条清单里的每一项指到具体的文件/结果,便于交付时逐项核对。这份清单不宣称任何项已完成。

    A. 已实现、有测试(R2 基础能力)

    能力 证据位置
    DSR 6n 回复 experiments/core/reply_test.cpp、experiments/differential/capability_matrix.py(cursor_query 已转为可比较)
    ICH/DCH、IL/DL、DECSTBM、ED3、RIS experiments/core/edit_csi_test.cpp
    DECCKM/DECTCEM(两个入口) events/core/reply_test.cpp、experiments/shell/keyboard_test.cpp、Qt 冒烟
    SGR 粗体/暗色/下划线/反显/删除线/隐藏/上划线 experiments/core/edit_csi_test.cpp;渲染见 experiments/presentation/presentation.cpp 的像素断言
    固定 ConPTY 后端打包与校验 cmake/ConptyBackend.cmake、third_party/conpty/manifest.json

    B. 已实现、但未按原版验证(交付需标注)

    项 位置
    Qt 入口 Ctrl+字母 不支持 src/qt/unicode_input_test.cpp:159-161 的契约断言
    DECSTBM 归位到屏幕原点 experiments/core/screen.hpp(set_scroll_region)
    隐藏单元格复制保留文字 experiments/core/edit_csi_test.cpp 的隐藏用例
    暗色/上划线只有状态、未渲染 src/qt/terminal_widget.hpp、experiments/presentation/render.hpp

    C. 未实现(交付需标注为缺口)

    项 说明
    DA1/DA2、OSC 10/11 回复 缺原版观测,按原则未实现(#28)
    SGR 58(下划线颜色)等 strict 负样本仍用它,说明未实现
    bracketed paste 等输入模式 #28 未闭合

    D. 平台已知差异(已书面接受)

    项 记录位置
    原生 CHAR_INFO 的 margin 可见性差异 docs/adr/0007-bundled-microsoft-conpty.md 的「已知差异」小节
    Server 2022 每会话多一个 Job 句柄 #21 的结论评论 + TERMFORGE_CONPTY_RECORD_HANDLES(#280 使其端到端生效)

    E. 未闭合的可靠性项

    #36、#40、#44、#57、#73、#80、#97、#99、#144、#145、#160、#194。交付时必须逐条列出当前状态(多数处于"诊断就位、等下一次命中")。

    边界

    • 清单基于仓库当前内容核对,不含推测;
    • 每次交付前需重新生成,因为 issue 状态会变。
  6. JavaZeroo commented on Oct 31, 2026

    @JavaZeroo
    OwnerAuthor

    R2 交付清单(2026-10-31 版)

    按决策 5C:交付 = 本地终端基础 + 已知差异清单。以下每一项都指到可核对的仓库位置。

    1. 已实现且有测试

    能力 证据
    DSR 6n 回复(ESC[row;colR) experiments/core/reply_test.cpp
    ICH/DCH、IL/DL experiments/core/edit_csi_test.cpp
    DECSTBM(归位原点、非法忽略、每缓冲区独立边距、换行只滚底边) experiments/core/edit_csi_test.cpp(含 175 字节源用例)
    ED3、RIS 同上
    DECCKM、DECTCEM(两个入口) experiments/core/reply_test.cpp、experiments/shell/keyboard_test.cpp
    SGR:粗体/暗色/下划线/反显/删除线/隐藏/上划线 experiments/core/edit_csi_test.cpp
    下划线/反显/删除线渲染(GDI + DirectWrite + Qt) experiments/presentation/presentation.cpp 的像素断言
    固定 ConPTY 打包、校验、部署 cmake/ConptyBackend.cmake、third_party/conpty/manifest.json
    Server 2022 基线记录制 experiments/conpty/run.py、probe.cpp、conpty-compat.yml

    2. 已实现但未按原版验证(交付需标注)

    项 位置
    Qt 入口 Ctrl+字母 不支持 src/qt/unicode_input_test.cpp:159-161
    DECSTBM 归位屏幕原点 experiments/core/screen.hpp(set_scroll_region)
    隐藏单元格保留文字 edit_csi_test.cpp 隐藏用例
    暗色/上划线只有状态、未渲染 src/qt/terminal_widget.hpp、experiments/presentation/render.hpp

    3. 未实现(交付需标注为缺口)

    项 依据
    DA1/DA2、OSC 10/11 回复 缺原版观测(#28)
    SGR 58(下划线颜色)等 仍是 strict 负样本
    bracketed paste 等输入模式 #28 未闭合

    4. 平台已知差异(已书面接受)

    项 记录
    原生 CHAR_INFO 的 margin 可见性差异 docs/adr/0007-bundled-microsoft-conpty.md「已知差异」
    Server 2022 每会话多一个 Job 句柄 #21 + TERMFORGE_CONPTY_RECORD_HANDLES

    5. 未闭合的可靠性项(12 项)

    #36、#40、#44、#57、#73、#80、#97、#99、#144、#145、#160、#194。

    它们的共同状态:诊断已就位、等待命中或等待决策。逐项观测字段见 #38 的上一轮评论。

    6. 明确不在 R2 范围

    项 决策
    真实跨屏/多显示器 DPI 迁移 决策 4C:移出 R2,推迟 R4
    SSH/SFTP 里程碑既有范围(R3)
    性能绝对值预算 决策 3C:只用回归型预算

    边界

    • 本清单按当前 main(cab7330 + 已合并的诊断改动)核对;
    • 不宣称任何能力已验收,也不宣称日常可用或与 WindTerm 对等。
  7. changed the title [-][R2-12][交付] 构建并验收 Windows R2 日常开发版[/-] [+][R2-12][交付] 构建并验收 Windows R2 基础开发包[/+] on Nov 1, 2026
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

    blocked有明确未完成前置;见原生 blocked-byenhancementNew feature or request

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions