# Issue 973 P1 Reflog 恢复证据 目标合并分支: UniDesk master ## 范围 本文记录 [#973](https://github.com/pikasTech/unidesk/issues/973) 的 P1 恢复证据。恢复对象是本地分支 `fix/hwlab-tools-image-bun-yaml-2026`,该分支的 reflog-only 提交在恢复前仍会被以下命令列出: ```bash git cherry -v HEAD fix/hwlab-tools-image-bun-yaml-2026 ``` 本恢复 PR 之前,该命令仍会显示未处理的 `+` 提交。 ## 恢复决策 本 PR 使用 `-s ours` 合并旧分支以保留 ancestry,但不恢复过时的单体实现。直接 cherry-pick `06bffaf` 时会与当前拆分模块冲突(`scripts/src/gh/*`、`scripts/src/hwlab-node/*`、`scripts/src/platform-infra-observability/*`),继续套用会把已经被替代的单文件实现重新引入仓库。 当前 `master` 已在现有模块边界中保留这些行为: | 旧提交 | 恢复状态 | 当前语义落点 | |---|---|---| | `0817e3d` | 语义已保留 | `config/hwlab-node-lanes.yaml` 已包含 `webProbe.alertThresholds`;`scripts/src/hwlab-node-lanes.ts` 解析 typed thresholds;`scripts/src/hwlab-node/web-probe-observe.ts` 注入 `UNIDESK_WEB_OBSERVE_ALERT_THRESHOLDS_JSON`;analyzer/runner 消费 YAML 阈值。 | | `1789700` | 语义已保留 | `scripts/src/hwlab-node/web-probe-observe.ts` 已暴露 `webProbeCommandTimeoutSummary`、async start/status fallback、`degradedReason`、report-file 读取失败和 analyzer timeout 恢复元数据。 | | `a08dfea` | 语义已保留 | `scripts/src/platform-infra-observability/manifest.ts` 和 `render.ts` 已输出 trace identity、key spans、resource timing 列、business trace id 和 drill-down 命令。 | | `06bffaf` | 语义已保留 | `config/unidesk-cli.yaml` 与 `scripts/src/output.ts` 已提供全局 JSON/text dump 保护;GitHub CLI 已拆到 `scripts/src/gh/*`,默认输出为 bounded table 和渐进披露。 | | `da3efa4` | patch-id 已等价 | long-lived stream 已与慢 API lifetime 分开分类,同时保留 stream-open budget finding。 | ## 验证 本分支完成 ancestry merge 后,reflog 分支不再报告未处理的 `+` 提交: ```bash git cherry -v HEAD fix/hwlab-tools-image-bun-yaml-2026 ``` 输出为空。 `AGENTS.md` 同步补充了“主 worktree 必须固定停留在 `master`”的 P0 规则,用于满足 [#973](https://github.com/pikasTech/unidesk/issues/973) 验收 A2。