Skip to content

Commit 04f0e85

Browse files
committed
docs: check off #278 implementation plan; record T6/T8 actual outcomes
1 parent ba39f9e commit 04f0e85

1 file changed

Lines changed: 17 additions & 17 deletions

File tree

.agents/docs/2026-07-25-issue278-implementation-plan.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,41 +19,41 @@
1919

2020
### C1 索引侧谓词与两个调用点
2121

22-
- [ ] **T1** `xpkg_name_form_violation(declaredNs, declaredName)` + `_from_lua` 导出(`src/manifest/xpkg.cppm`)
23-
- [ ] **T2** `mcpp xpkg parse` 接入谓词,违规 exit 1;`--json` 输出 `error` 字段(`src/cli/cmd_xpkg.cppm`)
24-
- [ ] **T3** `loadVersionDep` install 分支 fail-fast;已解析到安装物的路径 `ui::warn`(`src/build/prepare.cppm`)
22+
- [x] **T1** `xpkg_name_form_violation(declaredNs, declaredName)` + `_from_lua` 导出(`src/manifest/xpkg.cppm`)
23+
- [x] **T2** `mcpp xpkg parse` 接入谓词,违规 exit 1;`--json` 输出 `error` 字段(`src/cli/cmd_xpkg.cppm`)
24+
- [x] **T3** `loadVersionDep` install 分支 fail-fast;已解析到安装物的路径 `ui::warn`(`src/build/prepare.cppm`)
2525

2626
### C2 生成源
2727

28-
- [ ] **T4** `emit_xpkg` 输出 `namespace` + FQN `name`;无 namespace 时 stderr 提示;`--namespace` 覆盖开关(`src/pm/publisher.cppm` + emit CLI)
28+
- [x] **T4** `emit_xpkg` 输出 `namespace` + FQN `name`;无 namespace 时 stderr 提示;`--namespace` 覆盖开关(`src/pm/publisher.cppm` + emit CLI)
2929

3030
### C3 依赖侧收敛
3131

32-
- [ ] **T9** `selectDependencyCandidate` 全候选落空 → 明确失败(`prepare.cppm:1516-1541`)
33-
- [ ] **T10** discovery 档命中后 `extract_xpkg_namespace(*lua)` 回填真实 ns(声明为空则保持空)
34-
- [ ] **T11** discovery 档拒绝声明了非空 `namespace` 的描述符
35-
- [ ] **T12** did-you-mean:仅失败路径的全索引扫描,三约束写进实现注释
32+
- [x] **T9** `selectDependencyCandidate` 全候选落空 → 明确失败(`prepare.cppm:1516-1541`)
33+
- [x] **T10** discovery 档命中后 `extract_xpkg_namespace(*lua)` 回填真实 ns(声明为空则保持空)
34+
- [x] **T11** discovery 档拒绝声明了非空 `namespace` 的描述符
35+
- [x] **T12** did-you-mean:仅失败路径的全索引扫描,三约束写进实现注释
3636

3737
### C4 测试
3838

39-
- [ ] **T5a** 单测:谓词 6 例(含 `CompatAliasIsClean` 回归锁)
40-
- [ ] **T5b** 单测:依赖侧解析(三档成功 / 第三方 ns 裸名失败 / P3 空 ns 锁)
41-
- [ ] **T5c** e2e:split 描述符 → 秒级自解释失败;改 FQN → 通过
42-
- [ ] **T5d** e2e:裸名请求第三方 ns 包 → 失败 + did-you-mean;改写后通过
39+
- [x] **T5a** 单测:谓词 6 例(含 `CompatAliasIsClean` 回归锁)
40+
- [x] **T5b** 单测:依赖侧解析(三档成功 / 第三方 ns 裸名失败 / P3 空 ns 锁)
41+
- [x] **T5c** e2e:split 描述符 → 秒级自解释失败;改 FQN → 通过
42+
- [x] **T5d** e2e:裸名请求第三方 ns 包 → 失败 + did-you-mean;改写后通过
4343

4444
### C5 文档与版本
4545

4646
- [x] **T13** 用户文档 §2.5(`docs/05-mcpp-toml.md` + `docs/zh/05-mcpp-toml.md`)
47-
- [ ] **T14** CHANGELOG 0.0.105 段(含 breaking:裸名不再解析第三方命名空间包)
48-
- [ ] **T15** `mcpp.toml` version → 0.0.105
49-
- [ ] **T11b** 修订 `2026-06-26 §4.4/§4.6(a)` 表述;更新 `prepare.cppm:1456-1459` 注释
47+
- [x] **T14** CHANGELOG 0.0.105 段(含 breaking:裸名不再解析第三方命名空间包)
48+
- [x] **T15** `mcpp.toml` version → 0.0.105
49+
- [x] **T11b** 修订 `2026-06-26 §4.4/§4.6(a)` 表述;更新 `prepare.cppm:1456-1459` 注释
5050

5151
### C6 验收与合入
5252

53-
- [ ] **T6** 全索引 `mcpp xpkg parse` 回归(期望恰好 2 报错),结果贴 PR
53+
- [x] **T6** 全索引 `mcpp xpkg parse` 回归,结果贴 PR。**实测 49/49 mcpplibs 描述符全过、0 违规**(非设计预期的 2 —— 上游 mcpp-index 已先行修好两例);完整 registry(200+)另见 §2.1b 的 xlings-native 修正
5454
- [ ] **T7** 单 PR(`Fixes #278`)→ CI 全绿 → `gh pr merge --squash --admin`
5555

5656
### C7 生态
5757

5858
- [ ] **T16** release 0.0.105 四平台 + 镜像 xlings-res 双端 + xim-pkgindex PR + `xlings install mcpp` 真装验证
59-
- [ ] **T8** mcpp-index:`chriskohlhoff.asio` / `tensorvia-cpu` FQN;lint job 改调 `mcpp xpkg parse`
59+
- [x] **T8** mcpp-index:**上游已完成** —— `chriskohlhoff.asio` / `tensorvia-cpu` 均已是 FQN,#116`tests/check_package_name.lua` 已合入。该 Lua 守卫现与 `mcpp xpkg parse` 冗余但无害,可留作保险(其 CI 本就跑 `mcpp xpkg parse pkgs/*/*.lua`,升级 MCPP_VERSION 到 0.0.105 后自动获得引擎侧防护)

0 commit comments

Comments
 (0)