Skip to content

Commit f4b64a1

Browse files
docs: record the post-release ecosystem verification and what it caught (#431)
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
1 parent 19cd960 commit f4b64a1

1 file changed

Lines changed: 48 additions & 0 deletions

File tree

.agents/docs/2026-08-15-issues-426-427-analysis.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -631,3 +631,51 @@ ld: cannot find crt1.o / crti.o / -lm
631631
改为**根本不写 marker**:让「什么都没做」有机会被读成「已经做过」是不必要的风险,
632632
而不写 marker 的代价只是每次构建重新判断一次(纯内存)。单测
633633
`ASkippedFixupLeavesNoMarkerBehind` 钉住这一点。
634+
635+
---
636+
637+
# 生态真实验证记录(2026.8.15.2 / 2026.8.15.3)
638+
639+
全部在 `xlings subos use --sandbox` 与宿主机上跑,不是推理。
640+
641+
|| 结果 |
642+
|---|---|
643+
| #427 沙箱硬失败 | ✅ 消失。构建推进到真正的位置,诊断链完整:原因 → 后果 → 补救 |
644+
| #427 全新 SubOS |`mcpp run``fresh-subos-ok`(binding 解析到 `glibc@2.44`) |
645+
| #426 纯 C 共享库(发布版产出) |`NEEDED` 只剩 `libc.so.6`,规则为 `c_shared` |
646+
| 正常 C++ 路径 |`mcpp run``eco-ok` |
647+
| 两端镜像 | ✅ GitHub / GitCode 四件逐字节相同(两个版本都核过) |
648+
| 索引 |`latest` = 2026.8.15.3 |
649+
650+
## ⚠️ 验证抓到的东西:mcpp 给出的补救不成立
651+
652+
2026.8.15.2 修好硬失败之后,那条降级建议**第一次真正被用户看到**,也才第一次被验证:
653+
654+
```
655+
xlings self update # 2026.7.27.3 -> 2026.8.14.1
656+
→ subos_info 仍然不存在
657+
xlings self doctor --fix # ▸ healed 129
658+
→ subos_info 仍然不存在
659+
```
660+
661+
`xlings subos` 没有 repair / refresh 子命令(`new use list remove info stop`),即
662+
**已存在的 SubOS 没有任何受支持的途径拿到这个块**;新版 xlings 只在**创建**时写它。
663+
664+
已开 openxlings/xlings#547,并在 2026.8.15.3 把三处措辞改成陈述事实并指向它。
665+
666+
**这句话不是这次新加的** —— 它出自 xlings 写进块里的原始措辞,mcpp 一直在转述。
667+
把「上游这么说」当成「这是对的」转述给用户,和自己写错一样。而它之所以能一直没被
668+
发现,恰恰是因为在它前面有一道更早的硬失败挡着:**修好一个缺陷会让它后面那些从未
669+
被执行到的路径第一次暴露出来**,所以发布后的真实验证不是形式。
670+
671+
## 发布运维:GitCode 上传两次都撞 10 分钟步骤上限
672+
673+
两次发布的 `publish-ecosystem` 都因 mirror 步骤超时而失败:
674+
675+
* 2026.8.15.2 —— 八件其实**全部传完**(422s / 256s / 579s / 398s),超时发生在最后一件
676+
之后,属于假失败。核验后直接 rerun 补索引 PR。
677+
* 2026.8.15.3 —— macOS 那件(7.4MB,最大)确实没传上去。本地 `gtc release upload`
678+
补传(首次 502,重试即成),再 ranged-GET + 两端 `cmp` 核验,然后 rerun。
679+
680+
⚠️ **判据必须是 ranged GET,不是 HEAD** —— `mirror_res.sh` 自己写着 GitCode 的 HEAD
681+
会撒谎。我第一次用 `curl -I` 得到全部 401,险些据此判定「GitCode 一件都没上去」。

0 commit comments

Comments
 (0)