Skip to content

[R2] 可靠本地终端与开发版 #7

Open
10 of 16 issues completed
Open

Description

@JavaZeroo

当前状态:按用户要求暂停推进(2026-11-02)

用户要求先整理进展到 issues、暂不继续推进。已停止新增实现和实验,保留本地工作;#27/#29 和 R2 继续 OPEN。当前详细快照见 #27 模式与屏幕交叉及 #29 resize、历史与显示映射。恢复工作须由用户另行指示。

方向与交付边界

按 ADR-0006/0007/0008/0009/0010:固定 WindTerm 2.7.0,自主 C++ 核心、Qt Widgets、随包固定 Microsoft ConPTY,Windows 11 x64 优先,最终跨平台。已确认在现有内容所有者和行身份体系内实现正文保留、独立显示投影及历史/选择/Find 迁移。

R2 定位仍是本地终端基础+已知差异清单,不宣称日常可用、完整复刻或性能等价。单屏 96/144 DPI 留在 R2,跨屏归 #297/R4;数值性能容差尚未确认。保留的功能任务不能仅列入差异清单就视作完成。

已交付与本地工作分开记账

层次 暂停时事实
已推送 main 8eec75d0b47570681850747e070e2d3e1d8a8ae3;已读取远程 ref 核实,执行分支同 SHA
精确提交 CI Windows/Linux及 Qt/固定 ConPTY成功;历史候选构建独立记账
main 新增能力 限定模式/属性与编辑交叉、正文保留入口、Unicode 显示投影、源映射和分步投影任务;纯高度回放 12/12。均有范围限制
最近整套本地验证 源码 ef1da6e 的 core 31/31、Qt 4/4;后来纯高度单项 1/1 单列,不代表最新工作区已全面回归
已提交但未推送 本地 HEAD 88ace8dec723f0fe2fb41d7077e83b6cda6a4d61,领先 main 5 个提交,包含组合尺寸/隐藏高度探针、原版结果、旧路径失败回放和 ConPTY 调查
未提交实现 组合宽高保留事务;固定原版回放由旧路径 8/20 提升至本地 20/20,异常分配回滚工程测试通过,但未整套回归、未接 Qt、未进入 CI
未通过/未完成证据 隐藏主屏高度原版七阶段已执行并回收,但冻结文本审计失败;补充离线审计未完成,不计严格比较通过

正式 Qt 和默认 resize 仍走旧物理裁剪路径。 新核心接口与孤立测试成功,不等于用户已经得到缩放正文恢复;B/CD 原失败未被豁免。新的 CUP 写入位置、显示光标/IME、连续输出和 resize 交错,以及历史/复制/Find 的正式接线仍是实质剩余工作。

还剩多少

本次实时读取 milestone 3,排除 PR:11 个 open issue、63 个 closed issue。旧页面的 75 个 closed 不再作为当前统计。去掉总项 #7、汇总 #38,以及已包含在 #30 中的验收子项 #155,仍为 8 个不重复执行工作包;这不是完成率或工时估计,本轮未关闭完整功能任务。

工作包 已有基础 剩余重点
#27 模式与屏幕交叉 限定 1049、wrap、margin、origin、属性及宽字/结合标交叉;正式 Qt 五阶段模式回归 与 #29 完成 resize 及后续写入、隐藏帧/保存光标、完整网格/样式与正式运输验收
#28 回复、输入模式与 TUI DSR、strict DA1、部分序列处理 产品回复/实际输入模式、bracketed paste、固定 TUI 进入/操作/resize/退出恢复
#29 resize、历史和映射 owner 行存储、rank、ViewMapping、Qt 基础拖选;保留与投影核心接口 默认产品接入、显示光标、完整历史/复制/Find、连续尺寸及 child/显示联合验证;本地组合修复尚未交付
#30 文字与完整输入(含 #155) Unicode 标量、IME 组合/提交/取消、基本导航与拖选 字素/glyph、Qt 复制粘贴/Find、键盘和多会话交叉、IME 候选身份与字体对照
#44 自然退出历史事件 close 前端点、三类退出签名 原触发条件未知,不能以未复现认定修复
#80 四 shell 原 stage6 stage5 观察窗口已修 原 hosted stage6 同因性仍未知
#99 剪贴板原 45 秒事件 首错/清理分列及分阶段诊断 原失败态未复现,既有诊断不能代替根因闭合
#35 最终基础开发包 固定依赖入口、已有构建/部署证据 同一正式产物的冻结、干净重建/解压、单屏/声明流程、完整差异与许可清单

恢复后的接续重点(本次不执行)

先完成 #27/#29 本地证据与事务切片的核验、测试归档和同源码回归,再解决协议定位与显示定位的剩余合同,最后接入 Qt 并验证完整用户行为。后续推送、CI 和 issue 关闭需按真实完成状态处理;当前未提交代码、失败原始记录及未完成审计草稿均保留。

开工与依赖

用户已明确接受历史清单处置及 47A/52A/34B,并要求 #29/#30 保留,依据见 关闭边界记录。因此 #34/#41/#47/#54 等已定方向不重复申请;未实现功能不能仅塞入差异清单就自动豁免保留任务。

完成规则

范围与合同 · 能力与差异 · 证据。

逐项保留源/构建/产物身份、失败/跳过/未知;关闭可以表示限定交付或用户接受范围处置,必须说明原因,不能等同于根因修复。最终由 #35 对同一正式产物核对后结项 #7。文档刷新与实际实施分别留证;本轮新增限定运行结果,没有关闭完整功能任务。

Activity

  1. added
    epic路标总项;以出口合同验收
    needs-breakdown工作包,进入执行前需拆成可验收切片
    on Oct 23, 2026
  2. removed
    needs-breakdown工作包,进入执行前需拆成可验收切片
    on Oct 24, 2026
  3. 10 remaining items

  4. JavaZeroo commented on Oct 29, 2026

    @JavaZeroo
    OwnerAuthor

    R2 进度更新:27 开放 / 59 关闭

    自上次清单(30 开放)以来的变化:

    关闭项 依据
    #126 原版 1049 当前颜色 #129/PR136 五阶段受控栅格:A0/A2≡SGR0、M1≡SGR31;44,另有屏幕捕获交叉验证
    #123 1049 样式与活动缓冲区观察 可观测项全部记录;不可观测项(内部 pen、非颜色属性)经 QPainter 绑定与屏幕像素两条独立路径确认,按合同记 null/unknown
    #81 hosted 准备超时 同类复现中唯一超时子命令为 preflight/ps51(10219 ms/10 s,stdout 0 B),清理边界完好;启动 Cost 已由独立测量排除

    (更早: #156 resize 重绘错位机制、#85 OpenClipboard 瞬时占用。)

    本轮新增能力

    • 我们的 Qt 产品可在受控 VM 运行:本地 prepare_qt_build + windeployqt 部署包(37 文件/54 MB),已跑通窗口渲染;
    • 真实 IME 证据:固定微软拼音下 preedit ni'hao → cancel → commit e4bda0e5a5bd(「你好」),光标全局矩形 (295,157) 与屏幕变化框 (295,163) 互相印证;
    • 可观测量化:hosted PowerShell 5.1 启动 p50 110 ms(空闲)/172 ms(8 路负载),max 1.9 s;
    • 诊断基础设施:完整输出捕获、输出/输入轨迹、选区丢弃原因、desktop 沉降、重绘标记、重复作业 5 次、轨迹分析脚本。

    仍需你确认的四件事

    1. 宿主级低频停顿是否作为结论接受(关系到 [R2][回归] 定位 Node 栅格纯夹具在 Windows CI 的原 10 秒超时 #144/[R2][回归] Windows CI 的 ime_inventory 纯夹具超过原 10 秒期限 #40/[R2][回归] 定位 hosted 剪贴板占用反馈后的45秒超时 #99/[R2][回归] 定位 candidate-scroll 末帧生成后的原20秒退出超时 #97/[R2][回归] 定位 hosted 四 shell 退出 stage6 超时 #80/[R2][回归] 定位 hosted 选择场景首记录前超时 #73 等的收口口径);
    2. [R2][性能] 定位字素吞吐成本并提交预算供用户确认 #54 性能预算:给一组可接受数值;
    3. [R2-08][显示] 明确字体网格并验收真实 DPI 与跨显示器切换 #31 真机环境:多显示器 + 缩放组合需要你的机器;
    4. [R2-12][交付] 构建并验收 Windows R2 基础开发包 #35 交付标准:R2 日常开发版必须包含哪些能力。

    另有 #194(resize 重绘错位)等待方向选择,机制已闭到算术层面。

    状态

    • main:4005c9f;
    • 当前 main 全量 CI 已连续多次通过;扩展重复作业 5 次重复版累计 14 轮全绿。
  5. JavaZeroo commented on Oct 30, 2026

    @JavaZeroo
    OwnerAuthor

    本轮诊断进展(R2:27 开放 / 59 关闭)

    近期把三类高频失败都推进到可判读的程度:

    #73 选择场景 30 秒超时

    • 双轨迹判定:输入 enqueue 后同毫秒出现 write 且 accepted=true,随后输出静默 ~29.9 s;
    • 心跳判定:静默期间 ticks 持续增长(≈39/s)、closing=false,consumed 冻结 → UI 线程健康、下游不产出;
    • 结论:不是输入路径卡住,是下游(ConPTY/子进程)静默。下一步用 exit_code/child_signaled 区分"子进程卡住"与"已退出未察觉"。

    #80 ui-shells stage 5 超时

    #85/#99 剪贴板

    • 复发样本显示失败发生在夹具准备阶段(prepare-owner)而非产品路径;夹具准备写入已加有界重试(≤300 ms);
    • owner 失败文案此前把"当前清理步骤"与"首次失败错误码"拼在一起,造成归因错位;已改为 failure_step + state_step 分列。

    可靠性样本

    • 5 次重复的作业累计数十轮;近期失败命中率约 1/3(多为上述三类),每次命中都会给对应 issue 增加一层可判读数据。

    仍需你确认

    1. 宿主级低频停顿是否作为结论接受;
    2. [R2][调查] 核对 resize 期间 ConPTY 重绘与终端视口/缓冲的对齐 #194 修法方向(先排空 / 尺寸世代 / 识别吸收);
    3. [R2][性能] 定位字素吞吐成本并提交预算供用户确认 #54 性能预算数值;
    4. [R2-08][显示] 明确字体网格并验收真实 DPI 与跨显示器切换 #31 真机环境与 [R2-12][交付] 构建并验收 Windows R2 基础开发包 #35 交付标准。
  6. JavaZeroo commented on Oct 30, 2026

    @JavaZeroo
    OwnerAuthor

    子代理并行分析的汇总(7 个方向,均已落地评论)

    本轮用 7 个并行子代理分别核查不同 issue 族,结论如下(每条都能在原评论里追到源码行与产物路径):

    方向 落点 结论
    #160 desktop 沉降 评论 3295 个 sample 中无沉降记录;唯一进入该路径的样本撞上已修的 import time
    #85/#99 剪贴板 评论 436 次 OpenClipboard: 5 里 434 次是负向契约;发现 ready_failure() 空指针拼接(已修)
    #144/#40/#145 评论 三条"证据就绪"属实但过期:#144 复发未挂检查点(已修)、#40 复发定位到 worker-returned 之后(已补字段)、#145 实为 ≥18 连绿
    #57/#52 评论 #57 抛错点仍在、不可关;#52 的失败配置在当前树不可达(candidate 永远 system/flags0)
    #44/#36 评论 #44 缺的键是人工标注(现由夹具写入);#36 的原生 handler 交付仍是常量 false
    #73/#97 评论 #73 卡在 stage 2(输入字节与字面量逐字节一致、main 标记从未打印);#97 可达且断言未变,给出分离观测
    #194/#145 评论 #194 机制已由字节+消费网格直接证明(10 行重绘被 7 行网格消费)

    已落地代码改动

    需要你拍板的一件事

    #194 现在只差方向:先排空(保守)/ 尺寸世代(结构性)/ 识别吸收(启发式)。你选一个我就实现并用现有判据(resize-trace + repaint 消费网格)验证。

  7. JavaZeroo commented on Nov 1, 2026

    @JavaZeroo
    OwnerAuthor

    本轮台账与 docs 刷新已推送 main:a8d6160。按运行代码基点 3effd6d 核对,未修改产品代码或制造新验收结果。当前 R2 为 11 open / 75 closed(不含 PR),去重为 4 个功能/验收包、3 个历史可靠性项和 1 个最终交付包。全部 11 个开放 issue 已刷新;#27 的过期 blocked 已清除,#297 归 R4;13 个已闭项的执行标签已清理。Project 2 同步后再次 --check 无漂移。

    10 份当前文档统一为 ADR-0009 的基础开发包范围,保留 #29/#30 等未完成合同;修正 IME 未合入、DECOM/行存储未实现等旧表述,分清 strict DA1 与产品 recovery。未确认的 20% 不作门禁。静态验证:git diff --check、192 个本地文档链接无缺失,8 个关键实现提交均为核对基点的祖先;本轮未重跑产品测试。

  8. JavaZeroo commented on Nov 3, 2026

    @JavaZeroo
    OwnerAuthor

    2026-11-03 调度更新:#308 已合入,下一执行项为 #29

    用户已恢复开发,并授权由助手根据 GitHub 状态和真实依赖为 Superagent 派单,减少逐项手工回复。

  9. JavaZeroo-Bot commented on Nov 3, 2026

    @JavaZeroo-Bot
    Collaborator

    #7 当前摘要(2026-11-03 本轮恢复):按用户 11-03 派单恢复 #29 推进。本轮 PR #309(等待用户决定合并)补上缩窄后跨前方重排的 CUP/DSR 寻址原版证据与核心门禁:原版固定 WindTerm 2.7.0 单例四阶段,Q 写入保留的源片段行而非重排显示行,DSR/caret 同口径;核心字面回放 16/16 阶段、0/620 断言,CTest 35/35,CI 10/10,无生产源码改动。

    与 2026-11-02 暂停快照相比:组合宽高保留事务已随 #308 进入 main;本轮把显示行号与协议行号分离从缺口补齐为可重复门禁。恢复后接续重点不变:Qt 接入(显示光标、已有选择映射、六阶段 B/CD 失败)、备用/隐藏帧与保存光标、连续尺寸与在途输出、历史/复制/Find;默认 Screen::resize 与正式 Qt 仍物理裁剪。#27/#29 继续 OPEN,本摘要取代旧暂停状态;合并仍由用户决定。

  10. JavaZeroo commented on Nov 3, 2026

    @JavaZeroo
    OwnerAuthor

    R2 持续调度已启用(2026-11-03)

    用户已确认:全天每 3 小时巡检;由调度者选择真实前置已满足的 R2 任务、核验并合并符合合同的 PR;明确失败先修复并重试一次,同一故障不无限重试;阻塞后转去推进其他独立事项,始终只运行一个开发 worker。正常长任务不中断,不触发 Codex PR review,重要架构/范围/行为决定仍交用户。

    首轮结果:DSH 3082 服务原先不可用,确认未运行后已通过既有启动入口恢复到 ready。PR #309 的当前 head b3974d9 10 项检查通过,已按授权合并,merge commit 7fea912beb8e23cb8e1ef783970475d111dab0ed。

    #309 仅闭合限定的缩窄后 CUP 寻址证据与核心回归,不代表正式 Qt 接入完成,也不关闭 #27/#29。下一切片已在 #29 继续派单:推进正式 Qt 保留/投影接线与 B/CD 原失败;真实前置证据不足时先闭合必要缺口,结果与限制继续按精确提交分别记录。

  11. JavaZeroo-Bot commented on Nov 3, 2026

    @JavaZeroo-Bot
    Collaborator

    #7 当前摘要(2026-11-04 本轮):PR #310(CI 10/10 通过,待调度者核验合并)把 #29 的保留事务与独立显示投影接入正式 Qt 路径:resize_preserving + 显示页投影 + 显示光标;只缩宽保留/投影契约 12/12,Qt 正式路径 CTest 5/5,核心 CTest 36/36。旧六阶段 --resize 失败保留,并重新归类为原生重排网格与保留行坐标层差异(内容不再被物理裁剪)。

    #27/#29 仍未关闭:剩余包括同时缩宽+缩高的原版视口/滚动与后续 CUP/DSR 证据、备用/隐藏帧与保存光标、历史/选择/Find 用户流程、完整样式/Unicode 及最终包复验。本轮恢复工作取代旧暂停状态;合并仍由调度者按合同决定。

  12. JavaZeroo commented on Nov 4, 2026

    @JavaZeroo
    OwnerAuthor

    R2 调度更新(2026-11-04)

    阶段尚未完成,不进入 R3。

  13. JavaZeroo commented on Nov 4, 2026

    @JavaZeroo
    OwnerAuthor

    服务阻塞已解除(2026-11-04):用户明确授权再次重试后,确认没有 3082 监听及对应服务进程,使用既有启动入口恢复一次。管理接口与 GitHub 同步均 ready,paused=false,running=1、queued=0、maxWorkers=1。

    原 #27 ticket 500634dea2994e4a7d73a70b308bd370 已恢复,后续指令于 08:13:10Z 被读取,Bot 已确认接手。没有重复工单或新增并发。继续盘点原版取证环境及归档,保留 #27/#29 OPEN。

    本次仅确认服务恢复与任务续接;退出根因仍未知。累计恢复尝试为 2(原自动一次 + 本次用户单独授权一次),不重置后续自动重试额度。

  14. JavaZeroo commented on Nov 4, 2026

    @JavaZeroo
    OwnerAuthor

    R2 调度更新:补充审计已交付,行为决定与独立任务分开推进

    PR #312 已合并(merge 49737e3):精确 head 6abca8a 的 10 项 CI 全通过,已核验保护/规则并带 head 约束合并、远程读回。保留作者/共同作者。该 PR 只交付取证盘点、离线补充审计与结果,未改变产品实现。

    旧完整原始资料缺口已解除:取证环境仍保留发行物/profile/原录制;补充审计只读原记录,无新增原版运行、无改写旧失败,semantic_acceptance=false。新事实是该样本返回主屏后正文丢失,而当前 TermForge 保留;重要行为选择已提交用户确认,#27/#29 继续 OPEN,不把证据合入当作批准差异。

    DSH 3082 与 GitHub 同步健康。原 #27 等待决定、开发槽空闲后,已在 #30 派发独立切片:当前正式 Qt/固定 ConPTY 的有界 Unicode 呈现及 child 接收验证,不涉及 resize/备用屏未决行为。原生前置 #26/#39 均 closed,保持单 worker。派单接收状态以实际工单启动记录为准。

    #30/#155 完整验收及 #35/#7 仍未完成,不进入 R3。

  15. JavaZeroo commented on Nov 4, 2026

    @JavaZeroo
    OwnerAuthor

    R2 调度更新(2026-11-04):#30 有界 Unicode 切片已合入

    PR #313 已在精确 head c3888ff 的 10/10 CI 成功、保护/规则无阻塞后带 head 约束合并;远程确认 merge 4caff3b,保留 Bot 作者与 JavaZeroo 共同作者。

    该切片补齐固定 5 样本的 Qt 事件→固定 ConPTY→真实 child 接收/回显→核心→离屏绘制验证,记录实际字体/fallback;本地 Qt 6/6、默认/核心41/41。CI 无 CJK fallback 的限制、U+200D/U+FE0F 恢复为 U+FFFD、presented_done=null 仍保留;不等于完整字素/物理呈现/IME/96或144 DPI 验收,#30/#155/#7 不关闭。

    用户已经明确选择保留完整正文,接受 #312 所示隐藏帧返回差异(#27/#29 已有决定评论)。Bot 已据此提交 PR #314,仅归档决定及测试合同。其旧 head 21a353d 的 10/10 CI 成功,但 #313 合入后 #314 变为 CONFLICTING,尚未合并;已交回原 Bot 工单处理,须保留两边内容并以新 head 重验,不请求重复行为批准、不由调度者接管实现。

    DSH 服务健康、maxWorkers=1。下一步先完成 #314 整合,随后续接已确认合同下的正式 Qt 隐藏帧验证。R2 其余保留任务及最终 #35 验收仍未闭合。

  16. JavaZeroo commented on Nov 4, 2026

    @JavaZeroo
    OwnerAuthor

    R2 调度更新:#314 已合入,续接正式隐藏帧路径

    #314 的主线冲突已由 Bot 修复。调度者重新核验新 head 330da89 的 10/10 CI(未复用旧 head)、范围/作者/共同作者、保护/规则及冲突处理证据后,带 head SHA 约束合并并远程确认 merge 83df81a。

    用户已确认的“保留完整正文并接受该 WindTerm 差异”现已进入 ADR-0010/FEATURES/测试合同,同时保留 #313 Unicode 呈现证据及所有边界。此 PR 不改 production;原版严格失败、离线补充审计及 semantic_acceptance=false 不改写。先前冲突事件已解决,不增加重试计数。

    开发槽空闲且 DSH/GitHub 同步健康,已在 #29 明确续接:以最新 main 在真实 child→固定 ConPTY→核心→Qt 路径验证隐藏帧七阶段正文保留,定位并最小修复已确认范围内的缺陷;请求发送不作 ACK,原生网格不直接替代保留正文的 oracle,离屏不冒充物理呈现。保持单开发 worker;实际启动另由工单记录核验。

    #27/#29/#30/#35/#7 仍未完整验收,不关闭完整 issue、不进入 R3,也不重复询问用户同一行为决定。

  17. JavaZeroo commented on Nov 4, 2026

    @JavaZeroo
    OwnerAuthor

    R2 调度更新(2026-11-05 UTC+8)

    PR #315 已合入:精确 head b7069bf 的 10 项 CI 全成功,核验交付范围、当前保护/规则和作者/共同作者后使用 head SHA 约束合并,远程读回 merge 2d37f4c。

    本次新增固定隐藏帧七阶段的正式 Qt/固定 ConPTY 回归:真实 child 独立 ACK,58 检查零失败,两次运行除 pid 外一致,Qt 7/7、核心41/41。原实现已满足该固定场景,无 production 修复;初次测试失败属于夹具/预期问题,不能记作产品 RED。仅离屏固定75B ASCII,不宣称物理呈现、DPI、原生IME、其它尺寸/Unicode、完整reflow或性能验收。原版严格失败和已确认有意差异保持各自身份。

    服务与 GitHub 同步健康、开发槽空闲后,已在 #29 续接下一前置:主屏双轴尺寸变化后的原版视口/滚动/CUP/DSR 证据及有界字面回放。优先复核已有记录,缺失才冻结新探针、新取证身份,保护旧失败,避免重复 #309 仅缩宽场景。继续单worker和Flash优先;不重复要求用户确认已接受的正文保留差异。

    #27/#29/#30/#35/#7仍有保留验收未完成,全部保持OPEN,不进入R3。

  18. JavaZeroo commented on Nov 4, 2026

    @JavaZeroo
    OwnerAuthor

    R2 交付核验:#316 暂缓合并,已交回修正证据边界

    PR #316 当前 head 1e41fc7 的8项CI均成功,范围是双轴原版取证与核心回放,无production修改。但交付材料有两处需修正,暂未合并:

    1. 原版正文采样端点是在缩放并完成CUP+DQ写入之后,尚无缩放后/写入前的原版正文观察;不能将写后62字符结果归因于resize本身裁剪,也不能据此与无相同写入的顺序#308判定裁剪差异。产品回放中pre-write完整保留仅是工程事实。NAWS/CUP/DSR/写后文本可保留,时点/原因须标未知。
    2. validation的取证源基点dee3c78与后续离线导出器修正/core replay来源须拆开绑定;不得将后加代码的验证身份归到原冻结取证提交。

    已向原Bot工单明确交回,要求修正文档/身份说明、保留原录制和首次失败、只读核对已有中间态、新head重新验证,不要求为取绿重跑原版。当前服务健康,继续单worker和Flash优先。没有批准新产品行为;用户此前保留隐藏完整正文的决定不变。#27/#29/#7仍OPEN。

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

    epic路标总项;以出口合同验收

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions