Merge pull request #966 from pikasTech/docs/caserun-source-repo-boundary-20260606

docs: define CaseRun source repo boundary
This commit is contained in:
Lyon
2026-06-06 09:43:15 +08:00
committed by GitHub
+2
View File
@@ -179,6 +179,8 @@ bun tools/hwpod-node.ts serve --host 127.0.0.1 --port 19678
第一阶段 CaseRun 不引入常驻调度服务,由 `hwlab-cli case` 组合 case repo、本地 `.state``hwpod-cli``hwpod-compiler-cli``hwlab-api` 和在线 `hwpod-node` 完成单次运行。case repo 提供 `cases/<caseId>/case.json` 与同目录 `hwpod-spec.yaml`;每次运行会把 spec 复制到 `.state/hwlab-cli/caserun/<runId>/.hwlab/hwpod-spec.yaml`,形成隔离的 run-local spec。
CaseRun 的 case repo 与实际 case 代码库必须分离。case repo 是 case registry 和 run evidence 仓库,只保存 `case.json`、HWPOD spec 或 spec 引用、source 引用、期望结果和 `runs/<caseId>/<runId>/` 审计产物;它不保存或替代实际固件、工程、测试样例或产品代码库。实际代码由 `case.json` 通过 `source` 字段引用独立 Git repo、ref 和 subdir`case run` 准备阶段必须把 source 解析为固定 commit,复制或 checkout 到 run-local workspace,再从隔离副本执行 build/download/smoke。`branch``tag` 只能作为人工入口,`evidence.json` 必须记录 resolved commit、source repo、subdir 和 run-local workspace,避免把 floating ref 或外部脏 workspace 当作可审计证据。
CaseRun 是强化学习 Harness 的最小执行单元,但它本身不是完整 epoch。完整 epoch 还需要样本选择、策略生成、奖励/评价、批量调度、跨 run 归因和自动训练闭环;第一阶段只要求一个 `caseId` 能从 case repo 进入真实 HWPOD 编译闭环,并把可审计产物稳定落盘。
最小入口: