diff --git a/research-wiki/migrations/dissect.md b/research-wiki/migrations/dissect.md index 2591e0b..6f263a4 100644 --- a/research-wiki/migrations/dissect.md +++ b/research-wiki/migrations/dissect.md @@ -207,9 +207,14 @@ PolyLoop 的日志按运行标识分文件(`../design/0011-jsonl-run-store.md` 的六维主键第二次调用循环。迁移后这条路要改成调「接着跑」而不是「再跑一次」——按 `../design/0003` 的前置条件,用同一个运行标识第二次调「跑一次」会直接报错。 -**要选一个存储实现并给它一个目录。** 存储接缝是必填的,不传就装配不起来。dissect 如果暂时 -不要恢复能力,要显式装配那个明确命名的、不提供恢复的内存实现——「我不要恢复」是一次 -看得见的选择,不是一个可以忘记传的参数。 +**要选一个存储实现并给它一个目录。** 存储接缝是必填的,不传就装配不起来。dissect 要恢复 +能力,所以装 `JsonlRunStore`,给它一个目录。 + +**「不提供恢复的内存实现」现在不存在。** `../design/0003` 的否决方案那一节定过:存储接缝 +必填,另外给一个明确命名的、不提供恢复的实现,好让「我不要恢复」成为一次看得见的选择而不是 +一个可以忘记传的参数。那个实现至今没写,`polyloop.stores` 里只有 `JsonlRunStore`。这一条对 +dissect 不构成阻塞——它本来就要恢复——但**不要照着那句话去找一个不存在的类**。真需要它的 +那天再补,补的时候要连同契约套件一起过。 **模型绑定要从关键字参数还原。** dissect 现在给每次调用传五个关键字参数(账本、轮次、 阶段、题目、尝试序号)。库这边接的是一个字符串映射,所以适配器要做一次还原(把账本那个