实验目录接口

experiments.json 是45项实验的机器可读目录,JSON Schema定义字段。所有 path 相对仓库根目录;url 指向 GitHub 阅读页,raw_url 指向原文件。

site_base_url 指向在线实验站点;已部署的HTML与PDF资源提供 online_url,可以直接访问。

每个资源记录 SHA-256、字节数与 hash_basis。utf8-lf 表示先将 UTF-8 文本的 CRLF 换为 LF,再计算哈希和字节数,便于跨平台识别同一内容;PDF、Paclet 使用 raw-bytes,直接计算原字节。计算结果内的 input_hashes 和 code_hashes 按各实验原有的原字节规则核验。

检索命令

在仓库根目录运行,检索本身只依赖 Python 标准库:

python scripts/agent_catalog.py search "重力加速度"
python scripts/agent_catalog.py search "RLC bandwidth" --json
python scripts/agent_catalog.py search "interference" --course course-04 --json
python scripts/agent_catalog.py show course-03/rlc-resonance --json

搜索使用标题、英文标题、别名、主题、方法、摘要和指标键/标签,多词查询要求所有词出现;默认返回最多10项,可通过 --limit 调整。search --json 返回命中列表;show --json 返回一个完整实验对象。实验标识保持稳定,展示名称和别名可以更新。

英文词与缩写按词边界匹配,中文按短语匹配,大小写等价。例如 ODE 检索常微分方程方法,C02_R1_Q_bandwidth 检索完整指标键。

主要字段

字段 含义
id、course、title、title_en 稳定标识、课程、中文和英文名称
aliases、topics、methods、summary_zh 人工核对的检索词与实验摘要
sections 本实验报告的章节顺序
resources README、报告、Notebook、源PDF、参数、数据来源、代码、结果及验证文件
data_files 数据目录中的CSV文件、原表头、首行以外的记录行数和资源描述
metric_catalog 结果中全部指标的键、标签和单位
key_results 代表性结果摘录;44项按README选图计划,单摆选拟合重力、斜率与截距;以对应 results/python.json 为计算依据
key_results[].result_pointer 数值在结果JSON中的指针,例如 /metrics/C02_R1_Q_bandwidth
python_interface、wolfram_interface 实际模块、分析函数、包上下文及Notebook打开函数
commands 单实验审计、新内核执行、双端重建与入口图更新命令
verification 已有记录的状态、双端检查数量及原记录路径
source_identity 主DOCX归档身份及对应PDF的路径、页数和哈希

verification 描述随仓库保存的记录。重新执行产生的新记录按复现指南处理。模型条件、不确定度定义与来源细节分别读取 experiment.json、原始结果及 data/provenance.json。

提供虚拟实验的条目在 resources 中增加以下可选键;目前由 course-01/pendulum 提供。各资源沿用相同的路径、URL、哈希和字节数字段,HTML 的 online_url 直接指向运行页面。

资源键 内容
simulation_html 虚拟实验页面
simulation_model 浏览器物理模型
simulation_controller、simulation_charts、simulation_styles 操作状态、SVG 绘图和样式
simulation_observations 原报告观测与派生量,以及源文件哈希
model_evidence 模型方程、参数来源、适用范围与验证方法
references_json、references_bibtex 可核查题录、引用定位与文献管理格式
simulation_validation 独立参考计算、参数网格、容差、环境和模型验证记录

ES modules、CSS、BibTeX 与其他文本资源统一采用 utf8-lf 内容哈希。数值验证记录中的模型和观测源哈希继续按原字节核验,相关源文件通过 .gitattributes 固定行尾。

CSV表头按位置原样列出,同名和空白列保留原表结构;参与计算的表和列由计算模块确定。指标的 label 沿用保存结果;提供 description 的指标附有检索释义,结合指标键与单位阅读。

更新目录

python scripts/agent_catalog.py build
python scripts/agent_catalog.py build --check

build 更新机器目录、Markdown检索目录、短导览和完整导览。build --check 只比较生成内容,发生来源变化时以非零状态退出并列出待更新文件。生成文件使用固定排序与UTF-8,保持相同输入对应相同输出。