Skip to main content
每次 Invocation 都建立新的 Run。Run 的 expected slots 定义本次分母;每个 slot 最多有一个 Member。Member 表示 slot 被哪个 Attempt 完整占据: 占位怎样形成(执行、自动沿用或操作者接受)由目标 Run 的 niceeval.membership-provenance/v1 RecordAttachment 记录,不进入 Core。Attempt 始终保存实际执行它的 origin;采用不复制 Verdict、Usage 或其他业务值。

先查看计划

在运行前使用 --dry。它读取停稳 Record 中规划所需的 RecordAttachment,并逐个列出执行或采用的原因。
示例输出:
如果信息缺失、无效、不支持或 domain 不同,规划器会说明原因并执行该 slot,而不会把它当作可采用结果。

自动采用的条件

一个 Attempt 要能被自动采用,需要同时满足:
  • Verdict 是可采用的终态;
  • 输入身份与当前输入相同;
  • 执行时长符合当前 timeout;
  • 本次 --rerun 允许采用该 Verdict;
  • 本次没有通过 --keep-sandbox 要求真实执行。
输入身份和配置身份都是带 domain 的不透明值。只有 domain 逐字相同才比较 value。Verdict 与 Eligibility 是规划所需的长期支持 Attachment。 自动采用时,资格、身份和理由写入目标 Run 的 niceeval.membership-provenance/v1 RecordAttachment。Member 本身只保存引用,不复制这些说明,也不复制 Attempt 的业务值。

控制重跑范围

改变 --rerun 只影响本次 Invocation,不会修改已有 Run 或 Attempt。

明确接受已有 Attempt

当自动采用条件不满足,但你确认某个已有 Attempt 仍可用时,使用完整 locator:
accept 先检查所有输入,再发布一个以 reference 采用该 Attempt 的新 Run。操作者理由、差异和资格写入该 Run 的 niceeval.membership-provenance/v1 RecordAttachment。它不会修改源 Attempt,也不会复制源 Attempt 的 Attachment 值。

发布后不可修改

Attempt 发布后不可修改。每一次查看都读取当时 Record 中已发布的值;新 Run 或新事实只会以新的发布出现。若 Attempt 或引用无效,Sample 将该 slot 标为 core-invalid,而不是 not-recorded 完成运行后,用 receipt 的 runIds 选择结果。查看步骤见查看结果