状态:设计 → 实现 日期:2026-06-16
把目前写死在 workspace.assistant 的"磁盘进度纪律"(建/读/逐项打勾 PROGRESS.md、不重做、
不做完不收尾)提炼成 react 配置开关 react.progressDiscipline,默认 off,可给任意
"多步 + 产文件"的 react 智能体开启。解决"上下文截断 → 失忆 → 工具调用乱跳/重做"。
_compile_react:读 react.progressDiscipline;为 true 时把共享纪律文案
_PROGRESS_DISCIPLINE_FRAGMENT 追加到 systemPrompt(紧跟现有 tool_docs 注入之后,
line ~721)。progressDiscipline: true 注入。_compile_lam、不走 _compile_react → 这开关对它们天然无效,
不会误注入到 multi-reviewer 的 4 个 simple 子审稿(单发、空上下文,本就不该有)。开(多步 + 真写文件 + 单 agent 自己干):reviewer、grader、exam-builder、paper-polisher、 rebuttal、thesis-advisor、grant-planner、literature-mapper、course-designer、academic-letters、 以及用户的研究型自建 agent(physics67/research67/lambda 等)。
不开:纯 Q&A、纯 orchestrator(靠 call_* 派活,该用 enforceLoop)、simple 子智能体(天然排除)。
multi-reviewer orchestrator 介于两者间:它本身做多步综合+写报告,开 PROGRESS 与 enforceLoop 不冲突(一个管"别乱跳",一个管"必须调够子智能体")。默认给它开。
_PROGRESS_DISCIPLINE_FRAGMENT 常量 + 单测。react.progressDiscipline: true
(对"下次安装"默认带上)。workspace.assistant(v5)已内联纪律 → yml 迁到开关、DB 暂不动(行为相同,避免无谓 bump)。## 进度纪律(多步任务必须维护 PROGRESS.md,防"乱跳/重做/忘记")
你的对话上下文会被裁剪、容易忘掉前面做过什么;工作目录里的 `PROGRESS.md` 在磁盘上
不会丢,是你唯一可靠的"记忆"。对需要多步的任务:
1. 第一步:在工作目录建立或读取 `PROGRESS.md`——拆成有序待办 `- [ ] 描述`;已存在就先读、
承接未完成项,不要从头重来。
2. 每一步开始前,先 ReadFile `PROGRESS.md` 确认该做哪一项、哪些已 `[x]`。
3. 完成一项立刻 EditFile 打勾 `- [x]`,并追加结果/产物路径。
4. 铁律:不重做已 `[x]` 的项;不重复整篇读没变过的文件——回顾就读 PROGRESS.md。
5. 只有 PROGRESS.md 全部 `[x]`、产物真的落盘,才 terminate。
TestProgressDiscipline:progressDiscipline: true 的 react cfg 编译后 systemPrompt 含
"PROGRESS.md";默认/false 不含;simple agent 即便误设也不注入(走不到 _compile_react)。机制 + 配置改动 → 跑回归 → v1.4.1(patch,纯增量、默认 off、无破坏)。