Archived
fix(engine): 那面「打不回」的旗在容器里被扔了 —— 手写字段清单第三次丢值,改成整包转交
用户:「评审放行与落账确认这一步的验收卡怎么还有重做??你没改上吗?」—— 库里的卡确实没有那面旗:装配层算对了、release 转对了、契约也声明了,而**容器那个显式对象** 只转它点到名的那几样,`redoable` 没被点名就在这最后一关静默落地(编译不报、运行时无声)。 同一处已经吃过三次:①fields 写死成 [](验收报告只能看不能改)②blocks 漏一行(卡面块恒空) ③这次。那几行旁边就写着两条「少写一行就静默落地」的警告 —— 措辞治不了的结构治: context 三样拆出去、**其余整包转交**,以后端口新增可选字段不改这里也到得了。 断言钉在最末端:试跑观测面的卡带上 redoable,e2e 断言「一路到了卡上」。 同批修另一种时序的卡死(同一夜第二次,停掉了一整个 e2e 案例): **决策卡的回传不发事件、只调 wake**,而 wake 只翻停着的单子 —— 卡刚发出那一刻这一拍还在 running,它空转了一次;随后这一拍把任务 park 回 awaiting,再没有第三样东西会来叫 (实测:卡 02:06:13.250 发出、219ms 后被答,这一拍 .636 才收尾,停到 20 分钟超时)。 修:配方发卡收尾前再看一眼刚发的那张卡还在不在等 —— 已经答了就照实说「还在跑」; 只认这一张卡,别的「等外部回音」照旧是等,不会空转成热循环。 假端口同批改老实:发出去的卡默认就在等(从前发完卡还回「一张待答的都没有」)。 验收:e2e w05 5/5 released、被拒 0,案例 0 四条断言全绿(不摆重做 / 对话区说了话 / 点名要的结论落下去了 / 只动被点名的行);两处变异验证;契约变更 api-report 已刷新。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LKMZDwMbyKzjw6Hembwvet
This commit is contained in:
@@ -651,6 +651,12 @@ const SUITES = {
|
||||
* 那句话必须**排在卡之前**才赶得上人看卡 —— 排在卡后面的 say 要等下一拍才跑。
|
||||
*/
|
||||
expectRedoNarration: '按你的意见复核了',
|
||||
/*
|
||||
* **放行那张验收卡不许还摆着重做**(2026-09-01 用户:「怎么还有重做??你没改上吗?」)——
|
||||
* 那一步整个由配方跑完,打回之后没有模型会读那句意见。这个值在链上被静默丢过一次
|
||||
* (容器那个手写字段清单),所以断言钉在**最末端**:卡真发出去之后它还在不在。
|
||||
*/
|
||||
expectReleaseNoRedo: true,
|
||||
expectDecision: true,
|
||||
expectPort: 'assessment-released',
|
||||
/*
|
||||
@@ -1718,6 +1724,17 @@ async function runCase(suite, kase) {
|
||||
console.log(' ⚠️ 这一例没有要补的数据,却派出了一张数据工单 —— 判失败');
|
||||
ok = false;
|
||||
}
|
||||
if (kase.expectReleaseNoRedo === true) {
|
||||
const acc = (last?.cards ?? []).filter((c) => c.mode === 'acceptance');
|
||||
const bad = acc.filter((c) => c.redoable !== false);
|
||||
if (acc.length === 0) {
|
||||
console.log(' ⚠️ 一张放行验收卡都没见到,「不摆重做」这条没验成 —— 判失败');
|
||||
ok = false;
|
||||
} else if (bad.length > 0) {
|
||||
console.log(` ⚠️ 放行验收卡上还摆着重做(redoable=${String(bad[0].redoable)})—— 判失败(这个值又在链上被丢了?)`);
|
||||
ok = false;
|
||||
} else console.log(' 放行验收卡不摆重做(redoable=false 一路到了卡上)');
|
||||
}
|
||||
if (kase.expectRedoNarration !== undefined) {
|
||||
const said = (last?.trail ?? []).some((e) => String(e.title ?? '').includes(kase.expectRedoNarration));
|
||||
if (said) console.log(` 复核那一轮在对话区说了话(「${kase.expectRedoNarration}…」)`);
|
||||
|
||||
Reference in New Issue
Block a user