@@ -46,10 +46,11 @@ Draft PR [openxlings/xlings#521](https://github.com/openxlings/xlings/pull/521)
4646
4747mcpp 分支为 ` feat/template-runtime-graphics-aur ` ,基线为
4848` 80291ca01a982c1e8c00e43bfa97ffe68516e6d7 ` 。核心实现和原生诊断 checkpoint 是
49- ` ed4cf64279a5da94c736742338e5b01d90e297b8 ` ;随后增加中文交接、验证账本和公共发布身份,
50- 隐私修复 checkpoint 为 ` cf39cb2 ` 。截至该 checkpoint,相对基线共有 29 个可追溯
51- commit,改动 111 个文件,约 14,976 行新增、1,692 行删除。接手时仍须重新比较本地与
52- 远端 HEAD,不要把本文快照当成可变分支的永久 HEAD。
49+ ` ed4cf64279a5da94c736742338e5b01d90e297b8 ` ;随后增加中文交接、验证账本、公共发布身份,
50+ 以及不泄露本地路径的 exact-index 路由诊断。本文更新时远端 HEAD 为
51+ ` 9a47ccf5727a2756451812da2c98e18e1f034409 ` 。相对基线共有 31 个可追溯 commit,改动
52+ 111 个文件,约 15,049 行新增、1,692 行删除。接手时仍须重新比较本地与远端 HEAD,
53+ 不要把本文快照当成可变分支的永久 HEAD。
5354
5455设计和验证文档按以下顺序阅读:
5556
@@ -198,6 +199,8 @@ commit,改动 111 个文件,约 14,976 行新增、1,692 行删除。接手
198199| ` 9f6161a ` | 新增完整中文 PR 交接文档 |
199200| ` 6e42d6c ` | 同步 Arch、CI 和跨仓库验证账本 |
200201| ` cf39cb2 ` | AUR 使用 ` speak-agent ` 公共 noreply 身份,并增加隐私回归 |
202+ | ` 189c6d1 ` | 记录隐私安全 AUR checkpoint 和 12/12 契约结果 |
203+ | ` 9a47ccf ` | exact miss 输出隐私安全的 index route 状态,供 Windows 原生定位 |
201204
202205每个逻辑 commit push 后都在 PR #400 留有 checkpoint。issue #380 、#392 、#396 也已经
203206收到“实现已进入 Draft、但发布前不关闭”的状态评论。
@@ -243,8 +246,19 @@ edge,但 stage/main BMI 已经稳定。测试现在只约束它负责验证的
243246- workspace 根 ` [indices] acme = { path = "index" } ` 在 Windows 上经
244247 ` weakly_canonical ` 后可能因为 short-name/case alias 与成员视图失去字符串身份。现在使用
245248 ` (workspace_root / relative_path).lexically_normal() ` ,既把相对 index 锚定到根,又不改变
246- 用户声明的 lexical identity。新增 focused unit,相关本地 E2E #12 通过;最终仍以原生
247- Windows CI 为准。
249+ 用户声明的 lexical identity。新增 focused unit,相关本地 E2E #12 通过;但
250+ ` ed4cf64 ` 的原生 Windows E2E 2/2 仍在 workspace member 的 `mcpp add
251+ acme.util@2.0.0` 失败,因此该提交不是完整修复。
252+ - 失败 job 为 run ` 31321961040 ` / job ` 93266267511 ` ;错误只有 `package 'acme.util'
253+ not found in any configured index` 和 ` tried: (acme, util)`。同一原生 Windows 矩阵的
254+ ` PmIndexRoute.WorkspaceMemberReadsRootAnchoredRelativeIndex ` 已执行并通过,说明纯单元 fixture
255+ 没有覆盖真实进程/工作目录视图。
256+ - 已下载该 job 构建的 Windows artifact,并在隔离 Wine 环境中同时用手工 member 和
257+ ` mcpp new m1 ` 重放;两条 ` mcpp add acme.util@2.0.0 ` 都通过,所以不能把 Wine 结果外推为
258+ GitHub Windows 已修复。
259+ - ` 9a47ccf ` 增加永久、隐私安全的 ` route: ` 诊断,只报告 local index 的 root/` pkgs `
260+ present/absent,不输出盘符、用户目录或绝对路径。下一轮原生日志将区分 workspace
261+ inheritance、路径锚定和 descriptor read 三层;拿到证据前不猜测修复。
248262
249263### 5.6 隔离 HOME fixture 使用错误根
250264
@@ -273,6 +287,9 @@ mcpp,而没有进入目标 nested-tool regression。fixture 现在使用
273287- 一轮隔离 Linux 全量 E2E:186 pass、1 fail、19 个平台/能力 skip。唯一失败是 #156 的
274288 fixture 根错误,修复后精确重跑通过。
275289- ` ed4cf64 ` 后精确重跑 #12 和 #156 通过,完整 72/72 unit 再次通过。
290+ - ` 9a47ccf ` 按 TDD 先得到缺少 ` IndexRoute::describe ` 的 RED;实现后 focused
291+ ` PmIndexRoute ` 12/12、真实 E2E #12 通过,且诊断不包含本机路径。该提交尚未重新宣称
292+ 最新源码全量 unit/E2E 均通过。
276293- 重点 E2E 已覆盖 package/template、事务 scaffold、RuntimeBinding、root-local SubOS、
277294 Rule A/B、provider provenance、stored ` why runtime ` 、AUR/release 脚本。
278295- release manifest contract:12/12。
@@ -297,7 +314,7 @@ mcpp,而没有进入目标 nested-tool regression。fixture 现在使用
297314
298315### 6.3 GitHub CI 快照
299316
300- 以下是 ` ed4cf64 ` 在 2026-08-09 23:53 CST 左右的快照。pending 不是 pass:
317+ 以下是 ` ed4cf64 ` 的终态快照;共 12 success、5 failure、1 cancelled。cancelled 不是 pass:
301318
302319| 状态 | Job |
303320| ---| ---|
@@ -306,22 +323,25 @@ mcpp,而没有进入目标 nested-tool regression。fixture 现在使用
306323| PASS | musl + LLVM toolchain |
307324| PASS | MinGW Linux→Windows build + Wine run |
308325| PASS | Windows→Linux cross-build及 Linux artifact run |
326+ | PASS | Linux unit、GCC cold toolchain、Linux E2E 1/2 和 2/2 |
327+ | PASS | Windows build/unit/package、Windows E2E 1/2 |
309328| FAIL(已知外部边界) | Linux 构建/运行 xlings |
310329| FAIL(已知外部边界) | macOS xlings LLVM E2E |
311330| FAIL(已知外部边界) | aarch64 mcpp + xlings |
312331| FAIL(已知外部边界) | Windows toolchains + regressions 中的 xlings 构建 |
313- | PENDING | Linux unit、GCC cold toolchain、Linux E2E 1 /2 和 2/2 |
314- | PENDING | Windows build/unit/package、 Windows E2E 1/2 和 2/2 |
332+ | FAIL(mcpp 内部,仍在定位) | Windows E2E 2 /2 的 workspace root local index |
333+ | CANCELLED | bare Windows/no-Visual-Studio;被后续 push 的 concurrency 取消,不作结论 |
315334
316335四个已知失败都发生在构建当前 xlings source 时的裸 ` ftxui ` exact miss;对应 #521 ,
317- 不能在 mcpp 中用 fallback 掩盖。其它 pending job 必须等终态后再分类。
336+ 不能在 mcpp 中用 fallback 掩盖。Windows E2E 2/2 是独立的 mcpp 问题,不能归入 #521 ;
337+ ` 9a47ccf ` 的 latest-head 原生矩阵需先给出 route 状态,再做下一笔最小修复。
318338
319339## 7. 尚未完成
320340
321341以下项目必须明确交接,不能因为“代码已经很多”而省略:
322342
323- 1 . ** 等待当前 mcpp latest-head CI 终态 。** 特别关注 Windows E2E 2/2,确认
324- ` ed4cf64 ` 真正解决根相对 index;不要只看本地 Linux 结果 。
343+ 1 . ** 等待 ` 9a47ccf ` 的 mcpp latest-head CI 证据 。** 特别读取 Windows E2E 2/2 的
344+ ` route: ` 行; ` ed4cf64 ` 已经由原生 runner 证明没有完整解决根相对 index 。
3253452 . ** 用户 review xlings #521 。** 8/8 CI 已通过,但仍为 Draft/REVIEW_REQUIRED。
3263463 . ** 普通合并 xlings #521 。** 不使用 admin、bypass、squash、force 或历史改写。
3273474 . ** 发布新的 xlings 稳定版本。** 当前 ` 2026.8.9.2 ` 不含 #521 ;需要正常 version bump、
@@ -349,9 +369,9 @@ mcpp,而没有进入目标 nested-tool regression。fixture 现在使用
349369
3503701 . 确认 ` gh api user --jq .login ` 返回 ` speak-agent ` 。
3513712 . 检查 PR #400 本地 HEAD、远端 HEAD 和 clean worktree;不要在原始用户 checkout 上工作。
352- 3 . 等 ` ed4cf64 ` 的全部 job 终态,逐个读取失败日志。只有四个裸 ` ftxui ` 失败可以归入
353- #521 ;任何新失败都要单独 RED/根因/修复/commit/checkpoint。
354- 4 . 把终态快照评论到 #400 ,但先不要为了记录而修改代码或重复 rerun 旧 workflow。
372+ 3 . 等 ` 9a47ccf ` 的 Windows E2E 2/2 输出隐私安全的 ` route: ` 状态;只按原生证据修复。
373+ 四个裸 ` ftxui ` 失败归入 #521 ,其余失败必须单独 RED/根因/修复/commit/checkpoint。
374+ 4 . 把最新终态快照评论到 #400 ;不要重复 rerun 已被新 HEAD 取代的旧 workflow。
3553755 . 请用户 review #521 ;得到明确同意后,转 ready 并普通合并,随后按 xlings release skill
356376 正常发版。
3573776 . mcpp 独立 commit 更新新 xlings pin,push 后评论 checkpoint,再等待新的 latest-head
0 commit comments