dsh-math-modeling-agent 0.1.1 → 0.2.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.md +5 -4
- package/package.json +2 -3
- package/skills/math-modeling-agent/SKILL.md +16 -11
- package/skills/math-modeling-agent/references/claims-evidence.md +10 -2
- package/skills/math-modeling-agent/references/interaction-protocol.md +64 -0
- package/skills/math-modeling-agent/references/math-grill.md +16 -10
- package/skills/math-modeling-agent/references/report-contract.md +38 -2
- package/skills/math-modeling-agent/references/run-directory.md +62 -0
- package/skills/math-modeling-agent/references/subagent-dispatch.md +47 -0
- package/skills/math-modeling-agent/references/tool-policy.md +18 -0
- package/skills/math-modeling-agent/references/workflow.md +31 -0
- package/skills/math-modeling-agent/schemas/ledger.schema.json +25 -4
- package/skills/math-modeling-agent/scripts/python-environment.mjs +13 -5
- package/skills/math-modeling-agent/scripts/run-state.mjs +93 -10
- package/docs/assets/mathmodelingagent-overview.svg +0 -92
- package/docs/superpowers/plans/2026-08-22-math-modeling-dsh-plugin.md +0 -3303
- package/docs/superpowers/specs/2026-08-22-math-modeling-dsh-plugin-design.md +0 -889
|
@@ -1,889 +0,0 @@
|
|
|
1
|
-
# MathModelingAgent DSH Plugin Design
|
|
2
|
-
|
|
3
|
-
- **Date:** 2026-08-22
|
|
4
|
-
- **Status:** Approved conversation design, pending written-spec review
|
|
5
|
-
- **Workspace:** `D:\code repository\math\MathModelingAgent-dsh-plugin`
|
|
6
|
-
- **Branch:** `rewrite/dsh-plugin`
|
|
7
|
-
|
|
8
|
-
## 1. Purpose
|
|
9
|
-
|
|
10
|
-
Rebuild MathModelingAgent as a clean, installable DeepSeek Harness bundle for evidence-driven mathematical modeling, computation, research, verification, and resumable problem-solving.
|
|
11
|
-
|
|
12
|
-
The released product must let another person install one DSH bundle and immediately describe a problem in natural language. Python is the default computational verifier when available. Lean and Wolfram are optional verification adapters. Missing external tools reduce evidence strength but must not prevent the plugin from loading or from producing an honest partial result.
|
|
13
|
-
|
|
14
|
-
The old Python CLI is not a runtime dependency. Only its durable ideas are retained:
|
|
15
|
-
|
|
16
|
-
- extract and decompose multi-part problems;
|
|
17
|
-
- inspect attachments before modeling;
|
|
18
|
-
- carry verified upstream results into dependent subproblems;
|
|
19
|
-
- iterate Model → Execute → Verify → Critique → Revise;
|
|
20
|
-
- emit a visible report for every attempt;
|
|
21
|
-
- retain failures and resume from checkpoints.
|
|
22
|
-
|
|
23
|
-
## 2. Product principles
|
|
24
|
-
|
|
25
|
-
1. **Evidence before status.** No claim is accepted because a model says “Excellent” or a tool exits successfully.
|
|
26
|
-
2. **One natural-language entry.** Users do not select internal phases, tools, or adapters.
|
|
27
|
-
3. **Deep modules.** A small public interface hides grilling, research, tool discovery, state, recovery, and escalation.
|
|
28
|
-
4. **Progressive rigor.** Fast, Standard, and High-Assurance paths prevent simple problems from being over-processed.
|
|
29
|
-
5. **Resumable iteration.** Attempts continue while they produce auditable information gain; exhaustion produces a resumable scientific status, never an empty failure.
|
|
30
|
-
6. **Minimal implementation.** No directory, file, dependency, script, or Skill exists without one durable responsibility.
|
|
31
|
-
7. **Portable distribution.** No developer-specific path, private Skill, persona, API provider, or operating-system assumption enters the package.
|
|
32
|
-
8. **Local-first computation.** User data stays local to the current workspace unless the user explicitly requests an external operation.
|
|
33
|
-
9. **Model agnostic product.** GPT-5.6 Luna Max is the requested implementation/review worker, but the released bundle does not lock users to any model.
|
|
34
|
-
|
|
35
|
-
## 3. Scope
|
|
36
|
-
|
|
37
|
-
### 3.1 Included
|
|
38
|
-
|
|
39
|
-
- mathematical modeling intake and structured grilling;
|
|
40
|
-
- document, attachment, and data profiling;
|
|
41
|
-
- problem typing and subproblem dependency mapping;
|
|
42
|
-
- assumptions, claims, verification obligations, and evidence tracking;
|
|
43
|
-
- candidate model generation and comparison;
|
|
44
|
-
- Python-based computation and testing in an isolated task environment;
|
|
45
|
-
- optional Lean and Wolfram verification;
|
|
46
|
-
- literature and method research;
|
|
47
|
-
- multi-direction breakthrough escalation;
|
|
48
|
-
- per-attempt reports, failure ledger, checkpoints, and recovery;
|
|
49
|
-
- independent auditing of an existing solution or run;
|
|
50
|
-
- MCM/ICM Final Judging Panel scoring with evidence-linked caps and fixed output;
|
|
51
|
-
- bilingual natural-language triggering and a concise bilingual README.
|
|
52
|
-
|
|
53
|
-
### 3.2 Explicitly excluded
|
|
54
|
-
|
|
55
|
-
- the legacy Gemini client and prompt loop;
|
|
56
|
-
- a standalone Python agent runtime;
|
|
57
|
-
- mandatory Python, Lean, Wolfram, LaTeX, or commercial solver installation;
|
|
58
|
-
- automatic installation of Lean or Wolfram;
|
|
59
|
-
- install-time scripts or arbitrary code execution;
|
|
60
|
-
- Claude-style `.dsh-plugin/plugin.json`, `commands/`, `agents/`, `hooks/`, or `.mcp.json` conventions;
|
|
61
|
-
- hidden chain-of-thought logging;
|
|
62
|
-
- guarantees that every open mathematical or real-world problem can be solved;
|
|
63
|
-
- model-scored acceptance or innovation-for-innovation’s-sake.
|
|
64
|
-
|
|
65
|
-
## 4. Official DSH packaging
|
|
66
|
-
|
|
67
|
-
The package is a DSH **bundle**, not a Claude-style directory plugin.
|
|
68
|
-
|
|
69
|
-
### 4.1 Root manifest
|
|
70
|
-
|
|
71
|
-
`package.json` declares the bundle patch:
|
|
72
|
-
|
|
73
|
-
```json
|
|
74
|
-
{
|
|
75
|
-
"name": "dsh-math-modeling-agent",
|
|
76
|
-
"version": "0.1.0",
|
|
77
|
-
"description": "Evidence-driven mathematical modeling and verification skills for DeepSeek Harness",
|
|
78
|
-
"type": "module",
|
|
79
|
-
"files": ["cordis.patch.yml", "skills", "README.md", "LICENSE"],
|
|
80
|
-
"license": "MIT",
|
|
81
|
-
"repository": "https://github.com/yohanchen1/MathModelingAgent",
|
|
82
|
-
"keywords": ["dsh", "mathematical-modeling", "verification", "lean", "wolfram", "python"],
|
|
83
|
-
"dsh": { "bundle": { "patch": "./cordis.patch.yml" } }
|
|
84
|
-
}
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
There is no build step, `prepare` script, custom Cordis runtime, or npm runtime dependency.
|
|
88
|
-
|
|
89
|
-
### 4.2 Bundle patch
|
|
90
|
-
|
|
91
|
-
`cordis.patch.yml` mounts the official filesystem Skill provider over the package-relative immutable Skill root:
|
|
92
|
-
|
|
93
|
-
```yaml
|
|
94
|
-
- insert:
|
|
95
|
-
- id: dsh-math-modeling-agent-skills
|
|
96
|
-
name: '@deepseek-ai/dsh-skill-filesystem'
|
|
97
|
-
config:
|
|
98
|
-
providerName: dsh-math-modeling-agent
|
|
99
|
-
includeDefaultRoots: false
|
|
100
|
-
bundledSkillDir: !!js "process.getBuiltinModule('node:url').fileURLToPath(new URL('skills/', process.getBuiltinModule('node:url').pathToFileURL(process.getBuiltinModule('node:module').createRequire(baseUrl + 'noop.js').resolve('dsh-math-modeling-agent/package.json')).href))"
|
|
101
|
-
watch: false
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
Using `bundledSkillDir` gives packaged Skills bundled precedence, allowing project and user Skills to override them deliberately. The Loader evaluates `!!js` against the root include context, where `baseUrl` is the **profile** directory (not the bundle directory), so the package is resolved through the profile's own `node_modules` via `createRequire` — this removes every absolute-path assumption and works for npm, github, pnpm, and `file:` installs alike.
|
|
105
|
-
|
|
106
|
-
### 4.3 Installation
|
|
107
|
-
|
|
108
|
-
GitHub release target:
|
|
109
|
-
|
|
110
|
-
```bash
|
|
111
|
-
dsh plugin --profile web add github:yohanchen1/MathModelingAgent#v0.1.1
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
Stable npm release target:
|
|
115
|
-
|
|
116
|
-
```bash
|
|
117
|
-
dsh plugin --profile web add dsh-math-modeling-agent
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
Verification and startup:
|
|
121
|
-
|
|
122
|
-
```bash
|
|
123
|
-
dsh --profile web --dump-config
|
|
124
|
-
dsh web
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
A running DSH host must be restarted after bundle composition changes. Edits beneath an already mounted watched Skill root are a separate mechanism and do not make bundle installation hot-loadable.
|
|
128
|
-
|
|
129
|
-
## 5. Public Module shape
|
|
130
|
-
|
|
131
|
-
Only two user/model-visible Skills are shipped.
|
|
132
|
-
|
|
133
|
-
### 5.1 `math-modeling-agent`
|
|
134
|
-
|
|
135
|
-
**Durable job:** solve or resume a mathematical modeling problem from intake through evidence-backed conclusion.
|
|
136
|
-
|
|
137
|
-
**Trigger examples:**
|
|
138
|
-
|
|
139
|
-
- “帮我建立并验证这个数学模型。”
|
|
140
|
-
- “解决这道数学建模题,并保存每轮尝试。”
|
|
141
|
-
- “Continue this modeling run from its checkpoint.”
|
|
142
|
-
- “Research alternative methods because this model is stuck.”
|
|
143
|
-
|
|
144
|
-
**Input interface:** problem text or attachments; optional target, constraints, assurance preference, budget, or existing run directory.
|
|
145
|
-
|
|
146
|
-
**Output interface:** current status, supported claims, unresolved obligations, concise attempt summary, artifact path, and next action or final report.
|
|
147
|
-
|
|
148
|
-
**Hidden implementation stages:** triage, math-grill, profiling, decomposition, candidate generation, execution, internal verification, research, breakthrough escalation, reporting, and recovery.
|
|
149
|
-
|
|
150
|
-
### 5.2 `math-modeling-audit`
|
|
151
|
-
|
|
152
|
-
**Durable job:** independently audit an existing solution, derivation, code artifact, model, MathModelingAgent run, or MCM/ICM competition paper.
|
|
153
|
-
|
|
154
|
-
**Trigger examples:**
|
|
155
|
-
|
|
156
|
-
- “独立核验这份数学建模报告。”
|
|
157
|
-
- “Find counterexamples to these claims.”
|
|
158
|
-
- “检查这个最优性结论和数据划分。”
|
|
159
|
-
- “按 MCM/ICM 终审 100 分框架给这篇论文打分。”
|
|
160
|
-
|
|
161
|
-
**Input interface:** artifact, run, or paper path; optional problem statement, competition year/problem code, focus claims, and assurance level.
|
|
162
|
-
|
|
163
|
-
**Output interface:** per-claim `PASS / FAIL / INCONCLUSIVE`, evidence level, counterexamples, reproduction commands, residual risk, and—when MCM/ICM judging intent is detected—the fixed final-panel score report defined in Section 25.
|
|
164
|
-
|
|
165
|
-
**Trust seam:** it does not silently repair the audited result. High-Assurance runs invoke it in a fresh subagent/context using artifacts rather than the solver’s narrative.
|
|
166
|
-
|
|
167
|
-
**Specialized judging mode:** MCM/ICM scoring remains an internal mode of this Skill, not a third public Skill. Its large rubric is loaded only for competition-paper judging, so generic mathematical audits keep a small interface and prompt footprint.
|
|
168
|
-
|
|
169
|
-
### 5.3 Why no other public Skills
|
|
170
|
-
|
|
171
|
-
Math-grill, research, and breakthrough are internal policies, not external seams. Publishing them separately would leak stage selection to callers, duplicate state/report contracts, conflict with generic research/grilling Skills, and reduce locality.
|
|
172
|
-
|
|
173
|
-
## 6. Execution modes
|
|
174
|
-
|
|
175
|
-
### 6.1 Fast
|
|
176
|
-
|
|
177
|
-
For explicit, low-risk arithmetic, algebra, unit conversion, or directly checkable symbolic tasks.
|
|
178
|
-
|
|
179
|
-
- zero to two clarification questions;
|
|
180
|
-
- one primary solution;
|
|
181
|
-
- substitution, inverse operation, domain, or dimensional check;
|
|
182
|
-
- no research campaign unless verification fails.
|
|
183
|
-
|
|
184
|
-
Default safety budget: two attempts, one minute of external computation, no literature queries unless needed to resolve a factual premise.
|
|
185
|
-
|
|
186
|
-
### 6.2 Standard
|
|
187
|
-
|
|
188
|
-
For ordinary modeling, prediction, classification, optimization, estimation, simulation, and decision problems.
|
|
189
|
-
|
|
190
|
-
- dynamic math-grill;
|
|
191
|
-
- input manifest and data profiling;
|
|
192
|
-
- baseline plus materially different candidates;
|
|
193
|
-
- isolated Python execution when available;
|
|
194
|
-
- concise claim/evidence ledger;
|
|
195
|
-
- sensitivity, baseline, leakage, and reproducibility checks appropriate to the type.
|
|
196
|
-
|
|
197
|
-
Default safety budget: twelve evidence-bearing attempts, twelve research queries, and thirty minutes of external computation. Budget exhaustion preserves state and yields `INCONCLUSIVE` or `BLOCKED`; the run can resume with a larger budget.
|
|
198
|
-
|
|
199
|
-
### 6.3 High-Assurance
|
|
200
|
-
|
|
201
|
-
For publication, causal claims, global optimality, formal proof, safety, guarantees, or high-stakes decisions.
|
|
202
|
-
|
|
203
|
-
- complete claim and evidence ledgers;
|
|
204
|
-
- independent audit in a fresh context;
|
|
205
|
-
- adversarial cases and negative controls;
|
|
206
|
-
- citation verification and data leakage audit;
|
|
207
|
-
- formal or symbolic verification when applicable;
|
|
208
|
-
- reproducibility manifest.
|
|
209
|
-
|
|
210
|
-
Default safety budget: twenty-four evidence-bearing attempts, thirty research queries, and two hours of external computation. The same resumable budget rule applies.
|
|
211
|
-
|
|
212
|
-
The mode is inferred from claim strength and use context. The user can override it.
|
|
213
|
-
|
|
214
|
-
## 7. State machine
|
|
215
|
-
|
|
216
|
-
```text
|
|
217
|
-
TRIAGE
|
|
218
|
-
→ SCOPE_FROZEN
|
|
219
|
-
→ INPUT_PROFILED
|
|
220
|
-
→ CLAIMS_REGISTERED
|
|
221
|
-
→ CANDIDATES_READY
|
|
222
|
-
→ ATTEMPT
|
|
223
|
-
→ EXECUTE
|
|
224
|
-
→ VERIFY
|
|
225
|
-
├─ REVISE → ATTEMPT
|
|
226
|
-
├─ RESEARCH → CANDIDATES_READY
|
|
227
|
-
├─ FORK → ATTEMPT
|
|
228
|
-
├─ independent audit → SOLVED
|
|
229
|
-
└─ terminal scientific status
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
Hard invariants:
|
|
233
|
-
|
|
234
|
-
1. `ATTEMPT` cannot transition directly to `SOLVED`.
|
|
235
|
-
2. Every transition cites one or more evidence or issue IDs.
|
|
236
|
-
3. Failed execution cannot verify an execution-dependent claim.
|
|
237
|
-
4. A changed problem, input hash, objective, assumption, constraint, or required precision invalidates affected downstream claims.
|
|
238
|
-
5. Upstream artifact changes mark dependent subproblems stale.
|
|
239
|
-
6. Parser, provider, or verifier failure retains the last valid candidate and raw output.
|
|
240
|
-
7. Structural validation never evaluates mathematical truth.
|
|
241
|
-
|
|
242
|
-
## 8. Final scientific statuses
|
|
243
|
-
|
|
244
|
-
- `SOLVED`: all required obligations pass, critical adversarial checks pass, and the deliverable meets the frozen scope.
|
|
245
|
-
- `PARTIAL`: a useful verified subset exists, but one or more requested conclusions remain unresolved.
|
|
246
|
-
- `CONDITIONAL`: conclusions are valid only under explicitly listed unresolved assumptions.
|
|
247
|
-
- `INCONCLUSIVE`: current evidence cannot distinguish plausible outcomes or budgets ended before resolution.
|
|
248
|
-
- `REFUTED`: a requested proposition or candidate has a valid counterexample or contradiction.
|
|
249
|
-
- `INFEASIBLE`: the constraint system is inconsistent under the frozen scope.
|
|
250
|
-
- `UNIDENTIFIABLE`: available observations cannot identify the requested parameter or structure.
|
|
251
|
-
- `BLOCKED`: progress requires a specific missing input, permission, tool, domain judgment, theory, or resource.
|
|
252
|
-
- `CANCELLED`: the user intentionally stops the run.
|
|
253
|
-
|
|
254
|
-
`BLOCKED` is not an empty error. It includes the best candidate, verified subset, blocker evidence, minimum unblock input, wall memo, and resume command.
|
|
255
|
-
|
|
256
|
-
## 9. Math-grill protocol
|
|
257
|
-
|
|
258
|
-
The grill first types the problem, then asks only questions that can alter the model or verification obligations.
|
|
259
|
-
|
|
260
|
-
Problem types include symbolic calculation, theorem/proposition, deterministic numerical computation, feasibility, optimization, statistical estimation, prediction, causal inference, stochastic/risk model, inverse problem, mechanism/system model, decision analysis, exploratory analysis, and literature evidence synthesis.
|
|
261
|
-
|
|
262
|
-
The minimum routing questions are:
|
|
263
|
-
|
|
264
|
-
1. What output is required: number, proof, model, prediction, optimum, or decision?
|
|
265
|
-
2. Does data exist, and what is its source?
|
|
266
|
-
3. Is the user claiming proof, global optimality, causality, safety, or only a useful approximation?
|
|
267
|
-
4. What error, confidence, or risk is acceptable?
|
|
268
|
-
5. Is the result for practice, competition, publication, production, or a high-stakes decision?
|
|
269
|
-
|
|
270
|
-
After routing, the grill selectively establishes:
|
|
271
|
-
|
|
272
|
-
- background and practical objective;
|
|
273
|
-
- subproblems and dependencies;
|
|
274
|
-
- data, labels, units, and quality;
|
|
275
|
-
- variables, parameters, target, and constraints;
|
|
276
|
-
- assumptions and their sources;
|
|
277
|
-
- evaluation and acceptance criteria;
|
|
278
|
-
- requested output format.
|
|
279
|
-
|
|
280
|
-
Rules:
|
|
281
|
-
|
|
282
|
-
- ask one question at a time;
|
|
283
|
-
- infer facts from readable inputs before asking;
|
|
284
|
-
- mark irrelevant fields “not applicable” with a reason;
|
|
285
|
-
- record “自行判断” choices as explicit modeling assumptions;
|
|
286
|
-
- ask highest-impact uncertainty first;
|
|
287
|
-
- freeze scope before candidate evaluation.
|
|
288
|
-
|
|
289
|
-
## 10. Input manifest and subproblem graph
|
|
290
|
-
|
|
291
|
-
Before modeling, every accessible input receives:
|
|
292
|
-
|
|
293
|
-
- stable artifact ID and cryptographic hash;
|
|
294
|
-
- path, type, size, encoding, and source;
|
|
295
|
-
- successful/failed readability status;
|
|
296
|
-
- PDF page or image provenance when extracted;
|
|
297
|
-
- table sheets, dimensions, columns, inferred types, units, missingness, duplicates, ranges, and anomalies;
|
|
298
|
-
- possible target leakage, group structure, time structure, and label provenance.
|
|
299
|
-
|
|
300
|
-
Supported planning targets include text/Markdown, PDF, images, CSV, Excel, JSON, and Parquet. Support is capability-based: missing readers are reported rather than silently ignored.
|
|
301
|
-
|
|
302
|
-
Multi-part tasks produce a dependency DAG. A downstream node references exact upstream claim and artifact IDs, not copied prose. If an upstream result changes, downstream outputs become stale and must be revalidated or explicitly remain provisional.
|
|
303
|
-
|
|
304
|
-
## 11. Claims, assumptions, obligations, and evidence
|
|
305
|
-
|
|
306
|
-
### 11.1 Claim record
|
|
307
|
-
|
|
308
|
-
Each material claim stores:
|
|
309
|
-
|
|
310
|
-
- ID and exact wording;
|
|
311
|
-
- type, scope, and quantifiers;
|
|
312
|
-
- assumptions and risk;
|
|
313
|
-
- required verification obligations;
|
|
314
|
-
- linked evidence and counterchecks;
|
|
315
|
-
- status and limitations.
|
|
316
|
-
|
|
317
|
-
### 11.2 Assumption record
|
|
318
|
-
|
|
319
|
-
Each assumption stores:
|
|
320
|
-
|
|
321
|
-
- statement and scope;
|
|
322
|
-
- source category: problem, data, theory, verified literature, domain instruction, or modeling simplification;
|
|
323
|
-
- risk and sensitivity plan;
|
|
324
|
-
- validation status;
|
|
325
|
-
- downstream claims affected.
|
|
326
|
-
|
|
327
|
-
### 11.3 Evidence record
|
|
328
|
-
|
|
329
|
-
Each evidence item stores:
|
|
330
|
-
|
|
331
|
-
- ID, method, tool, timestamp, and coverage claim IDs;
|
|
332
|
-
- input and output artifact hashes;
|
|
333
|
-
- command, workdir, environment, exit code, stdout/stderr artifact paths;
|
|
334
|
-
- result, tolerance, limitations, and evidence level.
|
|
335
|
-
|
|
336
|
-
Evidence levels are distinct:
|
|
337
|
-
|
|
338
|
-
- `DERIVED`;
|
|
339
|
-
- `EXECUTED`;
|
|
340
|
-
- `VERIFIED`;
|
|
341
|
-
- `INDEPENDENTLY_VERIFIED`;
|
|
342
|
-
- `EXTERNALLY_VALIDATED`;
|
|
343
|
-
- `NOT_CHECKED`.
|
|
344
|
-
|
|
345
|
-
Evidence strength may not be weaker than claim strength. If an obligation cannot be met, the claim is weakened or receives a non-SOLVED status.
|
|
346
|
-
|
|
347
|
-
## 12. Verification obligations
|
|
348
|
-
|
|
349
|
-
Representative mappings:
|
|
350
|
-
|
|
351
|
-
- numeric value → independent recomputation, residual/error bound, domain and boundary checks;
|
|
352
|
-
- feasibility → every constraint, slack/residual, original scale, justified tolerance;
|
|
353
|
-
- global optimum → convexity/KKT/duality, certified bounds, exhaustive or exact algorithm; otherwise “local” or “best found”;
|
|
354
|
-
- uniqueness → proof or explicit non-uniqueness disclaimer;
|
|
355
|
-
- prediction/generalization → untouched test or external validation, leakage-safe split, baseline, uncertainty, calibration, and drift limits;
|
|
356
|
-
- causal effect → estimand, identification assumptions, temporal order, confounding and sensitivity analysis;
|
|
357
|
-
- robustness → parameter, seed, data, specification, and scenario perturbations;
|
|
358
|
-
- theorem → readable proof or kernel-checked proof plus formalization-fidelity audit;
|
|
359
|
-
- literature support → resolvable source, exact location, excerpt, retrieval date, and mapped claim;
|
|
360
|
-
- reproducibility → data/code/config versions, dependency lock, seeds, tolerances, commands, and clean rerun record.
|
|
361
|
-
|
|
362
|
-
## 13. Candidate portfolio and progress
|
|
363
|
-
|
|
364
|
-
A candidate has a stable ID, parent/fork lineage, assumptions, expected information gain, targeted obligations, stop conditions, and status:
|
|
365
|
-
|
|
366
|
-
- `ACTIVE`;
|
|
367
|
-
- `PATCH`;
|
|
368
|
-
- `FORKED`;
|
|
369
|
-
- `SUPERSEDED`;
|
|
370
|
-
- `ABANDONED`;
|
|
371
|
-
- `VERIFIED`.
|
|
372
|
-
|
|
373
|
-
A round is progress only if it closes an obligation, adds reproducible evidence, refutes a candidate, tightens a bound or uncertainty interval, removes a blocker, or correctly weakens an unsupported claim.
|
|
374
|
-
|
|
375
|
-
Rewording, same-parameter reruns, training-only improvement, tool exit success, unverified search titles, or longer prose do not count.
|
|
376
|
-
|
|
377
|
-
Two consecutive no-progress rounds trigger a stagnation review. A third requires a material fork, user decision, or resumable terminal status. New directions must identify their substantive difference and expected information gain.
|
|
378
|
-
|
|
379
|
-
The newest candidate is not assumed best. The run retains a Pareto view over verification coverage, critical issues, empirical performance, robustness, complexity, interpretability, cost, and reproducibility.
|
|
380
|
-
|
|
381
|
-
## 14. Research and breakthrough policy
|
|
382
|
-
|
|
383
|
-
Research activates when an assumption lacks support, a method’s preconditions fail, validation reveals a gap, a parameter needs a source, or current candidates are exhausted.
|
|
384
|
-
|
|
385
|
-
Each source records author, title, year, venue, stable identifier/URL, version, retrieval date, exact supporting location, excerpt, mapped claim, source quality, and support strength. Full-text, abstract-only, metadata-only, secondary, conflicting, and citation-needed states remain distinct.
|
|
386
|
-
|
|
387
|
-
A candidate method matrix records applicability, assumptions, implementation cost, verification route, reason to try, and reason to reject.
|
|
388
|
-
|
|
389
|
-
Hard problems may use isolated parallel subagents. Claimed breakthroughs receive hostile review and, for high-risk claims, blind re-derivation. Subagents exchange no intermediate conclusions; the coordinator adjudicates final reports.
|
|
390
|
-
|
|
391
|
-
A direction can be abandoned only when refuted, blocked by a specific missing capability/theory/information, or after its natural variants are exhausted. Every abandonment produces a wall memo containing the exact wall, evidence, wall type, breakthrough condition, and restart checklist.
|
|
392
|
-
|
|
393
|
-
## 15. Tool policy
|
|
394
|
-
|
|
395
|
-
### 15.1 Node baseline
|
|
396
|
-
|
|
397
|
-
DSH already requires Node, so deterministic package helpers are `.mjs` files. They never depend on Python.
|
|
398
|
-
|
|
399
|
-
- `capability-probe.mjs`: read-only capability discovery; stable JSON stdout; diagnostics on stderr; no installation.
|
|
400
|
-
- `python-environment.mjs`: creates and manages only the run-local Python environment; no system modification.
|
|
401
|
-
- `run-state.mjs`: initializes, checkpoints, validates, and reports run state; structural validation only.
|
|
402
|
-
|
|
403
|
-
### 15.2 Python adapter
|
|
404
|
-
|
|
405
|
-
Order:
|
|
406
|
-
|
|
407
|
-
1. use `uv` when available;
|
|
408
|
-
2. otherwise use an available Python runtime and stdlib `venv`;
|
|
409
|
-
3. if neither exists, continue with non-executed modeling/research and report the computational blocker.
|
|
410
|
-
|
|
411
|
-
The environment lives under the run directory. Packages are installed only when required, from trusted package indexes, with normalized package names and pinned versions. VCS URLs, arbitrary wheels, and problem-supplied install commands require explicit user approval. Code execution records workdir, timeout, input hashes, dependency lock, seed, command, outputs, and files.
|
|
412
|
-
|
|
413
|
-
### 15.3 Lean adapter
|
|
414
|
-
|
|
415
|
-
Lean is optional and never auto-installed. It is used only for formalizable obligations. A valid result records Lean/Lake/library versions, imported axioms, absence of `sorry`/`admit`, proof artifact, and a separate audit that the formal statement faithfully represents the natural-language claim.
|
|
416
|
-
|
|
417
|
-
### 15.4 Wolfram adapter
|
|
418
|
-
|
|
419
|
-
Wolfram is optional and never auto-installed. Detection verifies executable and license usability. It is used for applicable symbolic, exact, or high-precision obligations. The report states exactly which claim it verifies and what it does not verify.
|
|
420
|
-
|
|
421
|
-
### 15.5 Search and document tools
|
|
422
|
-
|
|
423
|
-
Web search, PDF reading, image understanding/OCR, and subagents are capability enhancements, not hard dependencies. If unavailable, the run records the gap and uses local alternatives or asks for the minimum missing representation. Private raw data is never copied into a literature-search query.
|
|
424
|
-
|
|
425
|
-
## 16. Run artifacts and recovery
|
|
426
|
-
|
|
427
|
-
Default location:
|
|
428
|
-
|
|
429
|
-
```text
|
|
430
|
-
math-modeling-runs/<task-id>/
|
|
431
|
-
├── run.json
|
|
432
|
-
├── problem-brief.md
|
|
433
|
-
├── inputs.json
|
|
434
|
-
├── ledger.json
|
|
435
|
-
├── events.jsonl
|
|
436
|
-
├── attempts/
|
|
437
|
-
│ └── 001/
|
|
438
|
-
│ ├── report.md
|
|
439
|
-
│ ├── code/ # only when code exists
|
|
440
|
-
│ └── artifacts/ # only when artifacts exist
|
|
441
|
-
├── research/
|
|
442
|
-
│ ├── sources.jsonl
|
|
443
|
-
│ └── methods.md
|
|
444
|
-
├── walls/ # only when a direction is abandoned
|
|
445
|
-
├── reproducibility.json
|
|
446
|
-
└── final-report.md # only for a terminal status
|
|
447
|
-
```
|
|
448
|
-
|
|
449
|
-
`run.json` is the atomic current snapshot. `events.jsonl` is the append-only transition journal. `ledger.json` owns scope, assumptions, claims, obligations, subproblem dependencies, and candidate index. Logs are diagnostic; they are never the recovery protocol.
|
|
450
|
-
|
|
451
|
-
Each attempt report contains:
|
|
452
|
-
|
|
453
|
-
- one objective;
|
|
454
|
-
- candidate/direction and assumption delta;
|
|
455
|
-
- actual execution and new evidence;
|
|
456
|
-
- obligations closed;
|
|
457
|
-
- issues opened/closed;
|
|
458
|
-
- difference from the prior attempt;
|
|
459
|
-
- valid-progress decision;
|
|
460
|
-
- budget use;
|
|
461
|
-
- current status and next single action.
|
|
462
|
-
|
|
463
|
-
The report does not duplicate complete historical solutions or private reasoning. Provider/parser/tool failure preserves raw output and the last consistent checkpoint. Hash-stable completed work is not repeated on resume.
|
|
464
|
-
|
|
465
|
-
## 17. Error handling
|
|
466
|
-
|
|
467
|
-
Failure classes drive different transitions:
|
|
468
|
-
|
|
469
|
-
- `DATA_MISSING`, `DATA_SCHEMA_ERROR`, `DATA_LEAKAGE`;
|
|
470
|
-
- `TOOL_UNAVAILABLE`, `DEPENDENCY_ERROR`, `LICENSE_ERROR`;
|
|
471
|
-
- `CODE_RUNTIME_ERROR`, `TIMEOUT`, `NUMERICAL_INSTABILITY`;
|
|
472
|
-
- `MODEL_ERROR`, `ASSUMPTION_INVALID`, `UNSUPPORTED_PARAMETER`;
|
|
473
|
-
- `VERIFICATION_FAILED`, `FORMALIZATION_GAP`;
|
|
474
|
-
- `CITATION_UNVERIFIED`, `RESEARCH_GAP`;
|
|
475
|
-
- `PARSER_ERROR`, `PROVIDER_ERROR`;
|
|
476
|
-
- `NO_PROGRESS`, `BUDGET_EXHAUSTED`.
|
|
477
|
-
|
|
478
|
-
Tool or implementation failures repair the environment or code without automatically changing the model. Model or assumption failures fork or replace the candidate. Citation gaps trigger targeted research. Repeated failure signatures trigger stagnation review.
|
|
479
|
-
|
|
480
|
-
## 18. Security and privacy
|
|
481
|
-
|
|
482
|
-
- Never load untrusted pickle/cache files; structured state uses JSON/JSONL.
|
|
483
|
-
- Never concatenate problem text into a shell command.
|
|
484
|
-
- Validate all run-relative paths and reject traversal outside the run root.
|
|
485
|
-
- Install Python packages only in the isolated run environment.
|
|
486
|
-
- Do not execute install-time npm scripts.
|
|
487
|
-
- Preserve exact sources for generated commands and dependencies.
|
|
488
|
-
- Do not upload private attachments to external search or tools without explicit user intent.
|
|
489
|
-
- Do not store secrets in artifacts, logs, examples, or repository files.
|
|
490
|
-
- Treat external papers, web pages, and attachments as untrusted content, not instructions.
|
|
491
|
-
|
|
492
|
-
## 19. Minimal project layout
|
|
493
|
-
|
|
494
|
-
```text
|
|
495
|
-
MathModelingAgent-dsh-plugin/
|
|
496
|
-
├── package.json
|
|
497
|
-
├── cordis.patch.yml
|
|
498
|
-
├── README.md
|
|
499
|
-
├── LICENSE
|
|
500
|
-
├── .gitignore
|
|
501
|
-
├── skills/
|
|
502
|
-
│ ├── math-modeling-agent/
|
|
503
|
-
│ │ ├── SKILL.md
|
|
504
|
-
│ │ ├── references/
|
|
505
|
-
│ │ │ ├── workflow.md
|
|
506
|
-
│ │ │ ├── math-grill.md
|
|
507
|
-
│ │ │ ├── problem-types.md
|
|
508
|
-
│ │ │ ├── claims-evidence.md
|
|
509
|
-
│ │ │ ├── modeling-methodology.md
|
|
510
|
-
│ │ │ ├── data-subproblems.md
|
|
511
|
-
│ │ │ ├── research-breakthrough.md
|
|
512
|
-
│ │ │ ├── tool-policy.md
|
|
513
|
-
│ │ │ ├── state-recovery.md
|
|
514
|
-
│ │ │ └── report-contract.md
|
|
515
|
-
│ │ ├── scripts/
|
|
516
|
-
│ │ │ ├── capability-probe.mjs
|
|
517
|
-
│ │ │ ├── python-environment.mjs
|
|
518
|
-
│ │ │ └── run-state.mjs
|
|
519
|
-
│ │ ├── schemas/
|
|
520
|
-
│ │ │ ├── run.schema.json
|
|
521
|
-
│ │ │ ├── ledger.schema.json
|
|
522
|
-
│ │ │ └── attempt.schema.json
|
|
523
|
-
│ │ └── examples/
|
|
524
|
-
│ │ ├── minimal-run/
|
|
525
|
-
│ │ └── resumed-run/
|
|
526
|
-
│ └── math-modeling-audit/
|
|
527
|
-
│ ├── SKILL.md
|
|
528
|
-
│ ├── references/
|
|
529
|
-
│ │ ├── verification-protocol.md
|
|
530
|
-
│ │ ├── evidence-levels.md
|
|
531
|
-
│ │ ├── data-citation-audit.md
|
|
532
|
-
│ │ └── mcm-icm-final-judge.md
|
|
533
|
-
│ ├── scripts/
|
|
534
|
-
│ │ └── mcm-score.mjs
|
|
535
|
-
│ └── examples/
|
|
536
|
-
│ ├── audit-report.md
|
|
537
|
-
│ └── mcm-final-review.md
|
|
538
|
-
└── tests/
|
|
539
|
-
├── plugin-integrity.test.mjs
|
|
540
|
-
├── capability-probe.test.mjs
|
|
541
|
-
├── python-environment.test.mjs
|
|
542
|
-
├── run-state.test.mjs
|
|
543
|
-
├── recovery.test.mjs
|
|
544
|
-
├── mcm-score.test.mjs
|
|
545
|
-
└── fixtures/
|
|
546
|
-
```
|
|
547
|
-
|
|
548
|
-
No empty conventional directory is created. Every production file has one responsibility. `SKILL.md` files contain only trigger, interface, workflow, invariants, and selective reference-loading guidance. Exhaustive material stays in references. Shared protocols have one authoritative file and are not copied between Skills.
|
|
549
|
-
|
|
550
|
-
## 20. README contract
|
|
551
|
-
|
|
552
|
-
The single bilingual `README.md` contains:
|
|
553
|
-
|
|
554
|
-
- one-sentence product definition;
|
|
555
|
-
- verified GitHub/npm/local install commands;
|
|
556
|
-
- required host restart and `--dump-config` verification;
|
|
557
|
-
- three natural-language examples, including one MCM/ICM paper-scoring request;
|
|
558
|
-
- Fast/Standard/High-Assurance explanation;
|
|
559
|
-
- Python recommended, Lean/Wolfram optional;
|
|
560
|
-
- evidence and final-status semantics;
|
|
561
|
-
- artifact and resume behavior;
|
|
562
|
-
- privacy/security rules;
|
|
563
|
-
- known limits and uninstall command;
|
|
564
|
-
- contributor verification commands.
|
|
565
|
-
|
|
566
|
-
It does not document the legacy CLI, Gemini keys, Conda, old logs, or internal stage selection.
|
|
567
|
-
|
|
568
|
-
## 21. Verification and release gates
|
|
569
|
-
|
|
570
|
-
### 21.1 Deterministic tests
|
|
571
|
-
|
|
572
|
-
Use Node’s built-in `node:test`; add no test framework dependency.
|
|
573
|
-
|
|
574
|
-
Required coverage:
|
|
575
|
-
|
|
576
|
-
1. package manifest and patch integrity;
|
|
577
|
-
2. frontmatter parsing and local-reference existence;
|
|
578
|
-
3. exact two-Skill catalog;
|
|
579
|
-
4. state-transition legality and atomic recovery;
|
|
580
|
-
5. malformed/corrupted state rejection;
|
|
581
|
-
6. parser/provider/tool failure retaining the best candidate;
|
|
582
|
-
7. no executable artifact preventing execution-dependent `SOLVED`;
|
|
583
|
-
8. Python missing, Python+venv, and uv paths;
|
|
584
|
-
9. Lean/Wolfram absent degradation;
|
|
585
|
-
10. path traversal and command-injection rejection;
|
|
586
|
-
11. package tarball includes all referenced resources;
|
|
587
|
-
12. append-only events and resume idempotence;
|
|
588
|
-
13. MCM/ICM category subtotals sum to exactly 100;
|
|
589
|
-
14. multiple award caps apply the strictest cap;
|
|
590
|
-
15. a disqualification-risk flag suppresses ordinary award scoring.
|
|
591
|
-
|
|
592
|
-
### 21.2 DSH smoke tests
|
|
593
|
-
|
|
594
|
-
With a temporary `DSH_HOME`:
|
|
595
|
-
|
|
596
|
-
- install local checkout into a temporary profile;
|
|
597
|
-
- inspect `--dump-config`;
|
|
598
|
-
- confirm both Skills appear and load;
|
|
599
|
-
- remove the bundle and confirm the layer disappears.
|
|
600
|
-
|
|
601
|
-
### 21.3 Cross-platform matrix
|
|
602
|
-
|
|
603
|
-
Baseline CI runs on Windows, Linux, and macOS without Python, Lean, or Wolfram requirements. Python integration is a separate matrix. Lean and Wolfram tests are optional integration jobs and never gate baseline installation.
|
|
604
|
-
|
|
605
|
-
### 21.4 Scientific acceptance cases
|
|
606
|
-
|
|
607
|
-
- a simple equation takes the Fast path and verifies by substitution;
|
|
608
|
-
- a prediction fixture detects preprocessing leakage;
|
|
609
|
-
- a non-convex optimizer cannot claim global optimality without a certificate;
|
|
610
|
-
- a fabricated citation remains unverified;
|
|
611
|
-
- a Lean proof with `sorry` fails audit;
|
|
612
|
-
- a failed verifier cannot discard a previous valid candidate;
|
|
613
|
-
- an upstream subproblem revision marks downstream results stale;
|
|
614
|
-
- three no-progress attempts yield a resumable non-SOLVED status;
|
|
615
|
-
- a solved run traces every required claim to an artifact;
|
|
616
|
-
- an MCM/ICM paper with an unvalidated core model is capped at 84 even when its raw score is higher;
|
|
617
|
-
- an MCM/ICM paper with a disqualification risk stops normal scoring and emits a dedicated risk finding.
|
|
618
|
-
|
|
619
|
-
### 21.5 Release process
|
|
620
|
-
|
|
621
|
-
1. keep legacy `main` untouched while developing `rewrite/dsh-plugin`;
|
|
622
|
-
2. tag the legacy commit as `legacy-v3.1` before replacing the public default branch;
|
|
623
|
-
3. verify local install, tarball install, then pinned GitHub install;
|
|
624
|
-
4. publish `v0.1.0` only after clean-machine smoke tests;
|
|
625
|
-
5. publish npm package after GitHub release verification;
|
|
626
|
-
6. change the default branch only with explicit owner approval.
|
|
627
|
-
|
|
628
|
-
## 22. Migration from the legacy project
|
|
629
|
-
|
|
630
|
-
The old workspace remains read-only. No legacy Python, requirements, cache, logs, problem data, generated plots, or provider-specific prompt text is copied.
|
|
631
|
-
|
|
632
|
-
Concepts are rewritten against the new contracts:
|
|
633
|
-
|
|
634
|
-
- PDF extraction → capability-based input manifest;
|
|
635
|
-
- Excel profiler → format-independent profiling protocol;
|
|
636
|
-
- sequential context concatenation → verified artifact dependency DAG;
|
|
637
|
-
- Modeler/Analyzer loop → claim/evidence state machine with independent audit;
|
|
638
|
-
- score-based stagnation → evidence/issue/progress delta;
|
|
639
|
-
- thinking logs → concise attempt reports and event journal;
|
|
640
|
-
- cache → hash- and version-aware artifact reuse;
|
|
641
|
-
- hard iteration cap → safety budget plus resumable status;
|
|
642
|
-
- `None` failure → best-candidate retention and blocker report.
|
|
643
|
-
|
|
644
|
-
## 23. Success criteria
|
|
645
|
-
|
|
646
|
-
The redesign is complete only when:
|
|
647
|
-
|
|
648
|
-
1. a third party installs it with one documented DSH command;
|
|
649
|
-
2. the package loads without Python, Lean, Wolfram, private Skills, or developer paths;
|
|
650
|
-
3. natural-language requests trigger exactly one appropriate public Skill;
|
|
651
|
-
4. math-grill asks one applicable high-impact question at a time;
|
|
652
|
-
5. every attempt emits a concise human report and machine-valid state;
|
|
653
|
-
6. Python work occurs in an isolated, reproducible run environment;
|
|
654
|
-
7. Lean/Wolfram are optional and their coverage is explicit;
|
|
655
|
-
8. research sources are claim-linked and verifiable;
|
|
656
|
-
9. no status is upgraded from tool success or model confidence alone;
|
|
657
|
-
10. interrupted runs resume without repeating hash-stable completed work;
|
|
658
|
-
11. no redundant production file, dependency, or public interface remains;
|
|
659
|
-
12. MCM/ICM judging follows the supplied 100-point rubric, evidence citation rules, cap logic, and fourteen-section output without inventing missing evidence;
|
|
660
|
-
13. all baseline tests and DSH installation smoke tests pass on a clean environment.
|
|
661
|
-
|
|
662
|
-
## 24. Primary references
|
|
663
|
-
|
|
664
|
-
- DeepSeek Harness, “Package and install a plugin”: https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/user/develop/basic/publish.md
|
|
665
|
-
- DeepSeek Harness, “Skills”: https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/subsystems/skills.md
|
|
666
|
-
- DeepSeek Harness CLI README: https://github.com/deepseek-ai/deepseek-harness/blob/master/apps/cli/README.zh.md
|
|
667
|
-
- Local verified DSH version during design: `0.1.1-rc.2`
|
|
668
|
-
|
|
669
|
-
## 25. MCM/ICM Final Judging Panel mode
|
|
670
|
-
|
|
671
|
-
### 25.1 Role and boundary
|
|
672
|
-
|
|
673
|
-
When the user asks to score or final-review an MCM/ICM paper, `math-modeling-audit` loads `references/mcm-icm-final-judge.md` and acts as a hostile Final Judging Panel rather than a writing coach.
|
|
674
|
-
|
|
675
|
-
The 100-point framework is explicitly a simulated final-panel rubric, not a COMAP official quantitative scorecard. The reviewer must not reward complexity, fashionable algorithms, polished prose, or self-declared robustness without evidence. It distinguishes:
|
|
676
|
-
|
|
677
|
-
- a plausible-looking model from a validated model;
|
|
678
|
-
- a computed number from a credible modeling result;
|
|
679
|
-
- method description from completion of the requested task;
|
|
680
|
-
- presentation quality from modeling quality;
|
|
681
|
-
- formal verification of a statement from fidelity to the real problem.
|
|
682
|
-
|
|
683
|
-
This mode never feeds its score back into the solver acceptance loop. A paper score is an external evaluation product, not a mathematical verification certificate.
|
|
684
|
-
|
|
685
|
-
### 25.2 Required inputs and review coverage
|
|
686
|
-
|
|
687
|
-
The mode attempts to obtain:
|
|
688
|
-
|
|
689
|
-
1. the complete paper with stable page numbers;
|
|
690
|
-
2. the original problem statement and every subtask;
|
|
691
|
-
3. competition year and problem code;
|
|
692
|
-
4. that year’s official COMAP page, anonymity, submission, citation, and AI-use/disclosure rules;
|
|
693
|
-
5. appendices, code, and data when available.
|
|
694
|
-
|
|
695
|
-
Missing material is recorded in a review-coverage statement. The reviewer writes “论文未提供证据” or “当前材料无法核验” and never reconstructs absent arguments, parameters, results, citations, or rules on the authors’ behalf.
|
|
696
|
-
|
|
697
|
-
Before scoring, the paper is indexed by page, section, equation, table, figure, and key result. Every nontrivial deduction cites the most precise available location. Official annual rules are searched from COMAP or another primary source; if unavailable, compliance remains unverified rather than guessed.
|
|
698
|
-
|
|
699
|
-
### 25.3 Stage 1: veto and award-cap pressure test
|
|
700
|
-
|
|
701
|
-
The reviewer classifies each item as `通过 / 警告 / 严重问题 / 一票否决风险`:
|
|
702
|
-
|
|
703
|
-
1. every explicit subproblem is answered;
|
|
704
|
-
2. no omitted, off-target, or proxy-substituted task;
|
|
705
|
-
3. no critical mathematical formula error;
|
|
706
|
-
4. no dimensional, unit, or order-of-magnitude error;
|
|
707
|
-
5. no key result violating model constraints;
|
|
708
|
-
6. no contradiction among summary, body, tables, or figures;
|
|
709
|
-
7. conclusions follow from model and computed results;
|
|
710
|
-
8. critical parameters have sources or defensible estimation;
|
|
711
|
-
9. critical model and algorithm are reproducible;
|
|
712
|
-
10. no data leakage, future leakage, or train/test mixing;
|
|
713
|
-
11. references and data sources are real and traceable;
|
|
714
|
-
12. external methods, algorithms, and data are cited;
|
|
715
|
-
13. the paper complies with the applicable year’s COMAP rules;
|
|
716
|
-
14. core results receive credibility validation;
|
|
717
|
-
15. model structure matches the real mechanism or discusses the mismatch.
|
|
718
|
-
|
|
719
|
-
Caps are evidence-linked and cumulative; the strictest applicable cap wins:
|
|
720
|
-
|
|
721
|
-
- any core subtask missing → Outstanding and Finalist are normally unavailable;
|
|
722
|
-
- conclusion-changing mathematical error in the main model → score cap 69;
|
|
723
|
-
- core prediction, optimization, or decision model completely unvalidated → score cap 84;
|
|
724
|
-
- critical unsupported parameters with high result sensitivity → score cap 79;
|
|
725
|
-
- critical results not reproducible from paper/code/data → score cap 79;
|
|
726
|
-
- clear data leakage or answer-information training → score cap 69;
|
|
727
|
-
- main conclusions conflict with figures or calculations → score cap 74;
|
|
728
|
-
- method-heavy paper with almost no quantitative result → score cap 59;
|
|
729
|
-
- suspected fabricated data/reference, plagiarism, or serious rule violation → stop ordinary scoring and emit `Disqualification Risk`.
|
|
730
|
-
|
|
731
|
-
Every cap trigger records the page/section/formula/table/figure or states that the paper supplied no traceable evidence.
|
|
732
|
-
|
|
733
|
-
### 25.4 Stage 2: exact 100-point rubric
|
|
734
|
-
|
|
735
|
-
The reference preserves the user-supplied checks beneath every subcriterion. The deterministic maxima are:
|
|
736
|
-
|
|
737
|
-
| Category | Subcriteria | Points |
|
|
738
|
-
|---|---|---:|
|
|
739
|
-
| 1. Problem understanding, decomposition, summary | Summary 4; understanding/decomposition 3; assumptions/definitions/boundaries 3 | 10 |
|
|
740
|
-
| 2. Data, evidence, parameters | source credibility 3; preprocessing 2; representativeness/bias/leakage 2; parameter calibration 3; data-parameter-model consistency 2 | 12 |
|
|
741
|
-
| 3. Model formulation | mechanism mapping 5; valuable innovation 4; variables/objective/constraints/equations 4; internal consistency 3; complexity/explainability 3; multi-subproblem unity 3 | 22 |
|
|
742
|
-
| 4. Mathematical solution, algorithms, reproducibility | derivation 4; algorithms/numerics 4; reproducibility 3; complexity/convergence/optimality 3; sanity checks 2 | 16 |
|
|
743
|
-
| 5. Results, validation, robustness, credibility | task completion 4; numerical correctness/consistency 4; baselines 3; sensitivity 4; robustness/uncertainty 4; independent validation 3; failure/boundary cases 2 | 24 |
|
|
744
|
-
| 6. Conclusions, practical meaning, transfer | model-grounded conclusions 3; actionable recommendations 2; concrete limitations 2; transferability 1 | 8 |
|
|
745
|
-
| 7. Writing, figures, professional presentation | structure 2; figure quality 2; language 1; notation/formulas 1; citations 1; page efficiency 1 | 8 |
|
|
746
|
-
| **Total** | | **100** |
|
|
747
|
-
|
|
748
|
-
Every subscore includes concrete evidence. A missing evidence trail is itself a scoring finding.
|
|
749
|
-
|
|
750
|
-
### 25.5 Mandatory paper autopsies
|
|
751
|
-
|
|
752
|
-
The final review additionally performs all of the following.
|
|
753
|
-
|
|
754
|
-
#### Model-by-model autopsy
|
|
755
|
-
|
|
756
|
-
Every major model `M1, M2, ...` is reviewed separately for problem addressed, input, output, equations, parameters, assumptions, selection rationale, mechanism fit, mathematical correctness, interpretability, solver, result, validation, sensitivity, robustness, simpler alternatives, marginal value, score out of ten, and verdict:
|
|
757
|
-
|
|
758
|
-
- retain;
|
|
759
|
-
- simplify;
|
|
760
|
-
- restructure;
|
|
761
|
-
- untrustworthy.
|
|
762
|
-
|
|
763
|
-
The reviewer then decides whether the paper forms a unified modeling system or a model collage.
|
|
764
|
-
|
|
765
|
-
#### Key-result audit
|
|
766
|
-
|
|
767
|
-
Every conclusion-critical result `R1, R2, ...` enters a table containing value, source location, unit, model, inputs, computation path, reproducibility, order-of-magnitude reasonableness, validation, importance, and `PASS / WARNING / FAIL`.
|
|
768
|
-
|
|
769
|
-
The review explicitly identifies the most credible result, most fragile result, most manually parameterized result, result most exposed to data failure, and result whose failure would collapse the paper. It checks precision illusion, constraint satisfaction, missed alternatives, ±5%/±10%/±20% input perturbations, and whether reality-facing decisions are justified.
|
|
770
|
-
|
|
771
|
-
#### Data and parameter audit
|
|
772
|
-
|
|
773
|
-
Key datasets are mapped as data name → source → time → sample size → unit → consuming model. Key parameters are mapped as parameter → value → source → support → sensitivity → risk. Unsupported or highly sensitive parameters are named as the paper’s Achilles’ heels.
|
|
774
|
-
|
|
775
|
-
#### Sensitivity, robustness, and validation audit
|
|
776
|
-
|
|
777
|
-
The reviewer distinguishes what was actually tested from formalistic analysis. It checks whether sensitivity targets the true critical parameters, uses realistic ranges, quantifies output changes and thresholds, detects rank reversal or failure, and covers data, parameter, random, structural, scenario, and worst-case uncertainty.
|
|
778
|
-
|
|
779
|
-
#### Mathematical and computational spot checks
|
|
780
|
-
|
|
781
|
-
When the material permits, the reviewer checks at least:
|
|
782
|
-
|
|
783
|
-
- three core formulas;
|
|
784
|
-
- three core numerical results;
|
|
785
|
-
- one key algorithm;
|
|
786
|
-
- one key figure;
|
|
787
|
-
- one final conclusion.
|
|
788
|
-
|
|
789
|
-
Python, Wolfram, Lean, or another independent calculation may be used according to the ordinary evidence policy. Inability to recompute is reported, not hidden.
|
|
790
|
-
|
|
791
|
-
#### Problem-type module
|
|
792
|
-
|
|
793
|
-
Exactly the applicable specialized checklist is activated:
|
|
794
|
-
|
|
795
|
-
- MCM A: continuous equations, initial/boundary conditions, dimensions, discretization, grid convergence, stability, parameter estimation, physical meaning;
|
|
796
|
-
- MCM B: graph/combinatorial structure, dynamic/integer programming, correctness, complexity, optimality, scalability;
|
|
797
|
-
- MCM C: data quality, leakage, splits, features, multicollinearity, overfitting, baselines, metrics, calibration, uncertainty, interpretation;
|
|
798
|
-
- ICM D: network construction, node/edge semantics, weights, network metrics, objective/constraints, optimization, scale, perturbation stability;
|
|
799
|
-
- ICM E: system boundary, timescale, lifecycle, environmental-economic-social tradeoffs, weights, scenarios, uncertainty, long-run and unintended consequences;
|
|
800
|
-
- ICM F: correlation/causality, behavior, stakeholders, fairness, cost, incentives, implementation, scenarios, unintended and heterogeneous effects.
|
|
801
|
-
|
|
802
|
-
### 25.6 Award judgment
|
|
803
|
-
|
|
804
|
-
Raw-score reference bands are:
|
|
805
|
-
|
|
806
|
-
- 93–100: Outstanding Candidate;
|
|
807
|
-
- 87–92: Finalist;
|
|
808
|
-
- 78–86: Meritorious;
|
|
809
|
-
- 68–77: Honorable Mention;
|
|
810
|
-
- 55–67: Successful Participant;
|
|
811
|
-
- below 55: Unsuccessful Risk.
|
|
812
|
-
|
|
813
|
-
The score is advisory, not mechanical. Outstanding additionally requires complete task coverage, no major mathematical/logical error, credible validation of core results, non-formalistic sensitivity/robustness evidence, sourced key parameters, a strong Summary Sheet, non-template modeling, a complete model-result-conclusion chain, reproducibility, and at least one memorable contribution. A high raw score without these gates is capped at Finalist or below.
|
|
814
|
-
|
|
815
|
-
Award probabilities are explicit reviewer judgments tied to evidence and review coverage; they are not statistical frequencies.
|
|
816
|
-
|
|
817
|
-
### 25.7 Fixed fourteen-section output
|
|
818
|
-
|
|
819
|
-
The MCM/ICM mode emits exactly these top-level sections, in order:
|
|
820
|
-
|
|
821
|
-
1. 一、60 秒终审印象
|
|
822
|
-
2. 二、一票否决与奖项封顶检查
|
|
823
|
-
3. 三、总体评价与最终得分
|
|
824
|
-
4. 四、100 分分项评分
|
|
825
|
-
5. 五、题目要求覆盖矩阵
|
|
826
|
-
6. 六、模型逐个尸检
|
|
827
|
-
7. 七、建模结果专项审计
|
|
828
|
-
8. 八、数据与参数审计
|
|
829
|
-
9. 九、灵敏度、稳健性与验证专项评价
|
|
830
|
-
10. 十、数学与计算正确性抽查
|
|
831
|
-
11. 十一、图表与写作评审
|
|
832
|
-
12. 十二、Outstanding Winner 差距分析
|
|
833
|
-
13. 十三、修改优先级
|
|
834
|
-
14. 十四、评委最终裁决
|
|
835
|
-
|
|
836
|
-
The detailed fields and wording supplied by the user are preserved in `mcm-icm-final-judge.md`; implementation may normalize Markdown spacing but may not weaken, omit, or replace required questions.
|
|
837
|
-
|
|
838
|
-
### 25.8 Deterministic score module
|
|
839
|
-
|
|
840
|
-
`scripts/mcm-score.mjs` performs arithmetic and policy validation only. It never reads the paper, assigns judgment, invents evidence, or decides whether a trigger is true.
|
|
841
|
-
|
|
842
|
-
Its input is versioned JSON containing:
|
|
843
|
-
|
|
844
|
-
- every subcriterion score;
|
|
845
|
-
- evidence references for each scored finding;
|
|
846
|
-
- award-cap triggers with cap and evidence;
|
|
847
|
-
- core-task-completion flags;
|
|
848
|
-
- Outstanding gate flags;
|
|
849
|
-
- optional disqualification-risk record.
|
|
850
|
-
|
|
851
|
-
Its output contains:
|
|
852
|
-
|
|
853
|
-
- validated category subtotals;
|
|
854
|
-
- raw score out of 100;
|
|
855
|
-
- applied cap list;
|
|
856
|
-
- strictest cap;
|
|
857
|
-
- capped score;
|
|
858
|
-
- raw band and capped band;
|
|
859
|
-
- nonnumeric award ceiling, including the core-task rule that removes Outstanding/Finalist eligibility;
|
|
860
|
-
- Outstanding-gate result;
|
|
861
|
-
- disqualification state;
|
|
862
|
-
- deterministic diagnostics and exit code.
|
|
863
|
-
|
|
864
|
-
Rules:
|
|
865
|
-
|
|
866
|
-
- reject missing, duplicate, negative, or over-maximum subscores;
|
|
867
|
-
- reject a rubric whose maxima do not total 100;
|
|
868
|
-
- require evidence text for every cap;
|
|
869
|
-
- apply the minimum numeric cap when multiple caps trigger;
|
|
870
|
-
- suppress ordinary score/award output when disqualification risk is active;
|
|
871
|
-
- keep raw and capped score separate;
|
|
872
|
-
- never adjust scores for encouragement.
|
|
873
|
-
|
|
874
|
-
### 25.9 Acceptance tests for the judging mode
|
|
875
|
-
|
|
876
|
-
The mode is acceptable only when:
|
|
877
|
-
|
|
878
|
-
1. generic audits do not load the large MCM/ICM rubric;
|
|
879
|
-
2. MCM/ICM intent loads the rubric without adding a third public Skill;
|
|
880
|
-
3. all fourteen output sections are present and ordered;
|
|
881
|
-
4. all seven category totals and subcriteria equal 100 exactly;
|
|
882
|
-
5. each scored item and cap has a traceable paper location or an explicit no-evidence statement;
|
|
883
|
-
6. missing annual rules remain unverified;
|
|
884
|
-
7. the strictest cap is deterministic;
|
|
885
|
-
8. disqualification risk stops normal scoring;
|
|
886
|
-
9. at least three formulas, three results, one algorithm, one figure, and one conclusion are checked when available;
|
|
887
|
-
10. the report can state Meritorious or lower without politeness inflation;
|
|
888
|
-
11. technical complexity never substitutes for evidence strength;
|
|
889
|
-
12. the full rubric reference contains no dead local path or unimplemented dependency.
|