dsh-vibe-math 2.3.15 → 2.3.16

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 CHANGED
@@ -22,30 +22,32 @@ After installing this plugin package (or manually copying the presets), **four**
22
22
 
23
23
  ## 🧩 Architecture Diagrams (v2 + v3 + v4 + v5)
24
24
 
25
- > Static architecture diagrams; for the complete process description see [docs/架构图.md](docs/架构图.md) (v2 in detail) and
26
- > [vibe-math-v5/架构图.md](vibe-math-v5/架构图.md) (the full set of v5 detail diagrams);
27
- > editable generation scripts: [v2](docs/generate_framework_diagram_v2.py) / [v3](docs/generate_framework_diagram_v3.py) (matplotlib → PNG),
25
+ > Static architecture diagrams; for the complete process description see [the v1-era architecture notes](docs/架构图.md) (historical: the layout changed from v2 on) and
26
+ > [the v5 detail diagrams](vibe-math-v5/架构图.md) (the full set of v5 detail diagrams);
27
+ > editable generation scripts: the Chinese v2/v3 posters come from the matplotlib scripts
28
+ > [v2](docs/generate_framework_diagram_v2.py) / [v3](docs/generate_framework_diagram_v3.py) (matplotlib → PNG); the English v2/v3 diagrams come from the
29
+ > zero-dependency Node scripts [v2-en](docs/generate_framework_diagram_v2_en.mjs) / [v3-en](docs/generate_framework_diagram_v3_en.mjs) (→ **SVG**);
28
30
  > [v4](docs/generate_framework_diagram_v4.mjs) / [v5](docs/generate_framework_diagram_v5.mjs)
29
- > (zero-dependency Node → **SVG**, `node docs/generate_framework_diagram_v4.mjs`).
31
+ > (zero-dependency Node → **SVG**, `node docs/generate_framework_diagram_v4.mjs`; add `--lang=en` for `示例图/框架图-v4-en.svg`).
30
32
  > SVG is used from v4 onward: plain text, diff-friendly, crisp at any zoom; when PNG is needed, screenshot with a headless browser (the command is at the top of the generation script).
31
33
 
32
34
  ### Vibe Math V2 (probability-driven · JSON data layer) ✅ Recommended
33
35
 
34
- ![Vibe Math V2 architecture diagram](示例图/框架图-v2.png)
36
+ ![Vibe Math V2 architecture diagram](示例图/框架图-v2-en.svg)
35
37
 
36
38
  **One-sentence pipeline**: `qs.json` takes problems by priority → Explorer splits out directions (if all are dead ends, re-derive) → one Solver per direction iterates over multiple rounds (lemmas go into `Propos/`, solutions go back to `qs.json`, all probabilities <1) → the scheduler picks r (proposition / proposition+proof·disproof / problem+solution) and dispatches ≥3 verifiers for independent review → debate → ruling → at probability=1 it automatically closes out (problem solved, proposition 1/0, priority set to `never`); state is written to disk throughout, `resume` continues from the checkpoint, and `reportMode` can report by file/push/both.
37
39
 
38
40
  ### Vibe Math V3 (paper-style md + planner agent + methods library) ✅ Recommended
39
41
 
40
- ![Vibe Math V3 architecture diagram](示例图/框架图-v3.png)
42
+ ![Vibe Math V3 architecture diagram](示例图/框架图-v3-en.svg)
41
43
 
42
44
  **One-sentence pipeline**: all knowledge is stored and continued as **Markdown papers/research reports** (`Problems/` problem list including dependencies and the source motivation of follow-up problems, `Progress/` research log continued by direction and by round, `Propos/` proposition library, `Methods/` general theory invention library, `Verified/` absolutely trustworthy) → before scheduling, the scheduler builds a state brief and calls the **planner agent**; the planner agent lays out the next N steps in one go (spawn solver/verifier/explorer/method-keeper, interrupt, promote, wait), which are executed after code validation (actions exceeding the concurrency limit are queued and consumed across ticks; a planning failure automatically falls back to the v2-style heuristic) → verifiers review independently → debate → **near-consensus ruling** (if on the same side and the mean is ≥0.85/≤0.15, take the mean, fixing v2's flat misjudgment) → at probability=1 it closes out and generates a `Verified/` card → the solver's `methods_used`/`new_inventions` reports are distilled/refined into the methods library by the **Method Keeper** (which can form system hierarchies and be reused across projects).
43
45
 
44
46
  ### Vibe Math V4 (resident self-organizing collaborative research) 🧪 Experimental
45
47
 
46
- ![Vibe Math V4 architecture diagram](示例图/框架图-v4.svg)
48
+ ![Vibe Math V4 architecture diagram](示例图/框架图-v4-en.svg)
47
49
 
48
- > The SVG above is generated by a zero-dependency script: `node docs/generate_framework_diagram_v4.mjs` (pure Node, no Python/matplotlib dependency;
50
+ > The SVG above is generated by a zero-dependency script: `node docs/generate_framework_diagram_v4.mjs --lang=en` (pure Node, no Python/matplotlib dependency;
49
51
  > generation estimates text width, and any line overflowing its container raises a warning and exits with code 1).
50
52
 
51
53
  **One-sentence pipeline**: initially N **resident subagents** are created (continuable, persistent context) which first brainstorm on their own and produce initial insights/directions → after that **all task arrangements are decided autonomously by them leaving messages for each other + holding collective meetings** (the framework only provides the message bus/meetings/task board/artifact persistence, and **never assigns tasks**); each resident persists valuable artifacts into **its own** `Progress/<id>/`, `Propos/<id>/`, `Methods/<id>/`, `Subproblems/<id>/` libraries according to **degree of value / planned motivation and use / its own probability estimate**, and they **can read each other's**; verification is initiated by **their own deliberation**, and only when **all residents agree (true or false)** is it written to `Verified/`, otherwise it stays in the library with a probability attached; when a resident's context reaches a threshold (66% by default) it automatically `/compact`s; they stop **only when all of them agree that the original problem is solved**; residents can be manually intervened with/added/shut down at any time, and checkpoint resume is supported.
@@ -60,11 +62,11 @@ After installing this plugin package (or manually copying the presets), **four**
60
62
  **One-sentence positioning**: upgrade v4's "a group of residents messaging each other" into an **institute** — with three classes of staff: **academician** (leader), **resident researcher**, and **temp worker**; with the institute's **public charter**; with **group chat and meetings**; with **autonomous hiring/firing**; and where
61
63
  **any conclusion must be given a Boolean probability of 1 or 0 unanimously by at least m voting members before it can be written to `Verified/`**.
62
64
 
63
- ![Vibe Math V5 architecture diagram](示例图/框架图-v5.svg)
65
+ ![Vibe Math V5 architecture diagram](示例图/框架图-v5-en.svg)
64
66
 
65
67
  > Image sources and all detail diagrams (member lifecycle, one-round sequence, consensus state machine, meeting flow, scheduling priority, state folding,
66
- > prompt composition, task board, authority matrix): [`vibe-math-v5/架构图.md`](vibe-math-v5/架构图.md).
67
- > The SVG above is generated by a zero-dependency script: `node docs/generate_framework_diagram_v5.mjs`.
68
+ > prompt composition, task board, authority matrix): [the v5 detail diagrams](vibe-math-v5/架构图.md).
69
+ > The SVG above is generated by a zero-dependency script: `node docs/generate_framework_diagram_v5.mjs --lang=en`.
68
70
 
69
71
  ```mermaid
70
72
  flowchart TB
@@ -146,7 +148,7 @@ session log, from which `applyV5Event` purely folds out the state. Therefore
146
148
  - **Recovery takes the same code path**: both cross-process restarts and resume after an in-process abort are covered by DSH's checkpoint/restore;
147
149
  - the whole class of problems caused by v4's direct writes to `State/*.json` — "corrupted silent overwrite / concurrent lost writes / stale cross-process snapshots" — is eliminated by construction.
148
150
 
149
- If the host has no `sessionProjections` service, v5 automatically falls back to hardened JSON (`State/<研究所>.v5state.json`, the same fold,
151
+ If the host has no `sessionProjections` service, v5 automatically falls back to hardened JSON (`State/<institute>.v5state.json`, the same fold,
150
152
  serial writes, and a mandatory load before read), and the installer's startup self-check reports this degradation. Files outside the projection (member output libraries, group chat, meeting minutes,
151
153
  debate records, roster mirror, task board mirror) are all **human-readable artifacts**, and breaking them by hand does not damage the institute.
152
154
 
@@ -159,18 +161,18 @@ and the **receipt contract**. Every field in the receipt contract that the frame
159
161
  (temp workers have no `verdict`/`hire`/`fire`; non-academicians have no `assign`/`prioritize`/`nudge`/`convene_meeting`).
160
162
 
161
163
  The framework treats "the text a member reads" as a product to be guaranteed: identity is **passed explicitly and never guessed**; a member is **written to the roster first, and only then** are its onboarding
162
- prompts constructed; the charter snapshot is frozen at onboarding, and a session rebuild is framed as `【会话重建】` rather than "just onboarded"; no academician narrative appears when there is no academician;
164
+ prompts constructed; the charter snapshot is frozen at onboarding, and a session rebuild is framed as the literal marker `【会话重建 —— <role> <id>】` ("session rebuild") rather than "just onboarded"; no academician narrative appears when there is no academician;
163
165
  message headers are labeled by **true origin** (institute office assignment ≠ academician assignment; supervision ≠ assignment); framework feedback has its own sender,
164
166
  and **only one message is delivered per prompt**.
165
167
 
166
168
  #### Directory Structure (Institute)
167
169
 
168
170
  ```
169
- <会话工作区>/VibeMath/Projects/<项目>/Institutes/<研究所>/
171
+ <session workspace>/VibeMath/Projects/<project>/Institutes/<institute>/
170
172
  ├─ Institutes.md # roster mirror (human-readable snapshot, do not edit by hand)
171
173
  ├─ Problems/<id>.md # original problem
172
174
  ├─ Problems/conclusion.md # conclusion record
173
- ├─ Members/<代号>/
175
+ ├─ Members/<codename>/
174
176
  │ ├─ Progress/progress.md # research log (the main basis for restoring state after compaction)
175
177
  │ ├─ Propos/<id>.md # proposition
176
178
  │ ├─ Methods/<id>.md # method / theory / tool
@@ -203,8 +205,8 @@ and **only one message is delivered per prompt**.
203
205
  - **No npm experimental package is introduced**: v5 is a single `.js` file within the preset, with zero dependencies.
204
206
  - **Meetings and verification are strictly mutually exclusive** (queued in both directions).
205
207
 
206
- See [`vibe-math-v5/实现方案.md`](vibe-math-v5/实现方案.md) (written specification) and
207
- [`vibe-math-v5/架构图.md`](vibe-math-v5/架构图.md) (all detail diagrams).
208
+ See [the v5 specification](vibe-math-v5/实现方案.md) (written specification) and
209
+ [the v5 detail diagrams](vibe-math-v5/架构图.md) (all detail diagrams).
208
210
 
209
211
  ---
210
212
 
@@ -449,8 +451,8 @@ The framework = **one main agent (assistant) + one code scheduler + one planner
449
451
  | Roster | resident, can be spawned/closed | **can grow and shrink**: resident researchers are hired with the institute office's approval; temp workers are hired and fired autonomously by academicians/researchers |
450
452
  | State | `State/*.json` written directly | **session-log host-only projection cells** (zero token cost, handled by DSH checkpoint/restore) |
451
453
 
452
- For the complete v5 architecture (including member lifecycle, one-round timeline, consensus state machine, meeting flow, scheduling priority, state folding, prompt composition, task board, authority matrix), see [`vibe-math-v5/架构图.md`](vibe-math-v5/架构图.md); for the textual specification see
453
- [`vibe-math-v5/实现方案.md`](vibe-math-v5/实现方案.md).
454
+ For the complete v5 architecture (including member lifecycle, one-round timeline, consensus state machine, meeting flow, scheduling priority, state folding, prompt composition, task board, authority matrix), see [the v5 detail diagrams](vibe-math-v5/架构图.md); for the textual specification see
455
+ [the v5 specification](vibe-math-v5/实现方案.md).
454
456
 
455
457
  ---
456
458
 
@@ -479,6 +481,7 @@ For the complete v5 architecture (including member lifecycle, one-round timeline
479
481
  ```
480
482
  <session workspace>/VibeMath/
481
483
  ├─ Methods/ # [global] cross-project general theory invention library (v3, promoted from project level)
484
+ ├─ Formal/ # object formalization workspace: Lib/ (reusable definitions) and Proved/ (proved lemmas)
482
485
  ├─ current.<session id>.json # current project per session (parallel sessions do not overwrite each other)
483
486
  ├─ vibe_math_setting.json # (optional, global fallback) default parameters JSONC, with comments
484
487
  └─ Projects/<project>/
@@ -545,13 +548,13 @@ and citations must be marked "unverified"; ④ entry into the library must state
545
548
  Because the main agent has built-in usage instructions, you **can simply speak in plain language**:
546
549
 
547
550
  ```
548
- 帮我用 Vibe Math 证明 √2 是无理数。
551
+ Use Vibe Math to prove that √2 is irrational.
549
552
  ```
550
553
 
551
554
  The main agent will automatically: `vibe_math_add_problem` to add the problem → `vibe_math_start` to start it → after that you can ask it for progress at any time.
552
555
 
553
556
  ```
554
- 现在进展怎么样了?
557
+ How is it going so far?
555
558
  ```
556
559
 
557
560
  The main agent will automatically call `vibe_math_status` / `vibe_math_report` and report the results back to you in plain language.
@@ -594,19 +597,19 @@ The main agent's role is to be your "translator". You only need to describe the
594
597
 
595
598
  | What you say | What the main agent does |
596
599
  |---|---|
597
- | “求解 / 证明 XXX” | `add_problem` + `start`, then report |
598
- | “现在进度怎么样 / 有哪些代理在跑” | `status` / `report` / `list_agents` and summarize |
599
- | “暂停 / 终止求解” | `pause` / `abort` |
600
- | “切到人工模式,我要逐步把关” | `set_mode manual`, then remind you with `list_decisions` whenever there is a decision |
601
- | “给 q1 的某个求解方向换个思路(比如改成构造性证明)” | `list_agents` to find the childId → `message_agent` to inject new instructions |
602
- | “中断某个卡住的子代理” | `interrupt_agent` |
600
+ | “Solve / prove XXX” | `add_problem` + `start`, then report |
601
+ | “What is the progress now / which agents are running?” | `status` / `report` / `list_agents` and summarize |
602
+ | “Pause / abort the proof” | `pause` / `abort` |
603
+ | “Switch to manual mode; I want to review each step” | `set_mode manual`, then remind you with `list_decisions` whenever there is a decision |
604
+ | “Give one of q1's directions a new angle (e.g. turn it into a constructive proof)” | `list_agents` to find the childId → `message_agent` to inject new instructions |
605
+ | “Interrupt a stuck subagent” | `interrupt_agent` |
603
606
 
604
607
  ### 2. Q&A-style parameter configuration (/vibe setup)
605
608
 
606
609
  You do not even need to remember parameter names. Say:
607
610
 
608
611
  ```
609
- 帮我配置一下参数。
612
+ Help me configure the parameters.
610
613
  ```
611
614
 
612
615
  The main agent will call `vibe_math_setup` to get the full parameter schema (each item includes a **description / options / suggestion / current value**),
@@ -620,7 +623,7 @@ You can also just run the command: `/vibe setup` (view the schema) → tell the
620
623
  - **Generate a template**: `/vibe template` (generated into the workspace) or `/vibe template project` (generated into the current project) —
621
624
  it produces a JSON template **with `//` comments and an item-by-item Chinese description**; after you edit it by hand, restart/resume to take effect.
622
625
  - **Save current values**: `/vibe save` writes the currently effective parameters back to that file.
623
- - **The only persistent source**: that file is the **only persistence layer** for parameters (project level takes precedence → when missing, fall back to the global `<工作区>/VibeMath/vibe_math_setting.json` → built-in defaults).
626
+ - **The only persistent source**: that file is the **only persistence layer** for parameters (project level takes precedence → when missing, fall back to the global `<workspace>/VibeMath/vibe_math_setting.json` → built-in defaults).
624
627
  `vibe_math_set_params` / `set_mode` **write back immediately** to the project-level file and persist, so no manual save is needed.
625
628
 
626
629
  ---
@@ -630,16 +633,16 @@ You can also just run the command: `/vibe setup` (view the schema) → tell the
630
633
  **Step 1 — Start with one sentence**
631
634
 
632
635
  ```
633
- 帮我用 Vibe Math 证明:√2 是无理数。
636
+ Use Vibe Math to prove: √2 is irrational.
634
637
  ```
635
638
 
636
- The main agent runs `vibe_math_add_problem {"id":"q1","description":"证明:√2 是无理数。","priority":0}`
639
+ The main agent runs `vibe_math_add_problem {"id":"q1","description":"Prove that √2 is irrational.","priority":0}`
637
640
  then runs `vibe_math_start`, and then tells you “started”.
638
641
 
639
642
  **Step 2 — Ask about progress**
640
643
 
641
644
  ```
642
- 进展如何?
645
+ How is the progress?
643
646
  ```
644
647
 
645
648
  The main agent runs `vibe_math_status` and reports in plain language: the number of currently active subagents, the units being verified, whether there are pending decisions, and so on.
@@ -647,7 +650,7 @@ The main agent runs `vibe_math_status` and reports in plain language: the number
647
650
  **Step 3 — Tune parameters by conversation (optional)**
648
651
 
649
652
  ```
650
- 我想让它用加权投票,并发数设成 6。
653
+ I want it to use weighted voting, with the concurrency limit set to 6.
651
654
  ```
652
655
 
653
656
  The main agent `vibe_math_set_params {"verdictMode":"weighted-vote","maxParallelThreshold":6}`,
@@ -656,7 +659,7 @@ and asks you whether to `vibe_math_save_settings` to save them.
656
659
  **Step 4 — Intervene midway (optional)**
657
660
 
658
661
  ```
659
- 切到人工模式,我要在每个关键节点把关。
662
+ Switch to manual mode; I want to check every key step.
660
663
  ```
661
664
 
662
665
  The main agent `vibe_math_set_mode {"mode":"manual"}`. Afterwards, at every key node it runs `vibe_math_list_decisions`
@@ -665,13 +668,13 @@ to get the decisions, explains them to you, and waits for you to `vibe_math_deci
665
668
  **Step 5 — Wrap up**
666
669
 
667
670
  ```
668
- 结束了吗?结论是什么?
671
+ Is it finished? What is the conclusion?
669
672
  ```
670
673
 
671
- The main agent `vibe_math_status`: in `qs.csv`, `q1` has been written back as `solved`, and the solution file is in `Verified/` and named
672
- `q1-的解法_<唯一标识>.csv`.
674
+ The main agent `vibe_math_status`: in `qs/qs.json`, `q1` has been written back with `已解决 = true` (`已解决` = solved) and its solution carries `正确概率 = 1` (`正确概率` = correctness probability); the resolved fact is indexed in
675
+ `Verified/<category>_Verified.json`.
673
676
 
674
- > The corresponding wrap-up in v2 is: `q1.已解决 = true` in `qs.json`, its solution `正确概率 = 1`, and the related proposition enters `Verified/`.
677
+ > v2 writes no CSV at all: solved problems live in `qs/qs.json`, and `Verified/<category>_Verified.json` is the resolved-fact index (a solution with `正确概率 = 1` closes its problem; a proof or disproof with `正确概率 = 1` sets the proposition estimate to `1`/`0`).
675
678
 
676
679
  ---
677
680
 
@@ -813,10 +816,10 @@ Common controls: `vibe_v5_configure` (configure first) → `vibe_v5_start` (star
813
816
 
814
817
  ## 📚 Specification documents
815
818
 
816
- - **v2 (probability-driven)**: [`vibe-math-v2/实现方案.md`](vibe-math-v2/实现方案.md)
817
- - **v3 (paper-style md + planning agent + method library)**: [`vibe-math-v3/实现方案.md`](vibe-math-v3/实现方案.md)
818
- - **v4 (resident self-organization)**: [`vibe-math-v4/实现方案.md`](vibe-math-v4/实现方案.md)
819
- - **v5 (institute system)**: [`vibe-math-v5/实现方案.md`](vibe-math-v5/实现方案.md) (text specification) · [`vibe-math-v5/架构图.md`](vibe-math-v5/架构图.md) (the full set of architecture diagrams)
819
+ - **v2 (probability-driven)**: [the v2 specification](vibe-math-v2/实现方案.md)
820
+ - **v3 (paper-style md + planning agent + method library)**: [the v3 specification](vibe-math-v3/实现方案.md)
821
+ - **v4 (resident self-organization)**: [the v4 specification](vibe-math-v4/实现方案.md)
822
+ - **v5 (institute system)**: [the v5 specification](vibe-math-v5/实现方案.md) (text specification) · [the v5 detail diagrams](vibe-math-v5/架构图.md) (the full set of architecture diagrams)
820
823
  - **v5 prompts and interaction corpus**: [`prompt-corpus-v5/prompt-corpus-v5.md`](prompt-corpus-v5/prompt-corpus-v5.md) (the verbatim text of every prompt the framework actually emits, so you can manually review whether identity/positions/interaction signatures are correct)
821
824
  - **Four sets of Lean prompt corpora**: [`prompt-corpus-v2/formal-verify-v2.md`](prompt-corpus-v2/formal-verify-v2.md) · [`prompt-corpus-v3/formal-verify-v3.md`](prompt-corpus-v3/formal-verify-v3.md) · [`prompt-corpus-v4/formal-verify-v4.md`](prompt-corpus-v4/formal-verify-v4.md) (each covering off / encourage / **require** / fidelity branches / work rounds / receipt contract; the workspace is normalized to `<WS>` and the VibeMath root to `<VIBEMATH>`)
822
825
  - **The persona source text of the four presets**: [`prompt-corpus-persona/persona-corpus.md`](prompt-corpus-persona/persona-corpus.md) (the prompts the main agent actually receives: which tools, which parameters, which slash subcommands; generated by `audit-persona-surface.test.mjs` and shipped with the package)
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Vibe Mathematics — 多代理数学问题求解与验证框架(四架构)
2
-
3
- [English](README.en.md) | 中文
2
+
3
+ [English](README.en.md) | 中文
4
4
 
5
5
  [![npm](https://img.shields.io/npm/v/dsh-vibe-math)](https://www.npmjs.com/package/dsh-vibe-math)
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
@@ -22,11 +22,12 @@
22
22
 
23
23
  ## 🧩 架构图(v2 + v3 + v4 + v5)
24
24
 
25
- > 静态架构图;完整流程说明见 [docs/架构图.md](docs/架构图.md)(v2 详解)与
25
+ > 静态架构图;完整流程说明见 [docs/架构图.md](docs/架构图.md)(v1 历史架构图;v2 起目录布局已变更)与
26
26
  > [vibe-math-v5/架构图.md](vibe-math-v5/架构图.md)(v5 全套细节图);
27
- > 可编辑生成脚本:[v2](docs/generate_framework_diagram_v2.py) / [v3](docs/generate_framework_diagram_v3.py)(matplotlib → PNG)、
27
+ > 可编辑生成脚本:中文 v2/v3 海报由 matplotlib 脚本生成 [v2](docs/generate_framework_diagram_v2.py) / [v3](docs/generate_framework_diagram_v3.py)(matplotlib → PNG);
28
+ > 英文版 v2/v3 由零依赖 Node 脚本生成 [v2-en](docs/generate_framework_diagram_v2_en.mjs) / [v3-en](docs/generate_framework_diagram_v3_en.mjs)(→ **SVG**);
28
29
  > [v4](docs/generate_framework_diagram_v4.mjs) / [v5](docs/generate_framework_diagram_v5.mjs)
29
- > (零依赖 Node → **SVG**,`node docs/generate_framework_diagram_v4.mjs`)。
30
+ > (零依赖 Node → **SVG**,`node docs/generate_framework_diagram_v4.mjs`,加 `--lang=en` 生成英文版 `示例图/框架图-v4-en.svg`)。
30
31
  > v4 起改用 SVG:纯文本、diff 友好、任意缩放不糊;需要 PNG 时用无头浏览器截图(命令见生成脚本头部)。
31
32
 
32
33
  ### Vibe Math V2(概率驱动 · JSON 数据层)✅ 主推
@@ -481,6 +482,7 @@ v5 的完整架构(含成员生命周期、一轮时序、共识状态机、
481
482
  ```
482
483
  <会话工作区>/VibeMath/
483
484
  ├─ Methods/ # 【全局】跨项目通用理论发明库(v3,晋升自项目级)
485
+ ├─ Formal/ # 对象形式化工作文件:Lib/(可复用定义)与 Proved/(已证引理)
484
486
  ├─ current.<会话id>.json # 每会话当前项目(多会话并行互不覆盖)
485
487
  ├─ vibe_math_setting.json # (可选,全局回退)默认参数 JSONC,含注释
486
488
  └─ Projects/<项目>/
@@ -670,10 +672,10 @@ v5 的完整架构(含成员生命周期、一轮时序、共识状态机、
670
672
  结束了吗?结论是什么?
671
673
  ```
672
674
 
673
- 主代理 `vibe_math_status`:`qs.csv` 里 `q1` 已回写 `solved`,解法文件在 `Verified/` 里并被命名为
674
- `q1-的解法_<唯一标识>.csv`。
675
+ 主代理 `vibe_math_status`:`qs/qs.json` 里 `q1` 已回写 `已解决 = true`,其解法 `正确概率 = 1`;定论事实进入
676
+ `Verified/<分类>_Verified.json`。
675
677
 
676
- > v2 对应的收尾是:`qs.json` 中 `q1.已解决 = true`,其解法 `正确概率 = 1`,相关命题进入 `Verified/`。
678
+ > v2 不写 CSV:已解决问题就在 `qs/qs.json` 里,`Verified/<分类>_Verified.json` 是定论事实索引(解法 `正确概率 = 1` → 问题收口;证明/证伪 `正确概率 = 1` → 命题布尔估计 = 1/0)。
677
679
 
678
680
  ---
679
681
 
@@ -835,7 +837,7 @@ v5 的完整架构(含成员生命周期、一轮时序、共识状态机、
835
837
  ## ⚠️ 已知边界(有意简化)
836
838
 
837
839
  **v2**:
838
- - 安装器带**版本化自动更新**:每次 DSH 启动时对比包版本与 `<presetRoot>/.vibe-math-installed.json` 记录——**版本一变(或无记录的老安装首次运行)就整体替换受管文件,不看它是否被改过**;被替换的手改原文先备份到 `<presetRoot>/.vibe-math-backup/<旧版本>/<preset>/` 并在日志里列出。同一个版本内**不重写任何文件**(重启 DSH 不会改写 preset、也不会扰动它按 mtime 记的生成代际),缺失文件随时补回。想强制全量重装:删除 `~/.dsh/.agent-presets/vibe-math-v2`、`vibe-math-v3`、`vibe-math-v4` 与 `vibe-math-v5` 目录后重启 DSH。
840
+ - 安装器带**版本化自动更新**:每次 DSH 启动时对比包版本与 `<presetRoot>/.vibe-math-installed.json` 记录——**版本一变(或无记录的老安装首次运行)就整体替换受管文件,不看它是否被改过**;被替换的手改原文先备份到 `<presetRoot>/.vibe-math-backup/<旧版本>/<preset>/` 并在日志里列出。同一个版本内**不重写任何文件**(重启 DSH 不会改写 preset、也不会扰动它按 mtime 记的生成代际),缺失文件随时补回。想强制全量重装:删除 `~/.dsh/.agent-presets/vibe-math-v2`、`vibe-math-v3`、`vibe-math-v4` 与 `vibe-math-v5` 目录后重启 DSH。
839
841
  - **这四个目录由安装器负责**:删掉其中任一文件或整个目录,只会在下次启动 DSH 时被补回(这正是上面"强制全量重装"可行的原因)。想彻底不要它们,就卸载本包(`dsh plugin --profile <你的 profile> remove dsh-vibe-math`)。
840
842
  - `flat` 裁决在辩论不一致时直接判 `0.5`(高置信分歧如 0.9 vs 1 也会被误判 0.5——**v3 已用近共识规则修复**);`forced` 按历史准确率+置信度加权。
841
843
  - `never` 优先级的问题/命题**永不调度**,且不阻塞严格终止(视为主动弃权)。
@@ -320,46 +320,65 @@ provider **直接拒绝**。于是"提示词/规格/状态表都写着这个参
320
320
 
321
321
  - 缺陷要分**类**:"这一整类此前没有审计维度"比"修了 N 个 bug"更重要。
322
322
  - 假绿/假红必须单独说明:**审计本身失效**是最严重的发现。
323
- - 每条结论都要给出**可复核的证据**(真实日志片段、语料原文、可重跑的命令与结果)。
324
-
325
- ---
326
-
327
- ## 6. 发布说明(Release Notes / GitHub Release)格式
328
-
329
- **中英双语、先中文后英文,只写"给用户看的信息"。** 工程过程(探针结果、断言条数、事故复盘、行号与
330
- 内部编号)属于 `_oneoff/audit-findings-*.md` 台账与提交信息,**不进**发布说明。
331
-
332
- 固定骨架(只有版本号、标题与正文随版本变,**节名不变**):
333
-
334
- ```markdown
335
- # dsh-vibe-math <版本> — 发布说明(中文)
336
-
337
- > 上一版:<版本>。<一句话:这一版是干什么的、是否影响行为。>
338
-
339
- ## 概览
340
- ## 变更
341
- ## 兼容性
342
- ## 升级
343
-
344
- ---
345
-
346
- # dsh-vibe-math <版本> — Release Notes (English)
347
-
348
- > Previous: <version>. <One sentence: what this release is and whether behaviour changes.>
349
-
350
- ## Overview
351
- ## Changes
352
- ## Compatibility
353
- ## Upgrade
354
- ```
355
-
356
- - [ ] 两个 H1 都在;**英文那份的 H1 必须含 `English`**(发布门禁阶段 1c 会检查);
357
- - [ ] 中文部分 ≥ 150 个汉字(门禁同阶段检查),英文部分不得残留未翻译段落;
358
- - [ ] 每条变更都回答"**对使用者有什么影响**"——不写内部编号、探针名、断言条数;
359
- - [ ] 「兼容性」明确回答:四套预设的字节/行为是否变化、参数与工具面是否变化;
360
- - [ ] 「升级」给出可直接复制的命令(`npm i dsh-vibe-math@latest`;若 profile 里把版本钉死了,
361
- 写出对应的 `dsh plugin --profile <name> add dsh-vibe-math@latest`);
362
- - [ ] **发布前把草稿交给用户确认**(在对话里展示全文,或用提问工具);用户同意或给出修改意见后再发布;
363
- - [ ] GitHub Release 的正文 = 这份文件本身(`gh release create --notes-file <该文件>`),标题中英并列。
364
-
365
- ---
323
+ - 每条结论都要给出**可复核的证据**(真实日志片段、语料原文、可重跑的命令与结果)。
324
+
325
+ ---
326
+
327
+ ## 6. 发布说明(Release Notes / GitHub Release)格式
328
+
329
+ **中英双语、先中文后英文,只写"给用户看的信息"。** 工程过程(探针结果、断言条数、事故复盘、行号与
330
+ 内部编号)属于 `_oneoff/audit-findings-*.md` 台账与提交信息,**不进**发布说明。
331
+
332
+ 固定骨架(只有版本号、标题与正文随版本变,**节名不变**):
333
+
334
+ ```markdown
335
+ # dsh-vibe-math <版本> — 发布说明(中文)
336
+
337
+ > 上一版:<版本>。<一句话:这一版是干什么的、是否影响行为。>
338
+
339
+ ## 概览
340
+ ## 变更
341
+ ## 兼容性
342
+ ## 升级
343
+
344
+ ---
345
+
346
+ # dsh-vibe-math <版本> — Release Notes (English)
347
+
348
+ > Previous: <version>. <One sentence: what this release is and whether behaviour changes.>
349
+
350
+ ## Overview
351
+ ## Changes
352
+ ## Compatibility
353
+ ## Upgrade
354
+ ```
355
+
356
+ - [ ] 两个 H1 都在;**英文那份的 H1 必须含 `English`**(发布门禁阶段 1c 会检查);
357
+ - [ ] 中文部分 ≥ 150 个汉字(门禁同阶段检查),英文部分不得残留未翻译段落;
358
+ - [ ] 每条变更都回答"**对使用者有什么影响**"——不写内部编号、探针名、断言条数;
359
+ - [ ] 「兼容性」明确回答:四套预设的字节/行为是否变化、参数与工具面是否变化;
360
+ - [ ] 「升级」给出可直接复制的命令(`npm i dsh-vibe-math@latest`;若 profile 里把版本钉死了,
361
+ 写出对应的 `dsh plugin --profile <name> add dsh-vibe-math@latest`);
362
+ - [ ] **发布前把草稿交给用户确认**(在对话里展示全文,或用提问工具);用户同意或给出修改意见后再发布;
363
+ - [ ] GitHub Release 的正文 = 这份文件本身(`gh release create --notes-file <该文件>`),标题中英并列。
364
+
365
+ ---
366
+
367
+ ## 7. 中英双语 README 与英文版架构图(2.3.16 起)
368
+
369
+ - **默认语言**:`README.md` 为中文(默认、GitHub 首屏),`README.en.md` 为英文;两文顶部各有一行切换器
370
+ (中文版 `[English](README.en.md) | 中文`,英文版 `English | [中文](README.md)`)。不建 `README.zh.md`。
371
+ - **结构同构**:标题层级序列、表格行数、代码块数、图片数量、本地链接集合必须一一对应;
372
+ 唯一允许的差异是四张架构图各自指向 `-en` 版本(按序号配对校验)。
373
+ - **文件与产物名不翻译**:真实目录/文件名(`示例图/…`、`docs/架构图.md`、`Verified/命题/`、`Logs/报告.md`)、
374
+ 真实 JSON 键(`已解决`、`正确概率`)、真实格式锚点(`- ID/类型/状态/概率/…`、`### 解法/证明/证伪 N|标题|概率X|状态Y`)、
375
+ 会话重建标记 `【会话重建 —— <role> <id>】`、v2/v3 真实 md 字段名(`可信断言`、`上级体系`、`子方法`)**保持原样**,
376
+ 首次出现处可加括注;除此以外的正文必须是英文(`tests/audit-readme-bilingual.test.mjs` 的 CJK 预算兜底)。
377
+ - **架构图**:四张英文图 `示例图/框架图-v{2,3,4,5}-en.svg` 只被 `README.en.md` 引用,中文图不受影响;
378
+ v4/v5 用现有零依赖生成器加 `--lang=en`(`docs/generate_framework_diagram_v4.mjs`),
379
+ v2/v3 用独立的零依赖 Node 生成器 `docs/generate_framework_diagram_v{2,3}_en.mjs`(中文 v2/v3 海报仍由 matplotlib 脚本产出)。
380
+ 英文图内只允许保留上述"真实字面量"的中文,`tests/audit-diagram-assets.test.mjs` 按图核 CJK 预算。
381
+ - **历史文档必须标注适用范围**:描述旧版本布局的文档(如 v1 时期的 `docs/架构图.md`)要在开头写明它描述的是哪一版,
382
+ 不能在被 README 当作"当前详解"引用时静默误导(`qs.csv`、`Pending_Verification/` 等 v1 名称在 v2 起已不存在)。
383
+
384
+ ---