Repository navigation
[Maintainer handoff] PR review/merge order and integration evidence / 审阅合并顺序 #407
Description
本 issue 汇总这批修复的审阅入口、依赖和合并顺序。2026-10-25 更新:21 个分片已按下列顺序全部合入 main(merge commit,均为 T-Auto 署名/共同作者),最终内容与 #406 已验证 head 等价(仅 docs/CHANGELOG.md 条目顺序不同)。各 PR 正文中的 Closes/Fixes 已按声明关闭对应 issue;保留项见第 4 节。落地明细见本 issue 评论。
建议先按下表审阅分片,再选择一种落地方式。#406 是完整组合的集成草稿,已验证组合后的行为;它不是需要与所有分片重复合并的一份额外实现。
1. 建议审阅及逐项合并顺序
同一行的逗号表示可独立审阅;箭头表示已经核实的提交祖先依赖。跨行次序是便于控制风险的建议,不代表所有行之间都有代码依赖。
| 顺序 | PR | 内容与对应 issue |
|---|---|---|
| 1 | #401 | 所有目标分支的 PR 都触发 CI,附管理员 ruleset 交接。对应 #303 的代码部分;实际启用必需检查仍未完成。 |
| 2 | #344、#389 | 审计存储路径保护(#329);Windows 受限令牌下的 MSYS 用户共享段访问(#363)。 |
| 3 | #383 → #390 → #405 | 增量会话协调和低成本工具视图(#333/#369/#382);会话追加窗口内延后发布、兼容纯文本 prompt hook、首轮就绪回归(#386/#387/#375);独立根会话的阻塞探针隔离(#359,并为 #346 提供运行时修复路径)。 |
| 4 | #392;#391 → #396 | stdin/PATH 与 Bash 脚本契约(#364/#372);终端展示(#32);有界 JSON spill 摘要(#297)。 |
| 5 | #393、#394、#395 | 有界 grep 与完整性口径(#384);catalogue/settings/manifest 一致性(#315);已验证的宿主版本范围及组件图标导出(#200)。 |
| 6 | #398 | macOS Intel 构建、发布与 CI 支持(#371)。 |
| 7 | #388、#397、#400 | 校验和对象说明(#300);升级、卸载及迁移文档(#175/#335/#372);Bash 自有工具限制和 discovery/宿主边界说明(#380/#346)。 |
| 8 | #381 → #399 → #402 → #404 | benchmark 报告/夹具/默认值(#379);跨平台准备及比较保护(#295);实际模型与思考档位路由(#294);candidate 组件开关、就绪检查及比较保护(#296)。 |
| 9 | #403 | PR 审阅快照 CLI,覆盖 #356 当前的 CLI-first P0;后续工具簇、时间线和收益评估未声称完成。 |
这 21 个分片目前均为 ready for review。各自正文保留实现说明、红绿回归和实际 CI 链接。
堆叠 PR 的具体处理
- 已核实的硬依赖为
#383 → #390 → #405、#391 → #396、#381 → #399 → #402 → #404,以及#401 → #404。后一个 PR 已保留前一个 PR 的原始提交,不要重新手工 cherry-pick 同一份实现。 - feat(bench): configure and compare candidate component switches #404 当前唯一例外:base 是
work/resolve-294-model-matrix(feat(bench): route and separate model reasoning conditions #402 的分支),不是main。 feat(bench): route and separate model reasoning conditions #402 合入后,先把 feat(bench): configure and compare candidate component switches #404 改为以main为 base,再删除旧 base 分支;核对差异只剩组件开关及尚未落地的内容。 - 其余分片均以
main为 base,但有些已包含前置 PR 的历史。若仓库策略允许,堆叠链优先使用保留原始提交的 merge commit,让后续 diff 自然收窄。若使用 squash/rebase,原始提交未必成为main的祖先;需先在更新后的main上重新整理仅属于后续 PR 的差异,必要时用新分支和替代 PR,不能仅靠改 base 或合入main假定旧补丁已消除。不要强推共享分支。 - 在保留祖先提交的路线中,每次合入前置项或修改 base 后,将当前
main合入后续分支、核对 diff,并让该 PR 自己的pull_requestCI 对更新后的 head 重新运行。若前置项被 squash/rebase,先完成上一条的差异整理,再获取新 CI。当前绿灯只证明已测试的 head/base,不保证后续任意组合。 - 多个分片都在
docs/CHANGELOG.md的 Unreleased 头部插入内容,逐项合并可能再次遇到文档冲突。chore(integration): combine reviewed issue fixes #406 已保存保留双方条目的解法;不要直接用 ours/theirs 丢弃另一侧。集成时源代码没有文本冲突,workflow 的冲突只涉及注释,但仍需以更新后的 CI 验证语义。 - fix(ptc): re-probe only the agents a change touches #368、perf(prompt): read visible tool names through the scope view #378 当前的 head 已是 fix(ops): reconcile session projections incrementally (#333) #383 的祖先;本路线不把它们当作另一份功能重复应用。其他旧 PR 或依赖升级不在这份批次的合并清单内,需独立审阅。
2. #406 的定位:另一种落地方式
Draft 集成 PR #406 包含上表全部 21 个分片的原始历史及冲突处理,目标为 main。可用于查看最终组合、核对交叉影响和复用已验证的冲突处理。
默认仍按分片审阅/合并,以符合仓库约 1,000 行实现变更的分片约定。 若维护者明确选择整体集成方式,应先完成上表分片审阅、确认接受聚合 diff,再将 #406 转为 ready 并合并这一入口;随后按实际提交/差异核对各分片状态,不再把同一批内容逐项重复合入。若已按分片落地,则重新评估 #406 剩余 diff,不把它当作仍需合并的整批新功能。
#406 目前保持 Draft。没有执行任何 PR merge,也没有批量关闭现有 issue。
3. 当前验证证据(2026-10-25)
核验的 main:662a38871f2241886343090adda0a1107a50e274。集成 head:2e261035f88780015a7e132d36e7614e6cf4a8de。
- #406 自己的 pull_request CI:40116812179:completed / success。9 个执行的 job 全通过,包括 Linux、Windows、macOS arm64、macOS Intel、Node floor 和
CI required;条件化 benchmark smoke 为预期跳过。 - 同一 head 的完整集成 + benchmark smoke:40115118596:
workflow_dispatch,12/12 job 通过,包含 Linux/Windows/macOS 三个平台的 model-free smoke。此运行补充组合证据,不替代上一条 PR-event 运行。 - 所列 21 个分片的当前 head 均有通过的执行检查,GitHub 当前均报告 MERGEABLE。chore(integration): combine reviewed issue fixes #406 也为 MERGEABLE;这是当前快照,不是对未来提交无冲突的保证。
- 本地组合验证:build/typecheck 通过;workflow 89 checks、manifest 133 checks、426 个代码文件大小检查通过;23 个 benchmark/session/review/manifest 套件通过,另有 5 个 metadata/settings/policy/presentation 套件通过。catalogue 套件因独立集成目录未构建 native worker 而跳过,未计为本地通过;完整平台 CI 提供运行时覆盖。
4. 保留的验收边界
- OPS 0.4.0 架构与方案设计:Native 与 PTC 再次平权 #261 保持 open,继续架构讨论。
- [BUG] 0.3.2 Windows 真机实测:启用 hide-official 后整会话 READINESS_BLOCKED(EXECUTOR_UNAVAILABLE)——48 个官方工具无等价物,stock 桌面环境确定性不可用(#178/#169) #207 保持 open,等待 Desktop 重启及新交互会话验证。headless 测试不能替代该凭据。
- [process] 每个 PR 必须跑一次 CI:把 CI required 设为必需检查并固化 fork 流程 #303 保持 open,fix(ci): validate stacked PRs and prepare required-check enforcement #401 仅提供代码和 ruleset 交接;管理员实际启用、验证必需检查仍待完成。
- [TBD] [BUG] 非读取通道看到的内容不计入宿主读取表:gate-repair-loop 基准 toolErrors 1→23(23 个 edit 全数被拒,base 与 ops 两侧均复现) #360 保持 open;[CLOSED] fix(file): state the read-before-edit boundary for searches (#360) #362 继续 Draft / NO-MERGE,且未纳入 chore(integration): combine reviewed issue fixes #406,等待同配置下 OPS 有/无指引的受控模型 benchmark。
- fix(session): isolate stalled presentation probes by scope family #405 证明并修复共享队列阻塞类别,不声称复现/恢复原报告全部多插件 Desktop 环境。fix(metadata): declare tested hosts and export component icons #395 声明测试过的 rc.2 兼容范围,fix(session): defer Bash publication and support text-only prompt hooks #390 的 rc.3 hook 修复不等于全量 rc.3 适配。feat(ptc): support macOS Intel with verified release artifacts #398 有 macOS 15 Intel CI,不虚构 macOS 13/14 真机凭据。
- 当前原有 31 个 issue 继续保持打开;请在实际合并及相应验收后按事实更新状态,不将“PR 已准备好”表述为“main/已发布版本已修复”。
- 合并前检查 PR 正文和提交信息中的
Fixes/Closes:它们可能在合并时自动关闭 issue。对仍需独立验收的条目,特别是上述四项保留事项,应使用Refs等非关闭引用,避免在验收前被自动关闭。
English summary
Review the 21 slices in the table, preserving the three dependency chains and the additional #401 → #404 dependency. After #402 lands, retarget #404 from its feature-branch base to main before deleting that base branch, refresh the diff and obtain new PR-event CI. Prefer the repository's small-PR route; #406 is an alternative aggregate landing path after explicit maintainer review, not another copy to merge after all slices. Its own PR-event CI is now green, and the same head also passed all 12 integration/smoke jobs. Keep the existing issues open pending actual landing/acceptance; #261/#207/#303/#360 and Draft/NO-MERGE #362 retain their specific exceptions.
Activity
T-Auto commentedon Oct 25, 2026
落地结果(2026-10-25)
21 个分片已按本 issue 第 1 节的顺序全部合入
main,最终main=dfafddc941695090df2c6e2e323193785aec4eb6。446552be957549377c9ff870aee18c5b1b9a32eded3be1edededf367fa806b4ea31f2d688fc1fc2522ad291e89c0fde83093da9930285ae1d056ab13f5ca648ba4f95604ea4b3daf62f01db2fb26108cd14bae8cbf1005be927066264327ae0a98673243dfafddc941Co-authored-by: T-Auto <T-Auto@users.noreply.github.com>。main的docs/CHANGELOG.md插入位置冲突的分支,先合入当前main(保留双方条目)再合并;这类刷新产生的 11 个 merge commit 亦由 T-Auto 署名。docs/CHANGELOG.md外,只有 fix(bench): support portable setup and platform comparison guards #399 的.github/workflows/ci.yml出现注释级冲突,已保留双方语义(三平台 bench smoke +validate-macos-intel非阻塞说明)。未强推、未直接 pushmain。main再合并;旧 base 分支work/resolve-294-model-matrix已删除。main与 chore(integration): combine reviewed issue fixes #406 head2e261035f88780015a7e132d36e7614e6cf4a8de的树差异仅docs/CHANGELOG.md的条目顺序(两边非空行集合逐行相同,共 1111 行,集合差异为 0),无代码/文档内容差异。CI required;最终main的workflow_dispatch(bench=true) run 40164321217 12/12 job 成功(Linux、Windows、macOS arm64、macOS Intel、Node floor、workflow lint、source size、tools trial、三平台 bench smoke、CI required)。Closes/Fixes引用的 issue 已自动关闭;OPS 0.4.0 架构与方案设计:Native 与 PTC 再次平权 #261、[BUG] 0.3.2 Windows 真机实测:启用 hide-official 后整会话 READINESS_BLOCKED(EXECUTOR_UNAVAILABLE)——48 个官方工具无等价物,stock 桌面环境确定性不可用(#178/#169) #207、[process] 每个 PR 必须跑一次 CI:把 CI required 设为必需检查并固化 fork 流程 #303、[TBD] [BUG] 非读取通道看到的内容不计入宿主读取表:gate-repair-loop 基准 toolErrors 1→23(23 个 edit 全数被拒,base 与 ops 两侧均复现) #360 保持 open(未被关闭关键字引用);[BUG] 0.4.1 在 DSH 0.2.1-rc.2 (Windows) 上不发布 ops_discover_tools,且全程无日志 #346、feat: [渐进式纰漏工具增加] 适应pr审阅的渐进式纰漏工具簇 #356、[汇总] 评论区零散反馈整理(2026-10-22):stdin 崩溃、发现机制、升级过渡与兼容性 #372、按需加载的 read_pdf / read_docx 基本用不上,模型总是去调 DSH 自带的 office 技能 #408 仍 open;[CLOSED] fix(file): state the read-before-edit boundary for searches (#360) #362 保持 Draft/NO-MERGE;fix(ptc): re-probe only the agents a change touches #368、perf(prompt): read visible tool names through the scope view #378 因 head 是 fix(ops): reconcile session projections incrementally (#333) #383 的祖先、内容随 fix(ops): reconcile session projections incrementally (#333) #383 落地而被 GitHub 自动关闭(即第 1 节所述“不重复应用”)。Written by the landing run; all remote actions were read-only checks plus the ordered merges above.