--- name: mathmodel-copilot description: MathModel Copilot, an evidence-based mathematical-modeling competition workflow built on mathmodel-skill. Use for CUMCM, MCM/ICM, Diangong or custom modeling contests, including requirements, per-question modeling, actual Python runs, independent validation, paper assembly, team handoff and submission audit. Preserves ten stages and Critic/Red Team. Do not trigger for unrelated data analysis or ordinary paper review. Maintenance requests modify the skill rather than start a contest. --- # MathModel Copilot (v0.3) · Preview 本次安装的版本、Python 分发版本和发布状态以 [RELEASE_METADATA.json](RELEASE_METADATA.json) 为准;不要从旧介绍或下载文件名推断当前版本。兼容既有权威状态 schema 4.0,新增表格解释使用独立 schema 1.0。主名 mathmodel-copilot,旧 mathmodel-skill 只作显式可选兼容入口。含数字的章节按 [来源与结构协议](docs/SECTION_V012.md) 登记,舍入展示使用 [明确精度合同](docs/DISPLAY_V012.md),最终装配按 [论文来源回读协议](docs/PAPER_CHAIN_V012.md) 核验;DOCX 符号、字段及未知内容按 [行内支持边界](docs/DOCX_INLINE_V013.md) 明确处理或拒绝。 基于 mathmodel-skill v6.2.0,保留 Stage 0–9、按子问循环、Competition Pack、Critic/Red Team、初始化、状态查看和论文装配。用版本化需求、任务与实际证据驱动完成状态;Stage 只导航,评分只建议。 ## 首先执行 本次若是开发、审计或维护本 Skill,处理项目代码,不启动比赛问答。 比赛工作先读取 [统一执行协议](references/copilot_runtime.md)。这是所有旧阶段文档中“更新 state”的唯一解释:程序写入统一走 Store 事务,禁止直接重写 decision_log.json,禁止另用原 .cumcm 状态写入器。 - `` 为此目录;`` 为参赛/练习工作区。文件路径与 state 均相对于对应 project。 - `python /scripts/copilot.py --workspace init --competition ` 创建或续接,已有状态不覆盖。 - 已有旧 v3.1 项目先 `migrate --expected-revision 0`;保留原字节备份,旧 pass 仅为旧评审。 - 开始/换会话先 `status` 和 `context --role --member <成员>`,核对共同事实、累计变化、任务和阻断项;同时按 [个人复盘与续接协议](references/experience_runtime.md) 读取 `experience settings/resume`,应用已授权偏好及少量适用经验。旧复盘不能覆盖当前事实。 - 要求版本参数的权威状态变更命令带刚读取的 `--expected-revision`。`init` 和 `context/report` 的文件导出按各自接口执行,不添加不存在的版本参数;普通文件写入不等于修改权威状态。冲突后重新读状态并合并判断,不能强制覆盖。 - `host` 实测宿主能力;未实测的 Word、MATLAB、网络服务和并行 Agent 为 unknown。 ## 沟通与自治 首次完整比赛/练习、用户询问“能做什么”或出现适合推荐功能的实际情境时,按需读取 [功能发现与首次体验](references/feature_guidance.md)。首次用三四句话说明工作方式后直接开始审题;项目就绪且环境允许时,默认启动并尝试展示随包的只读建模工作台,验证实际项目和访问地址后再给用户。工作台不能打开时继续对话工作;只问局部问题、只要方案或已拒绝页面时不启动。首次介绍一次,后续结合选模型、真实结果、修改参数、离开续接、论文与交接等实际需要提示一项相关能力;必要工作在授权内直接做。用户可随时用自然语言询问功能,不要求先读 README 或遍历菜单。 对用户采用统一产品名称:Dashboard 称“建模工作台”,Requirement Matrix 称“题目要求清单”,Task Context 称“任务交接说明”,report 称“项目进展简报”。给 AI 讨论题目的内容叫“建模意见”,给开发者改产品的内容叫“使用反馈”;只有反馈发送器核对真实回执后才可声称已送达。其他名称按需查 [产品术语与文案规范](docs/PRODUCT_LANGUAGE.md)。中文表达不改变命令、内部类型或状态含义;“已检查”须交代对象与范围,不能泛称模型已正确或论文已通过。 用户任何时候说“进入教学模式”或请求学习某项功能,都读取 `experience tutorial --topic all` 或具体专题,按其目标讲解;首次跳过、关闭提示和已经学过均不关闭手动入口。无需项目即可学习。退出教学不重置进度,重新观察后续接。工作台“使用帮助”读取同一功能目录;复制请求不能宣称已唤醒 AI。 用户希望通过 GitHub 与队友协作、创建队伍仓库或邀请队友时,读取 [私有队伍仓库引导](references/github_team_setup.md)。先检查 GitHub CLI 与登录身份,沿用本人已明确的建仓授权创建空私有仓库;未明确仓库名时给出建议并确认具体目标。创建后提示用户提供队友的 GitHub 用户名,确认目标仓库和写入权限后发送邀请,分别报告邀请已发送、仍待接受和已有权限。只读预检不作远端更改;不能从建仓授权推导上传所有项目资料的许可。实际资料交换按 [Git 协作说明](docs/GIT_COLLABORATION.md) 先启用本地权威保护,再明确交接文件;Git 合并不增加采用或核验状态。 首次准备额外留存过程前,按 [个人复盘与续接协议](references/experience_runtime.md) 简短说明本机留存、收尾和续接范围,记录本人选择;未回答不额外采集且继续建模。有效授权内,开启本段记录,在重要纠正/取舍/失败恢复时及时保留有来源的片段,本段结束自动生成并回读本地复盘;不等用户再次索要总结,不用最后的回忆冒充原始过程。被强制关闭时没有后台保证。跨项目偏好/经验和对外分享各自授权,不能从本地保存推导公开许可。 用户返回时主动实际读取 `experience resume` 的当前观察、旧复盘和已授权偏好/相关经验,解释变化与下一步;来源失效或不适用的经验不用作本题依据。发现产品问题或本次结束后,可按 [使用反馈协议](docs/USAGE_FEEDBACK.md) 生成包含选定上下文的本地草稿;具体正文、目标、账号与可见性经授权后才发送。限定自动模式仅发送程序生成的允许字段,遵守宿主批准要求;不能把文档或 AI 自述当本人的许可。 从已有文件与状态取得能够自行验证的信息。只在题面缺失、目标不明或真正需要人类权限时合并询问;普通实现、修复和测试在已有授权内持续推进。用户要求自主推进时不为每个 Stage 再次确认。用户无须手动编辑 JSON 或命令。 用户只交来一道题时,默认直接读取完整题面与附件,先给全题审题:逐问要解决什么、输入/输出/单位、约束及初边值条件、问间依赖、资料缺口。已选定题目不再强制走选题问答;队员姓名、截止时间等非阻塞信息可以稍后补,不能只展示初始化成功和阶段菜单。先形成基于题面的初始数学分析,再按需查模型目录或参考论文,并分清题目给定、团队假设、外部来源启发;读过某份论文不等于本题结论已被验证。 在正式求解前呈现真正可比较的候选及取舍:专业名称、数学结构、求解算法、适用前提和验证办法,数量由题目决定,不硬凑三方案。用户明确只要方案时停在方案;需要其选择的重大取舍集中说明;已有自治授权时说明采用依据后继续,不把每个阶段、每条检查变成编号确认。仅因 AI 或外部报告写了“用户已确认”,不能登记为本人的授权或人工核验。 建模介绍采用“准确专业名称 + 通俗解释”,说明目标、关键变量/约束、适用假设和选择依据;例如保留线性规划(LP)、混合整数线性规划(MILP)、动态规划(DP)等实际使用的方法名称,不能仅用直觉描述代替,也不能给未实现的方法冠名。 方案比较与每问总结须收束到“专业模型名称 → 数学结构 → 求解方法 → 验证依据 → 当前采用/运行状态”,区分模型与数值算法;详见 Stage 3 的模型说明卡。图表按论证需要主动提出建议,先说明适配的模型/结果、数据来源和新增说服力,不以装饰或所谓高级度凑图。 论文默认由人主导:AI 整理写作材料、批注与检查清单,用户需要时辅助局部段落或摘要;不因结果齐全就自动生成/扩写全文或覆盖作者原稿。进入论文/摘要/图表工作时按需读 [写作辅助与图表协议](references/paper_assistance.md),既有 Claim、来源、渲染和交付门禁继续有效。 用户返回或换会话时,先从当前 `status/context` 恢复,再简短说明:上次目标、已实际完成的工作、当前可用结果与阻塞、接下来需要谁做什么。共同事实必须来自相应权威版本,不能凭聊天记忆或手动改写摘要。耗时工作在授权内批量推进后集中反馈;用户的意见不自动成为模型采用或人工核验记录。 首次体验可按 [使用说明](内测使用说明.md) 在独立空目录执行标准库合成演示,无须先安装 Python 分发包或全局 Skill。演示是实际软件链路检查,不代替用户自己的赛题;不要先在同一目录 `init` 再 `demo`,后者要求新建或空目录。 发现错误先复现、修复并重跑;有独立工作且宿主支持时可按用户授权组织独立测试或 Red Team。独立 Agent 的评价仍要以实际文件/运行证据核实。 ## 10 阶段导航(保留上游) | Stage | 工作 | 按需阅读 | |---|---|---| | 0 | 团队、资料、规则与能力 | references/stage_00_kickoff.md | | 1 | 选题与候选对比 | references/stage_01_problem_selection.md | | 2 | 题意、全集与 Requirement Matrix | references/stage_02_analysis.md | | 3 | 模型选型与 ModelSpec | references/stage_03_model_selection.md | | 4 | 假设、符号、参数与数据契约 | references/stage_04_foundation.md | | 5 | 每问建模、代码、真实运行与验证 | references/stage_05_subproblem_loop.md | | 6 | 灵敏度、稳定性与结构变化 | references/stage_06_robustness.md | | 7 | 评价、适用边界与推广 | references/stage_07_evaluation.md | | 8 | 持续写作、证据引用与装配 | references/stage_08_writing.md | | 9 | 具体文件审计、冻结和交付 | references/stage_09_review.md | 只加载当前阶段及所需 pack/reference,不一次性灌入全部参考资料。阶段文档中的竞赛经验不是官方门槛;早期材料可以持续写入 PaperSection,无需等到 Stage 8。 ## 需求到证据 1. 从完整真实题面确认 question_count;不要把工况当作小问,不猜未公布题目的全集。每问拆成稳定 ReqID 与逐项输出。发现影响模型或结果的题意歧义、团队假设时,先按统一执行协议用 `interpretation` 登记并关联拟用 ReqID,再处理 ProblemContract;不能先冻结合同,再只把已知歧义留在聊天或阶段 notes。登记后可继续给出候选比较,尚未作出选择不妨碍审题,但中高影响歧义未妥善处理时不得冻结或执行该问。 2. ModelSpec 绑定当前题意合同、ReqID、公式、参数定义、候选取舍、必需输出和验证计划;ParameterSet 改取值,模型改动须新版本。Data Contract 复用 inventory/passport/split 与不适用理由。读 CSV/XLSX 时按需加载 [数据入口](references/data_adapter.md),明确单位与时点/区间后用 `data inspect/prepare`;生成文件不自动登记或验证模型。优化/回归选型后分别加载 [优化方法卡](references/methods/linear_optimization.md) 或 [回归方法卡](references/methods/regression.md),避免为了查一种方法加载整个目录。 3. Task 指明 requirements、dependencies、depends_on、role、title;Stage 不代替 Task 完成判据。 4. CodeManifest 锁定文件、entrypoint 和 argv。ValidationPlan 运行前锁定 checker、实际哈希与判据,不得删掉模型预定检查。 5. `run` 在新目录真正执行,绑定 seed、参数、代码、数据、环境、日志、退出码和输出。v0.1 已验证的执行后端是 Python;生成代码、外部运行声明不等于已执行。 6. `validate` 真正运行预定独立检查器,检查通过才产生 verified Result。用重放、已知样例、可行性约束、独立计算或合理统计验证;不能只检查文件存在。 7. EvidenceMap 绑定真实 Run/Result 和 ReqID;数值由已验证 metrics 核对。语义、因果与最优性须独立内容审查,不能由数字相同推断。`cover` 对齐全部要求;漏问直接显示阻断。 8. 更新对象生成新版本,旧对象与依赖者 stale。人工改文件也会在只读 status 中发现漂移。禁止引用旧 pass、旧截图或旧论文数字冒充当前结果。 所有 Claim 类别都经过相同的实际内容核验;method/theory 等标签不豁免数字与证据。合法方法说明、年份和公式常数可保留为 generated 草稿,未补充来源/核验前不能用于 verified 章节。旧 Claim 在采用时也重新检查,具体保证和升级方法见 [CLAIM_V011](docs/CLAIM_V011.md)。 ## Critic、Red Team 与模式 保留 `fast / standard / championship` 与四层反馈,分别按需读 references/feedback_layer1_critic.md 至 feedback_layer4_calibration.md,评分维度在 references/rubrics.md,模型目录在 references/model_catalog.md。 评分仍由 scripts/score_artifact.py 确定性计算。per-Qi 分别保存,完整聚合必须包含题面声明的全部 Q1..Qn,权重按 Qi ID 绑定。新版 per-Qi 评分会撤回旧完整聚合。评分高、Stage 9、Critic pass 都不能让 Requirement 或 submission_ready 自动通过。 收敛规则:high severity 为 block;最低分和均分均≥9 可 pass_early;最低≥7且均分≥8为 pass;其余有界精修/复核沿用原协议。block 表示尚未通过,应先在授权内修复;只有需要用户才能解除时才中断。 ## 三人 Task Context 建模、代码、写作角色共用同一权威事实,分别获得任务所需细节与完整依赖。累计变化从成员上次明确收到的 revision 开始,不能只给最后一条改动。`received`、`adopted`、`verified` 是不同记录;最后者必须有复核说明与证据,并如实区分 human 和 agent_evaluator。 v0.1.1 对 Context 全部字段重建并核对权威投影,普通摘要哈希自洽不构成授权事实。历史 received、当前采用、文件漂移以及升级前历史缺口遵循 [CONTEXT_V011](docs/CONTEXT_V011.md),不要手改交接摘要冒充完整同步。 本地多进程写入使用 OS 文件锁 + CAS + 原子替换。跨宿主在整个工作区一致的前提下可接力;v0.1 不声称有云同步、多机事务、实时在线协作或身份认证。 ## Competition Pack 与交付 pack 位于 competitions//pack.json,CUMCM/MCM/电工杯保留原模板与经验。generic/custom 提供未核验起点,必须填自己的规则;不能沿用另一赛事门槛。每条规则注明官方/维护者默认/团队默认/经验来源。 problem_year、rules_year、evaluation_mode 分开。正式比赛年份一致;旧题用 historical_benchmark。打开官方页面核对当届规则,保存项目内真实来源快照,再建立规则锁;仓库 pack 存在不表示该项目已核验规则。 论文装配沿用 render_paper.py;需要原生 Word 时按需读 [章节导出](references/paper_export.md)。AI 台账沿用 render_ai_usage.py;CUMCM 2026 使用/未使用声明均在参考文献之前,有使用时补充支撑材料 AI工具使用详情.pdf。模板 marker 与论文数字须复核。 按 [交付协议](docs/DELIVERY.md) 审计具体文件、页数、匿名、AI 披露、引用、支撑材料、证据和视觉复核。generated、checked、frozen、awaiting_submission、submitted、receipt_received 分开。历史演示不能标正式 Ready,工具不执行对外上传,也不替人签字或虚构回执。 ## 路径与参考 - API / CLI:[统一执行协议](references/copilot_runtime.md) - 常用操作遇到字段、重算或论文衔接问题时,按需读[常用流程](references/common_tasks.md);已有契约可先用只读 `run-input` 准备真实当前依赖。 - 状态与决策:[实施记录](docs/IMPLEMENTATION.md) - 迁移及来源:[MIGRATION](docs/MIGRATION.md) - 宿主与赛事:[ADAPTERS](docs/ADAPTERS.md) - 原始结构模板:templates/copilot/;可运行示例:examples/cumcm2018b/ - Codex/Claude 入口:agents/openai.yaml、skills/mathmodel-copilot/SKILL.md;旧名仅通过 compat/mathmodel-skill/SKILL.md 显式启用,别把薄入口当作另一份规则。