simulation-validator

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Simulation Validator

模拟验证器

Goal

目标

Provide a three-stage validation protocol: pre-flight checks, runtime monitoring, and post-flight validation for materials simulations.
为材料模拟提供三阶段验证流程:起飞前检查、运行时监控和起飞后验证。

Requirements

要求

  • Python 3.10+
  • No external dependencies (uses Python standard library only)
  • Works on Linux, macOS, and Windows
  • Python 3.10+
  • 无外部依赖(仅使用Python标准库)
  • 支持Linux、macOS和Windows

Inputs to Gather

需要收集的输入

Before running validation scripts, collect from the user:
InputDescriptionExample
Config fileSimulation configuration (JSON/YAML)
simulation.json
Log fileRuntime output log
simulation.log
Metrics filePost-run metrics (JSON)
results.json
Required paramsParameters that must exist
dt,dx,kappa
Valid rangesParameter bounds
dt:1e-6:1e-2
在运行验证脚本前,向用户收集以下信息:
输入描述示例
配置文件模拟配置(JSON/YAML)
simulation.json
日志文件运行时输出日志
simulation.log
指标文件运行后指标(JSON)
results.json
必填参数必须存在的参数
dt,dx,kappa
有效范围参数边界
dt:1e-6:1e-2

Decision Guidance

决策指南

When to Run Each Stage

各阶段运行时机

Is simulation about to start?
├── YES → Run Stage 1: preflight_checker.py
│         └── BLOCK status? → Fix issues, do NOT run simulation
│         └── WARN status? → Review warnings, document if accepted
│         └── PASS status? → Proceed to run simulation
Is simulation running?
├── YES → Run Stage 2: runtime_monitor.py (periodically)
│         └── Alerts? → Consider stopping, check parameters
Has simulation finished?
├── YES → Run Stage 3: result_validator.py
│         └── Failed checks? → Do NOT use results
│                            → Run failure_diagnoser.py
│         └── All passed? → Results are valid
模拟即将启动?
├── 是 → 运行阶段1:preflight_checker.py
│         └── BLOCK状态? → 修复问题,**不要**启动模拟
│         └── WARN状态? → 查看警告,记录已接受的风险
│         └── PASS状态? → 继续启动模拟
模拟正在运行?
├── 是 → 定期运行阶段2:runtime_monitor.py
│         └── 出现警报? → 考虑停止模拟,检查参数
模拟已完成?
├── 是 → 运行阶段3:result_validator.py
│         └── 检查未通过? → **不要**使用结果
│                            → 运行failure_diagnoser.py
│         └── 全部通过? → 结果有效

Choosing Validation Thresholds

选择验证阈值

MetricConservativeStandardRelaxed
Mass tolerance1e-61e-31e-2
Residual growth2x10x100x
dt reduction10x100x1000x
指标保守型标准型宽松型
质量容差1e-61e-31e-2
残差增长2x10x100x
dt 缩减10x100x1000x

Script Outputs (JSON Fields)

脚本输出(JSON字段)

ScriptOutput Fields
scripts/preflight_checker.py
report.status
,
report.blockers
,
report.warnings
scripts/runtime_monitor.py
alerts
,
residual_stats
,
dt_stats
(alerts include NaN/Inf/overflow detection, residual growth, and dt collapse)
scripts/result_validator.py
checks
,
confidence_score
,
failed_checks
,
status
(
PASS
/
FAIL
/
INSUFFICIENT_DATA
);
confidence_score
is
null
when no check ran
scripts/failure_diagnoser.py
probable_causes
,
recommended_fixes
脚本输出字段
scripts/preflight_checker.py
report.status
,
report.blockers
,
report.warnings
scripts/runtime_monitor.py
alerts
,
residual_stats
,
dt_stats
(警报包含NaN/Inf/溢出检测、残差增长和dt崩溃)
scripts/result_validator.py
checks
,
confidence_score
,
failed_checks
,
status
PASS
/
FAIL
/
INSUFFICIENT_DATA
);未运行任何检查时
confidence_score
null
scripts/failure_diagnoser.py
probable_causes
,
recommended_fixes

Three-Stage Validation Protocol

三阶段验证流程

Stage 1: Pre-flight (Before Simulation)

阶段1:起飞前(模拟启动前)

  1. Run
    scripts/preflight_checker.py --config simulation.json
  2. BLOCK status: Stop immediately, fix all blocker issues
  3. WARN status: Review warnings, document accepted risks
  4. PASS status: Proceed to simulation
Note:
preflight_checker.py
validates required keys, numeric ranges, output-directory access, and disk space. It does not evaluate numerical stability (CFL / diffusion-Fourier). For explicit stability gating use
skills/core-numerical/numerical-stability/scripts/cfl_checker.py
.
bash
python3 scripts/preflight_checker.py \
    --config simulation.json \
    --required dt,dx,kappa \
    --ranges "dt:1e-6:1e-2,dx:1e-4:1e-1" \
    --min-free-gb 1.0 \
    --json
  1. 运行
    scripts/preflight_checker.py --config simulation.json
  2. BLOCK状态:立即停止,修复所有阻塞问题
  3. WARN状态:查看警告,记录已接受的风险
  4. PASS状态:继续启动模拟
注意:
preflight_checker.py
会验证必填键、数值范围、输出目录权限和磁盘空间。它评估数值稳定性(CFL / 扩散-傅里叶)。如需显式稳定性校验,请使用
skills/core-numerical/numerical-stability/scripts/cfl_checker.py
bash
python3 scripts/preflight_checker.py \
    --config simulation.json \
    --required dt,dx,kappa \
    --ranges "dt:1e-6:1e-2,dx:1e-4:1e-1" \
    --min-free-gb 1.0 \
    --json

Stage 2: Runtime (During Simulation)

阶段2:运行时(模拟进行中)

  1. Run
    scripts/runtime_monitor.py --log simulation.log
    periodically
  2. Configure alert thresholds based on problem type
  3. Stop simulation if critical alerts appear
bash
python3 scripts/runtime_monitor.py \
    --log simulation.log \
    --residual-growth 10.0 \
    --dt-drop 100.0 \
    --json
  1. 定期运行
    scripts/runtime_monitor.py --log simulation.log
  2. 根据问题类型配置警报阈值
  3. 出现严重警报时停止模拟
bash
python3 scripts/runtime_monitor.py \
    --log simulation.log \
    --residual-growth 10.0 \
    --dt-drop 100.0 \
    --json

Stage 3: Post-flight (After Simulation)

阶段3:起飞后(模拟完成后)

  1. Run
    scripts/result_validator.py --metrics results.json
  2. All checks PASS: Results are valid for analysis
  3. Any check FAIL: Do NOT use results, diagnose failure
bash
python3 scripts/result_validator.py \
    --metrics results.json \
    --bound-min 0.0 \
    --bound-max 1.0 \
    --mass-tol 1e-3 \
    --json
For variational / gradient-flow models (Allen-Cahn, Cahn-Hilliard), add
--variational
to enforce a strict monotone non-increasing energy check.
  1. 运行
    scripts/result_validator.py --metrics results.json
  2. 全部检查通过:结果可用于分析
  3. 任意检查失败:不要使用结果,诊断故障原因
bash
python3 scripts/result_validator.py \
    --metrics results.json \
    --bound-min 0.0 \
    --bound-max 1.0 \
    --mass-tol 1e-3 \
    --json
对于变分/梯度流模型(Allen-Cahn、Cahn-Hilliard),添加
--variational
参数以强制严格的单调非递增能量检查。

Failure Diagnosis

故障诊断

When validation fails:
bash
python3 scripts/failure_diagnoser.py --log simulation.log --json
验证失败时:
bash
python3 scripts/failure_diagnoser.py --log simulation.log --json

Conversational Workflow Example

对话工作流示例

User: My phase field simulation crashed after 1000 steps. Can you help me figure out why?
Agent workflow:
  1. First, check the log for obvious errors:
    bash
    python3 scripts/failure_diagnoser.py --log simulation.log --json
  2. If diagnosis suggests numerical blow-up, check runtime stats:
    bash
    python3 scripts/runtime_monitor.py --log simulation.log --json
  3. Recommend fixes based on findings:
    • If residual grew rapidly → reduce time step
    • If dt collapsed → check stability conditions
    • If NaN detected → check initial conditions
用户:我的相场模拟在1000步后崩溃了,能帮我找出原因吗?
Agent工作流
  1. 首先,检查日志中的明显错误:
    bash
    python3 scripts/failure_diagnoser.py --log simulation.log --json
  2. 如果诊断显示数值爆炸,检查运行时统计数据:
    bash
    python3 scripts/runtime_monitor.py --log simulation.log --json
  3. 根据结果推荐修复方案:
    • 残差快速增长 → 减小时间步长
    • dt崩溃 → 检查稳定性条件
    • 检测到NaN → 检查初始条件

Error Handling

错误处理

ErrorCauseResolution
Config not found
File path invalidVerify config path exists
Non-numeric value
Parameter is not a numberFix config file format
out of range
Parameter outside boundsAdjust parameter or bounds
Output directory not writable
Permission issueCheck directory permissions
Insufficient disk space at <path>
Disk nearly full on the output volumeFree up space or reduce output
Invalid parameter name
--required
name has disallowed characters
Use only letters, digits,
_
,
.
,
-
range max ... must be greater than min
Inverted/degenerate
--ranges
or bounds
Ensure max > min
must be a finite positive number
nan
/
inf
/negative threshold supplied
Pass a finite positive value
Log file too large
Log exceeds the 500 MB parse capTruncate or pre-filter the log
错误原因解决方法
Config not found
文件路径无效验证配置文件路径是否存在
Non-numeric value
参数不是数值类型修复配置文件格式
out of range
参数超出边界调整参数或边界范围
Output directory not writable
权限问题检查目录权限
Insufficient disk space at <path>
输出卷磁盘空间不足释放空间或减少输出内容
Invalid parameter name
--required
参数名称包含非法字符
仅使用字母、数字、
_
.
-
range max ... must be greater than min
--ranges
或边界范围颠倒/无效
确保最大值大于最小值
must be a finite positive number
提供了
nan
/
inf
/负数阈值
传入有限的正数
Log file too large
日志文件超过500MB解析上限截断或预过滤日志

Interpretation Guidance

解读指南

Status Meanings

状态含义

StatusMeaningAction
PASSAll checks passedProceed with confidence
WARNNon-critical issues foundReview and document
BLOCKCritical issues foundMust fix before proceeding
状态含义操作
PASS所有检查通过放心继续
WARN发现非关键问题查看并记录
BLOCK发现关键问题必须修复后再继续

Confidence Score Interpretation

置信度分数解读

ScoreMeaning
1.0All validation checks passed → proceed with confidence
0.75+Most checks passed, minor issues
0.5-0.75Significant issues, review carefully
< 0.5Major problems, do not trust results
null
(status
INSUFFICIENT_DATA
)
No recognized metrics fields; no check ran — NOT a pass. Inspect the metrics file.
A requested bound (
--bound-min
/
--bound-max
) with no matching
field_min
/
field_max
in the metrics is reported as a failed
bounds_unverifiable
check, never a vacuous pass. For variational/gradient-flow runs, pass
--variational
(or set
"energy_variational": true
in the metrics) to enforce a strict monotone non-increasing energy check (
energy_monotone
); otherwise a weaker
energy_net_decrease
check is used, which does not detect mid-run spikes.
分数含义
1.0所有验证检查通过 → 放心继续
0.75+大部分检查通过,存在轻微问题
0.5-0.75存在显著问题,需仔细检查
< 0.5存在重大问题,不要信任结果
null
(状态
INSUFFICIENT_DATA
未识别到指标字段;未运行任何检查 — 不代表通过。请检查指标文件。
若指标文件中没有匹配的
field_min
/
field_max
,则请求的边界(
--bound-min
/
--bound-max
)会被报告为
bounds_unverifiable
检查失败,绝不会被视为默认通过。对于变分/梯度流运行,传入
--variational
(或在指标中设置
"energy_variational": true
)以强制严格的单调非递增能量检查(
energy_monotone
);否则会使用较弱的
energy_net_decrease
检查,无法检测运行中途的能量峰值。

Common Failure Patterns

常见失败模式

Pattern in LogLikely CauseRecommended Fix
NaN, Inf, overflowNumerical instabilityReduce dt, increase damping
max iterations, did not convergeSolver failureTune preconditioner, tolerances
out of memoryMemory exhaustionReduce mesh, enable out-of-core
dt reducedAdaptive stepping triggeredMay be okay if controlled
日志中的模式可能原因推荐修复方案
NaN、Inf、溢出数值不稳定减小dt,增加阻尼
达到最大迭代次数,未收敛求解器失败调整预处理器、容差
内存不足内存耗尽减小网格,启用核外计算
dt 减小触发自适应步长若处于可控范围内则无问题

Verification checklist

验证清单

Do not trust a validation verdict until each applicable item below is satisfied with the concrete artifact named. Record these in your summary to the user.
  • Ran
    result_validator.py --json
    and confirmed
    results.status
    is
    PASS
    (not
    INSUFFICIENT_DATA
    ) AND
    results.confidence_score == 1.0
    ; a
    null
    score or
    INSUFFICIENT_DATA
    means no check ran — treat as unverified, not as a pass.
  • Listed
    results.checks
    and confirmed every requested check actually appears (e.g.
    mass_conserved
    ,
    bounds_satisfied
    ,
    no_nan
    , and
    energy_monotone
    /
    energy_net_decrease
    ); confirmed
    results.failed_checks
    is empty and contains no
    bounds_unverifiable
    entry (which means a requested bound had no
    field_min
    /
    field_max
    to compare against).
  • For variational/gradient-flow models (Allen-Cahn, Cahn-Hilliard), passed
    --variational
    (or set
    "energy_variational": true
    ) so
    energy_monotone
    is enforced; recorded that the weaker
    energy_net_decrease
    was NOT relied on, since it cannot detect mid-run energy spikes.
  • Recorded the mass drift tolerance used (
    --mass-tol
    , default
    1e-3
    ) and confirmed it matches the Conservative/Standard/Relaxed column appropriate to the run; did not silently accept the default for a tight-conservation problem.
  • Ran
    runtime_monitor.py --json
    and recorded
    residual_stats
    (min/max/last) and
    dt_stats
    ; confirmed there are no
    alerts
    for NaN/Inf/overflow, residual growth above
    --residual-growth
    , or dt collapse below
    --dt-drop
    .
  • Confirmed numerical stability was gated separately via
    core-numerical/numerical-stability/scripts/cfl_checker.py
    (CFL/Fourier limit) —
    preflight_checker.py
    does NOT evaluate CFL/Fourier and a PASS preflight says nothing about temporal/spatial stability.
  • On any
    FAIL
    or alert, ran
    failure_diagnoser.py --json
    and recorded the
    probable_causes
    /
    recommended_fixes
    , rather than reusing the results.
在确认以下所有适用项均满足之前,不要信任验证结论。将这些内容记录到给用户的总结中。
  • 运行
    result_validator.py --json
    并确认
    results.status
    PASS
    (而非
    INSUFFICIENT_DATA
    )且
    results.confidence_score == 1.0
    ;分数为
    null
    或状态为
    INSUFFICIENT_DATA
    意味着未运行任何检查 — 视为未验证,而非通过。
  • 列出
    results.checks
    并确认所有请求的检查均已执行(如
    mass_conserved
    bounds_satisfied
    no_nan
    以及
    energy_monotone
    /
    energy_net_decrease
    );确认
    results.failed_checks
    为空且不包含
    bounds_unverifiable
    条目(该条目表示请求的边界无对应的
    field_min
    /
    field_max
    可对比)。
  • 对于变分/梯度流模型(Allen-Cahn、Cahn-Hilliard),已传入
    --variational
    (或设置
    "energy_variational": true
    )以强制
    energy_monotone
    检查;记录未依赖较弱的
    energy_net_decrease
    检查,因为它无法检测运行中途的能量峰值。
  • 记录使用的质量漂移容差(
    --mass-tol
    ,默认值
    1e-3
    )并确认其符合运行对应的保守型/标准型/宽松型列;对于严格守恒问题,不要默认接受默认值。
  • 运行
    runtime_monitor.py --json
    并记录
    residual_stats
    (最小值/最大值/最后值)和
    dt_stats
    ;确认没有关于NaN/Inf/溢出、残差增长超过
    --residual-growth
    或dt崩溃低于
    --dt-drop
    alerts
  • 确认已通过
    core-numerical/numerical-stability/scripts/cfl_checker.py
    单独校验数值稳定性(CFL/Fourier极限) —
    preflight_checker.py
    评估CFL/Fourier,起飞前检查通过不代表时间/空间稳定性。
  • 出现任何
    FAIL
    或警报时,运行
    failure_diagnoser.py --json
    并记录
    probable_causes
    /
    recommended_fixes
    ,不要复用旧结果。

Common pitfalls & rationalizations

常见误区与合理化借口

Tempting shortcutWhy it's wrong / what to do
"Preflight passed, so the run is numerically stable."
preflight_checker.py
checks required keys, ranges, output-dir writability, and disk space only. It does NOT compute CFL/Fourier. Gate stability with
cfl_checker.py
separately.
"
result_validator
printed a confidence score, so results are good."
An empty or unrecognized metrics file returns
confidence_score: null
and status
INSUFFICIENT_DATA
— that is "no check ran", not a pass. Verify recognized fields are present and
status == PASS
.
"Energy ends lower than it started, so the dissipative run is fine."The default
energy_net_decrease
only compares first vs last and misses mid-run spikes. For gradient-flow models use
--variational
to enforce the strict monotone
energy_monotone
check.
"I asked for bounds and didn't get a
bounds_satisfied: false
, so bounds hold."
If
field_min
/
field_max
are absent the validator emits
bounds_unverifiable
(a FAILED check), never a vacuous pass. Ensure the metrics file actually carries the field extrema.
"The simulation finished without crashing, so the results are trustworthy."Run completion is not correctness. Verify mass conservation, energy behavior, physical bounds, and a clean
runtime_monitor
alert list before using results.
"dt got smaller during the run, so the solver is failing."
runtime_monitor
dt-collapse is direction-aware (running-max vs current) and only alerts past
--dt-drop
; a controlled adaptive ramp is expected. Check the actual
dt_stats
and whether an alert fired.
"I'll just use the default thresholds."Defaults (
--mass-tol 1e-3
,
--residual-growth 10
,
--dt-drop 100
) are the Standard column; a conservation-critical problem needs the Conservative tolerances. Pick thresholds for the physics, then record them.
诱人的捷径为何错误 / 正确做法
“起飞前检查通过了,所以运行过程数值稳定。”
preflight_checker.py
仅检查必填键、范围、输出目录可写性和磁盘空间。它计算CFL/Fourier。需单独使用
cfl_checker.py
校验稳定性。
result_validator
输出了置信度分数,所以结果没问题。”
空的或未识别的指标文件会返回
confidence_score: null
和状态
INSUFFICIENT_DATA
— 这表示“未运行任何检查”,而非通过。请确认存在已识别的字段且
status == PASS
“最终能量低于初始值,所以耗散型运行没问题。”默认的
energy_net_decrease
仅比较初始和最终值,会遗漏运行中途的峰值。对于梯度流模型,请使用
--variational
强制严格的单调
energy_monotone
检查。
“我要求检查边界但没有得到
bounds_satisfied: false
,所以边界符合要求。”
field_min
/
field_max
不存在,验证器会输出
bounds_unverifiable
(检查失败),绝不会默认通过。请确保指标文件包含字段极值。
“模拟正常完成没有崩溃,所以结果可信。”运行完成不代表结果正确。在使用结果前,请验证质量守恒、能量行为、物理边界以及
runtime_monitor
的警报列表是否正常。
“运行过程中dt变小了,所以求解器失败了。”
runtime_monitor
的dt崩溃检测是方向感知的(运行最大值与当前值对比),仅在超过
--dt-drop
时触发警报;可控的自适应调整是正常现象。请查看实际的
dt_stats
以及是否触发了警报。
“我直接使用默认阈值就好。”默认值(
--mass-tol 1e-3
--residual-growth 10
--dt-drop 100
)属于标准型列;对于严格守恒的问题,需要使用保守型容差。请根据物理特性选择阈值并记录。

Security

安全

Input Validation

输入验证

  • Config file paths are validated for existence before parsing; non-existent paths produce clear errors (exit code 2)
  • --required
    parameter names are validated against a safe-character allowlist (
    ^[A-Za-z0-9_.-]+$
    ); names with shell metacharacters are rejected
  • --ranges
    entries are parsed as
    name:min:max
    with finite numeric bounds enforced and
    max > min
    required
  • --min-free-gb
    is validated as a finite positive number (negatives, zero,
    nan
    ,
    inf
    rejected)
  • --residual-growth
    and
    --dt-drop
    thresholds are validated as finite positive numbers
  • --bound-min
    and
    --bound-max
    are validated as finite numbers (
    nan
    /
    inf
    rejected), and
    --bound-max > --bound-min
    is enforced;
    --mass-tol
    is validated as a finite positive number
  • Invalid input exits with code 2 and an explanatory message
  • 解析前会验证配置文件路径是否存在;路径无效时会输出清晰错误(退出码2)
  • --required
    参数名称会根据安全字符白名单(
    ^[A-Za-z0-9_.-]+$
    )验证;包含shell元字符的名称会被拒绝
  • --ranges
    条目会被解析为
    name:min:max
    格式,强制要求有限数值边界且
    max > min
  • --min-free-gb
    会被验证为有限正数(拒绝负数、零、
    nan
    inf
  • --residual-growth
    --dt-drop
    阈值会被验证为有限正数
  • --bound-min
    --bound-max
    会被验证为有限数(拒绝
    nan
    /
    inf
    ),且强制要求
    --bound-max > --bound-min
    --mass-tol
    会被验证为有限正数
  • 无效输入会以退出码2和解释性消息终止程序

File Access

文件访问

  • preflight_checker.py
    reads a single user-specified config file (JSON/YAML) and checks disk space on the volume hosting the resolved output directory
  • runtime_monitor.py
    reads a single log file specified by
    --log
    ; log files are size-limited (500 MB max) and rejected before parsing if larger
  • result_validator.py
    reads a single metrics file (JSON) specified by
    --metrics
  • failure_diagnoser.py
    reads a single log file specified by
    --log
    ; log files are size-limited (500 MB max) before parsing
  • No scripts write to the filesystem; all output goes to stdout
  • preflight_checker.py
    读取用户指定的单个配置文件(JSON/YAML),并检查解析后的输出目录所在卷的磁盘空间
  • runtime_monitor.py
    读取
    --log
    指定的单个日志文件;日志文件有大小限制(最大500MB),超过限制会在解析前被拒绝
  • result_validator.py
    读取
    --metrics
    指定的单个指标文件(JSON)
  • failure_diagnoser.py
    读取
    --log
    指定的单个日志文件;日志文件有大小限制(最大500MB),超过限制会在解析前被拒绝
  • 所有脚本均不写入文件系统;所有输出均输出到stdout

Tool Restrictions

工具限制

  • Read: Used to inspect script source, references, config files, and simulation logs
  • Bash: Used to execute the four Python validation scripts (
    preflight_checker.py
    ,
    runtime_monitor.py
    ,
    result_validator.py
    ,
    failure_diagnoser.py
    ) with explicit argument lists
  • Write: Used to save validation reports; writes are scoped to the user's working directory
  • Grep/Glob: Used to locate log files, config files, and search references
  • 读取:用于检查脚本源码、参考资料、配置文件和模拟日志
  • Bash:用于执行四个Python验证脚本(
    preflight_checker.py
    runtime_monitor.py
    result_validator.py
    failure_diagnoser.py
    ),使用显式参数列表
  • 写入:用于保存验证报告;写入范围仅限于用户工作目录
  • Grep/Glob:用于定位日志文件、配置文件和搜索参考资料

Safety Measures

安全措施

  • No
    eval()
    ,
    exec()
    , or dynamic code generation
  • All subprocess calls use explicit argument lists (no
    shell=True
    )
  • failure_diagnoser.py
    uses hardcoded, pre-compiled diagnostic regex patterns;
    runtime_monitor.py
    accepts optional
    --residual-pattern
    /
    --dt-pattern
    overrides that are compiled with
    re.compile
    (no
    eval
    ) and applied only to the user's own log
  • Diagnostic strings emitted in output are drawn from the skill's fixed cause/fix table, not interpolated from raw log content
  • 不使用
    eval()
    exec()
    或动态代码生成
  • 所有子进程调用均使用显式参数列表(不使用
    shell=True
  • failure_diagnoser.py
    使用硬编码的预编译诊断正则表达式;
    runtime_monitor.py
    接受可选的
    --residual-pattern
    /
    --dt-pattern
    覆盖参数,这些参数会通过
    re.compile
    编译(不使用
    eval
    ),仅应用于用户自己的日志
  • 输出中的诊断信息来自技能内置的原因/修复表,不会从原始日志内容插值生成

Limitations

局限性

  • Not a real-time monitor: Scripts analyze logs after-the-fact
  • Regex-based: Log parsing depends on pattern matching; may miss unusual formats
  • No automatic fixes: Scripts diagnose but don't modify simulations
  • 非实时监控:脚本仅在事后分析日志
  • 基于正则表达式:日志解析依赖模式匹配;可能无法识别非常规格式
  • 无自动修复:脚本仅诊断问题,不修改模拟配置

References

参考资料

  • references/validation_protocol.md
    - Detailed checklist and criteria
  • references/log_patterns.md
    - Common failure signatures and regex patterns
  • references/validation_protocol.md
    - 详细清单和标准
  • references/log_patterns.md
    - 常见失败特征和正则表达式

Version History

版本历史

  • v1.2.2 (2026-06-24): Added a Verification checklist (evidence-based, tied to the four scripts' JSON outputs) and a Common pitfalls & rationalizations table to harden agent interpretation of validation verdicts.
  • v1.2.0 (2026-06-23): Corrected diagnostic regexes (no false convergence/blow-up on healthy logs), direction-aware dt-collapse detection, NaN/Inf scan in runtime monitor, strict variational energy check, non-vacuous bounds/confidence, config-relative output-dir + correct-volume disk check, and implemented the documented input-validation/file-size safeguards
  • v1.1.0 (2024-12-24): Enhanced documentation, decision guidance, Windows compatibility
  • v1.0.0: Initial release with 4 validation scripts
  • v1.2.2(2026-06-24):添加验证清单(基于证据,与四个脚本的JSON输出绑定)和常见误区与合理化借口表,强化Agent对验证结论的解读能力。
  • v1.2.0(2026-06-23):修正诊断正则表达式(不会在正常日志中误判收敛/爆炸)、方向感知的dt崩溃检测、运行时监控中的NaN/Inf扫描、严格变分能量检查、非默认边界/置信度、配置相对输出目录+正确卷磁盘检查,并实现文档中记录的输入验证/文件大小防护措施
  • v1.1.0(2024-12-24):增强文档、决策指南,支持Windows系统
  • v1.0.0:初始版本,包含4个验证脚本