chore(openspec): archive wave 6 and close the migration tracker

The merge creates the brand capability (two requirements) and extends the
catalog browse requirement with the brand filter, the sales sort and a real
sold count. openspec validate --all --strict stays green at 14 specs.

With every box now checked, docs/TBD-migrate-wave.md is deleted, as its own
instructions require. Its two durable notes move to the README instead of
disappearing with it:

- `nuxt build` does not typecheck, so a green build is not the type gate the
  verification section claimed. AGENTS.md told me to treat it as one, which is
  why waves 1-5 over-reported "builds pass" as evidence.
- the list of what stays deliberately mock: addresses, coupons, favourites,
  account stats, the seckill/collective/integral pages, reviews, and the
  fixed-data adapter itself, which the adapter spec requires for rollback.

The README's verification block also gains the real test count (29, not 16).
This commit is contained in:
2026-09-17 17:36:22 +00:00
parent ce3e8db5b1
commit e457339847
12 changed files with 65 additions and 86 deletions
+16 -2
View File
@@ -60,13 +60,27 @@ pnpm dev:admin # :3002
## 测试与校验
```bash
cargo test -p vmall-api # 16 个集成测试(vmall_test + Redis
pnpm --filter @vmall/mall build # 各前端构建即类型校验
cargo test -p vmall-api # 29 个集成测试(vmall_test + Redis
pnpm --filter @vmall/mall build # 打包;注意:并不做类型校验
pnpm --filter @vmall/shop-admin build
pnpm --filter @vmall/admin build
openspec validate --all --strict # 规范校验
```
`nuxt build` 不做类型校验:`nuxt.config.ts` 未开启 `typescript.typeCheck`,也未安装 `vue-tsc`。构建通过只说明能打包。要补上这道关:加 `vue-tsc` + `typescript` 依赖、设 `typescript: { typeCheck: true }`,首次运行会暴露一批既有错误。在那之前,**能证明页面可用的是浏览器实测,而不是构建**。
## 商城的 mock 边界
`apps/mall` 通过 `apps/mall/plugins/api.ts``liveDomains` 按域选择适配器。已有 API 的域全部走真实后端:catalog、currency、content、brands、shops、auth、cart、orders、shipments、invoices。
仍来自 `~/mock/data` 的部分是**有意保留**的展示内容,不是待办:
- **收货地址**`MOCK_ADDRESSES`):`Address` 内嵌在订单里,结算直接在请求体里携带,不需要地址表。
- **优惠券、收藏、账户统计**:纯展示,不参与交易。
- **seckill / collective / integral 营销页**:纯展示内容。
- **商品评价**:没有评价模型,所以商城不再展示任何评价——卡片上的评价数与详情页的评价页签、评分、回复都已移除,而不是继续展示虚构的评论者与评分。评价是独立功能,不是迁移的一部分。
- **fixed-data 适配器本身**`Mock API adapter` 规范要求它仍能服务每个域,因此它是回滚路径,删除它会破坏回滚。
## 环境变量(后端)
| 变量 | 默认值 |