## 限定交付结果 已由 [PR162](https://github.com/JavaZeroo/termforge/pull/162) 合入 main `fb36648f0e13c5d4a27f2c2998736579acabbfc1`,实际 runtime/test 源 `2ed20754696ed8ed530c1fbddb5da262f1e5b2cb` 与发布HEAD `79ed9242918cb6ac3bf63dcf81241db778c7b11a` 均已核在 main 祖先链。Standards/Spec 各0发现;6个hosted工作流首次成功,PR默认Windows61/61(291.27s)、Linux41/41(21.25s),实际checkout f45abac9c829a95d0e4d7ed426018b6717f01d46。各配置身份独立,不拼成更大验收。 本项仅闭合下列主屏ASCII合同;宽/结合字、跨1049、resize及产品ConPTY/Qt/TUI/性能未作原版匹配结论,#27/R2继续开放。原RED、临时宽字guard及移除、定向首次8/9与补建后core31/31均在[限定报告](https://github.com/JavaZeroo/termforge/blob/79ed9242918cb6ac3bf63dcf81241db778c7b11a/experiments/core/results/2026-10-29-cpp-decawm/README.md)分列。 ## 用户结果与依据 在自主 C++ 核心中对齐 WindTerm 2.7.0 已直接观察到的主屏 ASCII 自动换行开关与末列行为。父项 #27,R2;正式路线沿用自主 C++ / Qt Widgets / 固定微软 ConPTY。基线 main `6a10e5322a1bddeb038670e50f32ff6deac145cf`。 前置 #151 已以 PR157 合入并限定关闭;[固定原版报告](https://github.com/JavaZeroo/termforge/blob/ec0f1993c4b54f8b6a3193d8bbdfc4db29dfb652/docs/research/windterm-origin-wrap-reference-2026-10-29.md)阶段14–18提供本切片直接依据。#41/#56 运输缺口不阻塞独立 core feed,但仍阻塞完整产品/TUI 验收。 ## 独立实施范围 新建25行91列主屏,ASCII,精确单参数 `CSI ?7h/l`;把模式解析与屏幕写入策略分开。新增许可位的容器属于内部工程选择,不把它视为已确认的原版跨屏保存规则。默认和既有1049行为继续回归。本项不增加 DSR 回复接口;阶段13的 `CSI r` 尚未实现,故抽取14–18的合成轨迹,不称完整25阶段回放。 以下坐标为1起始;`C(r)` 表示 `CSI r;91H`,每个模式操作均有CSI前缀: |输入|独立文字/位置预期| |---|---| |`?7h C(8) AB`|(9,2),保留AB| |`?7l C(10) CD`|(10,91),仅D| |`?7h C(12) EF`|(13,2),保留EF| |`C(14) G ?7l H`|(14,91),仅H| |`?7l C(16) I ?7h J`|(17,2),保留IJ| 模式开关不能一律清除末列已写状态;特别是最后一行需要关闭时写满末列后重新开启仍能继续换行。文字投影与位置为原版观察oracle;内部物理行、软连接、行版本属于独立工程不变量。 ## 验证与交付 - [x] 先保留当前不支持这些序列的RED,再实现同源GREEN。 - [x] strict/recovery、各阶段前缀、所有二段分割点和逐字节feed;独立字面预期,不仅比较同实现整包与分块。 - [x] 混合/未知/畸形private参数不部分执行;取消/截断/重同步继续回归。 - [x] 保留已有1049 pending-wrap恢复、双帧历史隔离、ID/版本、复制/查找、Unicode与物理resize回归;宽字符边界至少有界不越界。 - [x] 固定source/build/测试身份,保留失败和跳过;两轴审查后合入main,更新FEATURES/EVIDENCE和父项。 未知且不由本项验收:wrap×1049、origin每屏位、margin返回下界、宽/结合字×wrap关闭、wrap×resize及完整style。若实现发现必须对未知目标作重要行为选择,先分离调查并保留未知,不按规范补成原版已匹配。完成只表示有限C++能力,不解除#27/#28/#29/#30/R2的完整出口。
Activity