dsh-mcmp 2.0.3 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +4 -0
  2. package/lib/index.js +17 -10
  3. package/package.json +2 -2
package/README.md CHANGED
@@ -14,6 +14,7 @@ DeepSeek Harness **持久化 Cordis 插件**:面向全国大学生数学建模
14
14
  - **质疑驱动**:每个子智能体必须先对上一版成果提出 ≥3 条质疑,再开始本轮工作
15
15
  - **图表视觉自检与修复**:S5 步骤自动探测识图插件——检测到识图服务/工具(如 vision_describe、read_image)即自动调用逐张检查定稿图;没有识图能力则让子智能体编写脚本做文本包围盒重叠/越界/乱码分析,发现问题必须**修复并复检**(A 级问题清零),而不是只写报告
16
16
  - **评审问题修复闭环**:S7 合并"合规检查 + 评审",建立《问题跟踪表》,每个 A/B 级问题必须在论文/图表/代码中**实际修复**并经复核验证,禁止"只写问题不修复"
17
+ - **跨步骤缺陷回传(台账机制)**:后续步骤发现前序步骤的错误时,必须登记 `00_缺陷与裁决台账.md` 并**直接修复出错文件**(标注修正来源),下游以台账最新裁决为最高权威——错误在源头修掉,不打下游补丁
17
18
  - **论文兜底定稿**:S8 组装完整、可直接提交的 `论文定稿.md`;即使流水线提前出错或中止,也会追加一次兜底定稿
18
19
  - **成果全落盘**:每步迭代完整追加保存(含质疑清单),旧内容绝不覆盖;代码保留全部历史版本;全新运行时旧目录自动归档为 `数学建模流水线_历史归档_*`
19
20
  - **实时进度面板**:独立浮动窗口(可拖拽/最小化/关闭),显示百分比进度条、当前轮/步骤/迭代、8 步骤打点、日志、产出文件,支持一键中止
@@ -32,6 +33,8 @@ DeepSeek Harness **持久化 Cordis 插件**:面向全国大学生数学建模
32
33
  | S7 | 评审与修复落实 | 3 次(合规检查与评审→修复落实→修复复核) |
33
34
  | S8 | 论文定稿与提交包 | 1 次(必产出完整 `论文定稿.md`) |
34
35
 
36
+ > **跨步骤纠错机制**:每一步骤开工前必须先读 `00_缺陷与裁决台账.md`(由 S1 创建)。发现前序步骤的错误时:①登记台账(编号/证据/修复方案)→ ②直接编辑修复出错文件并标注「第R轮·Sx修正:D#编号」→ ③同步所有下游引用。任何文件与台账最新裁决冲突时,以台账为准。S8 终检台账,未闭环项列入「遗留缺陷清单」。
37
+
35
38
  ## 使用方法
36
39
 
37
40
  1. **发送赛题**:把数学建模竞赛题目完整粘贴到对话框并发送;
@@ -88,6 +91,7 @@ pnpm dsh plugin --profile web remove dsh-mcmp
88
91
  ```
89
92
  数学建模流水线/
90
93
  ├── 00_赛题原文.md # 启动时自动保存的赛题
94
+ ├── 00_缺陷与裁决台账.md # ★ 跨步骤缺陷台账:错误登记、裁决、向上修复的唯一权威
91
95
  ├── 01_赛题分析.md ~ 08_论文定稿.md # 八大步骤完整成果(逐迭代追加,含质疑清单/问题跟踪表)
92
96
  ├── 论文定稿.md # ★ 最终交付:完整、干净的 Markdown 论文(无论成败都会生成)
93
97
  ├── 代码/ # 全部验证与求解代码(_vN 后缀保留历史版本,绝不删除)
package/lib/index.js CHANGED
@@ -1,6 +1,9 @@
1
1
  /**
2
2
  * dsh-mcmp · 数学建模论文自动化流水线 —— Host 半(持久化部署插件)
3
3
  *
4
+ * v2.1:新增《缺陷与裁决台账》(00_缺陷与裁决台账.md):后续步骤发现前序错误时,
5
+ * 必须在台账登记并直接修复出错文件(标注修正来源),下游以台账最新裁决为最高
6
+ * 权威——错误在源头修掉,而不是只在下游文档里写"裁决"打补丁。
4
7
  * v2:按上一轮实战复盘重构流程:
5
8
  * 1) 新增 S5「图表视觉自检与修复」:探测到识图插件(服务/工具)则自动调用识图;
6
9
  * 没有识图能力则引导子智能体编写脚本做文本包围盒重叠/越界/乱码分析并修复。
@@ -29,6 +32,8 @@ export function apply(ctx) {
29
32
  console.log('dsh-mcmp: services available -> commands=' + !!commands + ' fs=' + !!fs + ' agents=' + !!agents + ' subagents=' + !!subagents + ' systemPrompt=' + !!systemPrompt + ' webServer=' + !!webServer)
30
33
 
31
34
  const FLOW_NAME = '数学建模论文流水线v2'
35
+ // 全流水线缺陷台账:跨步骤错误登记、裁决与向上修复的唯一权威文件
36
+ const LEDGER = '00_缺陷与裁决台账.md'
32
37
 
33
38
  // ---------- 识图能力探测(宿主侧,仅供参考;以子智能体自检为准) ----------
34
39
  function detectVision() {
@@ -57,17 +62,17 @@ export function apply(ctx) {
57
62
  // ---------- 步骤元数据(8 步骤 × 19 迭代/轮) ----------
58
63
  const STEPS = [
59
64
  { key: 'S1', name: '赛题分析与建模方案', phase: 'S1 赛题分析与建模方案', file: '01_赛题分析.md', iters: [
60
- { name: '赛题精读与拆解', task: '(1) 环境清理:若工作区根目录已存在且含有 00_赛题原文.md 或 01_赛题分析.md(属于上一次运行),先用 shell 命令把整个「数学建模流水线」目录改名为 数学建模流水线_历史归档_YYYYMMDD_HHMMSS(只改名、绝不删除,完整保留历史成果),再重建空目录结构;(2) 通读赛题全文(含附件、表格、图),确认所选题目与全部子问题;(3) 列出问题背景、已知条件、数据说明、待求目标与提交要求(页数、格式、支撑材料);(4) 判断每个子问题的类型(预测/优化/评价/机理/决策等);(5) 圈出关键词与易误解之处(尤其题目附录中的条件定义),给出你的理解与疑问;(6) 将赛题原文完整保存为 00_赛题原文.md;(7) 建立目录结构:代码/、代码/results/、图表/。' },
65
+ { name: '赛题精读与拆解', task: '(1) 环境清理:若工作区根目录已存在且含有 00_赛题原文.md 或 01_赛题分析.md(属于上一次运行),先用 shell 命令把整个「数学建模流水线」目录改名为 数学建模流水线_历史归档_YYYYMMDD_HHMMSS(只改名、绝不删除,完整保留历史成果),再重建空目录结构;(2) 通读赛题全文(含附件、表格、图),确认所选题目与全部子问题;(3) 列出问题背景、已知条件、数据说明、待求目标与提交要求(页数、格式、支撑材料);(4) 判断每个子问题的类型(预测/优化/评价/机理/决策等);(5) 圈出关键词与易误解之处(尤其题目附录中的条件定义),给出你的理解与疑问;(6) 将赛题原文完整保存为 00_赛题原文.md;(7) 建立目录结构:代码/、代码/results/、图表/;(8) 创建《缺陷与裁决台账》00_缺陷与裁决台账.md:表头为「编号|发现步骤|出错文件与位置|问题描述|证据|修复方案|状态(待修复/已修复/已否决)|修复人(轮次·步骤)|备注」,并在文件开头写入使用规则:①任何步骤发现前序步骤(或本步骤既往迭代)的错误,必须登记本台账,并**直接修复出错文件**(用编辑工具、在修改处标注「第R轮·Sx修正:D#编号」),不得只在下游文件里绕开;②修复后检查下游引用处,能同步的立即同步,不能同步的追加台账条目;③全流水线所有步骤以本台账最新裁决为最高权威,冲突时以台账为准;④状态由修复人维护,闭环后保留记录不删除。' },
61
66
  { name: '建模方案定稿', task: '(1) 数据特征分析(缺失、异常、量纲、规模)与预处理方案;(2) 逐条编号的合理假设(初版)并说明理由;(3) 每个子问题列出 2-3 种候选建模思路,逐一分析优劣与可行性;(4) 为每个子问题敲定选用的模型与方法并说明理由;(5) 给出总体建模框架(问题→数据→假设→模型→求解→验证→结论);(6) 输出《建模方案定稿》,作为后续所有步骤的权威依据;(7) 列出编程实现清单、图表清单(含技术路线图/架构图)与论文结构大纲。' },
62
67
  ] },
63
68
  { key: 'S2', name: '模型建立与求解', phase: 'S2 模型建立与求解', file: '02_模型建立与求解.md', iters: [
64
69
  { name: '模型建立', task: '(1) 建立全题统一的符号体系(符号表:含义+单位),后续步骤必须沿用;(2) 逐条编号模型假设(在 S1 基础上完善);(3) 对每个子问题建立数学模型:决策变量/目标函数/约束或方程,给出推导过程;(4) 说明模型与赛题要求的对应关系(尤其回应赛题附录中的条件定义);(5) 指出模型适用范围与前提。' },
65
70
  { name: '模型求解', task: '(1) 可解析求解的给出完整推导与闭式解;(2) 需数值求解的给出算法原理、步骤与伪代码(最优化/微分方程/统计/启发式),说明复杂度、收敛性与可行性;(3) 对关键公式用手算小例子验证;(4) 明确哪些结果将在 S3 用程序实现,给出期望输出的数值口径(精度、单位)。' },
66
- { name: '模型验证设计', task: '(1) 设计验证方案:特殊/退化情形、手算对照、交叉验证、独立仿真等;(2) 设计灵敏度分析方案(扰动参数、观察指标、扰动范围);(3) 检查模型假设的合理性,列出可放宽的假设及放宽后的修正方式;(4) 总结模型优点、不足与风险;(5) 把本轮形成的符号、公式、结论固化为 S3 的权威依据;若与 S1 定稿冲突,显式裁决并记录。' },
71
+ { name: '模型验证设计', task: '(1) 设计验证方案:特殊/退化情形、手算对照、交叉验证、独立仿真等;(2) 设计灵敏度分析方案(扰动参数、观察指标、扰动范围);(3) 检查模型假设的合理性,列出可放宽的假设及放宽后的修正方式;(4) 总结模型优点、不足与风险;(5) 把本轮形成的符号、公式、结论固化为 S3 的权威依据;若与 S1 定稿冲突,显式裁决:在《缺陷与裁决台账》登记,并直接修复出错文件(标注修正来源),不得只在本文件写裁决。' },
67
72
  ] },
68
73
  { key: 'S3', name: '编程实现与数值验证', phase: 'S3 编程实现与数值验证', file: '03_编程实现.md', iters: [
69
74
  { name: '核心代码', task: '(1) 按 01/02 权威成果用 Python 实现每个子问题的核心算法,代码写入 代码/ 目录,文件名含步骤与版本(如 s3_model_v1.py),配中文注释;(2) 数据读取与预处理;(3) 确保可直接运行;运行并把关键输出记录到 03_编程实现.md;(4) 若缺依赖先 pip 安装(设 3 分钟时限,失败则改用纯标准库实现);(5) 旧代码一律保留。' },
70
- { name: '调试与数值验证', task: '(1) 用手算小例子与极端参数对照测试;(2) 修复所有 bug,处理数据缺失/异常;(3) 边界情形测试;(4) 与 02 公式逐项核对,数值不一致必须定位原因并裁决(以程序实测为准,并把裁决回写文档);(5) 数值结果落盘到 代码/results/ 的 CSV/JSON;(6) 新版本用 _v2/_v3 后缀另存,绝不删除旧版。' },
75
+ { name: '调试与数值验证', task: '(1) 用手算小例子与极端参数对照测试;(2) 修复所有 bug,处理数据缺失/异常;(3) 边界情形测试;(4) 与 02 公式逐项核对,数值不一致必须定位原因并裁决(以程序实测为准):在《缺陷与裁决台账》登记,并直接修复出错的 02/01 文件(标注修正来源);(5) 数值结果落盘到 代码/results/ 的 CSV/JSON;(6) 新版本用 _v2/_v3 后缀另存,绝不删除旧版。' },
71
76
  { name: '封装与自测', task: '(1) 整理为函数/类,参数化关键量;(2) 统一输出 代码/results/ 结构化数据(CSV/JSON + 结果索引);(3) 提供 main 入口一键复现全部结果;(4) 编写自测套件(断言:数值口径、概率范围、收支非负、退化情形),全部通过并保留报告;(5) 记录运行环境(语言版本、依赖及版本)与复现步骤;(6) 输出《数值验证报告》:权威数值清单,供图表与论文引用。' },
72
77
  ] },
73
78
  { key: 'S4', name: '图表与流程图生成', phase: 'S4 图表与流程图生成', file: '04_图表生成.md', iters: [
@@ -84,12 +89,12 @@ export function apply(ctx) {
84
89
  { name: '润色终稿', task: '(1) 以评审视角逐节质疑:摘要是否一页内?公式与符号前后一致、编号连续?图表引用齐全、编号正确?有无"显然/易得"式跳步?灵敏度结论是否量化?参考文献格式规范?(2) 修订后重写一份完整、连续的终稿,写入新的一节(标题注明「终稿」),全文完整、可直接提交——不允许用"修订段落清单"代替完整终稿;(3) 保留初稿内容不删;(4) 全文检索流水线痕迹与内部文档名并清零;(5) 结尾附《终稿质检清单》(逐项 ✓/✗)。' },
85
90
  ] },
86
91
  { key: 'S7', name: '评审与修复落实', phase: 'S7 评审与修复落实', file: '07_评审修复.md', iters: [
87
- { name: '合规检查与评审', task: '(1) 按国赛要求逐项检查 06 终稿:摘要单独成页含关键词、无学校/队员/指导教师信息、页数符合要求、图表编号与引用一一对应、公式编号连续、参考文献格式、附录程序清单、结果表数值与 results/ 一致、提交文件命名;(2) 以竞赛评审专家身份按国赛评审标准(摘要约10%、假设合理性、建模科学性、求解正确性、验证充分性、写作规范性、创新性)打分并写评语;(3) 汇总输出《合规检查报告》+《评审报告》+《问题清单》(每项含:级别 A=必须修复/B=应当修复/C=建议、位置、证据、修复建议);(4) 建立《问题跟踪表》(编号/描述/级别/状态=待修复),写入 07_评审修复.md' },
88
- { name: '修复落实', task: '(1) 对《问题清单》中全部 A/B 级问题逐一实际修复,而不是只写处理意见:论文问题 → 直接用编辑工具修改 06_论文.md 终稿正文(修改后终稿仍是完整连续的全文,禁止再追加"修订段落");图表问题 → 修改绘图代码并重渲染、复检;数值问题 → 修改代码重跑,与 results/ 复核一致后再更新论文;(2) 每条修复在《问题跟踪表》中登记:修复方式(文件+改动描述)、证据(命令/复检输出/断言结果)、状态(已修复);无法修复的写明阻塞原因与后续建议(状态:受阻);(3) 修复不得破坏既有正确内容;(4) 同步更新论文中受影响的图表引用与编号。' },
92
+ { name: '合规检查与评审', task: '(1) 按国赛要求逐项检查 06 终稿:摘要单独成页含关键词、无学校/队员/指导教师信息、页数符合要求、图表编号与引用一一对应、公式编号连续、参考文献格式、附录程序清单、结果表数值与 results/ 一致、提交文件命名;(2) 以竞赛评审专家身份按国赛评审标准(摘要约10%、假设合理性、建模科学性、求解正确性、验证充分性、写作规范性、创新性)打分并写评语;(3) 汇总输出《合规检查报告》+《评审报告》+《问题清单》(每项含:级别 A=必须修复/B=应当修复/C=建议、位置、证据、修复建议);(4) 建立《问题跟踪表》(编号/描述/级别/状态=待修复),写入 07_评审修复.md;(5) 《问题清单》与《问题跟踪表》中凡涉及前序步骤文件的条目(模型/公式/数值/图表源头错误),同时登记到《缺陷与裁决台账》(若尚未登记),避免只在 06 论文层面打补丁。' },
93
+ { name: '修复落实', task: '(1) 对《问题清单》中全部 A/B 级问题逐一实际修复,而不是只写处理意见:论文问题 → 直接用编辑工具修改 06_论文.md 终稿正文(修改后终稿仍是完整连续的全文,禁止再追加"修订段落");图表问题 → 修改绘图代码并重渲染、复检;数值问题 → 修改代码重跑,与 results/ 复核一致后再更新论文;源头在 01~05 的问题 → 直接修复源头文件并在《缺陷与裁决台账》登记(标注修正来源),再同步下游引用;(2) 每条修复在《问题跟踪表》中登记:修复方式(文件+改动描述)、证据(命令/复检输出/断言结果)、状态(已修复);无法修复的写明阻塞原因与后续建议(状态:受阻);(3) 修复不得破坏既有正确内容;(4) 同步更新论文中受影响的图表引用与编号。' },
89
94
  { name: '修复复核', task: '(1) 重新逐项核验《问题跟踪表》:每项重新检查(重跑自测/断言/视觉复检/文本检索),确认修复真实生效,状态更新为"已验证";(2) 对未闭环项继续修复;(3) 输出《修复验证报告》:问题→状态→验证证据,给出闭环率(A 级必须 100%);(4) 更新评审打分(修复后预估);(5) 为 S8 定稿列出移交清单:论文终稿路径、图表清单、代码入口、复现命令。' },
90
95
  ] },
91
96
  { key: 'S8', name: '论文定稿与提交包', phase: 'S8 论文定稿与提交包', file: '08_论文定稿.md', iters: [
92
- { name: '论文定稿与提交包', task: '(1) 无论前序步骤是否全部成功,本步骤必须产出一版完整论文:检查 06_论文.md 是否有干净完整的终稿;若有,以其为底稿做最终校对后写入 论文定稿.md;若终稿缺失/混乱/不完整,则依据 00_赛题原文.md、01~07 全部成果与 代码/results/、图表/定稿/ 从头撰写完整论文,写入 论文定稿.md;(2) 论文定稿.md 必须是可直接提交的完整 Markdown:标题、摘要(含关键词)、问题重述与分析、模型假设与符号说明、模型建立与求解(公式编号)、模型验证与灵敏度分析、模型评价与推广、参考文献、附录,图表用相对路径引用;(3) 全文检索并清除流水线内部痕迹与参赛者信息;(4) 数值只采用 results/ 权威数据或前序已验证结论,缺失时明确标注"待补充"并给出推导,不得编造;(5) 输出《提交材料清单》(论文定稿.md、图表、代码、results/、复现说明)与《最后校对报告》;(6) 本步骤工作记录写入 08_论文定稿.md,最终论文全文写入 工作区根目录的 论文定稿.md。' },
97
+ { name: '论文定稿与提交包', task: '(1) 无论前序步骤是否全部成功,本步骤必须产出一版完整论文:检查 06_论文.md 是否有干净完整的终稿;若有,以其为底稿做最终校对后写入 论文定稿.md;若终稿缺失/混乱/不完整,则依据 00_赛题原文.md、01~07 全部成果与 代码/results/、图表/定稿/ 从头撰写完整论文,写入 论文定稿.md;(2) 论文定稿.md 必须是可直接提交的完整 Markdown:标题、摘要(含关键词)、问题重述与分析、模型假设与符号说明、模型建立与求解(公式编号)、模型验证与灵敏度分析、模型评价与推广、参考文献、附录,图表用相对路径引用;(3) 全文检索并清除流水线内部痕迹与参赛者信息;(4) 数值只采用 results/ 权威数据或前序已验证结论,缺失时明确标注"待补充"并给出推导,不得编造;(5) 输出《提交材料清单》(论文定稿.md、图表、代码、results/、复现说明)与《最后校对报告》;(6) 本步骤工作记录写入 08_论文定稿.md,最终论文全文写入 工作区根目录的 论文定稿.md;(7) 终检《缺陷与裁决台账》:凡状态仍为「待修复」且影响论文结论的条目,在本步骤内尽量闭环;确实无法闭环的,整理为「遗留缺陷清单」写入 08_论文定稿.md(供使用者参考,不得进入论文正文)。' },
93
98
  ] },
94
99
  ]
95
100
  const PER_ROUND = 19
@@ -292,8 +297,9 @@ export function apply(ctx) {
292
297
  }
293
298
  p.push('')
294
299
  p.push('【必读文件(先全部读完再动手,禁止跳过)】')
300
+ p.push('- ' + LEDGER + ' (全流水线《缺陷与裁决台账》:最高权威。先检查是否有与本步骤相关的「待修复」条目:有则在本迭代内先修复(直接修改出错文件并更新台账状态),再完成本轮任务)')
295
301
  p.push('- ' + s.file + ' (本步骤历次迭代成果,本次在其基础上改进)')
296
- for (let q = 0; q < si; q++) p.push('- ' + STEPS[q].file + ' (前序步骤的权威成果,必须严格遵守其结论与符号体系)')
302
+ for (let q = 0; q < si; q++) p.push('- ' + STEPS[q].file + ' (前序步骤的权威成果;若其内容与台账最新裁决冲突,以台账为准,并在自己的产出中采用台账裁决后的版本)')
297
303
  if (round > 1) {
298
304
  p.push('上一轮(第 ' + (round - 1) + ' 轮)成果已保存在上述文件中(标题形如「## 第' + (round - 1) + '轮…」)。先阅读上一轮对应内容,本轮必须在其基础上优化,质量不得低于上一轮。')
299
305
  }
@@ -320,6 +326,7 @@ export function apply(ctx) {
320
326
  p.push('5. 论文级表达:推导完整、步骤清晰、结论可复现,杜绝"显然""易得"式跳步。')
321
327
  p.push('6. 修复闭环:发现的每个问题要么在本迭代内真正修复并给出证据(修改后的文件/复检输出/断言结果),要么明确记录阻塞原因与后续建议;禁止"只把问题写进文档而不修复"。')
322
328
  p.push('7. 无流水线痕迹:论文类文件(06_论文.md、08_论文定稿.md、论文定稿.md)不得出现内部文档引用("01_赛题分析.md""02 迭代3""03 步骤""流水线"等),证据一律表述为"支撑材料/附录"。')
329
+ p.push('8. 缺陷闭环(跨步骤):发现前序步骤(或本步骤既往迭代)的错误时,必须:①登记《缺陷与裁决台账》(编号 D#、证据、修复方案);②用编辑工具**直接修复出错文件**,在修改处标注「第R轮·Sx修正:D#编号」;③同步受影响的全部下游引用(论文/图表/代码/结果文件),做不到同步的追加台账条目。禁止只在自己文件里写"前序有误"后绕开。')
323
330
  p.push('')
324
331
  p.push('【本轮任务】' + it.task)
325
332
  p.push('')
@@ -344,15 +351,15 @@ export function apply(ctx) {
344
351
  }
345
352
  p.push('')
346
353
  p.push('【现有材料(全部先读,能用的必须用)】')
347
- p.push('- 00_赛题原文.md、01_赛题分析.md、02_模型建立与求解.md、03_编程实现.md、04_图表生成.md、05_图表自检.md、06_论文.md、07_评审修复.md、08_论文定稿.md(存在即读)')
354
+ p.push('- 00_赛题原文.md、00_缺陷与裁决台账.md(全流水线裁决,最高权威)、01_赛题分析.md、02_模型建立与求解.md、03_编程实现.md、04_图表生成.md、05_图表自检.md、06_论文.md、07_评审修复.md、08_论文定稿.md(存在即读)')
348
355
  p.push('- 代码/ 与 代码/results/ 下的全部代码与结构化结果(权威数值只从这里取)')
349
356
  p.push('- 图表/定稿/ 下的全部图片(论文插图用相对路径引用)')
350
357
  p.push('')
351
358
  p.push('【任务(必须完成)】')
352
359
  p.push('1. 判断 06_论文.md 中是否已有干净完整的终稿:有 → 以其为底稿做最终校对后写入 论文定稿.md;缺失/混乱/不完整 → 依据上述全部材料从头撰写完整论文,写入 论文定稿.md。')
353
360
  p.push('2. 论文定稿.md 必须是可直接提交的完整 Markdown:标题、摘要(单独成页、含关键词)、问题重述与分析、模型假设与符号说明、模型建立与求解(公式编号)、模型验证与灵敏度分析、模型评价与推广、参考文献、附录(程序清单);图表用相对路径引用。')
354
- p.push('3. 全文不得出现流水线内部痕迹与参赛者信息;数值只采用 results/ 权威数据或前序已验证结论,材料不足处明确标注"待补充"并给出推导,严禁编造。')
355
- p.push('4. 在 08_论文定稿.md 追加一节「## 兜底定稿」,记录:定稿来源(06 终稿 / 重写)、完整度自评、遗留问题清单。')
361
+ p.push('3. 全文不得出现流水线内部痕迹与参赛者信息;数值只采用 results/ 权威数据或前序已验证结论,材料不足处明确标注"待补充"并给出推导,严禁编造。若台账中存在对前序结论的修正裁决,以台账为准。')
362
+ p.push('4. 在 08_论文定稿.md 追加一节「## 兜底定稿」,记录:定稿来源(06 终稿 / 重写)、完整度自评、遗留问题清单(把《缺陷与裁决台账》中仍未闭环的条目列入)。')
356
363
  p.push('5. 输出《提交材料清单》与《最后校对报告》(写入 08_论文定稿.md 该节)。')
357
364
  p.push('')
358
365
  p.push('【工作纪律】质疑先行、禁止编造、无流水线痕迹、论文级表达。回复结尾附不超过 200 字总结。')
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "dsh-mcmp",
3
- "version": "2.0.3",
4
- "description": "DeepSeek Harness 插件:数学建模论文自动化流水线 v2(8 步骤 × 19 迭代 × N 轮:图表视觉自检与修复、评审问题修复闭环、论文兜底定稿、质疑驱动、断点续跑、进度面板)",
3
+ "version": "2.1.0",
4
+ "description": "DeepSeek Harness 插件:数学建模论文自动化流水线 v2(8 步骤 × 19 迭代 × N 轮:图表视觉自检与修复、评审问题修复闭环、跨步骤缺陷台账与向上修复、论文兜底定稿、质疑驱动、断点续跑、进度面板)",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
7
7
  "exports": {