# Cumcm Modeling Analyst

> 面向 CUMCM 及同类数学建模竞赛的证据驱动协作 Skill，覆盖题面分析、按需选模、真实运行、统计审计、图表与论文 QA、年度合规和失败恢复。

- Skill: `guivyn/cumcm-modeling-analyst` (Agent Skill, multi-file: 9 files)
- Install (CLI): `npx skillmds@latest add guivyn/cumcm-modeling-analyst`
- Raw SKILL.md: https://api.skillmd.com/api/skills/guivyn/cumcm-modeling-analyst/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Guivyn (https://skillmd.com/u/guivyn)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/guivyn/cumcm-modeling-analyst

---


# 数学建模分析协作

本 Skill 保留 `State → Decision → Run → Evidence → Paper Contract → Planner → Engine → Final QA`
主链。入口层只加载当前动作的最小充分规则；完整报告、Schema、模板和工具输出留在磁盘上。
资源分类、action/trigger 和摘要边界见 `manifest.yaml` 与
`references/context-loading-and-reporting.md`。

## 1. 启动与路由

- 唯一安装入口是本目录；不要发现或保留嵌套副本。
- 启动先读取 `manifest.yaml`、`startup_read`、`always_load` 和当前工作区状态。
  只有状态缺失、解析失败、版本不兼容或需要迁移时，才读取完整
  `schemas/state.schema.json`。
- 路由资源分为 `read`、`conditional`、`execute`、`schema`、`asset`：工具源码默认调用，
  不因登记为 `execute` 就全文读入上下文；同一批次按规范化路径去重。
- Paper 路由按 `contract`、`planner`、`writing`、`build`、`draft_qa`、`final` action 选择资料。
  普通草稿不提前加载 Final/年度合规资料；Final QA 和官方提交仍必须按条件完整核验。
- `maintenance/` 只存开发审计资料，不进入比赛运行路由。加载成本用
  `tools/context_budget.py` 测量，静态字符量不冒充 Token 量。

### 渐进加载触发矩阵

| 当前动作 | 必须读取 | 只有触发时才读取 |
|---|---|---|
| 题面、EDA、参数查证 | `exploratory-research`、`source-policy` | `external-data`、`feature-availability-audit` |
| 路线比较与审批 | `model-decision-gate` | Brief、Ledger 模板、对应审计规则 |
| 运行与证据 | `run-lifecycle`、`model-audits`、`failure-and-downgrade` | 分组、标签、特征或统计专项规则 |
| 文献/外部数据 | `source-policy`、`literature-research` | 完整检索记录、来源 Schema、网络核验 |
| 论文 Contract/Planner/Engine | `reference-paper-writing`、`paper_contract`、`paper-semantic-roles` | 摘要、公式、符号、特殊规则、图表和排版专项 |
| 草稿 QA | 当前内容/对象规则 | 只读取实际失败项的专项说明 |
| Final QA/官方提交 | Final 参考、当前年度规则、制品规则 | 公式、布局、表格、合规来源和失败诊断 |

选中条件后完整阅读对应 Reference；`execute` 工具默认调用而不是全文读源码，`schema` 由工具校验，
`asset` 由构建或审计步骤按需使用。完成判据由各阶段的机器状态和人工门共同给出，不能用“少读了文件”代替。

## 2. 事实归属

| 事实 | 唯一归属 |
|---|---|
| 阶段、阻塞、下一步 | `COMPETITION_STATE.yaml` |
| 候选、选择、审批、重开 | `DECISION_LEDGER.json` |
| 命令、输入/代码快照、指标、输出 | `runs/Rxxx/` |
| claim 与 accepted Final Run 的绑定 | `evidence/` |
| 当前问题解释与论文交接 | Question Solution |
| 最终学术表达 | Final Paper |

同一事实只保留一个机器事实源和一个必要的人类解释层。恢复先读取 State、Decision、
accepted Run、Evidence 和显式上游依赖；输入、Decision 或 Run 变化时，旧摘要和下游报告失效。

## 3. 按需证据与停止

- `CORE` 是当前问题的最小充分证据：结构事实、适用时的 baseline、任务指标、验证设计、
  主要风险和成本。
- `TRIGGERED` 只在重复主体、类别不平衡、删失、标签冲突、优化、多目标、小样本或分组等
  结构出现时追加；`FULL` 只用于最终高风险 claim、重大变更或用户明确要求。
- 候选可标记 `NOT_RUN`；已有低成本筛除证据时标记 `SCREENED_OUT`，同时写明原因、影响和
  重新启用条件。证据足以支持路线且新增实验不会改变选择或风险判断时停止扩展。
- 缺少必需证据必须显式返回 gap；不能用省略读取、摘要或成功状态掩盖缺口。

## 4. Stage 1：题面与路线

完整读取题面和附件，记录动作词、输出、单位、题内时间边界、缺失数据、特征可用时点和跨问
依赖。先识别数据生成结构，再形成少量真正不同的候选；结构触发不等于所有方法都要运行。

只有两个以上候选都合理、可能改变答案、存在无法消解的取舍、证据不足、风险较高或用户要求时，
才做多候选 Evaluation。只有一条合理路线时记录 `SINGLE_ROUTE_JUSTIFICATION`，不人为制造 A/B/C。

## 5. 唯一 Human Gate

全 Skill 只保留一个“模型路线需人确认”的门。只有新的 `MATERIAL_MODEL_DECISION`，或标签含义等
关键语义存在两种以上合理解释且会改变结论时暂停等待人。

- 继承已批准路线的直接计算记录 `INHERITED_MODEL_DECISION`，不重复建门。
- 单一路线可直接记录理由；含不可逆关键假设时请人确认。
- Gate 只检查候选声明、证据引用、语义状态和用户是否唯一确认候选；不要求固定话术、推荐指数
  或风控等级。自然表达“选 A”“采用 B”“按推荐方案执行”“就这样开始”均可确认。
- `approval.source=HUMAN` 只用于正式和训练运行；测试夹具可用 `TEST_FIXTURE`。

## 6. Stage 2：实现与运行

确认后冻结输入、特征角色、验证设计、seed、依赖和输出路径，按
`references/run-lifecycle.md` 完成 `FINAL_IMPLEMENTATION_READY`、`FINAL_RUN_READY` 和
`FINAL_RUN_ACCEPTANCE`。Gate 前允许探索、诊断和 Evaluation prototype，但不得把它们当作 Final
结果、正式核心图或定稿结论。

失败 Run 保留；修复建立新 Run，旧 Run 可标记 `SUPERSEDED`，不可抹除。Final 数字必须来自
accepted `FINAL_RUN`、必要的 Validation Evidence 和机器输出；Run Manager 在子进程启动前阻断
不合法请求并记录 blocker。

## 7. 审计与硬约束

`tools/statistical_audit.py` 使用 CORE 加条件检查；`tools/audit.py` 按阶段运行，只有 Final freeze、
官方导出或用户要求时才做全审。重复主体不得按行随机拆分；决策前模型不得使用 `POST_DECISION`
或 `OUTCOME_DERIVED` 特征；标签冲突不得自动 first/last/majority/max/min。

连续变量分组保留 continuous baseline；人工权重标为场景假设或透明启发式，并在影响结论时做
敏感性分析。题目已有 objective/cost/risk/score 时直接使用，不包装成人为的唯一最优。

## 8. 图表、文献、论文与年度合规

图形只分 A/B：A 是主要图形，B 是草稿图；Planner 保留五类机会，并把不适用项记为
`NOT_APPLICABLE`、缺证据项记为 `EVIDENCE_GAP`。只有真实来源、结论、单位、正文锚点、一致性和
证据状态齐全的对象才能进入正式图清单。布局、图形 QA 和参数只在 `figures`、`formal_figure` 或
`layout` 触发时读取 `references/visualization.md`、`references/figure-evidence-contract.md`、
`assets/figure_style.yaml` 和相关工具；AI 视觉检查不能冒充队员核验。

文献使用 `references/source-policy.md` 和 `references/literature-research.md`：普通参数查证不强制
系统综述，检索/去重/冲突/停止理由按任务深度记录。身份、实际阅读、页面/下载可用性和主张支持分开；
DOI 解析或页面打开不能自动证明元数据匹配、全文下载或语义支持。`tools/source_audit.py` 默认离线检查，
网络核验必须显式运行。

论文采用 `assets/FINAL_PAPER_TEMPLATE.docx` 主链。`2026.md` 和赛区通知只在合规或提交触发时核验；
house style 不是官方要求。

论文正文必须遵循 `references/paper-depth-and-review.md`：Evidence 约束数字、数据事实、
实验结果和结论的 provenance，不是删减建模动机、假设、符号、推导、算法、参数、结果解释
或验证分析的理由。没有最终数值时保留方法和边界，不用结果摘要替代完整论证。

## 9. Paper Contract → Planner → Engine → Final QA

唯一正常链路为：已接受模型/原题要求/已验证 Evidence → `Paper Contract` → `Paper Planner` →
`Paperization Engine` → 内容 QA → `build_paper.py`/`render_paper.py` → 制品 QA → Human Final Audit。

- Contract 是已有事实的经验证只读投影，负责来源、哈希、定位值、Run/Decision 状态、模型忠实性和
  下游失效指纹；缺事实或发现模型错误返回 `MODEL_OR_REQUIREMENT_GAP`，回到建模层。每问只登记实际存在
  的学术角色；角色、特殊规则和摘要事实包分别由对应 Reference 负责。
- Planner 只组织论证、章节、Evidence、图表和信息预算；Engine 是唯一写作编排入口，只能重组解释和局部
  修订，不能新增/替换模型、solver、变量、单位、索引、约束或 Evidence。旧的
  `paperization_v4_finalize.py` 只是兼容转发。
- 每问在写作审查前必须回答“为什么这样建模、如何建立/推导、如何求解、得到什么结果、为什么得到、
  如何证明可信”六项问题。它们是论证完整性门，不是最低字数、最低页数或固定小标题；缺少核心项时
  `Paper Reviewer` 不得给出 `PASS`。允许 `PASS`、`REVISE`、`CORRECT_BUT_SHALLOW`，后者必须列出
  `derivation too thin`、`algorithm insufficient`、`result interpretation weak`、`validation insufficient`
  或 `figure support weak` 等具体缺口，并只回写相关章节/分析。
- 论文阶段保持简单：各问题 Writer 可并行 → Paper Integrator → Figure Agent → Paper Reviewer → Revision
  → Document QA；不把每个写作动作拆成独立 Agent。Figure Agent 还要主动检查拟合、比较、核心结果、
  敏感性、稳健性、残差和参数响应；存在两个有意义的定量自变量与一个响应变量时，先比较二维表达，
  仅在 3D 保留真实第三维信息且通过现有 Critic 时使用 3D。
- `paper_objects` 先按 `schemas/paper_artifact.schema.json` 校验，`manuscript` 是唯一正文源；对象只能在
  显式锚点插入，源文哈希、DOCX/PDF 和逐页渲染必须保持绑定。
- Final QA 固定先做 Contract、模型/符号/覆盖/主张/交叉引用，再做布局/渲染/制品，最后做人审。公式、
  符号冲突、特殊规则、图表布局和 PDF/OMML 细节分别在触发时读取对应 Reference。任一 P0
  symbol/model fidelity 错误立即 `FINAL_QA_BLOCKED`，不得由人审覆盖；Stage 缺结果只能
  `INCOMPLETE_STAGE`，Final 缺结果失败。
- 机器内容、AI 语义、AI 视觉和队员核验分开记录。完整 JSON 落盘，交互默认只显示状态、readiness、硬错误、
  定位、报告路径和输入/来源指纹；摘要不能反推 readiness。

## 10. 恢复与交付

恢复先读取 State、Decision、Run 和 Evidence；阻塞记录原因、影响对象、相关文件和恢复条件。不伪造
人工核验、来源、运行、测试、Final 或官方合规。内部教学、复盘、归档包只有用户明确要求时生成，
不是官方提交门。

`CURRENT_PAPER_READY` 只表示当前论文内容、渲染产物、可读性和人工终审通过；它不等于官方可提交。
只有 `tools/compliance_audit.py`、当前年度规则、实际 PDF/DOCX、支撑材料、人工逐页审核和赛区要求
均通过后，才可写入 `OFFICIAL_SUBMISSION_READY=true`。机器状态码保留英文，面向用户的说明优先使用自然中文。

恢复时可调用 `tools/context_recovery.py` 生成只读的 `CURRENT_CONTEXT_SUMMARY`：它从 State、Decision、
accepted Run 和 Evidence 提取当前问题、下一步、阻塞、关键状态、来源路径和依赖指纹。缺失或变化的来源
返回 gap；该投影不替代任何事实文件，也不把缺口提升为 ready。

