## 用户结果 在干净 Windows hosted 环境,按公开清单获取固定 Qt 与微软 ConPTY,构建正式路线最小入口并完成自有进程树会话检查。用户已授权逐项闭环R2;本项不改变依赖版本或验收门槛。 ## 前置与边界 #115 / PR #116 已合入 main `29032905af719c2502cd92774b93d78a3ce005d9`,真实前置已解除。原默认/参考CI不覆盖Qt SDK,本项只补这条配置,既有结果仍分列。不验收可分发包、真实上屏/DPI或完整R2。 ## 验收 - [x] 准备工具读取现有manifest,固定归档及ConPTY双文件身份,拒绝损坏/缺失及不安全归档成员,清理失败明确记录;无系统PATH或个人配置变更。 - [x] 独立Windows工作流关闭候选核心,从干净Qt SDK构建Qt产品及smoke目标,运行OwnedJob监督的`qt_cpp_shell`,成功、退出与回收结果可读。 - [x] 公共CLI边界负例、实际干净依赖构建/检查通过;Hosted原失败保留,修订有新的source身份,不重复取绿。 - [x] 更新精确能力与证据,公开内容经来源/隐私审查,不上传SDK、运行库或本地原始日志。 父项 #7;#34 接续正式路线整合。 ## 实现与交付状态 [PR #120](https://github.com/JavaZeroo/termforge/pull/120) 已合入 main `18d00bb15c54e8e4cc3a5db20ea83a2233e0b90d`;最终发布提交 `1d9b673746d3070824bd92aa234a2bed4f0cd4fa` 可从 main 到达。本项按限定合同关闭。 固定源码 ecb5598 的 Qt PR/push 作业均 attempt1/success;详细PR准备摘要与源码/检出tree独立审查一致。SDK4358文件树hash a35ab6fe…,两个target构建通过,Qt1/1、750/退出37及Job active0/total7/terminated0。第一次许可换行、下一源码generator失败均保留并有因果修正;准备测试6/6,两轴无剩余问题。最终发布提交只补证据和索引;其六条Qt/默认/参考PR与push CI均attempt1/success,分别保留,不混为联合能力。 最终Qt [PR40701811765](https://github.com/JavaZeroo/termforge/actions/runs/40701811765) / [push40701800479](https://github.com/JavaZeroo/termforge/actions/runs/40701800479);默认[PR40701811773](https://github.com/JavaZeroo/termforge/actions/runs/40701811773) / [push40701800509](https://github.com/JavaZeroo/termforge/actions/runs/40701800509);参考[PR40701811783](https://github.com/JavaZeroo/termforge/actions/runs/40701811783) / [push40701800512](https://github.com/JavaZeroo/termforge/actions/runs/40701800512)。[固定证据](https://github.com/JavaZeroo/termforge/blob/1d9b673746d3070824bd92aa234a2bed4f0cd4fa/experiments/shell/results/2026-10-28-qt-cpp-ci/README.md)已公开。 限定切片完成不解除父项及完整R2的其他门槛。
Activity
fix: preserve pinned license bytes and safe preparation errors (#117)
fix: match Qt CI generator to the hosted VS 2026 image (#117)
docs: record separate Qt hosted validation and original failures (#117)
Merge pull request #120 from JavaZeroo/ci/qt-cpp-reproducible-r2