Skip to content

fix: make issue 705 CI evidence portable - #864

Merged
TATP-233 merged 4 commits into
feat/issue-705-manager-mjwarpfrom
fix/issue-855-ci-portable-evidence
Aug 1, 2026
Merged

fix: make issue 705 CI evidence portable#864
TATP-233 merged 4 commits into
feat/issue-705-manager-mjwarpfrom
fix/issue-855-ci-portable-evidence

Conversation

@TATP-233

@TATP-233 TATP-233 commented Aug 1, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • 修复 feat: add manager-based mjwarp training infrastructure #847 真实 CI run 30698393464 暴露的 evidence ancestry 与 Python 版本可移植性问题。
  • test-shard checkout 显式使用 fetch-depth: 0,并由 shard audit fail closed 锁定完整历史。
  • Phase 4 host summary 仅允许 throughput 在 Python 3.11/3.13 间的 ULP 舍入差异;timing、count、memory 和字段集合仍严格相等。
  • 从 clean source 重采集 Phase 4、legacy retirement 和 final A/B/C/D evidence,并 promotion canonical artifacts。

Closes #855
Part of #705

Failure Evidence

  • Real run: https://github.com/unilabsim/UniLab/actions/runs/30698393464
  • Source: 30d69111ebab8dab2743ea4d4299c3ff96c87fa3
  • Ruff、mypy、pyright、Docs、shard A/B 成功;shard C/D 因 shallow checkout 无法证明 evidence ancestry,aggregate 按设计失败。
  • Phase 4 在 Python 3.11 重算 Python 3.13 artifact 时只有 throughput 出现 3.64e-121.82e-11 的绝对浮点舍入差异。

Validation

  • env LD_LIBRARY_PATH=/tmp/nvidia-570.133.07/usr/lib/x86_64-linux-gnu make test-all
  • uv run scripts/audit_ci_test_shards.py
  • uv run scripts/validate_issue705_final.py --json
  • git diff --check
  • 两轮代码审查

Results:

  • Full gate: 2348 passed, 26 skipped, 449 deselected, 1 xfailed; coverage 68%; Ruff, mypy, pyright PASS.
  • Benchmark smoke: module 36/37, script 37/38; only platform-optional MLX skipped.
  • Standard shard equivalents: A 870 passed, B 551 passed, C 285 passed, D 636 passed; expected platform skips/deselects only.
  • Shard audit: 4 shards / 227 test files / exactly 6 local_evidence nodes / 0 errors.
  • Final validator: ok=true, 12 mandatory commands, A/B/C/D complete, promotion_required=true, errors=[].
  • Head Actions runs / check-runs / check-suites / status contexts: all 0 before PR creation.
  • Working tree clean.

Artifacts

  • Phase 4 source: cd8c1733352487e156cd2941fe7e31733b42a64a
  • Phase 4 SHA256: 7e412aebc093fc58875061fe3aa8c1c23d9e1493a800469dafce1c745acd0bc7
  • Legacy retirement source: 8bcb11c3705fe0ea41bde29399b9c28798849433
  • Legacy retirement SHA256: beb06b4e663d88f60bc8fa343b0dec13505a3f6036c7494717d13ec54f2a83e5
  • Final source: 8bcb11c3705fe0ea41bde29399b9c28798849433
  • Final SHA256: ee186e0e57325cfee4b3c384d7f4a219b72c15447a0028666d99f919aecdb887

Boundaries

  • Base is the long-lived feat/issue-705-manager-mjwarp branch, not main.
  • Coverage threshold remains 25%.
  • Exact six-node local_evidence allowlist is unchanged.
  • No mjwarp support, task, DR capability, or execution profile is expanded.
  • mjwarp and mujoco remain independent physics backends.

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