dsh-vibe-math 2.5.0 → 2.6.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.
- package/README.en.md +41 -2
- package/README.md +41 -2
- package/cordis.patch.yml +22 -8
- package/docs/AUDIT-CHECKLIST.md +2 -2
- package/docs/final-paper.md +171 -0
- package/docs/release-notes/RELEASE-NOTES-2.6.0.md +268 -0
- package/docs/test-timing.md +8 -4
- package/package.json +5 -3
- package/prompt-corpus-persona/persona-corpus.json +13 -13
- package/prompt-corpus-persona/persona-corpus.md +49 -21
- package/prompt-corpus-v2/formal-verify-v2.json +12 -0
- package/prompt-corpus-v2/formal-verify-v2.md +144 -53
- package/prompt-corpus-v3/formal-verify-v3.json +36 -0
- package/prompt-corpus-v3/formal-verify-v3.md +405 -78
- package/tests/audit-persona-sensitivity.mjs +60 -7
- package/tests/audit-persona-surface.test.mjs +16 -7
- package/tests/e2e-v5-round2.test.mjs +471 -1
- package/tests/formal-verify-v2.test.mjs +3 -0
- package/tests/formal-verify-v3.test.mjs +4 -0
- package/tests/prompt-v5-integrity.test.mjs +9 -3
- package/tests/selfdrive-v5.mjs +55 -4
- package/vibe-math-v2/agent.cordis.yml +14 -4
- package/vibe-math-v2/vibe-math-v2.js +819 -11
- package/vibe-math-v3/agent.cordis.yml +10 -4
- package/vibe-math-v3/vibe-math-v3.js +800 -11
- package/vibe-math-v4/agent.cordis.yml +12 -4
- package/vibe-math-v4/vibe-math-v4.js +793 -8
- package/vibe-math-v5/agent.cordis.yml +8 -4
- package/vibe-math-v5/vibe-math-v5.js +1116 -8
- package/vibe-math-v5//345/256/236/347/216/260/346/226/271/346/241/210.md +70 -1
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
# dsh-vibe-math 2.6.0 — 发布说明(中文)
|
|
2
|
+
|
|
3
|
+
> 上一版:2.5.0。本版新增**最终论文(final paper)**功能:四个预设默认在收口时自动撰写一篇只整理
|
|
4
|
+
> 已有证据的完整论文,且论文阶段发生在"标记完成"**之前**。既有参数默认值、数据格式与目录结构未变,
|
|
5
|
+
> DSH 支撑窗口不变,无需迁移。
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 概览
|
|
10
|
+
|
|
11
|
+
- 新增**最终论文**:默认开启(`finalPaper=true`)。收口信号命中后、**run 被标记完成之前**进入 paper 阶段。
|
|
12
|
+
- 产物固定在 `Paper/<id>/`:`paper.md`、`paper.tex`、`paper.pdf`(仅在宿主检测到 LaTeX 引擎并编译成功时)、
|
|
13
|
+
`paper.meta.json`、`paper.log.md`。
|
|
14
|
+
- v4/v5 为**团队合写**:各自写自己的部分 → 合并 → 交叉互审 → 定稿代表定稿 → 全体明确"可交付"才定稿;
|
|
15
|
+
v5 的定稿代表默认院士,所办仅在手动路径下可用,且必须先与全所交流并开会。
|
|
16
|
+
- 编译失败**先修复、后降级**:没有引擎或编译不通过时仍交付 tex+md,只记日志告警,不阻塞定稿,
|
|
17
|
+
也绝不覆盖已有的 `paper.pdf`。
|
|
18
|
+
- 随功能修掉若干问题:v5 自动触发的心跳停摆、v2/v3 写手卡死可能永久阻塞、v3 随包语料的时间戳非确定性、
|
|
19
|
+
以及一处会被空过的论文判定检查。
|
|
20
|
+
- 契约文档 `docs/final-paper.md` 随包发布;双语 README 补齐参数与用法。
|
|
21
|
+
|
|
22
|
+
## 变更
|
|
23
|
+
|
|
24
|
+
### 1. 新功能:最终论文(四套一致,默认开启)
|
|
25
|
+
|
|
26
|
+
- **触发**:各预设用自己的收口信号(v2 严格终止、v3 完整收口、v4 一致性会议的一致停止票、
|
|
27
|
+
v5 每次解题票上的"已解决"判定)。命中后进入 paper 阶段,**论文完成或降级结束之后才把这次 run
|
|
28
|
+
标记为完成**——否则会议/唤醒机制已被禁用,团队合写无法进行。
|
|
29
|
+
- **手动**:`/vibe paper [lang=zh|en] [format=both|md|tex] [force]`(v2/v3)、
|
|
30
|
+
`/v4 paper [… editor=office|resident:<id>] [force]`、`/v5 paper [… editor=office|academician] [force]`。
|
|
31
|
+
命令行覆盖只作用于本次(不写回持久参数);`force` 重写已定稿的论文;参数非法返回 `kind:'error'`;
|
|
32
|
+
`finalPaper=false` 只关闭自动触发,手动命令仍可用并在返回里说明"自动已关闭"。
|
|
33
|
+
- **幂等**:同一 run 只写一次(`finalizedAt` + 逐产物存在性检查),重复触发只补写缺失的产物。
|
|
34
|
+
- **内容骨架(9 节,四套一致)**:① 标题、作者、日期与摘要 ② 引言与问题背景 ③ 原问题的完整解法
|
|
35
|
+
④ 已检验通过的命题(含判定为真的估计值与证据来源)⑤ 已解决的子问题 / 中间成果
|
|
36
|
+
⑥ 创造或发现的有价值之物(方法、理论、思想、经验、数学理解)⑦ 规律总结 ⑧ 讨论、局限与展望
|
|
37
|
+
⑨ 附录:证据与文件索引。论文只整理已有证据、**不得编造**;未决与被否证的条目必须显式标注。
|
|
38
|
+
|
|
39
|
+
### 2. 参数
|
|
40
|
+
|
|
41
|
+
- `finalPaper`(默认 `true`,四套):收口时自动撰写最终论文;`false` 只关闭自动触发。
|
|
42
|
+
- `paperFormat`(默认 `both`,四套):`both`(md+tex)/ `md`(只写 md,跳过编译且不报"缺 tex")/ `tex`。
|
|
43
|
+
- `paperLanguage`(默认 `zh`,四套):`zh`(LaTeX 用 `ctexart`,引擎优先 `xelatex`)/
|
|
44
|
+
`en`(`article`,引擎优先 `pdflatex`)。
|
|
45
|
+
- `paperCompilePdf`(默认 `true`,四套):检测到 LaTeX 时是否编译 `paper.pdf`。
|
|
46
|
+
- `paperLatexCommand`(默认空,四套):优先尝试指定的引擎可执行文件;解析不到时按"未检测到"降级。
|
|
47
|
+
- `paperEditor`(仅 v4/v5):v4 默认 `office`(会话根 / 人类侧),可选 `resident:<id>`
|
|
48
|
+
(指定成员已离职则降级回 office 并在 meta/log 记明);v5 默认 `academician`,`office` 仅手动路径可用。
|
|
49
|
+
|
|
50
|
+
### 3. 产物、LaTeX 检测与降级
|
|
51
|
+
|
|
52
|
+
- **目录与文件**:`Paper/<id>/`,id 经各预设既有的归一化函数处理(含路径穿越防护);内容为
|
|
53
|
+
`paper.md`、`paper.tex`、`paper.pdf`、`paper.meta.json`(参数、触发原因、编译状态与引擎、`finalizedAt`、
|
|
54
|
+
v5 的咨询计数等)、`paper.log.md`(谁写了什么、谁提了什么意见、如何采纳)。
|
|
55
|
+
- **检测顺序**:`xelatex` → `latexmk` → `pdflatex` → `lualatex` → `tectonic`(中文优先 xelatex,
|
|
56
|
+
英文 pdflatex 优先);`paperLatexCommand` 非空时优先尝试它,之后回到标准顺序。
|
|
57
|
+
- **编译**:在论文目录内执行、`-interaction=nonstopmode`、跑两遍;失败**先修复**(重跑 → 换引擎 →
|
|
58
|
+
最小模板),到上限后**降级**:保留 tex+md,`paper.meta.json` 记 `not-detected` / `failed`,
|
|
59
|
+
记日志并上报,不阻塞定稿、不抛错。
|
|
60
|
+
- **不覆盖既有 PDF**:宿主 fs 只支持文本写,`paper.pdf` 只能由编译器子进程产生,插件只做存在性校验;
|
|
61
|
+
无引擎、编译持续失败、`format=md force` 三种形态都逐字节保留已有 `paper.pdf` 并在 meta 里记明原因。
|
|
62
|
+
- `paperFormat=md` 时不产出 tex,因此跳过编译,且不得产生"缺 tex 无法编译"的警告。
|
|
63
|
+
|
|
64
|
+
### 4. 团队合写与定稿代表(v4 / v5)
|
|
65
|
+
|
|
66
|
+
- **流程**:各成员写自己负责的部分 → 合并(去重、统一术语与记号)→ 至少一轮**交叉互审** →
|
|
67
|
+
定稿代表梳理成最终稿 → 全体明确"可交付"才定稿;有异议则继续迭代(有轮次上限,超限记警告并把
|
|
68
|
+
分歧写进附录)。全过程写入 `paper.log.md`。
|
|
69
|
+
- **v4**:`paperEditor` 默认 `office`,可选 `resident:<id>`。
|
|
70
|
+
- **v5**:自动流程**固定用 `academician`**(所办是根会话,没有唤醒路径);`office` 只能通过手动
|
|
71
|
+
`/v5 paper editor=office` 选择,此时所办**必须**先与全所交流(至少 1 条所办消息)并至少召开一次会议,
|
|
72
|
+
把结论写进定稿说明,然后调用 `vibe_v5_finalize_paper`;缺一即被拒(`V5_PAPER_CONSULT_REQUIRED`)。
|
|
73
|
+
|
|
74
|
+
### 5. 本轮修复
|
|
75
|
+
|
|
76
|
+
- **v5 自动触发的心跳停摆**:paper 分支在重新武装心跳之前返回,被节流的提问会永久卡住(新增的
|
|
77
|
+
自动触发守卫当场抓出)。现在 paper 的每个等待步骤都会重新武装心跳。
|
|
78
|
+
- **v2/v3 写手卡死**:新增写手判决与回收——心跳会回收"已停滞或已不在注册表"的写手并自动重派
|
|
79
|
+
(有上限),随后给出明确的 `/vibe paper force` 提示;`force` 在 10 分钟窗口内返回可操作的错误
|
|
80
|
+
(含子代理 id),超过窗口则回收并重新派发;被回收的写手若稍后返回会被记录,而不是静默丢弃。
|
|
81
|
+
- **既有 PDF 不被覆盖**(见 §3):无引擎、编译持续失败、`format=md force` 三种形态都验证了
|
|
82
|
+
`paper.pdf` 逐字节保留。
|
|
83
|
+
- **"不得编造"契约**:论文唤醒提示词明确要求只整理已有证据、不得编造、未决与被否证的条目必须
|
|
84
|
+
显式标注;把措辞改成"可以编造"会立刻被守卫挡住。
|
|
85
|
+
- **v3 语料确定性**:paper 摘要嵌入的证据索引含毫秒时间戳文件名,两个语料 scrubber 增加时间戳归一化,
|
|
86
|
+
连续两次运行的随包语料逐字节一致。
|
|
87
|
+
- **守卫**:自动触发(论文写完之前不得标记完成)、既有 pdf 保留与"不得编造"契约都有可证伪的检查
|
|
88
|
+
(把对应逻辑改坏会立刻变红);原先可被空过的论文判定检查一并修正。
|
|
89
|
+
|
|
90
|
+
### 6. 文档与契约
|
|
91
|
+
|
|
92
|
+
- 新增并随包发布 `docs/final-paper.md`:合并用户确认的规格与设计审计修订,写明各预设真实的收口信号、
|
|
93
|
+
触发时序、产物、9 节骨架、LaTeX 检测与降级、团队流程与 v5 咨询门。
|
|
94
|
+
- 双语 README:四套各补 5 个参数行(v4/v5 另有第 6 个 `paperEditor`)与"最终论文 / Final paper"小节。
|
|
95
|
+
- `docs/test-timing.md` 与 `docs/AUDIT-CHECKLIST.md` 的套件/探针计数更正为 **57 = 39 套件 + 18 探针**,
|
|
96
|
+
人设灵敏度探针更正为 13 条;npm 描述加入最终论文说明。
|
|
97
|
+
|
|
98
|
+
## 兼容性
|
|
99
|
+
|
|
100
|
+
- **DSH 支撑窗口不变**:`0.1.2-alpha.4 … 0.2.0-rc.2`;组合行(≥0.1.7)与目录(≤0.1.6)两条线都保留。
|
|
101
|
+
- **既有参数默认值未变**;新增的最终论文参数默认开启(`finalPaper=true`),要关掉自动触发设
|
|
102
|
+
`finalPaper=false`(手动命令仍可用)。
|
|
103
|
+
- **数据与目录结构不变**:状态文件、项目布局与既有镜像位置照旧;`Paper/<id>/` 只是新增的产物目录,
|
|
104
|
+
无需迁移。
|
|
105
|
+
- **提示词**:新增最终论文参数与 `/vN paper` 的说明,并写明"论文完成后才算完成";随包语料已按当前
|
|
106
|
+
四套重新生成。
|
|
107
|
+
|
|
108
|
+
## 升级
|
|
109
|
+
|
|
110
|
+
```sh
|
|
111
|
+
npm i dsh-vibe-math@latest
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
桌面版在「设置 → 插件」里更新;命令行 profile 用 `dsh plugin --profile <你的 profile> add dsh-vibe-math@latest`,随后重启 DSH。
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
# dsh-vibe-math 2.6.0 — Release Notes (English)
|
|
119
|
+
|
|
120
|
+
> Previous: 2.5.0. This release adds the **final paper**: each of the four presets writes a complete paper
|
|
121
|
+
> at closure that only organises evidence it already has, and the paper phase runs **before** the run is
|
|
122
|
+
> marked complete. Existing parameter defaults, data formats and the directory layout are unchanged, the
|
|
123
|
+
> supported DSH window is unchanged, and no migration is needed.
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Overview
|
|
128
|
+
|
|
129
|
+
- **Final paper** is new and **on by default** (`finalPaper=true`). Once the closure signal fires and
|
|
130
|
+
**before the run is marked complete**, the run enters the paper phase.
|
|
131
|
+
- The artifacts live in `Paper/<id>/`: `paper.md`, `paper.tex`, `paper.pdf` (only when the host has a
|
|
132
|
+
LaTeX engine and the compile succeeds), `paper.meta.json` and `paper.log.md`.
|
|
133
|
+
- v4/v5 co-author the paper **as a team**: each member writes its own part → merge → cross-review →
|
|
134
|
+
the editor finalises → the paper is finalised only when everyone agrees it is deliverable. In v5 the
|
|
135
|
+
default editor is the academician; the institute office is available only on the manual path and must
|
|
136
|
+
first consult the whole institute and convene a meeting.
|
|
137
|
+
- A failed compile is **repaired first, degraded second**: with no engine or a failing compile the tex+md
|
|
138
|
+
are still delivered with a logged warning, the finalisation is never blocked, and an existing
|
|
139
|
+
`paper.pdf` is never overwritten.
|
|
140
|
+
- The release also fixes: a v5 automatic-trigger heartbeat stall, v2/v3 writers that could hang and block
|
|
141
|
+
forever, non-determinism in the v3 shipped corpus, and a paper verdict check that could pass vacuously.
|
|
142
|
+
- The contract document `docs/final-paper.md` ships with the package, and both READMEs now document the
|
|
143
|
+
parameters and usage.
|
|
144
|
+
|
|
145
|
+
## Changes
|
|
146
|
+
|
|
147
|
+
### 1. New feature: the final paper (all four presets, on by default)
|
|
148
|
+
|
|
149
|
+
- **Trigger**: each preset uses its own closure signal (v2 strict termination, v3 full closure, v4 the
|
|
150
|
+
closing meeting's unanimous stop vote, v5 the "solved" decision on each solve vote). The run then enters
|
|
151
|
+
the paper phase, and **the run is marked complete only after the paper is finalised or has degraded** —
|
|
152
|
+
otherwise the meeting/wake mechanisms are already disabled and team co-authoring cannot run.
|
|
153
|
+
- **Manual**: `/vibe paper [lang=zh|en] [format=both|md|tex] [force]` (v2/v3),
|
|
154
|
+
`/v4 paper [… editor=office|resident:<id>] [force]`, `/v5 paper [… editor=office|academician] [force]`.
|
|
155
|
+
Command-line overrides apply to that invocation only (they are not written back to the persisted
|
|
156
|
+
parameters); `force` rewrites an already-finalised paper; an invalid argument returns `kind:'error'`;
|
|
157
|
+
`finalPaper=false` disables only the automatic trigger, and the manual command still works and says so.
|
|
158
|
+
- **Idempotent**: one paper per run (`finalizedAt` plus a per-artifact existence check); a repeated
|
|
159
|
+
trigger only fills in missing artifacts.
|
|
160
|
+
- **The nine-section skeleton (identical in all four presets)**: ① title, authors, date and abstract
|
|
161
|
+
② introduction and problem background ③ the complete solution of the original problem ④ the verified
|
|
162
|
+
propositions (with the estimated truth values and their evidence) ⑤ solved sub-problems / intermediate
|
|
163
|
+
results ⑥ methods, theories, ideas, useful experience and mathematical understanding created or
|
|
164
|
+
discovered ⑦ patterns distilled from the above ⑧ discussion, limitations and outlook ⑨ appendix:
|
|
165
|
+
evidence and file index. The paper only organises existing evidence and **must not fabricate**;
|
|
166
|
+
unresolved and refuted items must be marked explicitly.
|
|
167
|
+
|
|
168
|
+
### 2. Parameters
|
|
169
|
+
|
|
170
|
+
- `finalPaper` (default `true`, all four): write the final paper automatically at closure; `false` disables
|
|
171
|
+
only the automatic trigger.
|
|
172
|
+
- `paperFormat` (default `both`, all four): `both` (md+tex) / `md` (markdown only; skips compilation and
|
|
173
|
+
does not warn about a missing tex) / `tex`.
|
|
174
|
+
- `paperLanguage` (default `zh`, all four): `zh` (`ctexart`, engine prefers `xelatex`) /
|
|
175
|
+
`en` (`article`, engine prefers `pdflatex`).
|
|
176
|
+
- `paperCompilePdf` (default `true`, all four): compile `paper.pdf` when a LaTeX engine is detected.
|
|
177
|
+
- `paperLatexCommand` (default empty, all four): try this engine executable first; if it cannot be
|
|
178
|
+
resolved, degrade as "not detected".
|
|
179
|
+
- `paperEditor` (v4/v5 only): v4 defaults to `office` (the session root / human side) and also accepts
|
|
180
|
+
`resident:<id>` (if that member has left, it degrades back to office and the meta/log say so);
|
|
181
|
+
v5 defaults to `academician`, and `office` is available only on the manual path.
|
|
182
|
+
|
|
183
|
+
### 3. Artifacts, LaTeX detection and degradation
|
|
184
|
+
|
|
185
|
+
- **Layout**: `Paper/<id>/`, with the id normalised by each preset's existing helper (including path
|
|
186
|
+
traversal protection). It contains `paper.md`, `paper.tex`, `paper.pdf`, `paper.meta.json` (parameters,
|
|
187
|
+
trigger, compile status and engine, `finalizedAt`, the v5 consultation counts) and `paper.log.md`
|
|
188
|
+
(who wrote what, who raised which review point, and how it was adopted).
|
|
189
|
+
- **Detection order**: `xelatex` → `latexmk` → `pdflatex` → `lualatex` → `tectonic` (`xelatex` first for
|
|
190
|
+
Chinese, `pdflatex` first for English). A non-empty `paperLatexCommand` is tried first, then the standard
|
|
191
|
+
order.
|
|
192
|
+
- **Compilation**: run inside the paper directory with `-interaction=nonstopmode`, twice; on failure it is
|
|
193
|
+
**repaired first** (rerun → switch engine → minimal template) and only then **degraded**: tex+md are
|
|
194
|
+
kept, `paper.meta.json` records `not-detected` / `failed`, a warning is logged and reported, the
|
|
195
|
+
finalisation is not blocked and nothing is thrown.
|
|
196
|
+
- **An existing PDF is never overwritten**: the host fs only supports text writes, so `paper.pdf` can only
|
|
197
|
+
be produced by the compiler subprocess and the plugin merely checks that it exists. With no engine, with
|
|
198
|
+
a persistently failing compile, and with `format=md force`, an existing `paper.pdf` is kept byte for byte
|
|
199
|
+
and the meta records why.
|
|
200
|
+
- With `paperFormat=md` no tex is produced, so compilation is skipped and no "cannot compile without tex"
|
|
201
|
+
warning may appear.
|
|
202
|
+
|
|
203
|
+
### 4. Team co-authoring and the editor (v4 / v5)
|
|
204
|
+
|
|
205
|
+
- **Flow**: each member writes its own part → merge (deduplicate, unify terms and notation) → at least one
|
|
206
|
+
**cross-review** round → the editor turns it into the final draft → the paper is finalised only when
|
|
207
|
+
everyone agrees it is deliverable; objections keep iterating (bounded, after which a warning is recorded
|
|
208
|
+
and the disagreement goes into the appendix). The whole process is written to `paper.log.md`.
|
|
209
|
+
- **v4**: `paperEditor` defaults to `office`, and also accepts `resident:<id>`.
|
|
210
|
+
- **v5**: the automatic flow **always uses `academician`** (the office is the root session and has no wake
|
|
211
|
+
path). `office` is available only through the manual `/v5 paper editor=office`, and that path requires
|
|
212
|
+
the office to consult the whole institute first (at least one office message) and to convene at least one
|
|
213
|
+
meeting, to state the conclusion in the finalisation note, and then to call `vibe_v5_finalize_paper`;
|
|
214
|
+
without both counts it is refused (`V5_PAPER_CONSULT_REQUIRED`).
|
|
215
|
+
|
|
216
|
+
### 5. Fixes in this release
|
|
217
|
+
|
|
218
|
+
- **v5 automatic-trigger heartbeat stall**: the paper branch returned before re-arming the heartbeat, so a
|
|
219
|
+
throttled ask could hang forever (the new automatic-trigger guard caught it). Every waiting step of the
|
|
220
|
+
paper flow now re-arms the heartbeat.
|
|
221
|
+
- **v2/v3 hung writers**: a new writer verdict and reaper — the heartbeat reaps writers that have stalled
|
|
222
|
+
or left the registry and re-dispatches them (bounded), after which it points at `/vibe paper force`;
|
|
223
|
+
`force` returns an actionable error inside the 10-minute window (including the subagent id) and reaps and
|
|
224
|
+
re-dispatches past it; a reaped writer that returns later is recorded instead of being dropped silently.
|
|
225
|
+
- **An existing PDF is never overwritten** (see §3): with no engine, with a persistently failing compile
|
|
226
|
+
and with `format=md force`, the file is verified to be kept byte for byte.
|
|
227
|
+
- **The "must not fabricate" contract**: the paper wake-up prompts now require that only existing evidence
|
|
228
|
+
is organised, that nothing may be fabricated, and that unresolved or refuted items are marked explicitly;
|
|
229
|
+
rewording that to "may fabricate" is caught by the guards immediately.
|
|
230
|
+
- **v3 corpus determinism**: the paper summary embedded an evidence index with a millisecond-timestamped
|
|
231
|
+
log name; both corpus scrubbers now normalise the timestamp, so two consecutive runs produce
|
|
232
|
+
byte-identical shipped corpora.
|
|
233
|
+
- **Guards**: the automatic trigger (the run must not be marked complete before the paper is written), the
|
|
234
|
+
preservation of an existing pdf and the "must not fabricate" contract all have falsifiable checks (break
|
|
235
|
+
the corresponding logic and they go red); a paper verdict check that used to pass vacuously was corrected
|
|
236
|
+
as well.
|
|
237
|
+
|
|
238
|
+
### 6. Documentation and the contract
|
|
239
|
+
|
|
240
|
+
- `docs/final-paper.md` is new and ships with the package: it merges the user-approved specification with
|
|
241
|
+
the design-audit amendments and states each preset's real closure signal, the ordering, the artifacts,
|
|
242
|
+
the nine-section skeleton, detection and degradation, the team flow and the v5 consultation gate.
|
|
243
|
+
- Both READMEs gain the five parameter rows per preset (plus the sixth, `paperEditor`, on v4/v5) and a
|
|
244
|
+
"final paper" section.
|
|
245
|
+
- The suite/probe counts in `docs/test-timing.md` and `docs/AUDIT-CHECKLIST.md` are corrected to
|
|
246
|
+
**57 = 39 suites + 18 probes**, and the persona sensitivity probes to 13; the npm description mentions
|
|
247
|
+
the final paper.
|
|
248
|
+
|
|
249
|
+
## Compatibility
|
|
250
|
+
|
|
251
|
+
- **Supported DSH window unchanged**: `0.1.2-alpha.4 … 0.2.0-rc.2`; both the composition-row (≥ 0.1.7) and
|
|
252
|
+
directory (≤ 0.1.6) lines are kept.
|
|
253
|
+
- **Existing parameter defaults are unchanged**; the new final-paper parameters default to on
|
|
254
|
+
(`finalPaper=true`) — set `finalPaper=false` to disable the automatic trigger (the manual command still
|
|
255
|
+
works).
|
|
256
|
+
- **No data or layout change**: the state file, the project layout and the existing mirror locations are
|
|
257
|
+
unchanged; `Paper/<id>/` is only a new artifact directory, and no migration is needed.
|
|
258
|
+
- **Prompts**: the final-paper parameters and `/vN paper` are documented, and the prompts state that the
|
|
259
|
+
run is complete only after the paper. The shipped corpora were regenerated for the current four presets.
|
|
260
|
+
|
|
261
|
+
## Upgrade
|
|
262
|
+
|
|
263
|
+
```sh
|
|
264
|
+
npm i dsh-vibe-math@latest
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
Desktop updates through Settings → Plugins; a CLI profile uses
|
|
268
|
+
`dsh plugin --profile <your profile> add dsh-vibe-math@latest`, then restart DSH.
|
package/docs/test-timing.md
CHANGED
|
@@ -26,7 +26,7 @@ node tests/run-tests.mjs --json # 机器可读汇总(含 skippedN
|
|
|
26
26
|
|
|
27
27
|
### 1.1 随包发布 vs 仅仓库(`npm pack --dry-run --json`)
|
|
28
28
|
|
|
29
|
-
`package.json` 的 `files` 只发 `tests/` 的一个**子集**(发布物共
|
|
29
|
+
`package.json` 的 `files` 只发 `tests/` 的一个**子集**(发布物共 105 个文件,其中 `tests/` 18 项),
|
|
30
30
|
所以安装用户跑 `node tests/run-tests.mjs` 得到的是子集的结果——runner 会把缺失的跳过项打印出来,
|
|
31
31
|
不会静默少跑:
|
|
32
32
|
|
|
@@ -35,7 +35,7 @@ node tests/run-tests.mjs --json # 机器可读汇总(含 skippedN
|
|
|
35
35
|
`audit-v5-sensitivity.mjs`、`selfdrive-v5.mjs`;套件 **10** 个:`audit-installer-compat`、
|
|
36
36
|
`audit-installer-policy`、`audit-persona-surface`、`audit-preset-rows`、`e2e-v5-round2`、
|
|
37
37
|
`formal-verify-v2`、`formal-verify-v3`、`formal-verify-v4`、`formal-verify-v5`、`prompt-v5-integrity`。
|
|
38
|
-
- **仅仓库(不发)**:其余
|
|
38
|
+
- **仅仓库(不发)**:其余 29 个套件(v2/v3/v4 的 e2e、`selfdrive-v3`/`v4`、v2/v3 修复探针、
|
|
39
39
|
`audit-fuzz-helpers` 之外的若干 `audit-*`……)与 7 个脚本(`audit-fuzz-helpers`、
|
|
40
40
|
`audit-registration`、`audit-roundtrip-idempotence`、`audit-tool-exec`、
|
|
41
41
|
`audit-v3-registration-parity`、`selfdrive-v3`、`selfdrive-v4`)。
|
|
@@ -46,10 +46,10 @@ node tests/run-tests.mjs --json # 机器可读汇总(含 skippedN
|
|
|
46
46
|
|
|
47
47
|
| 脚本 | 串行(sum) | 并行(wall) | 实测输出 |
|
|
48
48
|
|---|---|---|---|
|
|
49
|
-
| `tests/run-tests.mjs`(**
|
|
49
|
+
| `tests/run-tests.mjs`(**57 项** = 39 套件 + 18 探针/变体) | ≈ 629 s | **≈ 208 s**(并发 4,speed-up x3.02) | `TOTAL 57 PASS 57 FAIL 0 (suites 39 · probes 18)`;关键路径 = `audit-formal-sensitivity` 208 s |
|
|
50
50
|
| `tests/audit-formal-sensitivity.mjs`(49 探针,自带并发 4) | 803 s | **≈ 208 s** | 关键路径 = 12 个 v2 探针(每个 ≈42–60 s) |
|
|
51
51
|
| `tests/audit-v5-sensitivity.mjs`(39 探针,串行) | ≈ 101 s | — | 每条 = 一次被测套件重跑 |
|
|
52
|
-
| `tests/audit-persona-sensitivity.mjs`(
|
|
52
|
+
| `tests/audit-persona-sensitivity.mjs`(16 探针) | ≈ 4.4 s | — | 本身很快,不需要并行 |
|
|
53
53
|
| `tests/audit-prompt-invariants.mjs`(157 条) | ≈ 1.9 s | — | 静态 |
|
|
54
54
|
| `tests/audit-prompt-invariants.mjs --self-probe`(5 探针) | ≈ 7.4 s | — | 每个探针 = 一次自我重跑 |
|
|
55
55
|
| `tests/audit-spec-traceability.mjs`(94 条) | ≈ 0.2 s | — | 静态 |
|
|
@@ -64,6 +64,10 @@ node tests/run-tests.mjs --json # 机器可读汇总(含 skippedN
|
|
|
64
64
|
| `tests/v2-path-escape.test.mjs` | ≈ 2.2 s | — | 验证日志路径逃逸(7 条) |
|
|
65
65
|
| `tests/v2-tool-cap.test.mjs` | ≈ 0.4 s | — | 能力表来自真实组合、*MaxToolCalls 只是提示(10 条) |
|
|
66
66
|
|
|
67
|
+
> 上表 `≈629 s / ≈208 s` 两列是 **56 项(38 套件)** 时的实测;第 39 个套件是随 final-paper 功能加入的
|
|
68
|
+
> `tests/v4-final-paper.test.mjs`,本表尚未单独计时,所以全量的绝对时间会比 208 s 略大——数字**形状**
|
|
69
|
+
> (`TOTAL 57 … suites 39 · probes 18`)以 runner 每次运行的输出为准。
|
|
70
|
+
|
|
67
71
|
单套件耗时(并行时的关键路径按此排序):
|
|
68
72
|
|
|
69
73
|
| 套件 | 耗时 | 备注 |
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-vibe-math",
|
|
3
|
-
"description": "Multi-agent mathematical problem-solving & verification frameworks for DeepSeek Harness — FOUR agent presets in one install: vibe-math-v2 (probability-driven, classic: qs.json + Propos knowledge base + explorer→solver→review/debate verdict), vibe-math-v3 (THIRD-generation, classic: paper-style Markdown knowledge base with Problems/Progress/Propos/Methods/Verified + planner-agent scheduling that decides the next N actions + universal theory/method invention library + agents write their own Markdown directly via a per-file write lock), and vibe-math-v4 (FOURTH-generation: persistent self-organizing resident subagents that message & meet to decide all tasks, verify only by unanimous consensus, /compact at a context threshold, and stop only when all agree the problem is solved), and vibe-math-v5 (FIFTH-generation research institute: an academician as the organizational centre who decomposes and ASSIGNS work and chairs meetings; permanent researchers who hold the vote and may hire/fire their own temp workers; temp workers with no vote; a group chat and meetings; a durable per-recipient mailbox; a compare-and-set task DAG; and a boolean m-vote consensus rule where an object enters Verified/ only when at least m voting members agree AND every one of them returns exactly 1 or exactly 0). Installing this bundle auto-installs all four presets (v1 was removed at v2.0.0).",
|
|
4
|
-
"version": "2.
|
|
3
|
+
"description": "Multi-agent mathematical problem-solving & verification frameworks for DeepSeek Harness — FOUR agent presets in one install: vibe-math-v2 (probability-driven, classic: qs.json + Propos knowledge base + explorer→solver→review/debate verdict), vibe-math-v3 (THIRD-generation, classic: paper-style Markdown knowledge base with Problems/Progress/Propos/Methods/Verified + planner-agent scheduling that decides the next N actions + universal theory/method invention library + agents write their own Markdown directly via a per-file write lock), and vibe-math-v4 (FOURTH-generation: persistent self-organizing resident subagents that message & meet to decide all tasks, verify only by unanimous consensus, /compact at a context threshold, and stop only when all agree the problem is solved), and vibe-math-v5 (FIFTH-generation research institute: an academician as the organizational centre who decomposes and ASSIGNS work and chairs meetings; permanent researchers who hold the vote and may hire/fire their own temp workers; temp workers with no vote; a group chat and meetings; a durable per-recipient mailbox; a compare-and-set task DAG; and a boolean m-vote consensus rule where an object enters Verified/ only when at least m voting members agree AND every one of them returns exactly 1 or exactly 0). Installing this bundle auto-installs all four presets (v1 was removed at v2.0.0). Each preset also writes a FINAL PAPER by default when its run concludes — and does so BEFORE the run is marked complete: on v4/v5 the team co-authors its parts, merges them, cross-reviews, and the editor named by paperEditor finalises; the output is Paper/<run or institute id>/{paper.md,paper.tex,paper.pdf when a LaTeX engine is detected,paper.meta.json,paper.log.md} (params finalPaper/paperFormat/paperLanguage/paperCompilePdf/paperLatexCommand, plus paperEditor on v4/v5; see docs/final-paper.md).",
|
|
4
|
+
"version": "2.6.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
7
7
|
"node": "^22.19.0 || >=24.0.0",
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
"cordis.patch.yml",
|
|
35
35
|
"docs/架构图.md",
|
|
36
36
|
"docs/formal-verification.md",
|
|
37
|
+
"docs/final-paper.md",
|
|
37
38
|
"docs/generate_framework_diagram_v2.py",
|
|
38
39
|
"docs/generate_framework_diagram_v3.py",
|
|
39
40
|
"docs/generate_framework_diagram_v4.mjs",
|
|
@@ -96,6 +97,7 @@
|
|
|
96
97
|
"docs/release-notes/RELEASE-NOTES-2.3.16.md",
|
|
97
98
|
"docs/release-notes/RELEASE-NOTES-2.4.0.md",
|
|
98
99
|
"docs/release-notes/RELEASE-NOTES-2.4.1.md",
|
|
100
|
+
"docs/release-notes/RELEASE-NOTES-2.6.0.md",
|
|
99
101
|
"docs/release-notes/RELEASE-NOTES-2.5.0.md",
|
|
100
102
|
"docs/release-notes/RELEASE-NOTES-2.3.2.md",
|
|
101
103
|
"docs/release-notes/RELEASE-NOTES-2.3.3.md",
|
|
@@ -149,7 +151,7 @@
|
|
|
149
151
|
},
|
|
150
152
|
"minVersion": "0.1.2-alpha.4",
|
|
151
153
|
"testedVersion": "0.2.0-rc.2",
|
|
152
|
-
"compatNote": "v2.
|
|
154
|
+
"compatNote": "v2.6.0 最终论文版本(四套预设新增「最终论文」功能;既有参数默认值、数据格式与目录结构未变,DSH 支撑窗口不变,无需迁移)。① 新功能(默认开启):收口时自动撰写最终论文,产出 Paper/<id>/{paper.md,paper.tex,paper.pdf,paper.meta.json,paper.log.md};参数 finalPaper(默认 true)、paperFormat=both|md|tex(默认 both)、paperLanguage=zh|en(默认 zh)、paperCompilePdf(默认 true)、paperLatexCommand(默认空 = 自动探测),v4/v5 另有 paperEditor;手动 /vN paper [lang=] [format=] [editor=] [force] 只覆盖本次,finalPaper=false 仅关闭自动触发。② 时序:论文阶段发生在 run 被标记完成之前(v4 拦截一致性停止票、v5 拦截 checkSolved 判定;v2/v3 在调度器停止前派发写手),论文定稿或降级结束后才真正完成。③ 团队合写(v4/v5):各自写 → 合并 → 交叉互审 → 定稿代表定稿 → 全体「可交付」一致认同;v4 paperEditor 默认 office(可选 resident:<id>,指定成员已离职则降级并记明),v5 自动默认 academician,office 仅手动 /v5 paper 且必须先与全所交流(至少 1 条所办消息)并至少召开一次会议,否则 V5_PAPER_CONSULT_REQUIRED。④ 编译与降级:LaTeX 检测顺序 xelatex→latexmk→pdflatex→lualatex→tectonic(中文优先),两遍 nonstopmode,失败先修复(重跑 / 换引擎 / 最小模板)再降级为 tex+md 并告警,绝不覆盖已有 paper.pdf;paperFormat=md 时跳过编译且不告警。⑤ 随本功能修掉:v5 自动触发的 paper 心跳停摆、v2/v3 写手卡死可被心跳回收与 force 重派、v4 可空过的判定断言、v3 随包语料的时间戳非确定性;契约文档 docs/final-paper.md 入库并随包发布,双语 README 补齐参数与用法。本版实测:门禁 57 项全绿(39 套件 + 18 探针),并在真实 DSH 0.2.0-rc.2 上验证四个预设注册(order 20–23)、零激活警告、组合行线上不写旧的 .agent-presets 目录。",
|
|
153
155
|
"compatibility": {
|
|
154
156
|
"dshReleases": {
|
|
155
157
|
"0.1.2-alpha.4": "compatible",
|