Skip to content

feat: finish finite policy runs and support replay - #10

Merged
kleinlau17 merged 1 commit into
mainfrom
feat/run-end-condition
Oct 24, 2026
Merged

kleinlau17 merged 1 commit into
mainfrom
feat/run-end-condition

Conversation

@kleinlau17

@kleinlau17 kleinlau17 commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

关联

无独立 Issue:来自用户要求,为 UniSuperMimic 和 Instinct-SuperMimic 两个独立示例提供最小公共运行结束能力。与 BotLab #60 同批评审,等两例一起收口;不推进 FAT、PyPI 或生产。

改动

PolicyController(end_after_steps=...) 支持固定正整数预算,或按离散参数映射预算;每次复位后的首个控制步确定预算。原生运行在最后一个物理步完成后返回,HeadlessRun.completed 可读,reset() 清除完成状态并恢复重播。没有配置预算的旧工程仍连续运行。

修复只执行第 0 步后 reset 未重新应用 motion 初始姿态的问题。公共 _controllers.py / _run_end.py 与 BotLab canonical 源逐字节一致;native runner 仅修改本仓。没有把既有 _robot.py IMU 镜像差异顺带同步进来。

影响范围 行为 兼容
SDK 声明 可选控制步预算 不配置时不改变旧行为
Native / headless 完成、停止、完整复位 完成后 step 要求先 reset
发布 需配套 browser runtime 不凭 0.3.0 版本字符串判定能力,候选按 SHA 固定

测试方式

  • 本地 pytest 回归:807 passed、2 skipped、2 deselected、58 subtests passed;退出码 0(未把 deselected 算成通过)。原生结束、复位、重播相关回归另行通过。
  • python -m botlab._runtime.golden_check tests/fixtures/processors.json:54 组对照通过,退出码 0;ruff 通过。
  • 普通非 editable wheel 隔离安装后,两例全部 13 个动作完整原生回放:精确步数结束、结束后物理不推进、前五步重播 action/qpos 在约定误差内一致。
  • python scripts/verify_wheel.py <candidate.whl> --browser-runtime <archive.zip> --out <new-dir>:release 模式通过,退出码 0;覆盖安装路径/入口/文档、native、viewer、独立缓存、静态站构建与输入产物不变。
  • 配套 BotLab 浏览器完成全部 13 动作、两条独立入口、静态包、重播和无隔离跨域 iframe;旧 Instinct 发布包未重建,仍连续运行。

候选 SDK 提交 3a228a7ecbf1623db1ada2e68ab76ff2805263ee;wheel SHA-256 98c7136041689038a65d2a46d67c7fda2e7d9961cf2da66e6b4fab042a7a34f9;runtime SHA-256 7cbc1cb9ff6b42356069913f10d0280725d3514e10ca5ac347fe6a3485781249。均为本地候选,不是已发布版本。

远端 CI:run 40110850465,当前提交的 Python 3.10 / 3.11 / 3.12 / 3.13 全部通过。

风险

当前预算仅支持单个无 Python modifier 的 PolicyController,不引入训练 episode、失败判断或自动循环。新字段要求新 runtime;两仓经项总审核后成组推进,再从合并提交重建并固定产物。Mac 原生深度路径有已有的 ARB_clip_control 精度提示;这些检查验证生命周期,不宣称上游策略成功率。

AI 使用说明:

  • 模型:Codex(GPT-6;具体部署版本未提供)。
  • 生成内容:预算元数据、native/headless 完成与复位逻辑、测试、文档及验收材料。
  • 人工修改:未确认;人工代码评审待项总完成。
  • 风险点:预算边界、首帧复位及旧工程兼容;已由 AI 运行 golden、原生回放、浏览器与真实 wheel 检查,不替代人工审查。

@kleinlau17
kleinlau17 merged commit 4f462cd into main Oct 24, 2026
4 checks passed
@carlvon17
carlvon17 deleted the feat/run-end-condition branch November 5, 2026 11:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant