Changelog
September 10, 2026 · View on GitHub
All notable changes to AutoMCM-Pro are documented here.
Format follows Keep a Changelog.
Version scheme: Semantic Versioning.
[0.3.1] — 2026-09-11
Added
- LeanGate optional Lean 4 addon with pinned toolchain, exact resource-allocation
certificate generation, versioned claim manifest, semantic review/freeze workflow,
kernel verification, forbidden-token audit, freshness invalidation, JSON reports,
reproducible artifact export, and
selected/requiredpolicies. quality_gate.py formalplus LeanGate checks inallandlaunch-check;pipeline_manager.py advancenow refuses a verify-stage transition when an enabled formal gate fails.- Mandatory per-problem formal-applicability classification before leaving
problem_analysis, with immutable sealed baselines and automatic mandatory promotion for safety, feasibility, conservation, invariant, convergence, certificate, and decision-critical risk categories. - LeanGate instructions for Claude Code, Codex, OpenCode, and DSH bindings.
- Receipt-backed lifecycle management for Claude Code, Codex, OpenCode, and DSH: selective install/uninstall, symlink or managed-copy mode, integrity checks, atomic copy updates with rollback, and conservative cleanup.
- Optional installation of the pinned Lean toolchain through Elan; uninstall only removes a toolchain when the receipt records that this installer created it.
Security
- LeanGate rejects
sorry,admit,unsafe, custom axioms, path traversal, symlinked Lean inputs/directories (including.lake), unparseable axiom reports, stale approval evidence, and claim/obligation registry tampering. - Certificate claims must name an exact JSON certificate, and generated Lean files embed its SHA-256 digest. Specs, proofs, certificates, project configuration, all local Lean sources, claim scope, and approval evidence participate in freshness.
- Export and launch gates independently rerun Lean compilation and
#print axioms; copied reports or Agent-authored PASS text cannot satisfy the gate. - Stage approvals are bound to stage and review round, preventing reuse of stale
[APPROVED]markers.
Fixed
- Preserve installer ownership of Elan/toolchains across updates so an owned Lean toolchain remains safely removable without permitting deletion of user-managed ones.
- Refuse unsafe or malformed installation receipts, unmanaged Skill destinations, partial-install orphan links, and silent deletion of an unresolved rollback backup.
- Require
epistemic_type=certificateclaims to providecertificate_file; reject symlink directories before excluding ordinary Lean build caches.
Validation
- Added 31 automated tests covering LeanGate unit, end-to-end kernel, security, pipeline, and install/update/uninstall behavior.
- Verified Lean builds with the pinned
leanprover/lean4:v4.32.0toolchain. - Independently reviewed and executed by OpenCode and DeepSeek Harness (DSH), both PASS.
Changed
- Renamed the formal-verification addon uniformly to LeanGate (
leangateon disk and in CLI paths) while retaining AutoMCM-Pro as the product name. - Added a bilingual project-classification, limited-purpose, data/privacy, and system-permission disclaimer clarifying that AutoMCM-Pro is a locally invoked coding-agent Skill rather than a model or independently operating agent.
- First interactive installation now asks whether to install the core Python modeling
dependencies and whether to prepare LeanGate; non-interactive installation uses explicit
--with-python-depsand--with-leanopt-ins. - The four agent bindings now ask once on their first Skill invocation in each new session; they do not pre-scan or silently install dependencies, and non-interactive runtimes pause.
- The native Mind-Reader launcher now reports missing dependencies and exits unless the
user explicitly authorizes installation with
--install. setup_workspace.pyandpipeline_manager.py initaccept--lean-policywhile preserving the previous default (off).- Human stage approvals are round-scoped (
[APPROVED:<stage>:<round>]) so stale approval markers cannot authorize later pipeline rounds.
[0.3.0] — 2026-08-25
Added
Los Alamos Exploration Layer (optional, auto-triggered addon)
- Hypothesis tree/DAG materialized view (
scripts/los_alamos/hypothesis_tree.py), event-sourced from an append-only message bus (bus.py); four evaluation tracks: Track 0 (semantic screening), Track R "Bletchley" (red-team stress test), Track 1 (entropy-weight + TOPSIS objective ranking), Track 2 (qualitative pairwise judge panel, Copeland ranking, Shannon-entropy disagreement) - Six autonomous trigger criteria (
SKILL.mdpath C Step 0), including a new "problem-complexity initial judgment" checkable as early asproblem_analysis— no longer requires an explicit human request or literature-survey-stage evidence to fire - New
LOS_ALAMOS_METHOD_CATALOG.md— six-category MCM paradigm taxonomy (optimization / prediction / evaluation / simulation / classification / network) used by Alsos literature surveys and Director's first-layer branch selection to widen candidate coverage beyond ad-hoc search - Elastic branch width (2 branches under time pressure, 3–4 when time budget
allows) and deeper branching support (same-paradigm technical-choice
sub-branches,
depth+--parent-ids) - Governance rule (SOP §9.2.6): branch decisions must query
hypothesis_tree.py statusbefore acting, not rely on narrative memory — wired intoSKILL.mdat Step 5 (build/verify dispatch) and Step 9 (finals) - Fixed:
adjudicate.py screen/redteampreviously left thehypothesis_tree_{N}.jsonmaterialized-view snapshot stale until the nexthypothesis_tree.pyinvocation; both now call_sync_tree()immediately
RAND Delphi — Track 2 anonymous multi-round convergence
adjudicate.py panel-vote --round/panel-entropy --round/delphi-summary; capped at 2 retry rounds (SOP §9.6)
Project Skunk Works — lightweight mode
pipeline_manager.py init --skunk-works, relaxes citation gate (≥1 vs ≥2) and Checkpoint report verbosity; §4 self-verification mandate is explicitly not relaxed- Autonomous trigger extended (SOP §10.1): Director may self-trigger based on a time-pressure signal alone (not only explicit human request), but must announce the switch before executing — never silent
Andon Cord — universal emergency stop
pipeline_manager.py andon-pull/andon-clear/andon-status; freezesadvancepipeline-wide until cleared; AP mode cannot auto-clear (one of only two hard human-in-the-loop exceptions, alongside Checkpoint LA)
NASA Mission Control Go/No-Go — final_compile pre-flight check
quality_gate.py launch-check(gate 8): polls Andon / stage completeness (now filtered byproblem_count, see Fixed) / image existence / placeholder residue / anonymity / Los Alamos assumption-ledger integrity- Mandatory before
final_compile(new absolute-prohibition item, SOP §7)
Project Kaizen — post-verification quality-polish loop
pipeline_manager.py kaizen-assess/kaizen-round-start/kaizen-status; 4-dimension self-assessment (significance / robustness / assumptions / completeness, threshold 4.0/5), capped at 2 rounds, gated by the same objective time-budget signal as Skunk Works (opposite direction: adds rigor when time allows rather than relaxing it under pressure)- Hard boundary vs. writing-style polish (§16): Kaizen may revise numeric conclusions and model content; style passes may not
Work Log — single-file complete session record
scripts/worklog.py— append-only, Simplified Chinese,CUMCM_Workspace/memory/worklog.md; stage transitions / rework / Andon / Kaizen / gate results auto-logged frompipeline_manager.pyandquality_gate.pyat zero extra token cost; user messages and undocumented Agent decisions logged manually viaworklog.py append
Citation Authenticity Verification & Shared Pool
scripts/cite_check.py—register(dedup by DOI/URL/title into a sharedcitations.bibacross sub-problems) /verify(DOI via CrossRef API, URL via HEAD request — catches hallucinated citations, not just format-shape matching) /list/export-bibitemsquality_gate.pylitgate now prioritizes the verified citation pool over the legacy prose-regex scan; legacy path still works with a migration nudge- Fixed:
export-bibitemsdid not escape LaTeX special characters — a real DOI containing an underscore brokexelatexcompilation with a fatal error
Writing-Style / "AI-Generated Feel" Reduction
scripts/style_check.py scan— six objective, non-LLM checks: list-density in narrative sections, stock-phrase repetition, mechanical first/second/finally transition skeletons, sentence-length coefficient of variation, paragraph-length CV, cross-section n-gram repetition; thresholds informed by public research (mrshibly/Humanizer, Wikipedia:Signs of AI Writing, Pangram) and recalibrated against real Chinese academic writing- SOP §16 writing protocol: plan-then-segment writing, ≤2 style-polish rounds; hard boundary — style polish may only change how something is said, never numeric conclusions (Kaizen's territory)
- Fixed: LaTeX comment lines (
%% ==== section divider ====) were leaking into n-gram frequency analysis as false "repeated phrases" - Fixed: overlapping sliding-window n-gram duplicates of the same longer phrase (e.g. three 6-char windows of one 8-char term) now merge into one finding instead of three
Official Format Compliance (SOP §17)
- CUMCM:
templates/latex_template.texsynced to the 2026 format spec — electronic-version-compliant cover-page structure (title+abstract combined as page 1, page numbering starts there),\tableofcontentsremoved (official rule: no TOC), commented-out print-only 承诺书/编号页 block - New anonymity heuristic gate
quality_gate.py anon-check(self-referential / labeled-field phrase matching), wired intolaunch-check - New
scripts/ai_usage_doc.py:generate(builds a standalone 《AI工具使用详情》PDF fromworklog.mdper the 2025-trial AI-tool-usage regulation's four required sections),cite-format(CUMCM reference-line formatter),mcm-entry(COMAPReport on Use of AI Toolsentry formatter) — none of these auto-insert into the paper; declaring AI usage is a deliberate, manual decision by design - MCM/ICM:
templates/mcm_template.texgets\setcounter{tocdepth}{2}(keeps the required TOC to ~1 page) and a commented-outReport on Use of AI Toolsplaceholder section (COMAP format, appended after the 25-page solution, not counted toward the limit) compile_pdf.pynow reports page counts after a successful compile (PDF-bookmark-based body/appendix split) with contest-specific soft targets and hard-cap warnings — CUMCM body target 20–25 pages / hard cap 30 (appendix unlimited); MCM/ICM hard cap 25 pages total including appendix code — and recommends compacting appendix core code first when over budget
§18 — Research domain-conventional visualization forms before drawing
- New
AutoMCM_SOP.md§18 ("画图前先查领域惯例"): before designing any result figure, search (web-search, keywords abstracted per S3) for the conventional visualization form for that problem archetype — e.g. trajectory/geometry-optimization problems → 3D trajectory + key-moment annotation; coverage/siting/allocation → map/scatter + Gantt-style timeline; multi-objective/multi-scenario comparison → Pareto front or radar chart; sensitivity analysis → tornado chart or multi-parameter curve family; classification/clustering/ranking → heatmap or a re-sorted stacked bar chart. Findings recorded inthought_process.md; falling back to common-sense judgment is permitted when no clear convention is found, but — same spirit as §7's "never silently skip a failed check" — that fallback must also be recorded, never silently taken. - Wired into
.claude/skills/auto-mcm/SKILL.md's 图表风格规范 section (new subsection preceding 标准用法) and cross-referenced across all three lean runtime bindings (.opencode/,.dsh/,.agents/). - Codex binding's existing "known capability gap: no native web search"
section extended to explicitly cover this new requirement too — the same
underlying gap (no
WebSearch/WebFetchtool) blocks the domain-convention research step, not just literature review; the existing "disclose at Checkpoint① rather than silently skip" guidance now applies to both.
Two new fully-autonomous demo cases (replacing the previous single showcase)
demo/2020C/— real 2020 CUMCM Problem C (Credit Strategy for Small and Micro Enterprises), official attachments (~1.1M invoice rows) downloaded and verified frommcm.edu.cn. Full dsh headless run (zero human checkpoints) through all three sub-problems + sensitivity analysis: logistic-regression default-probability model (5-fold CV AUC 0.935), entropy-weight/TOPSIS cross-validation track, PSI transfer-stability check, KMeans industry-behavior clustering, expected-profit-maximizing credit allocation. 30 pages (21-page body), 18 figures, all 2D, zero 3D plots.demo/2025A/— 2025 CUMCM Problem A (smoke-screen decoy deployment), restyled end-to-end into a NASA technical-report / orbital-mechanics chart theme (white background, dense fine grid + bold major gridlines, black/white primary lines, NASA Blue#0B3D91/ NASA Red#FC3D21reserved for key-annotation accents only, fully boxed axes) — implemented as a workspace-local override ofscripts/plot_style.py's palette/rcParams/save()grid post-processing, not a change to the repository's shared style module. 28 pages (20-page body), same modeling conclusions as before restyling.demo/mind_reader_ui.png— the Mind-Reader tool screenshot (previously nested inside the single demo'sCUMCM_Workspace/) relocated to a case-independent top-level path, since it illustrates the tool, not either specific paper.
Runtime Bindings
- New: DeepSeek Harness (
dsh) binding —.dsh/skills/auto-mcm/SKILL.md - New: opencode binding —
.opencode/skills/auto-mcm/SKILL.md - New: Codex CLI binding —
.agents/skills/auto-mcm/SKILL.md - All three verified via real executed tasks (not documentation inference),
cross-checked through structured runtime session logs (
opencode export, decompressed.zstddsh session logs, plain-.jsonlCodex rollouts)
Fixed
templates/latex_template.texandtemplates/mcm_template.texboth failed to compile out of the box — both loaded\usepackage{natbib}while their bibliography section used plain\bibitem/\cite(not natbib's\citep/\citet), which is a fatal incompatibility (Package natbib Error: Bibliography not compatible with author-year citations). Neither template body actually uses any natbib-specific command, so natbib was unnecessary; removed from both. Verified with a from-scratch standalonexelatexcompile of each template (CUMCM: exit 0, 6 pages, zero errors once a placeholder figure exists; MCM/ICM: confirmed the natbib error is gone, remaining failure is the separate, already- documentedmcmthesis.clsexternal-package requirement). This bug predates this release — every fresh template compile would have hit it — and had only ever been patched ad hoc inside individual generated papers'main.tex, never at the template source; this is the first fix at the actual source. README prerequisites also updated to document themcmthesispackage requirement for the MCM/ICM template specifically (most minimal TeX Live installs don't ship it; CUMCM doesn't need it).plot_style.py: correlation-matrix heatmap used a one-directional sequential colormap for signed (−1…1) data instead ofdiverging_cmap()— negative and positive correlation were nearly indistinguishable at a glance; fixed.- Two instances of a "single-x-tick stacked bar chart degenerates into a
solid-color rectangle with no visible structure" bug, both triggered when
an expected-profit-maximizing credit allocation concentrated almost
entirely into one rating tier (2020C demo,
problem1_credit.pyandproblem2_credit.py) — replaced with per-enterprise sorted horizontal bar charts (amount + PD annotated per bar), which is both correct rendering and more informative than the aggregate single bar it replaced. - LaTeX verification-summary table (2025A demo
main.tex) overflowed the page's right margin by ~415pt (~5.7in) — a plainlcltabular with long cell text and no wrap points; fixed witharraypackagep{}-width wrapped columns, plus\allowbreakinserted after underscores in monospace filenames (which otherwise have no natural line-break point and still overflow their column even when wrapping is enabled). - 3D scene-overview and trajectory figures (2025A demo) had large dead
whitespace bands where
set_box_aspect'd axes were never tightened to their actual rendered content — addedplot_style.fit3d_axes()(two-pass render +get_tightbbox()-based repositioning) and wired it into the affected00_data_eda.py/problem1_geometry.pyfigure functions; also replaced two 3D-space text labels that sat close together in this scenario's real geometry (and so collided under certain view angles) with projection-immune screen-spacetext2Danchors. - Documented, and deliberately reverted rather than shipped: a third 3D
inset panel + taller figure canvas intermittently caused
bbox_inches='tight''s save-time crop to drop unrelated existing labels from a sibling subplot on the same figure — reproduced twice independently (including after reducing label offsets), suspected to be an mplot3dText3Dbounding-box quirk rather than a usage error in this codebase; reverted to the previously-verified two-panel layout instead of risking a silent regression for a marginal enhancement. gate_launch_check()stage-completeness check now filters byproblem_count— previously always scannedmodel_1–model_3regardless of actual sub-problem count, producing a false permanent NO-GO for any 1- or 2-problem contest- Hardcoded
/tmp/absolute paths inquality_gate.pyexample commands replaced with in-workspace paths — broke under sandboxed runtimes'external_directorypermission checks
Testing
- Every bug above (degenerate allocation charts, dead 3D whitespace, table
overflow, wrong colormap) was found by direct human/Claude visual
inspection of the rendered PDF pages — none were caught by the dsh agent's
own completion report, and none could have been: the model dsh was running
(
deepseek-v4-flash) has no image-input support, so its claimed "visual self-review" was necessarily only ever a file/pixel-level programmatic check, disclosed honestly inworklog.mdrather than misrepresented. - Multiple full real-agent pipeline runs (dsh, opencode) exercising the
complete new addon set together, independently re-verified rather than
trusting agent self-reports (PDF validity/page counts,
launch-checkre-run,cite_check verifyre-run, session-log decompression for tool-call audit) - Los Alamos genuinely self-triggered via multiple distinct criteria across runs (explicit "compare methods" problem wording, autonomous complexity judgment with no such wording); one run surfaced two genuine Checkpoint LA two-track conflicts (one directional contradiction, one Condorcet cycle) — resolved with fully documented headless-degradation reasoning; flagged as a known test-methodology limitation that Checkpoint LA's true human-wait path remains unverified in a genuinely interactive session
[0.2.0] — 2026-05-03
Added
/draw-image Skill — OpenAI gpt-image-2 图像生成
- New skill
.claude/skills/draw-image/SKILL.mdfor generating flowcharts, architecture diagrams, and conceptual illustrations via OpenAI gpt-image-2. - New script
scripts/draw_image.py— CLI wrapper around the OpenAI Images API:- Supports
gpt-image-2(default),gpt-image-1.5,gpt-image-1,gpt-image-1-mini,dall-e-3 - Parameters:
--size(any valid WxH for gpt-image-2, up to 3840px),--quality(low/medium/high/auto),--output-format(png/jpeg/webp),--compression,--background,--moderation --checkflag: probes authentication without generating anything
- Supports
- Three-tier auth detection (in priority order) with explicit default-on/off behavior:
OPENAI_API_KEYenv var → OpenAI Python SDK path (token-based billing)- Codex OAuth session detected (scans
~/.codex/auth.jsonand related paths,CODEX_AUTH_TOKEN/OPENAI_OAUTH_TOKENenv vars) → auto-enabled without any configuration; routes to Codex CLI$imagegen(free within ChatGPT Plus/Pro subscription) - Neither configured → disabled by default; graceful skip (exit code 2,
not an error); pipeline continues with
\missingfigure{}placeholder in LaTeX
- Design intent: Codex users get image generation out of the box; non-Codex users see the feature as off unless they explicitly supply an API key — no unexpected charges, no pipeline interruptions
- Skill documents: decision tree (when to use AI images vs. matplotlib), prompt engineering templates, LaTeX integration, pricing table, error guide
Multi-Agent Parallel Pipeline (AP Mode)
pipeline_manager.pynew flag and commands:init --problems N— records sub-problem count; enables automatic AP multi-agent parallelism when N > 1; stored asproblem_countinpipeline.jsonsuggest-parallel— inspects current pipeline state and outputs the next batch of stages that can be parallelized right now (exit 0 + space-separated stage list); exit 1 when nothing to parallelize (single problem or conditions not met). Two phases auto-detected:data_preprocessingapproved → outputs allmodel_N_buildstages- All builds approved → outputs all
model_N_verifystages
parallel-start <s1> <s2> ...— mark multiple stagesin_progresssimultaneously, enabling concurrent Agent executionparallel-status <s1> <s2> ...— print a completion table for a stage groupparallel-all-done <s1> <s2> ...— exit 0 if all stages areapproved, exit 1 otherwise (safe to use in shell conditionals)
pipeline_manager.pynew constantPARALLEL_GROUPSdocumenting which stages are safe to parallelize and their prerequisitesauto-mcm/SKILL.mdAP pipeline section updated:model_build + model_verifyentry now has a parallel decision gateway: callssuggest-parallelfirst; Path A (parallel) or Path B (sequential)- AP sub-Agent prompt template included inline with AP-mode self-approve step
【多 Agent 并行策略】section refactored into a concise reference with command quick-reference table; full steps moved to AP flow section- Background
draw-imagedispatch pattern with graceful skip - LaTeX section parallelization via
latex/sections/fragments
Contest Git — 竞赛工作区版本控制
- New script
scripts/contest_git.py— manages an independent Git repo insideCUMCM_Workspace/(separate from the AutoMCM-Pro tool repo):init— creates the workspace repo with.gitignore(LaTeX intermediates excluded) and an initial commit; configures git identity automaticallyauto_commit(stage, mode, round_n)— called bypipeline_manager.pyafter eachadvance; commits staged changes with semantic messagefeat(<stage>): approved [AP]orfix(<stage>): rework rN approvedrework_start(stage, round_n)— empty commit marking the rework entry point in the log, called onreworkmilestone_tag(name, message)— annotated tag (overwrites if exists)- Auto-tagging:
latex_draftapproved →draft-v1,final_compileapproved →final-v1(increments with review rounds) - Read-only queries:
log(n, oneline),diff(ref1, ref2, stat_only),status(),list_tags() - Standalone CLI:
python scripts/contest_git.py init|log|diff|status|tag|tags
pipeline_manager.pyintegration:init --gitflag: enables contest git and callscontest_git.init()git_enabledfield persisted inpipeline.jsonadvanceauto-commits on every stage approvalreworkrecords a rework-start empty commit- New
contest-gitsubcommand group:log,diff,status,tag,tags
auto-mcm/SKILL.md: new 【竞赛工作区版本控制】 section with event/git-action table and usage examples
Skill Updates
cumcm-master/SKILL.md: figure source decision tree (data vs. non-data);/draw-imageintegration in the figure-generation stepmcm-master/SKILL.md: same figure decision tree in Englishauto-mcm/SKILL.md:latex_draftstage now documents draw-image option
Changed
Security Fixes
pipeline_manager.py: sanitize user-provided--summary/--results/--concernsbefore writing to eval log and review files — prevents injection of[APPROVED]/[REWORK]control markers via argument stringspipeline_manager.py: marker replacement inhuman_intervention.mdnow usesstr.replace(..., count=1)— preserves full review history; prior approvals and reworks no longer silently overwrittenpipeline_manager.py:load()now catchesjson.JSONDecodeErrorand exits with a clear recovery message instead of an uncaught exceptionpipeline_manager.py: emitUserWarningwhencontest_gitmodule is unavailable instead of silently disabling all version-control featurescontest_git.py:auto_commitnow calls_scan_staged_for_secrets()before every commit; blocks and warns if OpenAI keys (sk-…), GitHub tokens (ghp_…), AWS keys (AKIA…), orpassword=/token=patterns are found in staged diffscontest_git.py:.gitignoreexpanded to block.env,*.key,*.pem,credentials.*,secrets.*,*_token*,config.local.*
Automation & Reliability
pipeline_manager.py:--max-reworks Nflag oninit(default 5);cmd_reworkchecks per-stage rework count and exits with code 2 if limit exceeded, preventing infinite repair loopsauto-mcm/SKILL.mdUX overhaul — zero command-line interaction for users:- Wake-up protocol now checks initialization state first; triggers 首次启动协议 (first-launch protocol) when workspace is not yet set up
- First-launch protocol: agent asks for file paths via natural language (AskUserQuestion), reads the problem to auto-detect sub-problem count and contest type, then runs all init commands silently (setup_workspace.py + pipeline_manager.py init with --problems N --git)
- AP mode checkpoints: replaced raw command output with natural language progress reports after each stage; no user input needed
- MANUAL mode: user provides specs and approvals in natural language; agent translates internally to pipeline commands; removed "输入继续" terminal instruction
- Rework protocol: user states changes in natural language; agent writes to human_intervention.md and executes rework command silently
README.md"How to Use" section rewritten for zero-command UX:- Removed all
pipeline_manager.py initinstructions from user-facing steps - Added AP mode and MANUAL mode natural language dialogue examples
- Updated English section to match
- Removed all
- New script
scripts/quality_gate.py— hard-enforced 4-gate quality CLI (not behavioral rules): literature reference count (≥2 per sub-problem), numerical sanity scan (inf/nan/1e200+), structured PASS/FAIL report parsing, physical-constant cross-problem consistency check; subcommandsverify / sanity / lit / consist / all; exit codes 0=pass, 1=fail, 2=skip - New script
scripts/security_check.py— hard-enforced security CLI: path traversal prevention (check_paths), env-variable leak detection (check_env_not_leaked), workspace secret scan (scan_files_for_secrets,scan_workspace_all); 6 secret patterns (OpenAI, Anthropic, GitHub, AWS, password literals, generic API keys); output auto-redacted to ≤20 chars auto-mcm/SKILL.md: 【建模质量门控】 updated — now documents exactpython scripts/quality_gate.pyinvocations for every pipeline moment (build pre-gate, build post-gate, verify gate, consistency gate); structured===VERIFICATION REPORT===contract; LaTeX 3-attempt retry loopauto-mcm/SKILL.md: new 【安全规程】 section — API key protection, file path validation viasecurity_check.py path, external-service query abstraction, rework-limit user notification, secret-commit interceptionauto-mcm/SKILL.md: dependency auto-check step added to wake-up protocolpipeline_manager.pydocstring updated to list all new commands
Removed
demo/multi_agent_demo/— development-only test case (verified and removed after successful end-to-end run: 22/22 verifications passed, PDF compiled, gpt-image-2 flowchart generated)
[0.1.0-beta] — 2026-03-14
Added
- Initial release of AutoMCM-Pro
/auto-mcm,/cumcm-master,/mcm-masterskills- AP / MANUAL dual-mode pipeline
- GitOps state machine (
pipeline_manager.py) with 8 commands - Mandatory self-verification protocol (verify_*.py for every solver)
- Mind-Reader real-time thought visualization (FastAPI + WebSocket)
- Docker environment (Python + TeX Live)
- CUMCM and MCM/ICM LaTeX templates
- Demo: CUMCM 2025 Problem A (11 stages, 144 verifications, ~1h34m runtime)