配置层次

文件 负责内容 不应包含
Run 本次后端、runtime、Scenario、control、plugins 与覆盖 Registry 搜索策略、共享资产内部结构
Project Registry、可信根、缓存、离线和部署能力 某次实验的场景实例
Component Manifest release、kind、schema、variant、资源 digest 使用方的实例位姿
User settings 明确允许的本机默认项 项目必须复现的输入

推荐检查顺序

先运行格式与语义验证,再展开规范化结果,随后对关键字段解释来源,最后才生成或验证 Lock。每一步都可输出 JSON,供 CI 或部署系统消费。

bash
fastsim config validate run.yaml --json
fastsim config expand run.yaml
fastsim config explain run.yaml runtime.physics_hz
fastsim config lock run.yaml --output run.lock --json
fastsim config verify-lock run.lock --json

覆盖策略

项目共享事实应放在 Run、Project 或组件中。CLI 与 API 覆盖只适合部署选择、临时诊断或受控试验,并应进入最终 Plan 的 provenance。不要依赖工作目录、导入顺序或机器私有环境变量改变语义。

常见失败类别

  • schema 或字段错误:修正作者输入,不应在 Runtime 中兜底。
  • component not found:检查 Project 与 Registry index,而不是复制资产到随机目录。
  • kind mismatch:确认 URI scheme、Manifest kind 与 Scene 分组一致。
  • resource integrity:重新获取受信任资源或更新经过审核的 digest。
  • capability mismatch:选择支持该能力的 Provider,或移除不能满足的组件/插件要求。

字段的当前来源与分组见配置参考;一次完整 Run 的形态见Run、ExecutionPlan 与 Lock