feat: add manager-based mjwarp training infrastructure - #847
Closed
TATP-233 wants to merge 2 commits into
Closed
Conversation
This was referenced Aug 1, 2026
Closed
TATP-233
force-pushed
the
feat/issue-705-manager-mjwarp
branch
from
August 4, 2026 06:09
28c619a to
7194617
Compare
Collaborator
Author
|
History rewrite notice (#887): 本分支历史已于 2026-08-04 重写并 force-push(
协作者请重新同步本地分支: git fetch origin
git switch feat/issue-705-manager-mjwarp
git reset --hard origin/feat/issue-705-manager-mjwarp注意:旧提交(含 artifact)在本仓库 GitHub 对象库中可能仍经 PR ref 缓存可达,彻底 GC 需 GitHub 侧处理;新可达历史已不再包含这些对象。 |
This was referenced Aug 4, 2026
Deliver the subtractive integration result as one main-based commit. Keep the PPO and SAC G1 owners plus offline recording while excluding the retired manager and typed-runtime history.
Collaborator
Author
TATP-233
force-pushed
the
feat/issue-705-manager-mjwarp
branch
from
August 5, 2026 10:53
7e0d141 to
eb4e9f2
Compare
Apply the manager-based mjwarp infrastructure as one feature commit on top of the squashed mjwarp host-adapter delivery.
TATP-233
force-pushed
the
feat/issue-705-manager-mjwarp
branch
from
August 5, 2026 11:00
eb4e9f2 to
63fa962
Compare
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.
Summary
TaskCompiler生成不可变 compiled plan,reference、host-fused 与 device-resident executor 共用 typed state/control/mutation contract。mujoco完全独立的生产mjwarpbackend identity、factory、owner YAML、registry、telemetry、typed batch/reset/DR、graph recapture 与 device substep controller。ppo_torch + g1_walk_flat + mjwarp + device_resident从 policy action、physics、obs/reward/done 到 learner 的 device-resident 训练路径,并建立 policy ABI、sim2sim、checkpoint/resume/export 入口门禁。G1WalkFlat + mjwarp的手写 env lifecycle;mujoco/motrixowner 及 reference/fused/differential oracle 保留。Linked Work
verifiedfeat/issue-705-manager-mjwarp为 base 合入;完整 child issue、依赖和逐 PR 证据见 Work: 统一规划 manager-based task API 与独立 mjwarp 后端 #705 正文。最终阶段对应 Phase 7A: 建立 mjwarp 支持声明与双向证据审计 #833/test: add Issue 705 support evidence audit #834、Phase 7B: 建立 capability-derived mjwarp production task rollout #835/test: add capability-derived mjwarp task rollout gate #836、Phase 7C: 冻结并验证 mjwarp 逐 seed 训练行为 #837/test: verify Phase 7C paired-seed training behavior #838、Phase 7D: 建立 manager/mjwarp 全入口能力矩阵与 ABI 门禁 #839/feat: enforce issue 705 entrypoint contracts #840、Phase 7E: 淘汰 mjwarp 手写 env lifecycle 并冻结回滚证据 #841/feat: retire legacy mjwarp G1 lifecycle #842、Sync: #705 最终回归前同步最新 main #844/chore: sync main before issue 705 final regression #845、Phase 7F: 全阶段 freshness 最终回归与 Phase 7 promotion #843/test: close issue 705 final evidence #846,以及 CI 修复 Fix: 保持 mjwarp armature recompute 的可选依赖边界 #848/fix: preserve mjwarp optional import isolation #849、Fix: 拆分标准 CI 并隔离本地 evidence 门禁 #855/ci: shard standard tests and preserve local evidence #863/fix: make issue 705 CI evidence portable #864。Support Boundary
唯一
Recommended组合为:mjwarp与mujoco始终是两个独立 physics backend,不共享或改写 backend identity。mjwarp原生 play/visualization 当前显式 unsupported,并在 materialization 前 fail closed;checkpoint load/resume 和 ONNX/JIT export 走已验证的 renderer-independent contract。Validation
make check(由最终make test-all覆盖;Ruff、mypy、pyright 均 PASS)uv run pytest -m "not slow"(由最终make test-all覆盖)Commands run against child HEAD
b98ef976acc4894e08a9c95634a0a3eb41eb035fand promoted to integration HEAD480becc726d8c73e06669f4dc02baab2568be742(merge commit only adds ancestry):Results:
2348 passed, 26 skipped, 449 deselected, 1 xfailed; coverage 68%; Ruff, mypy and pyright PASS.870 passed, 15 skipped, 281 deselected, 1 xfailed; B551 passed, 1 skipped, 114 deselected; C285 passed, 8 skipped, 12 deselected; D636 passed, 2 skipped, 48 deselected; all PASS.--fail-under=25PASS.36/37, script mode37/38; only the platform-optional MLX entry skipped in each mode.ok=true, 12 mandatory command runs, A/B/C/D lanes complete,errors=[].6 verified / 0 planned; Phase 0-6 owner validators PASS.480becc726d8c73e06669f4dc02baab2568be742; nomain-only commit remains after chore: sync main before issue 705 final regression #845.Remote CI Status
30698393464on30d69111ebab8dab2743ea4d4299c3ff96c87fa3: Ruff、mypy、pyright、Docs、shard A/B passed; shard C/D and aggregate failed.30742715153and Docs run30742715151on integration HEAD5a8a26691e33bb3c9af1d088c89bb7a36c221d62both succeeded; all eight shards and aggregatetest (ubuntu-slim)are green.CI Evidence Boundary
Issue #877 Update
UserWarning;当前主机的实际 CPU/GPU/driver/affinity 会写入 artifact。#877 Validation
196 passed;Ruff format/check、mypy、pyright 和 benchmark smoke 通过(合并最新 integration 前)。17 passed, 13 deselected。2 passed。45/45benchmark workers PASS;acceptance2 passed。40/40GPU workers PASS,硬件差异仅产生 advisory;冻结性能 gate 失败:1.1596,要求<= 1.051.1539,要求<= 1.050.8623,要求>= 0.95238();未修改或新增 threshold amendment。Explicit PR Gate Override
用户于 2026-08-03 明确要求“跳过性能阈值的 gate,直接 PR”。因此本次更新在以下状态下推送:
make test-all/ Issue Work: 统一规划 manager-based task API 与独立 mjwarp 后端 #705 final evidence gate。Impact
mjwarp; additive shared contracts formujoco;motrix/drakeremain fail-closed where unsupported.NpEnvNumPy contract and non-mjwarp G1 owners remain available; backend-specific behavior stays in backend/config owner layers.Artifacts
tests/acceptance/issue_705/artifacts/phase_7_gate.jsondc69b4fa7c2f364af0b4792d7d1e2f9e9513279e35afe4ae98eaa80ed61726e161505caa1189b4cae0d48c5d544abac1edbb58dbcd8c1733352487e156cd2941fe7e31733b42a64a7e412aebc093fc58875061fe3aa8c1c23d9e1493a800469dafce1c745acd0bc7beb06b4e663d88f60bc8fa343b0dec13505a3f6036c7494717d13ec54f2a83e58fd55434482cc597aa250c54c94a6cde68f3d43eeeaf3efcbff0f8fad3211f5b3690d745378f5168c1e82fdd9c816b805d8598d27e42e18f218d5befa5dc27da9ddc405f56d2bea794f7b563e260049ecca60da613c3a37c5fe587ad1f0e6890f19791d12f4ac428ba0aaf16df59c8d59b3f51a758dea886865aee7fb011e07bdaf7fc33aef7a33d5adb1b0391892da336bb8481Checklist
mainwith merge ancestry before final evidence5a8a26691e33bb3c9af1d088c89bb7a36c221d62(run30742715153; Docs30742715151)Final Remote Acceptance
pyyamlin the isolateddevgroup and adding fail-closed workflow/dependency tamper tests. It merged into the integration branch as5a8a26691e33bb3c9af1d088c89bb7a36c221d62.2352 passed, 26 skipped, 449 deselected, 1 xfailed, coverage 68%; Ruff, mypy, pyright and benchmark smoke passed.dc69b4fa7c2f364af0b4792d7d1e2f9e9513279e, SHA25635afe4ae98eaa80ed61726e161505caa1189b4cae0d48c5d544abac1edbb58db, 12/12 mandatory A/B/C/D runs and zero mandatory skip/xfail/xpass/deselect.uv sync --only-group dev, installed PyYAML 6.0.3, audited 8 shards / 227 test files / 6 local-evidence nodes, combined A-H coverage to 67%, and passed--fail-under=25.Per #705, this PR must remain open for user review/approval. Do not squash/rebase the final merge because evidence receipts depend on preserved commit ancestry.
Issue #853 Repository Cleanup
src/unilab/support/+conf/support/。scripts/audit_acceptance.py与scripts/capture_acceptance.py;相对main的顶层新增脚本总数为 3。src/unilab/cli.py。.gitattributes或 LFS pointer,并增加 no-LFS / changed-file 1 MiB repository policy 与 CI gate。src/、conf/、docs/不再包含issue.?705命名。#853 Validation
通过:
make test-all已执行但未通过:2185 passed, 35 failed, 14 errors, 29 skipped, 652 deselected, 1 xfailed。失败集中在已删除 raw artifact / 旧冻结 hash,以及一个单独运行可通过的顺序相关 Motrix 测试。用户于 2026-08-03 明确要求跳过这些非关键失败并尽快更新 PR,因此未重复执行 full gate;本节记录该显式 override,不将失败表述为通过。Cleanup commit:
28c619af.Phase 0 delivery (2026-08-04)
本 PR 分支历史已按 #887 重写(force-push
28c619af→71946170,purgetests/acceptance/大型 raw artifacts,源码提交保持不变),顶层提交完成 #886 Phase 0 scope reset(production device-resident mjwarp 路径退役 + 显式退役诊断)。原交付 PR #890 因 head 已被本分支包含而自动关闭。Closes #886
Closes #887
Closes #888(交付 PR: #892,合入本分支后随本 PR 合并 main 自动关闭)