Add WorldMirror (HunyuanWorld-Mirror 2.0) as a scriptable framework - #1052
Draft
ryang-amd wants to merge 1 commit into
Draft
Add WorldMirror (HunyuanWorld-Mirror 2.0) as a scriptable framework#1052ryang-amd wants to merge 1 commit into
ryang-amd wants to merge 1 commit into
Conversation
Onboards `worldmirror` as a SCRIPTABLE (server-less) framework, like xDiT: a single feed-forward 3D-reconstruction pass per scene, ranked by e2el_mean_ms and gated on output quality (per-head relative-L1). Enables `inference_optimizer optimize --framework worldmirror` end to end. - framework_registry: register the `worldmirror` FrameworkSpec (kind=SCRIPTABLE, throughput_unit="recon/s", no server reuse). - repo_map: map worldmirror -> HY-World-2.0 for PR scouting. - _workload_envs: map worldmirror -> baseline_worldmirror.yaml. - profile.py: select profile_worldmirror.yaml for the profile round. - framework.py: scriptable frameworks (worldmirror, xDiT) can never git-apply a serving diff, so skip the global serving PR allowlist and scout only the framework's own repo. - assets/configs: add baseline_worldmirror.yaml + profile_worldmirror.yaml.
There was a problem hiding this comment.
Pull request overview
This PR onboards WorldMirror (HunyuanWorld-Mirror 2.0) as a SCRIPTABLE (server-less) framework in Hyperloom, wiring it through the framework registry and orchestration path so it can be selected end-to-end (including profile/baseline config resolution and framework-agent scouting behavior).
Changes:
- Register
worldmirrorinframework_registry(SCRIPTABLE,recon/s, repo URL, extra args env). - Add shipped baseline/profile YAML configs for WorldMirror and hook them into baseline/profile config resolvers.
- Update framework-agent discovery to avoid querying the global serving/infra repo allowlist for scriptable frameworks.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/hyperloom/orchestrator/phases/framework.py | Skip global PR allowlist scouting for scriptable frameworks during framework-agent discovery. |
| src/hyperloom/orchestrator/actions/executors/profile.py | Select profile_worldmirror.yaml when FRAMEWORK=worldmirror. |
| src/hyperloom/orchestrator/actions/executors/_workload_envs.py | Map worldmirror to the shipped baseline YAML. |
| src/hyperloom/inference_optimizer/framework_registry.py | Register worldmirror as a scriptable framework spec (recon/s, repo URL). |
| src/hyperloom/inference_optimizer/assets/configs/profile_worldmirror.yaml | Add profiling config for WorldMirror (torch profiler enabled). |
| src/hyperloom/inference_optimizer/assets/configs/baseline_worldmirror.yaml | Add baseline config for WorldMirror (throughput + quality gate). |
| src/hyperloom/agents/framework/repo_map.py | Map worldmirror to Tencent-Hunyuan/HY-World-2.0. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+2987
to
+2991
| if not framework_registry.is_scriptable(framework): | ||
| for repo in PR_QUERY_REPOS: | ||
| repo = str(repo or "").strip() | ||
| if repo and "/" in repo: | ||
| _add(f"https://github.com/{repo}.git") |
Comment on lines
+106
to
+112
| # WorldMirror (HunyuanWorld-Mirror): a ~1.2B feed-forward 3D reconstruction | ||
| # model (ViT backbone + DPT/GS heads). It runs a single forward pass per | ||
| # scene, so it is a SCRIPTABLE (server-less) workload like xDiT: the wrapper | ||
| # worldmirror_{runner_type}.sh runs the benchmark once per variant, parses | ||
| # e2el latency, runs a quality gate (LPIPS/SSIM/MSE vs a BF16 reference), and | ||
| # writes benchmark_report.json. primary_metric_name() -> "e2el_mean_ms" is | ||
| # derived automatically from kind=SCRIPTABLE. |
Comment on lines
+64
to
+68
| # Geometry-quality gate. The wrapper writes quality_gate.{passed,lpips,ssim,mse}; | ||
| # _accuracy_gate maps passed->1.0. Gate keys on per-head relative-L1 (scale- | ||
| # invariant across depth/pts3d/normals); MSE is reported as a diagnostic only. | ||
| XDIT_QUALITY_REF: "" # reference output dir; empty = gate skipped | ||
| WM_QUALITY_REL_MAX: 0.2 # max relative-L1 per head (2%); all heads must pass |
Comment on lines
+113
to
+117
| "worldmirror": FrameworkSpec( | ||
| name="worldmirror", | ||
| kind=SCRIPTABLE, | ||
| extra_args_env="EXTRA_WORLDMIRROR_ARGS", | ||
| repo_url="https://github.com/Tencent-Hunyuan/HY-World-2.0.git", |
CI E2E report — ❌ Failed
|
Collaborator
|
@ryang-amd pls reach out to the TraceLens team in case you face any issues with the analysis portion |
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.
Onboards
worldmirroras a SCRIPTABLE (server-less) framework, like xDiT: a single feed-forward 3D-reconstruction pass per scene, ranked by e2el_mean_ms and gated on output quality (per-head relative-L1). Enablesinference_optimizer optimize --framework worldmirrorend to end.framework_registry: register the
worldmirrorFrameworkSpec (kind=SCRIPTABLE, throughput_unit="recon/s", no server reuse).repo_map: map worldmirror -> HY-World-2.0 for PR scouting.
_workload_envs: map worldmirror -> baseline_worldmirror.yaml.
profile.py: select profile_worldmirror.yaml for the profile round.
framework.py: scriptable frameworks (worldmirror, xDiT) can never git-apply a serving diff, so skip the global serving PR allowlist and scout only the framework's own repo.
assets/configs: add baseline_worldmirror.yaml + profile_worldmirror.yaml.
Description: what and why
Linked issue(s): close/fix refs
Tests: added/updated? commands run?
Breaking changes: yes/no (details if yes)