From 7d291c52d218a74d5c034b4ec2d32f02ecae163b Mon Sep 17 00:00:00 2001 From: JavaZeroo <71128095+JavaZeroo@users.noreply.github.com> Date: Sat, 31 Oct 2026 16:29:33 +0800 Subject: [PATCH 1/2] =?UTF-8?q?docs(evidence):=20=E6=81=A2=E5=A4=8D?= =?UTF-8?q?=E8=A2=AB=E8=AF=AF=E5=88=A0=E7=9A=84=20recovery=20=E5=8F=8C?= =?UTF-8?q?=E6=9E=84=E5=BB=BA=E8=AF=81=E6=8D=AE=E8=A1=8C=EF=BC=8C=E5=B9=B6?= =?UTF-8?q?=E8=A1=A5=E4=B8=A4=E4=B8=AA=20issue=20=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 合入 11 个 PR 后核对证据缺口,发现两件事: 1. #152 的证据行不见了。它由 58fee28(PR154,refs #152)加入,随后被 e13be0c (SGR carry observation,refs #126/#123)连带删除——该提交改动相邻区域时把这行 一并删掉。产物仍在 main(experiments/measure/RECOVERY-PREPARE.md 与 results/2026-10-29-recovery-core-prepare/),只是索引丢失。本提交按原文本恢复, 并补上 issue 号。 2. Qt 的两行(基础 Unicode 文本字节、app-local 固定微软 CRT)有对应证据但没有 issue 号,补 #147 / #138。 管道数与 main 逐行一致(这两行在 main 上本来就是 3 个管道,属既有情况,本次不动)。 --- docs/EVIDENCE.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/EVIDENCE.md b/docs/EVIDENCE.md index c54af437..a4a87858 100644 --- a/docs/EVIDENCE.md +++ b/docs/EVIDENCE.md @@ -14,10 +14,10 @@ | 自主 C++ 行结构发布与精确身份查询 | [首片合同与固定夹具](../experiments/core/results/2026-10-29-order-query/README.md)、[验证身份](../experiments/core/results/2026-10-29-order-query/validation.json):`[1,3,4,5,7,6]` 的精确 rank(7→4、6→5、2 缺失)、文档序比较与强制 Find 导航、结构 revision 边界、发布拒绝与光标夹取;筛选的 8 项核心 CTest 与本地候选 `candidate_core` 通过,首个推送版本的 CI 红(回放保留历史仍为上一帧宽度)与按物理行策略适配后的绿分列,完整默认 Release 构建 exit0。未封住公开 lines/history,运行中跨重排的增量 Find、区域 LF、Qt/固定 ConPTY 与性能均未验收 | | 自主 C++ 限定 1049 协议 | [固定结果](../experiments/core/results/2026-10-29-cpp-1049/README.md)、[验证身份](../experiments/core/results/2026-10-29-cpp-1049/validation.json):文字/光标/颜色及 pending-wrap、重复进入与读者失效;55项中Qt1项分列,13条内部skip及旧负例判据失败保留。未验收非颜色属性/全网格背景、其他模式、真实TUI/IME/DPI、呈现或性能 | | 自主 C++ 双缓冲存储与文档 epoch 基础 | [固定结果](../experiments/core/results/2026-10-29-buffer-state-r2/README.md)、[验证身份](../experiments/core/results/2026-10-29-buffer-state-r2/validation.json):拥有状态、共享 ID、隐藏帧 resize 回滚与跨缓冲句柄失效;Qt/candidate 关闭配置的完整 50 项及 12 条内部 skip 分列。未接 private CSI,不是原版模式、Qt 产品路线或完整 #27 验收 | -| Qt 基础 Unicode 文本字节 | [红绿与联合验证](../experiments/shell/results/2026-10-29-qt-unicode-input/README.md)、[固定联合身份](../experiments/shell/results/2026-10-29-qt-unicode-input/validation.json):公开Qt事件到独立ReadConsoleW接收端,整/分事件代理项、焦点/隐藏/关闭、1024B整包与NUL、两目标隔离。2b6d源码一次61项分列Qt3/其余58,13内部skip、旧红例与27原件保留;不是实际IME、字素/字形、原生Unicode窗口、DPI或性能验收 | +| Qt 基础 Unicode 文本字节(#147) | [红绿与联合验证](../experiments/shell/results/2026-10-29-qt-unicode-input/README.md)、[固定联合身份](../experiments/shell/results/2026-10-29-qt-unicode-input/validation.json):公开Qt事件到独立ReadConsoleW接收端,整/分事件代理项、焦点/隐藏/关闭、1024B整包与NUL、两目标隔离。2b6d源码一次61项分列Qt3/其余58,13内部skip、旧红例与27原件保留;不是实际IME、字素/字形、原生Unicode窗口、DPI或性能验收 | | Qt cmd 标签与退出前回收 | [固定结果](../experiments/shell/results/2026-10-28-qt-tabs/README.md)、[验证身份](../experiments/shell/results/2026-10-28-qt-tabs/validation.json):双 cmd 隔离、失败页、关闭与四个实际事件循环边界;Qt 1 项和其他 49 项诊断及内部跳过分列,旧中断轮不拼接 | | Qt 基础动态网格与真实 child 尺寸 | [固定结果](../experiments/shell/results/2026-10-29-qt-resize/README.md)、[原冻结与查询](../experiments/shell/results/2026-10-29-qt-resize/validation.json)、[平台区域反例与夹具修订](../experiments/shell/results/2026-10-29-qt-resize/platform-area-validation.json)、[0ff 隔离原生补充](../experiments/shell/results/2026-10-29-qt-resize/native-validation.json):GUI/core、child、错误和字体度量红绿;678 原生极窄失败及 135 条 child 回复保留;0ff 新离屏 57 项与冻结包一次原生成功分列,原生保留全部 40 条 CSBI、实际顶层区域 120px→11 列及 root/Job 回收。两次离屏均分开 Qt 2 项、其余 55 项诊断及 13 条内部 skip;退出竞态旧尺寸保留;原生窗口仅 DPI 96,不是原版 reflow、真实不同 DPI、物理呈现或旧 system 失败修复 | -| Qt app-local 固定微软 CRT 与隔离 Windows 加载 | [固定结果](../experiments/shell/results/2026-10-29-qt-crt-deploy/README.md)、[完整运行时与验证身份](../experiments/shell/results/2026-10-29-qt-crt-deploy/validation.json):原 `cf8` 52 文件首次加载失败与仅追加 CRT/原许可后的成功分列;新源码构建、原生窗口、有限 cmd/关闭、offscreen 及 Job 清理独立记录。不是完整发行、跨 DPI/IME 或物理呈现验收 | +| Qt app-local 固定微软 CRT 与隔离 Windows 加载(#138) | [固定结果](../experiments/shell/results/2026-10-29-qt-crt-deploy/README.md)、[完整运行时与验证身份](../experiments/shell/results/2026-10-29-qt-crt-deploy/validation.json):原 `cf8` 52 文件首次加载失败与仅追加 CRT/原许可后的成功分列;新源码构建、原生窗口、有限 cmd/关闭、offscreen 及 Job 清理独立记录。不是完整发行、跨 DPI/IME 或物理呈现验收 | | Qt 正式入口的独立 hosted 构建 | [固定结果](../experiments/shell/results/2026-10-28-qt-cpp-ci/README.md)、[验证身份](../experiments/shell/results/2026-10-28-qt-cpp-ci/validation.json):固定 SDK、VS 2026 hosted 与真实 cmd 的 offscreen / OwnedJob 检查;原依赖换行和 generator 失败保留。没有原生上屏、完整部署哈希或产品包验收 | | 自主 C++ + Qt Widgets + 固定微软 ConPTY 正式目标 | [ADR-0007](adr/0007-bundled-microsoft-conpty.md) / [ADR-0008](adr/0008-cpp-core-qt-widgets.md) 记录用户确认;新组合的实现与验证另行留证,不引用旧默认或 Alacritty 通过结果代替 | | 既有默认/Alpha:自主 C++ + 系统 ConPTY + Win32 | R1 限定总验收和有限 VT/Unicode 子集;与当前 Qt/固定后端目标组合分列 | @@ -87,6 +87,7 @@ R1 固定总出口的源码为 `ce9b24d`,早期 `2dc8d6d` / `9b16acc` 仍分 | 首次 hosted 字素成本批次 | [来源、停止位置与归档](../experiments/measure/results/2026-10-27-r54-hosted/README.md)、[机器可读记录](../experiments/measure/results/2026-10-27-r54-hosted/validation.json) | 两份固定构建与4次sanity通过,空闲预检通过;第24位置的未归属CPU活动估计5.410%触发原5%护栏,保留23个有效记录和1个失败记录,第二批未启动。全部24次输出正确,但批次不完整,不生成配对成本摘要;临时VM逐进程归因、完整受控批次和预算仍未完成。 | | CPU计量边界诊断(#54) | [固定六位置及归档](../experiments/measure/results/2026-10-27-r54-cpu-boundary/README.md)、[独立复核](../experiments/measure/results/2026-10-27-r54-cpu-boundary/verify.py) | 同一共享Windows宿主、原已审计构建的六次输出和来源核验通过;分别保留完整子进程、内层区间、runner和全机计数。区间外CPU为0.078125–0.109375s,仍有明显未归属活动,不算空闲成本批次,不反推旧hosted原因或修改原5%护栏。 | | 新hosted VM的CPU分量(#54) | [预声明](../experiments/measure/R54-CPU-HOSTED.md)、[六位置/来源/完整归档与只读复核](../experiments/measure/results/2026-10-27-r54-cpu-hosted/README.md) | 新构建和六个输出均通过;完整扣除自身/runner后余额仍为3.333%–5.263%,不归因旧事件、不作成本验收。准备失败与未创建作业的入口分别保留,未重跑或补样。 | +| 自主 C++ recovery 核心双构建准备(#152) | [固定协议](../experiments/measure/RECOVERY-PREPARE.md)、[实际结果](../experiments/measure/results/2026-10-29-recovery-core-prepare/README.md)、[脱敏身份](../experiments/measure/results/2026-10-29-recovery-core-prepare/validation.json) | 同源 recovery 包装/无本工具包装的实际对象和命令核验;一次38进程含24短正确性/2identity/12拒绝,相关14项回归,25源/历史与18构建产物前后核对。旧strict/v2/calibration分列,不是Qt/ConPTY热路径、正式性能批次或数值预算 | | Node 纯夹具阶段与失败判定(#144 未关闭) | [工具合同](research/node-contract-deadline.md)、[固定三 case 与身份](../research/ui/results/2026-10-29-node-contract-deadline/README.md) | 固定02aac源码的一次正式批次:正常passed0/23cp、受控挂起timed_out99/6cp、受控异常failed1/11cp,均根回收/Job0;CLI0只表示预定义结果齐全。协议尾、版本漂移及离线出口白名单P2的纯反例分列;出口普通/-O各15项纯测试,原件和旧公开字节保留。旧CI根因/整程硬界仍null,不接原CI执行入口,新增CTest仅注册纯数据回归,不关闭#144/#38。 | | 纯 AST 夹具的生命周期记录 | [#40](https://github.com/JavaZeroo/termforge/issues/40)、[计时、进度与回收验证](../research/ime/results/2026-10-26-inventory-lifecycle/validation.json)、[专用 CI 40253727745](https://github.com/JavaZeroo/termforge/actions/runs/40253727745) | 旧 10 秒 AST 夹具及专用 CI 记录启动、AST 和 Job0;原超时根因未确定。诊断增强见 #40 阶段保留,不由一次 CI 成功结项。 | | 原生 margin 逐字段合同与修复候选(#56 仍开放) | [合同、源码与路径](research/conpty-native-margin-path.md)、[独立 oracle](../experiments/conpty/margin_contract.py)、[固定运行](../experiments/conpty/results/2026-10-26-native-margin-path/validation.json) | 四阶段文字/格属性/光标独立判据;系统与官方原生 final 仍红,官方80列两次原5秒生命周期失败保留。共享单 margin 源码支持小 MIT fork 候选;patch 仅可应用,未编译、未运行、不计修复。 | From 95eefbce23d88aadeb23772683edbcc6e8188363 Mon Sep 17 00:00:00 2001 From: JavaZeroo <71128095+JavaZeroo@users.noreply.github.com> Date: Sat, 31 Oct 2026 16:36:50 +0800 Subject: [PATCH 2/2] =?UTF-8?q?docs(evidence):=20=E8=A1=A8=E5=A4=B4?= =?UTF-8?q?=E8=A1=A5=E4=B8=8A=E8=A2=AB=2094=20=E8=A1=8C=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E4=BD=86=E6=9C=AA=E5=A3=B0=E6=98=8E=E7=9A=84=E7=AC=AC=E4=B8=89?= =?UTF-8?q?=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit EVIDENCE 的表头是两列(| 配置 | 证据定位 |),但 94 行有 3 个单元格。 GFM 规定「行的单元格数多于表头时,多余部分被忽略」,因此这些行的第三格 (覆盖边界:该证据明确不覆盖什么)在渲染后不可见。 补上第三列后,第三格内容才真正显示;15 个两格行会渲染成空的边界格。 --- docs/EVIDENCE.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/EVIDENCE.md b/docs/EVIDENCE.md index a4a87858..a323d875 100644 --- a/docs/EVIDENCE.md +++ b/docs/EVIDENCE.md @@ -6,8 +6,8 @@ 产品方向和确认依据见 [ADR-0006](adr/0006-confirmed-project-direction.md)。Windows PTY 路线已由用户确认采用[随包固定微软 ConPTY](adr/0007-bundled-microsoft-conpty.md),正式核心继续自主 C++,当前 GUI 采用 [Qt Widgets](adr/0008-cpp-core-qt-widgets.md);新组合的整合与验收仍未完成。历史 Alacritty 与 Win32 比较及限定合同保留事实身份,不转记为新产品组合能力或重要差异的批准;关键性能容差仍待可靠基线后与用户明确。 -| 配置 | 证据定位 | -|---|---| +| 配置 | 证据定位 | 覆盖边界 | +|---|---|---| | Qt 终端固定拼音 IME 组合/提交/取消 | [固定结果](../research/ui/results/2026-10-30-qt-ime-fixed-pinyin/README.md)、[验证身份](../research/ui/results/2026-10-30-qt-ime-fixed-pinyin/validation.json):隔离 VM、固定微软拼音,我们自己的 Qt 应用收到 preedit `ni'hao` → cancel → commit `e4bda0e5a5bd`(「你好」);光标全局矩形 (295,157) 与同轮屏幕变化框起点 (295,163) 相互印证。未覆盖候选窗身份/矩形、其他 DPI、完整字形与呈现 | | hosted Windows 子进程启动耗时 | [固定结果](../research/ui/results/2026-10-30-hosted-startup-latency/README.md)、[验证身份](../research/ui/results/2026-10-30-hosted-startup-latency/validation.json):windows-2025 上 100 次 PowerShell 5.1 启动 p50 110 ms、max 1.83 s,50 次 node p50 16 ms;8 路 CPU 负载下 p50 172 ms。用于排除 #81/#144/#40 的 10–12 秒超时由启动成本解释,不等于性能预算 | | 自主 C++ 主屏 ASCII DECAWM | [有限合同与红绿](../experiments/core/results/2026-10-29-cpp-decawm/README.md)、[固定验证身份](../experiments/core/results/2026-10-29-cpp-decawm/validation.json):抽取原版14–18阶段79B,strict/recovery各235个字面前缀分块用例;初次定向8/9的缺构建依赖失败、补建后的core单项31测试通过分列。跨1049/宽字/resize、origin/margin、GUI/固定ConPTY运输和完整TUI均不由本项验收 |