feat: 任务书 10,submissions 模块与 materials 修改
- 新增 src/submissions:先程序检查(14 条跨字段规则、不许改的文件、代码存不了、指标编号占用、提案数上限),全过再问 Jev;退回原因列出该写的全部编号;回应/统一拼冻结协议主体只在这一处;核验、消融核验通过没有。 - materials:挑刺单写"现在交什么";退回按阶段、作者、种类、对象找(ledger 退回记录加 target,表结构版本 4);核验材料去掉 Jev 预扫;信念本写合法化;删"本该关着";消融核验不通过可重做,不跑的格从 cellNotRun 事件读原因。 - 用户 2026-10-03 定:冻结协议去掉 replies、replyBody,第二次预测的答复从已公开的回应或统一读;takenMetricIds 加两个保留键;解释一律交 cells;Jev 退回只列判"是"的几问、用英文问题名。 - jev 判重材料带 keySettings;读代码工具删 offset;三处旧说法改正。 - 文档:结构.md 第四、七、八部分,WORK_LOG。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+10
-27
@@ -20,6 +20,7 @@
|
||||
- 任务书 07(agents):src/agents 4 个文件、681 行(预期按用户决定改为 600–700,超出部分是任务书第四部分要保留的三处提交处理、读代码分段和会话核对,没有新增专门路径),`npm test` 293 条通过(agents 9 条,其中 1 条经真实 Pi 会话连本机假模型服务)。package.json 固定 `@earendil-works/pi-coding-agent`、`pi-ai` 0.85.1 并加 overrides(同参考项目);新增 `npm run test:pi`(真实 glm-5.3,研究者先退回再收下、实验员写文件跑 shell 再交)。实测:glm-5.3 经 iomgaa 服务时,正文里没转义的半角双引号会在服务那一侧把参数截成合法但半截的 JSON,Pi 收到的原文本身合法,JSON 检查查不出(抓包确认);提交工具说明里加了一句"引号用「」",之后 12 份提交没再出现。结构.md 第七、八部分已更新。
|
||||
- 任务书 08(jev):src/jev 3 个文件、515 行,九问的问法和阈值照参考项目,只改说法和字段名,阈值注明未在新材料上校准;判重一对一次请求、冻结条款三问各一次、代码改动一块一次(五问同材料);`npm run test:jev` 三处各问一次真实 Jev,九问都拿回 0 到 1 的概率和请求编号。vocab 加 `JevJudgment`。ledger 表结构版本升到 3:`callEnded` 四种结局对上 agents、墙钟时间用 `Measured`(中断恢复时补写出错、原因"进程中断"、时间测不到);退回和提交记录都带 `jev`(判断数组或 null)。config 加必填的 `models.jev`。`npm test` 316 条通过。账本改动全新上下文审阅两轮。
|
||||
- 任务书 09(materials):src/materials 12 个文件、1831 行(预期 1200–1800;超出部分主要是用户决定 2 新加的 shapes.ts 116 行,复审判定没有专门路径增多),vocab 加 `Checklist`(1105 行,上限 1150)。19 份提示词以参考项目为底稿只做必要改动搬进 `prompts/`;TASK.md 补了 `unversionedNames` 不存进版本。`npm test` 356 条通过(materials 39 条)。全新上下文审阅三轮(可见性一轮、规模与正确性一轮、修复复审一轮),materials 内部没有发现泄露;要靠 flow 写入时机保证的几条记进"未完成"的"给 flow"。
|
||||
- 任务书 10(submissions):先改 materials 第一部分 7 处,另加两处小改动(jev 判重材料带关键设定、核验 `body` 字段说明补同行提醒)。src/submissions 6 个文件、391 行(预期 400–600);materials 1850 行;vocab 1107 行;ledger 退回记录加对象字段,表结构版本升到 4。`npm test` 400 条通过;`npm run test:jev` 新增三个真实用例:写得好的回应收下(三问 0.06 / 0.04 / 0.04),改评测的回应退回(changes_measurement 0.91,阈值 0.21),实现 3 块 15 条判断全否。全新上下文审阅一轮:采纳消融实现退回文字前后矛盾、两处测试加强;另发现同轮指标重名,用户定的改法见"未完成"。结构.md 第七、八部分已更新。
|
||||
|
||||
## 关键决定(用户原话见各提交说明)
|
||||
|
||||
@@ -50,47 +51,29 @@
|
||||
- 中断的模型调用,恢复时补写"出错、原因'进程中断'、墙钟时间测不到"(`callEnded` 的墙钟时间用 `Measured`)。用户原话:"墙钟时间改用 Measured,恢复时写出错加测不到(原因'进程中断')"。
|
||||
- materials(任务书 09)开工前用户定的四件事(2026-10-03,用户选了推荐项):vocab 上限改 1150,只放对号清单 `Checklist`,任务材料其余类型放 materials;冻结协议、位置表、判重合并输出、决定种类和编号规则由 materials 定义并导出,flow 照着写,ledger 不改;实验员、核验员不给信念本,方法.md 4.3 ① 改为"研究者任务";合并而成的候选按原提案挑刺。
|
||||
- 核验不通过、修复次数用完时:正向候选不跑(不扣次数,记事件写明原因);消融格和正向一样可以退回实验员重做,次数用同一个修复上限,用完仍不通过这一格不跑、不扣次数、记"证据不足"(方法.md 4.3 ⑨ ⑯、6.6)。用户原话:"同意"。
|
||||
- 冻结协议只放方法.md 4.3 ⑥ 列的几项(2026-10-03)。用户原话:"冻结协议只放方法.md 4.3 ⑥ 列的几项,FrozenProtocol 去掉 replies 和 replyBody;第二次预测要的"挑刺与答复"从这个候选已公开的回应或统一提交里读;submissions 交回的冻结协议主体也不带答复。"
|
||||
- 解释的 `cells` 只按完整流程全开实现,一律要求交(用户选"只按全开实现");做步骤开关时再补"关掉消融时不交"。
|
||||
- 提案、回应、统一的已占用指标编号加 `answer-path`、`safeguard-triggers` 两个保留键(用户选"materials 补进清单")。
|
||||
- Jev 退回的原因只列判"是"的几问,只用 jev 的英文问题名(用户选"只列判是的+只写英文")。
|
||||
|
||||
## 未完成
|
||||
|
||||
- 任务书 09 核对后要改的 materials,并入任务书 10 先做(监督者核对 446e262 时发现,用户同意):
|
||||
1. 挑刺的"现在交什么"落进了研究者的通用一句"调用一次交上就完成了",和任务说明"可以交一份或几份"相反;给挑刺单写一句。
|
||||
2. 退回记录加"对象"字段(同提交记录的 target);materials 按阶段、作者、种类、对象找上一次的退回,删掉按 `callId` 前缀定位的写法和"同一任务不并行"的要求。
|
||||
3. 核验材料里删掉 Jev 预扫的概率和阈值:方法里没有这一项,能到核验说明 Jev 已判过没问题,再给核验员看等于把 Jev 当提示用。
|
||||
4. 信念本选批历史补"合法化扣掉的分"(方法.md 6.10 第 3 条)。
|
||||
5. 删掉"答案出自被关掉的因子,它本该关着"那句:方法里没有,也没有真实证据。
|
||||
6. 消融核验不通过可以重做(用户 2026-10-03 定):重发消融实现时材料里带核验意见;一格不跑而记"证据不足"时,信念本不能再去读它的运行(现在的写法假定证据不足的格一定有运行),rules 里 `insufficient` 的注释跟着改。
|
||||
7. 顺手改三处旧说法:`tasks/circle_packing/TASK.md`"保障写'无'时写 {}";`src/vocab/submissions.ts` 开头注释的 q₁ ≤ q₅ ≤ q₉;读代码工具的 `offset` 参数(提示词里已删)。
|
||||
- 信念本"按因子归并"(方法.md 6.10 第 1 条"出现在哪些候选里"):现在是每个候选的每个因子一行,用"(延续 X)"连起来,没合成一行。等真实运行后再看要不要合。
|
||||
- jev 判重材料加上每个因子的"关键设定"(现在只有名称和做法,而问题写着"设定不同就不算同一个改法"),并入下一份任务书。用户原话:"我同意加上"。
|
||||
- Jev 校准:新项目跑出真实研究后,从账本取真实的 Jev 判断和材料,由 Claude 或 GPT 打标签作为校准集和留出集,重新校准九问的问法和阈值。不用参考项目 8 个验收数据库(材料格式还会变)。
|
||||
- `inbox/调研.md`:要迁进 `docs/调研/` 的调研结论。
|
||||
- `docs/方法.md` 里还有 7 条标〔自定〕的规则,待用户过目。
|
||||
- 留给 submissions 的跨字段规则(vocab 字段定义不管):
|
||||
1. q1 < q5 < q9(严格递增,方法.md 第五部分,提交 bfb96ba):作者自评、两次预测、解释的每一格。
|
||||
2. 因子数不超过上限,回应改过的因子清单同样适用。
|
||||
3. 同一提案里两个因子不能延续同一个因子;延续的编号要在信念本里看得到。
|
||||
4. 保障短名不能是 `main`,不能写成 `p<数字>`,同一清单里不重复。
|
||||
5. 开着消融时每条解释必须交 `cells`,并恰好覆盖材料列出的格;关掉消融时不交。
|
||||
6. 解释最多 M 条。
|
||||
7. 志愿至少 min(N, 入口总数) 个、不重复、编号都在入口清单里。
|
||||
8. 挑刺针对的因子编号在被挑提案的因子范围内。
|
||||
9. 回应的逐条答复恰好覆盖针对本候选的全部挑刺;统一的 `sources` 恰好覆盖被合并的原提案。
|
||||
10. `reused` 引用的指标存在且是假设专用指标;新登记的指标短名不重复。
|
||||
11. 实现和修复:位置表覆盖每个因子和每条保障;代码位置起始行不大于结束行。
|
||||
12. 核验:条款、因子、保障逐项全覆盖;没有归属的改动与材料列出的逐条对应。
|
||||
13. 消融实现:写了 `cannotRun` 时 `alsoOff` 为空;`alsoOff` 不含本格要关的因子,且都在因子清单里。
|
||||
14. 消融核验覆盖每个因子。
|
||||
- 核验提交 `body` 的字段说明要补一句:同一行同时出现在因子和保障里时,在说明里写一句提醒(方法.md 4.3 ⑨)。写 submissions 时一并改。
|
||||
- 给 flow:同一轮里选批和选格都用随机规则时,传不同的"版本"算种子,否则两次抽取用同一串随机数。
|
||||
- 给 flow:确认启动前要先登记运行;模型调用要先开始再结束;阶段要先开再关;ledger 都不查。
|
||||
- 给 flow:步骤清单没有单列"轮末动作"(解封作者自评、入选未跑的候选出池),flow 要做这些。
|
||||
- 写 plugin 时实测:源码导入路径带 `.ts` 扩展名,Pi 加载插件能否接受。
|
||||
- 给 submissions:研究者登记的假设专用指标编号不能和常规辅助指标重名(`metricDefinitions` 里的 7 个),否则候选自报的值会顶替宿主测的值(任务书 05 审阅意见)。
|
||||
- 给 flow:容器名要在本机所有研究之间唯一(例如带研究编号);`docker run` 因重名失败时 runner 按"启动了"处理。日志目录每次运行一个新的。
|
||||
- 给 flow:取出时目标目录必须是空的,workspace 不查。
|
||||
- 给 flow(materials 审阅):冻结协议只在回应阶段关闭后写进账本,阶段内给 Jev 查的协议只放内存;解封只在本轮收尾阶段关闭后写;阶段关闭只在名单上的人交齐后写。materials 把这几条记录的出现当作"已公开",提前写会泄露(审阅者在临时账本里实测过)。
|
||||
- 给 flow:没采纳时也写一条采纳决定(adopted 为 null),本轮正向运行靠它公开;修复任务要在核验阶段关闭后再发。
|
||||
- 同一轮两位研究者可能给假设专用指标起同一个编号、定义不同:两份都会收下,下一轮引用时取第一条定义。审阅时在参考项目真实账本里查到 4 次:11-real-1 第 1 轮 min-radius、15-real-1 第 1 轮 lp-polish-gain、15-tight-2 第 2 轮 final-radius-spread 与 last-improve-elapsed、16-real-1 第 2 轮 restart-gain。用户选的改法:"冻结时加候选前缀":冻结协议里指标全名为"候选编号.短名",可引用和已占用清单都用全名,恢复"短名不能含 ."。涉及 vocab、materials、submissions、tasks 读指标文件,待写进下一份任务书。
|
||||
- 给 flow:消融格核验不通过、修复次数用完时写 `cellNotRunEvent(格, 原因)` 事件,结算记 insufficient。消融重做时实验员从哪份代码出发(完整代码副本,还是上一次这一格的提交),方法没写;flow 取代码时要和 materials 的写法对齐。
|
||||
- 给 flow:修复的差异块按本批基线算(任务书 10 第二部分第 2 步),切好交给 submissions;形状不合格的提交由 agents 报给提交回调,flow 直接记退回,不经 submissions。
|
||||
- 给 flow:消融实现交了 `cannotRun` 时 `known.code` 传 null,否则传存版本的结果。
|
||||
- 给以后换任务镜像:镜像里必须有 `setpriv`(runner 用它把命令降到当前用户);容器里不要用 `python -I`,它会忽略 `PYTHON_CPU_COUNT`。
|
||||
|
||||
## 工作方式(用户 2026-10-01 定)
|
||||
@@ -104,4 +87,4 @@
|
||||
|
||||
## 下一步
|
||||
|
||||
任务书 10(submissions,`任务书/10-submissions.md`,开头先改 materials 的 7 处)已写好,等用户另开新 Agent 执行;完成后监督者核对,再做 flow。
|
||||
任务书 10(submissions)已完成,等监督者核对;之后是指标加候选前缀那件事,再做 flow。
|
||||
|
||||
Reference in New Issue
Block a user