Repository navigation
feat: add option parameters and deterministic motion switching - #8
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
关联
来自用户要求:将选项参数、动作切换及 Ghost 同步作为通用能力提交,分别开 PR;用户随后明确授权审核并合并。没有单独 Issue。
配套 BotLab PR:https://github.com/OpenLegged/BotLab/pull/54 (分支 feat/option-parameters,目标 dev)。
本 PR:feat/option-parameters → main;负责人:项总。用户已授权审核并合并到 main,未授权发版或上传 wheel。
改动
命名选项参数以前无法由原生 host 校验;在推理后的 action hook 中直接复位,也会让旧观测和历史产生的过渡动作进入下一次物理步。本次为 host 加入选项成员校验,并让单计划控制器在动作切换时先复位、清理历史和上一动作,再从复位帧重新计算输出。
跨仓依赖与发布边界
公共 SDK 真源是 BotLab 的 src/domain/python/botlab;本仓维护原生 host/runner。BotLab 配套改动负责下拉框、浏览器 compiled resetOnChange 执行及 Ghost 同步,本 PR 负责 CPython 侧同一契约。
测试方式
环境:macOS,Python 3.12,runtime extras 已安装,Node 24.21.0。使用项目现有虚拟环境解释器,PYTHONPATH=src 保证测试本工作树源码;BOTLAB_ENGINE_REPO 指向配套 BotLab 工作树。
实际结果(2026-10-24):
本地日志位于 tmp/pr-submission/{pytest,ruff,golden,targeted-final}.log;日志和用户资产未上传。未重新执行候选发布 wheel 验收、Python 3.10/3.11/3.13 矩阵或完整浏览器 E2E,不能据此宣称可发布。
风险和未通过项
AI 使用说明:
合并前 AI 审核(2026-10-24)
审核 head 01c5c7b:未发现阻断功能缺陷,核对了选项声明/取值校验、编译规则、延迟复位后丢弃旧动作并重算、时钟/历史清理和测试覆盖。同步 BotLab 的 resetOnChange 元数据 golden 后,54 项原生回放通过。
新 Python 3.10–3.13 CI:https://github.com/OpenLegged/botlab-python/actions/runs/40093859497 ,待完成后更新。先合 BotLab #54 到 dev,再合本 PR 到 main;不上传 wheel、不发布运行时。
最终合并检查(2026-10-24 13:18 UTC)
最新 head 01c5c7b 的 CI run 40093859497 全成功,已核对日志:Python 3.10 为766 passed/5 skipped/2 deselected;3.11、3.12、3.13各774 passed/6 skipped/2 deselected,均56 subtests passed。各版本54项golden、lint和source-wheel contract通过,无失败。main仍为7eb3cd6。
依据用户明确审核合并授权,在 BotLab #54 合入 dev 后,普通 squash 合入 main。不发布 wheel 或浏览器 runtime;跨仓上线依赖和硬件GPU未验收限制仍保留。
合并结果:2026-10-24 13:19:26 UTC 已 squash 合入 main,提交 3173fc6;依赖 BotLab #54 已先合入 dev(794ccea86ce099110fb9fec93a96b31641414a30)。未发布 wheel 或 runtime。