Repository navigation
Description
决定与起点
下一主版本定为 v6.0.0:项目会话、可取消的单写者构建,以及有证据支持的可选常驻加速。目标是减少多次构建间重复的发现/解码/身份计算,同时让并发、取消、重启及文件变更下的正确性可验证;不是为了版本号强行加入 daemon/USN。
发布基线是 v5.5.0 08cdc20a9f9380e18132d21a619288224fd07fd4。保留 C++23、Windows/MSVC、单一 cpp/include/src/tests、MQB 自举及既有语义权威。开发阶段 VERSION 保持 5.5.0;最终独立 release PR 才修改 VERSION,合并它会触发现有正式发布流程。
已接受 #154/#155/#156/#157/#159/#160 与更早 mainline 改动保持。#158/#161 是有实测依据的否决,不自动复活。v5.5.0 的 584 对累计证据见 中文记录 / English。其中大型 no-op 的约 38–42% 改善属于此前累计组合,不是本路线的新增收益。两次 common129 cold 的 +5.354s/+6.480s 仍未定位。
当前交接点(2026-09-08,后续必须重新核对仓库)
M1a 已由 #165 完成并合并:合并提交 93b10cf14143f3d5da088a1fe168f4b3d2a027b1,受审阅 head 2dd9943d222ba2977cbe3750dc79085f0c825ec3,源码树 9b606a16e54efae335c0aa30be303bb3d09b464f。VERSION 仍为 5.5.0;没有新的 tag/Release,也没有修改 v5.5.0 发布资产。
合并前完成 Native C++ #693、完整 Native Release/self-host/package #592、Documentation #152、Cross-Stage #173 和独立 ABBA #533。初版真实失败、修复与两份性能原始比较全部保存在 #165;合并后重复触发的 main CI 不能自动冒充这些已完成的 PR 检查。M1a 是 opt-in process primitive:现有 CLI 尚不传取消 token,因此不代表 CLI Ctrl+C、项目互斥、取消传播或 daemon 已完成。
下一轮从 M1b 的真实 MSVC 所有权验证开始:先测试 MSPDBSRV/PDB 共享服务、交叉项目取消及异常收束;再逐步接入取消传播、项目单写者事务和 build/run 分离。不得机械为每次 cl.exe 套可终止 Job。详细平台依据与测试要求见本 Issue 评论。
产品边界
默认一次性 CLI 继续可用,并作为正确性对照;第一版常驻能力必须显式可选。build/run/plan/compdb 共用既有规划与执行语义,不另写一套“daemon 专用构建器”。驻留的是受限的项目状态,不是无限期有效的 filesystem snapshot。最终产物运行留在前台客户端,不能让游戏/交互程序持有构建写锁或被后台工具 Job 错杀。
本版本不扩张为跨平台 CMake 替代品、不增加通用远程构建/网络服务、不引入多目标配置语言或静态库 Modules 支持来分散主线。C++ Modules、Header Units、PCH、DLL/static、参数引擎及现有 inspect/plan/compdb 不能退化。
按依赖推进的路线
M1a — 可取消的进程树边界(#165 已落地)
- 为 process 请求加入显式、可选的取消能力;默认不可取消 token 保持既有执行/argv/cwd/env 行为,不创建额外 Job/event/callback。
- Windows 平台使用每次调用独立的 Job + 取消事件;在进程开始执行前完成归属,禁止“先启动再 Assign”的逃逸窗口。取消只影响该请求,不影响同 runner 的其他调用。
- 明确区分正常退出、取消与基础设施错误,保留已捕获诊断。成功结束确认等待保留的受管成员句柄,且要求清点期间总关联数不变、active 数为零,再排空管道。无法证明覆盖完整时返回错误;错误返回或 owner 死亡不意味着写 lease 可安全转交。
- 测试预先取消、运行中取消、后代持有 stdout/stderr、根进程先退出、无 capture、并行取消隔离、owner 死亡、句柄生命周期及无取消兼容。不能把内核卡住的终止声明为有确定时限。
源码依据是 v5.5.0 基线的 ProcessSpec 没有取消字段、WindowsProcessRunner::run 对根进程无限等待。先仅加一个父进程锁,在强制退出后未必解决残余工具写入,因此先建立生命周期原语。#165 的初版发现 accounting 归零先于后代句柄 signaled 的真实竞态,已修复并保留立即检查断言;这不是直接启用真实编译器取消的充分证据。
M1b — 单写者项目执行事务与异常恢复
- 先验证真实工具服务所有权:MSVC /Zi/ZI/FS、MSPDBSRV、PCH/Modules、Debug/Release、并行及跨项目取消,覆盖服务预先存在/由本请求启动。取消 A 不破坏 B;不能通过全局杀服务、静默换 /Z7 或删除 /FS 绕过问题。
- 提取前台应用中的“构建”与“运行产物”边界;所有实际构建状态写入受同一个物理项目/产物空间 lease 管理,含 discovery/toolchain/scan/compile/link/archive;工具退出确认之前不得释放。
- 多进程竞争、取消等待、owner 异常退出、过期状态与复用根目录均 fail closed;互斥不能只依靠可复用 PID、超时锁文件或文本路径。明确外部 discovery root/共享
.mqb的所有权,避免嵌套锁死锁。 - 不同项目可并行;同一项目先采用易证明的单写者,后续仅在依赖/产物冲突证明充分时细化。现有 paired native subshards 共用仓库
.mqb,必须处理测试构建并发适配,不能靠忽略 busy 错误通过 CI。 -
plan/compdb不启动服务、不写缓存/锁文件;与写者竞争时采用明确的只读快照/忙碌策略。前台--run在写事务完成后启动。 - dirty/committed 标记与中断后保守恢复有实际故障注入,不能将 Job kill-on-close 误当成磁盘事务或“另一客户端可以立即安全抢锁”的证明。
M2 — 同进程项目会话,先不加 IPC
- 不可变 request + 显式 session 生命周期;去除对进程全局 cwd、environment、日志路由和 collector 的隐含依赖。多个 session 并行不串状态。
- 一个 cache/identity/依赖模型;缓存解码结果、toolchain 元数据和 path/layout 数据有独立失效域、代际及有界容量。不要把跨请求 snapshot 直接塞回已有 invocation evidence table。
- 全图输入包含配置及有序参数、工具/SDK、环境、源码/依赖、缺失候选头、搜索目录、module provider/IFC、库解析输入、输出缺失与物理别名。保留执行后依赖复核及晚期 object/link/archive 观察。
- 每种复用先通过“同一系列变更:一次性 CLI oracle vs session”差分测试,覆盖删除、重命名、原子替换、同时间戳写入、大小变化、junction/大小写别名、配置切换与外部依赖。
M3 — 变更源与证据连续性(不是 watcher=truth)
- 先定义可注入的 change-source/cursor/coverage 模型,证明注册、基线采集、事件重放、代际封存及构建中变更如何衔接;事件队列暂时为空不是静止证明。
- ReadDirectoryChangesW 后端在 overflow/零字节、断连、根目录替换、未知错误、未覆盖依赖时使相关证据失效,回到完整 freshness;不把丢事件当成“未变”。
- USN 是可选能力增强,不是安装/运行前提;校验 volume/journal ID、cursor range、记录版本及 wrap/recreation。无权限、不支持的文件系统/网络盘保持正确的一次性或全复核路径。不创建/删除/扩大用户卷 journal,不要求管理员。
- 不声称变化日志能提供任意并发写入的原子快照;对仍有不确定性的集合保留直接复核。复用 probe 的删除必须有等价边界与净减少的证据。
M4 — 可选本地驻留服务
- 只承载已通过 M1–M3 的同一 session engine;单用户、本机 IPC,无监听网络端口/系统服务/默认自启动。协议长度、消息类型、版本与 request ID 有上限和明确状态机,验证对端身份/权限,限制连接与内存。
- 启动竞争、版本升级、繁忙、取消、客户端断开、server 崩溃、idle shutdown、遗留 endpoint 都有测试。未知执行结果不能盲目 fallback 再次提交同一写请求。
- status/stop/显式 off 模式与可观察诊断齐全;stderr、退出码、环境、stdin/运行产物不会因服务化改变。成功加速后再决定 auto 是否有资格成为未来默认,v6.0 不强推。
M5 — 性能、长稳与独立 Release
- 固定 released v5.5.0 对照,分开测一次性、会话首用/复用、常驻启动/已启动,不把 startup 排除后宣称所有请求更快。20/129/更大 TU、shared/private headers、modules/PCH/static/DLL、发现真命中、修改/删除/修复、冷构建、并发、取消恢复、长会话均覆盖。
- 首次性能主题应补齐 v5.5.0 cold 尾部的可归因记录:保存构建与环境身份、每次 root/tool 执行/排队/写出信息及对照;固定样本、保留异常、追到可证据解释的层次,不重跑直到绿。不能用未复现或中位数持平证明异常不存在。
- 每轮独立 PR、精确 base/head、独立 ABBA;变更计数器解释其语义。主性能结论采用 timings-off 外部 elapsed,内部 work 不当作可加 elapsed。原始失败/不利样本与重复运行都留存。
- 常驻能力放行前,要同时证明有实际代表性的复用收益、有界内存及 idle 成本、无正常一次性路径的实质退化;内存增长/取消/重启 soak 和失效压力测试不可用 no-op benchmark 代替。数字门槛在测量前写入对应 PR,不临时挑有利阈值。
- 累计比较、双语兼容/迁移文档、长尾风险处置与原始证据完成后,才开单独 VERSION/release PR;再执行精确版本 native/self-host/installer/package/最终 main publication 验证。不得改写 v5.5.0 tag 或既有资产。
有条件候选,不是路线必做项
Object handoff 必须保留晚期 freshness 且真正减少总探测;link-resolution/multi-key discovery 先证明残余需求;cache pack 仍要求隔离后的实际剩余 I/O >=25–30%,包含解码且重叠的 work 时长不能充数。已否决实现只有新证据、新设计才重开,不机械 cherry-pick。冷尾调查和路径/layout 热点可产生小修复,但不能掩盖主线的生命周期/正确性缺口。
实施纪律与交接
本 Issue 是路线与状态的单一入口。每轮在此追加 PR、精确 head、通过/失败证据、合并/否决决定和下一未完成里程碑;代码与 CI 必须重新读取,不能把本 Issue 的叙述当成当前状态。不要用一整套新的审计文档模板或重复路线文件增加负担。当前没有 v6.0 发布授权;每轮只推进一个可审阅主题,版本号保持 5.5.0。
原始平台契约
- Microsoft: Job Objects:通常的 CreateProcess 后代关联、嵌套 Job、kill-on-close 与 breakaway 边界;Job 本身不是通用沙盒。
- Microsoft: UpdateProcThreadAttribute:JOB_LIST 可在启动时指定 Job(Windows 10 / Server 2016+)。
- Microsoft: ReadDirectoryChangesW:缓冲溢出/零字节必须重新枚举;根目录本身变化不由该调用报告。
- Microsoft: Change Journal Records:旧记录会被清理,重复写可能合并理由标志,因此日志连续性和打开写入者不能被忽略。
- Microsoft: /FS / /Zf:MSVC PDB 写入与 MSPDBSRV/RPC 的共享边界,必须由真实工具链验证请求所有权。
Activity
Iviesever commentedon Sep 8, 2026
首轮已提交;补充 M1b 的真实工具链边界
M1a 首轮实现为 #165,head
610c51e35cf9164f1b6d7870177271c0f6d4662e,基于已发布 v5.5.0 的08cdc20...。当前是 opt-in process primitive,现有 CLI 不传 token;原生/独立 ABBA 正在验证,尚未宣布 M1a 完成或合并。M1b 放行条件补充:必须先验证真实 MSVC 共享工具服务,而不是机械给每次 cl.exe 加 token。 Microsoft 对 /FS 与 /Zf 的文档表明,多编译进程的 PDB 写入会经 MSPDBSRV/RPC。由此推导出的设计风险是:正常 CreateProcess 亲缘关系不自动等于独占的业务所有权;不能把一个请求树的 cleanup 误用于其他编译仍依赖的共享服务。
在传播取消、设计 Job 层次/项目事务时,必须覆盖真实 Debug/Release、/Zi/ZI/FS、PCH/Modules、并行与交叉项目取消、root 正常退出、编译服务已存在/由当前请求启动两种状态,证明取消 A 不破坏 B,且 lease 释放前不存在尚未收束的请求写入。不能通过静默改成 /Z7、删除 /FS、全局杀 mspdbsrv 或放宽 freshness 来过关。
#165 的 helper 测试不是这些真实工具链场景的替代品;本轮默认 CLI 不受影响。后续会在此追加最终合并/验证记录。
Merge pull request #165: opt-in request-owned process lifetime
Merge pull request #166: real MSVC service ownership evidence
Iviesever commentedon Sep 8, 2026
M1b 本轮交付:真实 MSVC 共享服务所有权反证已合并;取消集成尚未获准
已完整核对本 Issue 及原评论、main/#165、仓库约束与 CI,并完成独立 PR #166。本轮是 M1b 的 evidence-only 子迭代,不是 M1b 完成,也不改写原路线。
精确状态与决定
93b10cf14143f3d5da088a1fe168f4b3d2a027b1(feat: add opt-in request-owned process cancellation for v6.0 sessions #165 合并提交)。c47d75833a15d62905cda45fb608bb77da6b209e。7af2d9ccad13b9bcee916c9caaa903ad45d76d20,使用普通 merge、expected-head 校验,无保护规则绕过。c5e2da93040c7d676fd198fc3b70b3572b00d415、最终 merge 的 tree 均为1de96aa0fe01fcde71615deefb624dbb37af4a4e。cpp/tests/platform/windows/msvc_service_ownership_probe.cpp、tests/native/collect_msvc_service_ownership.ps1、.github/workflows/msvc-service-ownership.yml。生产源码/头文件、原有 79 项 native 测试清单、benchmark harness、cache/freshness、CLI 均未修改。真实结果:正常结束也会误杀 B 正在使用的服务
实际工具链 MSVC 14.51.36231 / Hostx64-x64,Windows 10.0.26100、runner image 20260824.214.3。固定 42 场景:
/ZiDebug、/ZIDebug、/ZiRelease、PCH Debug/Release、Modules Debug/Release × 服务预存/A 启动 × A 非受管正常/受管正常/受管取消。A/B 输出目录和 PDB 分离,但共享一个仅用于夹具隔离的端点。42/42 完整采集,0 基础设施/对照失败,14/14 非受管对照通过。 但 A 启动的服务在 14 次受管结束中全部死亡,10 次 B 首次构建失败;其中 9 个场景出现 C1090 PDB API 错误,一个
/ZI场景出现 C1001。这些原始失败没有被恢复编译覆盖,失败场景的 link/run 未执行也未计为通过。另有 4 次服务死亡但 B 首次构建成功,同样保留,不挑选有利于论点的数据。因此已得到真实跨项目反例:进程祖先关系不等于独占服务所有权;危险不只存在于 cancel,也存在于受管正常结束清理。 当前 CLI 继续不接入 M1a token。
不把观测缺口包装为安全证明
42/42 都观测到 B 编译进程存活,但这不证明取消瞬间有 RPC 正在执行。Restart Manager 的 PDB 资源查询只在 14/42 场景记录到与保留 HANDLE 对应的服务 PID + 创建时间;其余 28/42 缺少该维度的身份物证,未标成隔离成功。五个首次失败场景同时具有这一准确资源身份观测。
夹具使用
_MSPDBSRV_ENDPOINT_隔离外部服务,并由外层 Job 限定 A+B 整个实验;这是实验方法,不是将未公开端点机制作为产品所有权契约。尚未验证未改动的默认端点、直接 per-cl 取消、RPC 完成/残留写入、owner 异常退出和写租约恢复。所有记录仍明确safe_to_integrate_cancellation=false、safe_to_transfer_write_lease=false。已完成的独立验证与不利性能证据
__has_includefreshness、side-output repair 和 gate 通过。外部 timings-off no-op 的 paired median −0.534 ms / −4.33%,MAD 0.210 ms,四对中的最大不利差值 +0.321 ms,未触发事先声明的“同时超过 +1 ms 且 +10%”门槛。其余 18 场景是 instrumented 时钟,不冒充外部 elapsed。本轮没有生产代码变化,不记任何性能优化收益,也不宣称零开销。
不利证据仍保留:cold 中位差 +35.231 ms;scale-no-op 单对 +22.491 ms/+66.96%;link-only 单对 +32.393 ms/+61.75%;scale-cold 最大差 +138.528 ms。有利的 build-run 单对 −155.630 ms 也保留;未隔离这些尾值的成因,未假定是噪声而删样本。原路线的 v5.5.0 历史 cold-tail 债项依然未关闭。完整 19 行数据在 最终 review。以上为已完成的 PR 精确树验证,不把合并后新触发的 push CI 冒充已经完成。
原始证据位置与保留范围
6819ca85460e4b649ff5f0261e78613b38d572c80570ff4957d47851297d33fa。2,140 项输入/argv/诊断/JSON;503 项生成二进制的 post-case 哈希。二进制本体未打入诊断 ZIP,恢复后哈希不是取消瞬间快照。b0c6f7c980dd1e0f0bd7e4ddde15f0e1a594c2a0fd3eabfa98099cb6f1b495e2。内含所有 paired samples 的 comparison JSON,不是 stdout/stderr 归档。be05806...的四条长运行因代码更新取消;没有当作通过。本轮修正了/Zi与/ZI输出目录大小写碰撞,以及基础设施错误的采集判定。初始 ownership artifact 10048948921 仍保留并核验:1,842 bytes,SHA-256c16f7c44c14aca0e5dda3b9f7a2f52a378e07ad185a59ce16657bdd3932dae0e,只含 identity 和 build argv,因为取消发生于探针构建阶段、尚无实验观测。没有 same-head repeat-until-green。下一接手点(不扩展本轮主题)
从
7af2d9ccad13b9bcee916c9caaa903ad45d76d20继续 M1b。下一独立 PR 优先在一次性干净 Windows 环境验证未改动默认端点,明确共享服务与请求私有进程的不同生命周期,并用实际在途使用/残留写入证据评估最小取消边界;不能把本轮“预存服务没有被 A 的 Job 杀掉”外推成完整取消隔离。之后再按原 #164 小步接入取消传播、单写者项目事务及 build/run 分离。取消错误、父进程退出、服务重启或一次恢复编译成功,都不能成为移交写锁的证明。项目会话、可靠失效证据、可选常驻服务与累计性能/发布验证保持原有先后;本轮不提前开启这些阶段,最终 VERSION/release PR 和正式发布仍单独处理。
feat: add opt-in scheduler admission stop with natural callback drain
Iviesever commentedon Sep 8, 2026
M1b 交接更新:#167 已核验合并,下一单主题 PR #168 已发布
本次重新核对真实仓库后发现 #167 已在进行中,因此接手审阅它,没有上传上一会话那份不同的未提交补丁,也没有创建重复的默认端点 PR。
#167 已完成并合并
7af2d9ccad13b9bcee916c9caaa903ad45d76d20,接受 head88db6362c7ceb43926d1b4dbb96f52f53cbc67f1。a9792704e0b2f040206974f717cc103d2a1e3c71。候选、PR 测试合并和实际 main 的 tree 均为e9aa95e6cbf9890ed122be7939be1f3bc366a632。/ZIdrain 对照的 C1128 失败及原始 artifact 已独立读取并保留;修复是大对象 fixture 的/bigobj,不是同一 head 重跑直到绿。决定:接受 #167 的默认端点/自然排空实验代码;继续否决机械 per-cl/request-tree 终止策略。不标记 M1b 完成。
下一迭代 #168 已发布:显式调度层停止派发与自然排空
a9792704e0b2f040206974f717cc103d2a1e3c71。6b7a7759e2b47d9a993f9bb458845804ecc06275,tree00702e4c6b7587414b5bbc520bcc3fbba01c28fa。codex/v6-scheduler-admission-stop,4 文件、433 行纯新增。新增run_with_admission_stop(...),关闭待办 admission 后等待所有已派发 callback 完成;保留异常、区分外部停止与 callback false,并隔离并行批次。run(...)函数体和所有生产调用点不变;默认不可停止 token 委托原实现。不把 token 传入 ProcessSpec,不添加 Job、不终止编译器、不接 CLI Ctrl+C、不授予写锁转交权限。没有新增生产 TU,原 79 项 native 清单、manifest、benchmark、freshness 不变。VERSION 一直保持 5.5.0;未修改 tag/历史资产或正式发布。 下一边界仍按本 Issue:调度层能力的真实编译传播与异常所有权证据,再到单写者事务及 build/run 分离。项目会话、可靠失效证据、常驻服务和最终发布不提前跳过。
Iviesever commentedon Sep 8, 2026
独立证据加固 PR #169 已发布(尚未批准合并)
重新核对实际 main
a9792704e0b2f040206974f717cc103d2a1e3c71和正在推进的调度器 #168 后,没有重复实现或混入其改动。本次写入通道已恢复,已将上一会话未提交的证据加固补丁进一步补齐可执行故障测试,发布独立 Draft PR #169。a9792704e0b2f040206974f717cc103d2a1e3c71;提交 head:3d80ee34bb086f46e157098a350259767561787f。#168 继续作为独立调度层主题审阅;#169 不授权 CLI 取消、RPC/残留写入完成或写租约移交,不标记 M1b 完成。下一交接和合并/否决判断将在精确源码验证后追加,不重写原路线。
Iviesever commentedon Sep 8, 2026
M1b 本轮已交付并合并:#169 证据失败路径加固
上一会话未提交的 guardrails 已补齐实际 Windows 验证并作为独立 PR #169 发布、审阅、合并;不是继续只交付补丁。本轮没有重复或混入调度器 #168。
精确状态与决定
a9792704e0b2f040206974f717cc103d2a1e3c71。3d80ee34bb086f46e157098a350259767561787f。361780d580b9be17548f3873f802b3df5deb7279。1da47599c2c0206176d30f07da530ff469b3ea6f、最终 merge 的 tree 都是c9cae9887556185805739ffb99211529e60082a6。代码交付
四个 test/CI 文件,406 additions / 29 deletions:现有 MSVC 探针、采集器、default-endpoint workflow,以及新增
tests/native/verify_ownership_evidence_contract.ps1。默认端点遇到工具链覆盖、空赋值或 removal entry 直接拒绝,不先重置成看似干净的环境;已捕获诊断和基础设施 native code 在可能抛错的 postflight 前输出并刷新;采集器核对必需及实际工具记录、原始退出码、严格身份/类型/安全字段;默认清理未证实时停止后续场景及二进制读取/哈希。
没有生产源码/头文件、manifest、原79项 native executable 清单、benchmark、调度器、CLI 或 freshness 改动。七种 MSVC profile、/Zi或/ZI、/FS、固定24k A/6k B输入和大型A专用/bigobj都保持。新测试并非新产品取消策略。
已完成的精确源码验证
全部为该 head 首次运行,没有 same-head 重跑直到绿。合并后新触发的 push CI 不冒充上述已完成的 PR 源码树验证;标题/ready切换后跳过的性能 job 不替代实际 #544。
不利数据与未证实边界仍保留
真实矩阵各自14个非受管对照通过,14个默认自然排空对照通过。但是按祖先树受管清理仍杀死全部28次A-started原服务,保留 3个default + 2个private的B首次C1090失败,后续98次恢复编译成功不覆盖首次失败。
准确B PDB服务身份只在default 8/56、private 3/42 出现;drain的B 3/14、A-at-request 9/14。空A-after集合不证明残留写入已经停止。自然排空request-to-result约 4.570–12.327秒,包括捕获/诊断开销,不是有界取消保证。所有安全授权字段仍为false。
外部timings-off no-op paired median −0.723ms/−6.29%,MAD0.867ms,最大不利+0.895ms,未触发预先声明的“同时>+1ms且>+10%”中位门槛。不声明提速或零开销。 Instrumented public-header和link-only均4/4更慢,中位分别+17.561ms/+14.74%、+32.838ms/+47.77%;modules-cold最大+582.944ms。所有不利/有利样本保留,成因尚未隔离,不当作噪声删除;历史cold-tail债项(含#167的+3.738秒)未关闭。
可复核物证
完整真实矩阵审阅;全部19行ABBA;合成检查与LF/CRLF审计纠正。首次外部哈希断言错误是LF/CRLF比较不一致,已用精确CRLF重建核对并保留,不涉及源码修正或CI重跑。
已下载并独立核验原始ZIP SHA-256:
bc6c1af7dd8452adbeac7710cbcdd5d85cbd0cb4931fb932772984ef68629e5e40379c8325184e6e663ceced0f277c40ce35ea28e62b03b97ef79270c9ffcb8d6a86db0d6c8ddba81a3ba3f908f35fc578215bec06b6cd4d872c512f950e1665f2cd3d6b05a0f95e32e44254b0902d04ea0492da1fe44077cabf4d54eb357854d8ce6491df8ad8e5284e4e4ee19d77e5a5b319e91aec79f7f297fad9eb1020b1诊断ZIP排除生成二进制本体,只保存post-case哈希,不是取消瞬间快照;单独的exact-input ZIP包含两份实际预构建可执行文件,其哈希与observer provenance一致。Actions保留期30天,当前交付会话另保留原始ZIP、精确代码、patch、复算脚本和日志。
下一接手点
以
361780d580b9be17548f3873f802b3df5deb7279为新main继续。#168仍独立、未合并:本次已完整审阅其源码、独立复算旧base/head ABBA,并核对default56/private42原始artifact;未发现新的源码阻塞,但未把这些旧base结果当作更新后的组合树验证。#168交接评论记录了7个default/8个private原始B失败和准确artifact哈希。下一步收束#168在最新main上的源码树/必要CI与合并判断,之后使真实MSVC自然排空夹具实际调用该scheduler API;目前夹具尚未调用它,不能把通过的drain实验冒充生产取消传播。部分worker启动失败、异常owner及外部writer权威仍需证据,之后再按本Issue接单写者事务和build/run分离。会话、可靠失效、常驻服务及最终VERSION/release保持原路线顺序,不提前跳过。
Iviesever commentedon Sep 8, 2026
#168 已按更新后的 base 收束并合并;下一独立 PR #170 已发布
先完成前一交接点,不把旧 base 验证挪作新组合源码的证据:将 main #169 的四个独立文件合入 #168 分支,保留调度器全部源码与历史,得到 head
df2299cf7206dc50a0d83f2c0b34116ad7fd11eb,精确 base361780d580b9be17548f3873f802b3df5deb7279。#168 接受与实际 main
已普通 merge(expected-head 校验,无保护绕过)到 main
d01bb920e030202c33639f59139491ac7f49117c。候选、PR test-mergec7d6a7331218c96d490f5f1fddcfbce5bd226ce5、实际 merge 的 tree 均为ff277482bb55b3c4cb6e6665c75da1b849e620e9。合并后重新读取 VERSION5.5.0,未改 tag/历史资产或正式发布。完整最终审阅与全部19行ABBA。新head首次运行 Native Debug#705、完整Release/self-host/package#600、Documentation#161、Cross-Stage#185、default56/private42+126合成契约、独立ABBA#547均完成。实际scheduler测试在Debug job102063095038及Release job102062680076的subshard3/8均编译/链接/执行PASS;publish-release跳过。没有同head重跑直到绿。
ABBA#547共76对;72对instrumented counters/breakdown/hit-miss一致;外部timings-off no-op配对中位−0.025ms/−0.11%,未触发原先声明的同时>+1ms和>+10%门槛。不宣称提速或零开销:cold4/4慢、common-header no-op3/4慢及全部不利/有利样本保留,历史cold-tail债项不关闭。原始ZIP10056074034 SHA256
e838faa8b1daba07c37ceb8f82ca2ef81a048df394e9549ec228c7f66eff54e2。真实矩阵保留default2个/private1个B首次失败(C1001/C1090),全部28次A-started受管结束仍杀死原服务;恢复编译不覆盖首次失败。全部14个direct-drain对照通过,但这些夹具尚未调用新增scheduler API。原始default/private ZIP10056245910/10056194181已独立核验;完整限制和哈希在审阅中。初始layout失败、修正和旧base ABBA#543不删除、不当作新head证据。
下一项已实际提交:#170
独立 Draft PR #170,精确base
d01bb920...、提交headf52a8adc170c91910f497ec12dbda780920d7f4a、treeebea0dbe0bd5e2339202860fc4582c74998e7bb9。仅四个fixture/collector/contract/workflow文件,156 additions/15 deletions,不重复改scheduler实现或生产调用者。新增14个真实 scheduler-drain 场景,实际调用
BoundedWorkScheduler::run_with_admission_stop,保留原56个默认端点场景作为独立对照;默认总数70,private仍42。A一项在途编译、一项pending;夹具桥接事件到API token,在途cl自然完成、pending不得派发,B继续原始compile/link/run。检查真实返回summary、原始A编译结果、取消转发时callback仍活动及A/B句柄观测。token不传ProcessSpec,10ms桥接等待不是取消时限。150个合成证据契约、default70/private42、完整native/release/self-host/package及独立精确base/head ABBA门槛已在PR测量前声明。当前仅本地GCC严格语法/静态检查通过,没有声称本地MSVC或PowerShell运行;#170尚未批准合并,不能借用#168绿灯。
#168只完成opt-in scheduler原语;#170只拟验证其真实工具夹具调用。都不是CLI Ctrl+C、RPC完成、外部writer穷举或写lease释放证明,M1b仍未完成。部分worker启动失败、异常owner/清理未证实和事务权威仍是后续边界,随后再按原路线接单写者事务与build/run分离。
Iviesever commentedon Sep 8, 2026
本轮交付完成:#168 已合并;#170 真实 API 夹具验证通过,但否决本轮合并
延续前一条交接,不改写路线。先收束了 #168 更新到 #169 后的精确源码验证并普通合并,再发布独立 #170 做真实 MSVC 对 scheduler API 的调用验证。两项没有混为一个 PR 或共用性能结果。
仓库实际状态
d01bb920e030202c33639f59139491ac7f49117c,为 feat: add opt-in scheduler admission stop and natural drain #168 的普通 merge;受验证 headdf2299cf7206dc50a0d83f2c0b34116ad7fd11eb,base361780d580b9be17548f3873f802b3df5deb7279。候选/测试合并/最终 tree 都为ff277482bb55b3c4cb6e6665c75da1b849e620e9。283b50733601926840fdcd0474d10a06a4f75c7d,treee62083fae3e43550a97abcd9d0410da5d4748f2c;PR test-merge3ebce37b047aed9e756f497f9bff7e546d70ec4f的 tree 与 base/head parents 已核对。本轮新增代码与真实结果
#170 仅四个 fixture/collector/contract/workflow 文件,157 additions/15 deletions。不改生产源码/头文件、scheduler 实现、manifest、native executable 清单、benchmark、CLI 或 freshness。
原 default56 和 private42 保留;新增 14 个 scheduler-drain,default 总数70。A 实际调用
BoundedWorkScheduler::run_with_admission_stop(2,1,...),取消只关闭回调接收,已启动的真实 MSVC 编译自然完成,pending TU 不再派发;B 原始两项编译/链接/运行不受这个 admission token 终止。既有直接排空对照继续保留。14/14 新 API 场景通过:实际 summary 的 worker_count/started_count 都为1,三个 stop 字段为true,取消事件确实在callback活动期间转发,bridge_error0,无callback/scheduler异常;原始A编译0、pending未派发、A/B真实进程重叠、A句柄退出、原MSPDBSRV存活、B首次compile/link/run0。独立比较了与直接对照的 56份源文件字节和70份仅归一化case目录的argv,输入保持一致,不是改工作量换取通过。
这只弥补了“真实夹具尚未调用新API”的缺口,范围是A单worker、一项在途/一项pending。不宣称多worker真实取消、CLI Ctrl+C、全orchestration传播、owner崩溃或写lease安全。callback活动包含compile/capture/diagnostics,不等于RPC在途证明。两个安全授权字段仍为false。
正确性和精确源码验证已完成
修正后的head首次执行:Native Debug #708/34229725695(全部分片及freshness/runtime/parameter等)、完整Release/self-host/实际package验证 #602/34229725662、Documentation #163/34229725639、Cross-Stage #188/34229725648 全部通过;publish-release skipped。
Default #8/34229725685:150/150合成预期匹配(113接受/37拒绝)、7项C++helper自测、2项拒绝检查、真实70/70完整;Private #10/34229725690:42/42完整。所有非受管对照和14个旧direct-drain对照通过。精确预构建两份exe的实际hash与observer provenance匹配。
不利结果保留:default 3次原始B失败(C1090/C1001),private 1次(C1051/C2471);原有受管策略在28次A-started结束中仍全部杀死原服务。后续112次恢复编译成功没有覆盖首次失败。B资源身份只在9/70default、5/42private出现;新scheduler-drain的A-at-request8/14、B1/14。空A-after集合不证明外部writer已经收束。新场景request-to-result约4.319–10.005秒,含诊断/捕获开销,不是取消时限。
为什么 #170 不在本轮合并
首次head
f52a8adc...的独立外部timings-off no-op,配对中位 +1.6946ms/+13.7988%,实际触发预先声明的“同时>+1ms且>+10%”门槛。核对了原始4对、两种顺序、时钟及语义计数,没有定位原因;没有删掉不利数据当作噪声。该head还在probe编译阶段报C2676:mutable字符串调用被ADL选为
std::quoted。已只修正为(quoted)(callback_exception)并补说明,保留初次default/private构建失败artifact,初次真实矩阵均0观测。该代码修正解释了编译失败,不解释MQB计时异常;初次Release因真实源码更新取消,未计入完整验证。新head独立ABBA #550/34229725755 实际完成19x4=76对,72对instrumented counters/breakdowns/hit-miss一致,4对外部计时counter不可用。新外部no-op中位 +0.14575ms/+1.6312%,本次未越门槛;但这不能倒推首次异常消失。新不利尾值:scale-cold +3946.398ms,single-TU +1076.118ms;scale-single-TU中位 +87.006ms/+84.69%。没有声称这是测试代码导致的因果回退,也没有声称它无害。缺少性能那一对实际exe及逐次外部span/OS物证,归因仍不足。
决定:功能夹具结果接受为限定范围证据;#170 本轮不合并,保持Draft,性能调查未闭环。 不修改门槛,不因后一组更小中位数自动放行,不回退已独立接受的#168。没有同head重跑直到绿,历史cold-tail债项不关闭。首次异常及新head完整19行表均保留。首次MAD文本笔误已在最终审阅更正为0.91645ms,复算结果和门槛判断不变。
物证与下一接手点
已下载核验原始ZIP:default10057916488 SHA256
5081cd6141a1792e7c9efeebb3241b21e562a4f69a185ffdc078ce73ef19d839;private10057682494cfa647a2a9472a11477320e1a7fa2e76b39284cbe99668ea6444274342f79862;新ABBA10057522616f2479c1e3d740d096b32f3380144c76bfb780297af118703644733cd5358dcd9;首次ABBA10057161311f751e428a0d19a0ab28e18fafdb802512096b3010500a85e8801aa5089d04126。其他contract/input/build完整hash和初次失败在审阅/本次交付包。诊断ZIP只保留post-case二进制hash,不冒充取消瞬间快照;单独input ZIP保留两份observer输入exe,不能当作performance binary pair。Actions保留30天,本次会话另留原始ZIP、精确代码和可复算脚本。下一独立主题先做固定预算的性能归因:测量前声明样本和判定,保留实际benchmark二进制/环境身份和逐次外部记录,配合A/A校准与A/B,而非重复跑到绿;历史缺失物证不能事后伪造,后续任何风险接受必须明确留下这个缺口。先据此收束#170,再推进真实多worker/失败传播与typed取消结果,之后才是单写者事务和build/run边界。M1b仍未完成,M2–M5原路线顺序与最终VERSION/release独立处理要求不变。
Iviesever commentedon Sep 8, 2026
下一轮已实际提交:独立 PR #171 固定预算性能归因
main仍为
d01bb920e030202c33639f59139491ac7f49117c;#170仍是Draft/HOLD,head283b50733601926840fdcd0474d10a06a4f75c7d,没有借此修改或放行取消/写lease。新Draft #171 基于上述main,新增可选调用记录器、固定AA/AB采集器、实际helper契约测试和专用workflow。产品源码/头文件、manifest、scheduler、CLI/freshness和VERSION5.5.0不改。原fixture输入/调用顺序/cache断言保留。
调查预算在运行前已写入#170评论及#171:固定runtime A=d01、B=283b,8个AA对+8个AB对=32份完整报告、672次调用记录,交错contrast和执行顺序;AA两侧用同一路径同一A二进制,不扣除AA波动、不挑样本、不反复跑到绿。保存实际二进制、source/build/runner身份、白名单环境、原始合并文本输出/退出码、四个外部单调时钟边界。18个场景仍启用MQB内部timings,只有timings-disabled-no-op真正timings-off;新的observed外部时钟单独标记,不冒充历史无observer样本。缺失的历史OS trace不能重造,未实现的子进程PID/CPU/ETW不填成已知。
同时#171还运行独立PR base/head、observer OFF的原19x4ABBA,与固定调查pair分开。原同时>+1ms且>+10%外部no-op配对中位门槛不改;#170的首次越线和历史cold-tail债项保留。
初版head
0a747bac...的Windows契约测试在inactive-observer兼容测试处真实失败:测试错误地让旧版wildcard Push-Location接受[]目录,之前25项检查和原始记录保留。固定调查被依赖门禁跳过,尚无AA/AB新调查数据。只修正测试:保留旧版拒绝[]目录的限制作为负向断言,再用普通含空格目录检查legacy兼容;observer对literal路径的测试不删。新head928a5b9e3ce415c1741c441ee7702d4736291ac2等待自身实际验证,未做同head重跑。初版artifact10060163305与日志保留。本轮目标是补齐可归因外部记录和校准,不声称已经解释#170异常;最终合并/继续HOLD决定将以真实结果追加。M1b和最终VERSION/release边界不变。
Iviesever commentedon Sep 9, 2026
恢复实际交接状态并开始单主题:link-cache 保存子区间
本次重新读取确认:#171 已合并,main为
c8c8c0172850ff11351b63d5bd1507a7f57ac01e,treeaf6b293f04521575a2bdbd2fc31bc156b676d0c8。上次聊天最终答复仍称main=d01、未交付归因代码,与实际仓库不符;以后以上述真实状态和#171最终审阅为准。#170继续Draft/HOLD,head283b50733601926840fdcd0474d10a06a4f75c7d;此次不修改它或放行CLI/lease。#171 已完成固定AA/AB的32份报告、672次调用记录,保留同二进制AA的长尾并将部分开销缩到link/cache-save范围。它没有证明具体磁盘/杀软/OS根因。本轮从已合并的观察工具继续,不重复实现AA采集器。
本轮单主题:在既有timings收集器中,为 LinkCacheFile::save 增加序列化、目录/临时路径准备、整个stream生命周期、payload write、flush、安装替换的子区间。stream包含payload/flush与隐式close,安装包含原有失败清理;不改变文件格式、顺序、错误分类、写入次数或freshness,不把flush当作durability证明。只加观察,不声称性能优化。
测量前固定验证:完整native Debug/Release、自举和实际package;独立原19x4精确base/head ABBA,72对instrumented语义计数一致,timings-off外部no-op原门槛(同时>1ms且>10%)不改;另行固定 8份候选完整fixture报告=4个同路径同二进制AA对、168次调用记录,保留实际binary/source身份、原始输出与嵌套子区间,检查144个instrumented样本的包含关系和零写入场景。不得把嵌套work相加成wall elapsed。任何异常均保留,不自适应增加样本或同head跑到绿。
分支
codex/v6-link-cache-write-subspans已从精确main建立。VERSION保持5.5.0,历史tag/资产及正式发布不动。本轮不提前推进单写者事务或daemon;最终接受/拒绝决定以实际新head验证追加。Iviesever commentedon Sep 9, 2026
本轮已交付 #172;因真实默认端点对照失败,保持 Draft/HOLD,不合并
先纠正接手状态:#171 已实际合并,本轮重新读取的 main 仍是
c8c8c0172850ff11351b63d5bd1507a7f57ac01e,不是旧 d01。#170 继续独立 HOLD;没有重复开发 #171 的 A/A 观察器。精确代码与决定
独立 PR #172,base 为上述 c8;head
6386cc2be1207c25692e96c1fe160755f6271edc,tree14ed3d293e64593e3b213cccb57067df59f6bc2b。Native test-mergefd769b90b9ad80c4af1f5978603486c47a55d062的 tree 和精确父提交已核对,且从 CI 源码归档独立重建了完整 base/head Git tree。六个文件、429 additions/8 deletions:在既有 LinkCacheFile::save 中增加序列化、准备、完整 stream 生命周期、安装替换四个子区间,以及嵌套在 stream 内的 payload/flush。生产改动是诊断插桩,不是纯测试改动,也不宣称零开销。保留原文件格式、读写顺序、错误诊断、cache counters、manifest、79项 native executable 清单和 freshness;未改原 benchmark/ABBA。补齐字节一致性和真实文件失败路径 native 测试、9项合成契约与固定4个AA对的采集。
最终完整审阅、19行ABBA与不利证据。本轮不批准合并,PR保持Draft。 VERSION5.5.0、main、历史tag/资产及正式发布均不改。
实际验证:14条成功,1条失败
Native Debug #712/34307133464、完整 Release/self-host/实际package #605/34307133347、Documentation#166、Cross-Stage#189、Reporting#8及相关incremental/PCH/module/build-plan均成功。扩展的link-cache测试在Debug job102327478334、Release job102327521691确实编译/链接/执行通过;publish-release skipped。
子区间研究 #1/34307133260:9项合成预期全部匹配;固定 8份报告、168次调用、144份插桩子区间记录完整,72个未保存样本为零,72次实际保存计数正确,72对AA语义计数一致。保留实际测量exe与完整源码归档。
独立原ABBA #556/34307133279:精确base/head分别构建并实际测量19×4,72对instrumented counters/breakdowns/hit-miss一致;4对timings-off计数不可用。外部no-op配对中位 +0.9536ms/+8.0065%,MAD1.49965ms,最大+3.2324ms,3/4更慢;未触发原先“同时>1ms且>10%”门槛,但接近门槛,不当作零成本证明。
阻塞项不是可忽略的错误策略反例
Default Endpoint #9/34307133230失败:56个记录齐全,但
pch-release-A-started-drain的 A 首次编译退出2,原始stdout为 C1041无法打开A/compiler.pdb。实际argv已经有/FS /Zi /O2 /MT /bigobj /Yucommon.hpp,A/B的PDB路径不同。此前PCH创建和warm编译均退出0。A/drain.json保留first_compile_exit2,root退出1,lifecycle/drain_control均false。原始诊断审阅。原服务存活、B首次compile/link/run成功、pending被抑制、后置清理成功,都不能把A失败算成成功排空;后续恢复编译属于B,不是A。默认排空对照因此是 13/14,违反预先验收门槛。原因尚未定位,缺少该次PDB打开的锁/RPC/OS物证;没有假定是杀软、磁盘或新插桩导致,也没有以不相关为由豁免。未同head重跑、未删场景/改FS/PCH/缩输入。
Private #11/34307133236 的42/42采集通过。两套矩阵另外保留 6个default+2个private的B首次失败,属于旧受管清理反例,和上述阻塞的A对照失败分别记录。全部28次A-started受管结束仍杀死原服务。原始558/413份工具结果、1116/826份stdout/stderr已核对;全部98次后续B恢复编译不覆盖原失败。准确B资源身份仅3/56和2/42,空快照不证明外部写入收束。
新定位结果与局限
固定子区间研究中,72次保存最大 3.039ms,未复现秒级cache-save尾部;这不推翻历史结果。独立ABBA最差的discovery-header配对总差 +3539.437ms,其中link_execution从111.929到3651.657ms,而link_cache_write仅从1.762到1.842ms。本次这个尾值主要落在进程启动/等待/捕获/清理范围,而不是链接缓存保存;不等于已经证明link.exe CPU、某个syscall或OS根因。嵌套/并行work不得相加作wall elapsed。其他不利/有利样本及历史cold-tail债项均保留,#170不解锁。
物证和下一接手点
五份原始ZIP均已下载核验SHA256/CRC,随本次交付另存:contracts10087043962;subspans10087181253;ABBA10087256050;default失败10087359460;private10087263565。完整hash在最终审阅。失败审计保留原positive gate拒绝,不把“失败记录复核成功”冒充“实验通过”。源码CRLF归档与LF Git blob的首次本地审计不匹配已明确纠正,并用完整tree重建验证,无原始数据/CI变更。Actions保留30天。
下一轮先针对真实A/PCH/PDB-open失败做固定预算、保留精确工具和A/B PDB身份的最小调查,不能用一次成功重跑关闭它。 收束该正确性门槛后再考虑#172合并;性能后续优先观察已定位的link/process范围和可信底层事件,而不是盲跑中位数。历史缺失物证不能伪造,M1b、CLI取消、外部writer权威及写lease均未放行。单写者事务、build/run分离与后续会话/失效/驻留/发布仍按原路线依赖推进。
Iviesever commentedon Sep 9, 2026
下一独立主题:PCH/PDB-open 失败的观察器对照,旧 PR 继续 HOLD
重新核对 main 仍为
c8c8c0172850ff11351b63d5bd1507a7f57ac01e,#172 head6386cc2...保持 Draft,其pch-release-A-started-drain的原始 A/C1041 对照失败未解释;#170 的性能 HOLD 也不解除。本次不把用户授权判断理解为跳过证据合并。本轮只做一个有界调查:在同一最新main基础上扩展测试探针,保留原 default56/private42 模式,新增显式 PDB 调查模式。固定 4 对、8 个 pch-release/A-started/drain 新夹具,交替启用/禁用 Restart Manager 资源查询,既有 /FS、/Zi、/O2、/MT、PCH、24k A/6k B 输入及 A/B 并发都不改。要检查的假设仅是“观察查询是否可能干扰时序/访问”,不是已认定它导致C1041。禁用查询的维度明确标成未观测,不填成空且成功。
两侧均增加相同的阶段性 metadata-only、共享读写删除的文件身份快照,保留 volume+128位file ID、原生错误、A/B PDB和PCH身份及查询时间区间;这些句柄在快照结束时关闭,不充当lease,也不声称不扰动。文件身份帮助区分别名,不证明没有外部writer。保存原始工具诊断/参数/结果及post-cleanup失败文件字节和工具哈希;无法验证清理时停止后续场景,不读写可能仍在变化的二进制。
运行前固定上述预算,不重复同一槽位,不把一次不复现称作问题消失。调查有效性与对照构建成功分开:任何原始A/B失败照实保留并阻止旧PR解锁。新增metadata文件自测验证不同文件/硬链接、缺失路径、读取共享冲突的原生码和观测不改文件内容;仍需实际Windows验证。独立PR精确base/head原19x4 ABBA、完整native/selfhost/package与旧所有权矩阵照常,门槛不改。
VERSION5.5.0、产品源码、CLI/freshness、历史tag/资产及正式发布不动;不提前做事务、服务或写锁转交。新PR及最终接受/否决结果将追加。
Iviesever commentedon Sep 9, 2026
本轮已完成:#173 调查工具合并;#170/#172 继续 HOLD
按实际证据分别作决定,没有把用户授权理解为必须合并旧PR。#173 已普通 merge(expected-head校验,无保护绕过);#170性能历史越线和#172原始A/C1041对照失败仍未解释,因此两者保持未合并。
精确交付状态
c8c8c0172850ff11351b63d5bd1507a7f57ac01e。8b93235b534a37a188ca673b7612d8bdd5d34dc1。792fa39d3c2489ad520d25139709d6b0144ea29a。2aae2c2022dc2dfb22463bb7e9320554fef389bd、实际 merge 的 tree 都是26c21df19800de6eac2d1597fbfe3998dc1f617f;本地完整源码归档重建树亦匹配。新增代码与固定研究结果
三个test/CI文件,480 additions/9 deletions。原探针增加显式PDB调查模式,新采集器和独立Windows工作流;产品src/include、scheduler、原default/private采集器与工作流、benchmark、manifest、native清单、CLI/freshness均不变。
预先声明的4对/8个PCH Release A-started drain夹具全部完成:资源查询开启4次、关闭4次,交替顺序。两组A首次编译、B首次compile/link/run均4/4成功,pending A未派发、原MSPDBSRV存活。源文件及仅归一化case目录的argv与历史失败夹具完成24项一致性核验;没有缩输入、删PCH或改/FS。
24个阶段快照的96次metadata-only文件身份读取成功,A/B PDB和PCH物理身份均不同;三次有限快照之间未观察到身份更换。16次RM查询返回成功(15次空集合、1次准确A-at-request服务身份),另16个禁用槽位明确null/unattempted,不算成功空查询。保存88份原始工具结果和176份stdout/stderr、精确probe/MQB字节、六种工具文件post-case哈希。
这次没有复现C1041,但没有证明RM是原因或无关,也没有重造#172失败时的exe/主机/锁/RPC事件。 两组都有新增metadata观察,可能改变时序;空资源集合不是无writer证明。因8例都成功,失败后PDB/PCH复制路径未在真实失败中被执行。旧#172失败记录不改为通过,#170也不解锁。原始研究及矩阵审阅。
完成的独立验证与不利证据
Native Debug #713/34313621122 全部分片及freshness/runtime/parameter检查通过;完整Release/self-host/实际package #606/34313621138通过,正式发布跳过;Documentation#167、Cross-Stage#190通过。
PDB研究 #1/34313621181:10项合成预期匹配(3接受/7拒绝),7项真实文件身份/共享测试通过,8固定编译场景完整。原Default #10/34313621117 56/56、全部14个drain对照通过;原Private #12/34313621161 42/42,全部非受管对照通过。它们是新head自己的验证,不能倒推旧head失败不存在。
保留Private的3个B首次C1090/C1051失败;Default本次B首次构建全成功,但两套矩阵全部28次A-started受管结束仍杀死原服务。成功恢复编译不覆盖原失败,成功构建也不等于服务所有权安全。
独立原ABBA #558/34313621163:19×4=76对,72对instrumented counters/breakdown/hit-miss一致;4对timings-off计数不可用。外部no-op中位 +0.8505ms/+7.1121%,MAD0.35225ms,最大+1.3756ms,4/4更慢,未触发原同时>1ms且>10%的中位门槛,不作零成本/提速结论。scale-single-TU也4/4更慢,中位+22.045ms/+16.82%;discovery-cold尾部+550.034ms。全部不利/有利样本保留,无同head重跑、无噪声删除,历史cold-tail债项不关闭。完整19行表。
8份原始ZIP已独立核验SHA256/CRC并另存交付,包括实际调查输入二进制,但不是ABBA二进制对;完整hash在审阅中。源码树、补丁和只读复算脚本同时保留。Actions原始保留期30天。不把合并后新触发push CI冒充上面的已完成PR检查。仅有pre-PR转录占位符修正,历史保留,无post-PR源码修正或同head重跑。
下一接手点
从 792fa39... 继续。不要再以“多跑几次都成功”作为解除HOLD条件;下一最小调查需要实际cl/MSPDBSRV文件打开或RPC失败事件的原生返回码、进程/文件身份及事件完整性验证,并加入单独标记的受控失败阳性校准。不要把刻意制造的共享冲突当作自然排空失败,也不要把RM枚举冒充事件跟踪。观察器可能扰动、历史缺失事件不能补造的限制继续记录。
旧#170/#172今后重审时必须针对新的main/组合源码树核对验证,不能沿用旧base标签。收束正确性/性能决策后再继续真实多worker、失败/取消结果传播及单写者事务和build/run边界;会话、失效、可选驻留和最终VERSION/release保持原路线依赖,不提前跳过。
138 remaining items
Merge #208: enforce external no-op acceptance; preserve #207 HOLD
Merge #209: reviewed no-op diagnostic tooling; execution remains closed
Merge #210: validate complete diagnostic evidence; study remains closed
Merge #211: bounded helper preflight; diagnostic study remains closed
Merge #212: reviewed retained diagnostic executor; no study allocation
Merge #213: correct compact no-op validation; retain stopped study001
Merge #214: reviewed second-study admission; no study allocation
Merge #215: reviewed causal-trace tooling and owned cleanup; no trace…
Merge pull request #243: retain same-invocation module and header-uni…
Merge pull request #244: retain same-invocation module target cache e…
Merge pull request #245: retain ordinary target compile-cache evidence
Merge pull request #246: project recorded ordinary target storage ref…
test: canonicalize DLL role fixture and retain cache evidence
Merge pull request #247: correct LINK creation-message input roles
feat: consume recorded ordinary-target evidence in generation models