diff --git a/.task/fix-pal-component-delivery-pins.md b/.task/fix-pal-component-delivery-pins.md index ea3b5d3e..1d873398 100644 --- a/.task/fix-pal-component-delivery-pins.md +++ b/.task/fix-pal-component-delivery-pins.md @@ -114,6 +114,25 @@ CI 步骤逐个检出并构建三个 pin,依赖三者布局一致。新 `sha` 我先前把 `prev_sha` 设成旧 `sha`(c6304224)是错的——它是 4-pin 布局,且我在单元包与注释里都未核对布局一致性,这是本次返工的直接原因。 +### 进展(run 4714 / job 7830) + +CI 物化修复**已生效**:三个 pin 全部通过 fail-loud 断言并各自构建成功,`missing go.sum entry` 不再出现。`svc-realcombo` 与 `test` 均绿。 + +失败因此推进到下一道门禁——真实组合门禁 `make test-lifecycle`,三个用例红: + +| 用例 | 失败点 | +|---|---| +| `test_prev_and_current_pin_switch_and_back` | `svc.sh` 的 `git fetch(独立 RDM 源仓:rdm)` 退出 1 | +| `test_mixed_batch_updates_forward_and_deploy_reverses` | 同上,更新检测失败 | +| `test_phase_interrupt_reconciles_on_real_artifacts` | 同上,退出码 86 | + +即:CI 里 `rdm/` 是 `--depth=1` 克隆 + 对三个 pin 的 `--depth=200` 取,`svc.sh` 物化 RDM 提交时要对该源仓做 `git fetch`,在浅克隆/对象边界下失败。这属于 `scripts/svc.sh` 的 RDM 源仓取用方式与 CI 浅克隆之间的新问题,**不在本 PR 的 pin 推进范围内**,且我未继续深挖。 + +### 我的两处失误(均已修正) + +1. 选 `prev_sha` 时未核对 pins 布局一致性,把 4-pin 的旧 sha 当成 prev(已改为 6-pin 区间内最老的提交)。 +2. CI 断言写成「每个 pin 必须有 go.mod」——pin 集合混有 Go 仓与非 Go 仓(前端仓根无 go.mod),产生假失败(已改为「HEAD 等于 gitlink 且工作树有已跟踪文件」)。 + ### 未决(需决策) - `prev_sha` 应取 bc8db88 的第一父 `59b3624`(6-pin、与新 sha 布局一致、紧邻交付);但这样 `prev_sha` 与 `sha` 仅隔一个合并,生命周期套件的「来回部署身份稳定性」覆盖力度下降。