Archived
test(w05): 补一条读真文件的引用相等断言 —— 镜像测试证明机制,这条钉住真文件此刻是对的
复审 Important:w05-s3-review-recompute.test.ts 手写镜像、不 import case-model.ts(架构上也
不能),证明的是"少了 let 会怎样"这个机制,却没有任何东西钉住真文件此刻还带着 let: SHARED_LET
——AutoRecipe.let 是可选字段,typecheck 不报;明天有人把 S3_review.auto.let 删掉,原样重犯
这次的 Critical,镜像测试的红绿完全脱钩、不会发现。
在 steps.test.ts 里"S2 与 S3 用的是同一份投影"那条 toBe 断言旁边加同风格的一行:
expect(stepOf('S3_review')?.auto?.let).toBe(stepOf('S2_assess')?.auto?.let) ——
零新增 import,读的是真 case-model.ts。变异验证:把 S3_review.auto 的 let: SHARED_LET, 那一行
删掉(diff 核过只改了那一行),这条断言变红(undefined vs 期望的绑定对象);加回来
(diff 核过与原文件逐字节相同),变绿。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LKMZDwMbyKzjw6Hembwvet
This commit is contained in:
@@ -314,6 +314,18 @@ describe('S3 / S4 配方', () => {
|
||||
expect(s3[1]).toBe(s2[3]);
|
||||
});
|
||||
|
||||
/*
|
||||
* **这一条读的是真 `case-model.ts`,不是任何镜像**(2026-08-29 复审 Important fix round 2)——
|
||||
* `w05-s3-review-recompute.test.ts` 证明的是机制(S3 少了 `let`,复用的投影主键就算不出来,
|
||||
* 写会被静默丢掉、或拼出一行垃圾);但那份测试手写镜像、不 import 这份真文件(架构上也不能),
|
||||
* 红绿与 `case-model.ts` 此刻写的是什么**完全脱钩**——明天有人把 `S3_review.auto.let` 删掉,
|
||||
* 原样重犯这次的 bug,`AutoRecipe.let` 是可选字段(typecheck 不报),镜像测试也不会变红。
|
||||
* 这一条补上「读真文件」那一半:S3 与 S2 的 `auto.let` 必须是**同一个引用**,少了就在这里当场炸。
|
||||
*/
|
||||
it('S3 与 S2 共用同一个 `let` 引用 —— 少了它,复用的投影主键在 S3 那一拍就是未绑定的空串', () => {
|
||||
expect(stepOf('S3_review')?.auto?.let).toBe(stepOf('S2_assess')?.auto?.let);
|
||||
});
|
||||
|
||||
it('S3 的卡:审核面孔、单一选项、挂本步的件', () => {
|
||||
const card = s3[2];
|
||||
expect(card?.kind === 'card' && card.as).toBe('decide');
|
||||
|
||||
Reference in New Issue
Block a user