Repository navigation
feat(executors, common): the toolbox's small edits to existing main modules - #2326
Open
zoroyihan7 wants to merge 4 commits into
Open
zoroyihan7 wants to merge 4 commits into
zoroyihan7 wants to merge 4 commits into
Conversation
…odules
- common/gpu_identity: AMD_GPU_DEVICE_IDS, normalise_device_id and
gpu_type_for_device_id name the board a PCI device id belongs to (from the
driver's amdgpu.ids), so a node whose VBIOS reports a different market name
is still identified; ids shared by two boards name none.
- executors/__init__: export the grid runner, workload rendering, server
lifecycle, subprocess kill, launch evidence and speculative-decoding names
that the measurement backend calls, so it does not import private modules.
- executors/_profile_setup: the two --profiler-config fields only TraceLens's
vLLM patch adds are one constant, VLLM_PATCH_PROFILER_FIELDS (exported).
- executors/_subprocess_kill: vLLM's Rust frontend ready line ("OpenAI server
is ready to accept requests") marks the server ready.
- executors/benchmark_result: harvest_leaked_artifacts takes leak_root; when
given it is the only root scanned.
Co-Authored-By: Claude <noreply@anthropic.com>
Code metrics gate: PASSEDJudged: the 10 files this change touches. Files it does not touch never fail it; anything found there is listed under Outside this change for information.
Module length warning: over 800 lines, within the 1200-line failure limit (not failing): 2
Thresholds and sources: |
zoroyihan7
marked this pull request as ready for review
October 30, 2026 02:00
This branch has not been deployed
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.
multibranch-devand kept only where the hunk is the toolbox's (git log onmultibranch-dev, authored by zoroyihan7 / toolbox commits). Each hunk stands on main alone: no import of a module that is not on main. The later toolbox PRs (measure, runner, toolbox) import these names.hyperloom_common/gpu_identity(moved there by refactor(common): give Hyperloom and KernelForge one shared package #2308):AMD_GPU_DEVICE_IDS,normalise_device_id,gpu_type_for_device_id(from 333d2dd; with the R9700/0x7551 correction siliangchen-amd made in e40ef60).executors/__init__: exports of the names the measurement backend calls (grid runner, workload rendering and its option types, server lifecycle, subprocess kill andRoundWatch, launch evidence, prefix-cache and speculative-decoding refusals, TraceLens vLLM patch). The option-type exports came in with siliangchen-amd's sync 6f64999 for the same callers.executors/_profile_setup:VLLM_PATCH_PROFILER_FIELDS, the two--profiler-configfields only a TraceLens-patched vLLM accepts, as one constant the renderer and the backend read (e81281d).executors/_subprocess_kill: vLLM's Rust frontend ready line is a server-ready marker (22afe76).executors/benchmark_result:harvest_leaked_artifacts(..., leak_root=)scans only the named root (f4b7589).outside_factsconstant refactor ofcommon/{env_safety,failure_signature,gpu_power_settings,provenance,visible_devices}(importshyperloom.common.outside_facts, not on main; it goes with the rule-pack PR);HIP_RUNTIME_ERROR(already on main via fix(failure-signature): a HIP call that failed while running is not a missing kernel #2141);profile_{sglang,vllm,atom}.yaml,_grid_runner,executors/profile,bringup/ladder(no difference left from main);benchmark_backend/magpie_confined,_accuracy_gate,_magpie_patcher,_workload_envs,benchmark_config,magpie_agentx(other workstreams' hunks).hyperloom_common/tests/test_gpu_identity.py,executors/tests/test_package_exports.py,test_harvest_named_leak_root_is_the_only_root_scanned,test_scan_server_log_increment_detects_vllm_rust_frontend_ready; the vLLM profile flag tests now also assertVLLM_PATCH_PROFILER_FIELDSis exactly what is added when patched and absent when not. Each new test fails against main's modules (ImportError / AttributeError / TypeError / AssertionError) and passes with this change. Ran on py3.10 and py3.11:pytest src/hyperloom/plugs/tests src/hyperloom/orchestrator/actions/executors/tests src/hyperloom/common/testsplustest_benchmark_result.py test_kill_spawned_server.py test_profile_and_kernel_handlers.py test_shared_profile_setup.py test_grid_runner_behavior_lock.py;ruff check,ruff format --check,lint-imports(11 kept, 0 broken)._apply_vllm_profilederives its two patched-only flags fromVLLM_PATCH_PROFILER_FIELDSinstead of two literal lines; same flags, pinned by the existing profile tests.VLLM_USE_RUST_FRONTEND=1) prints no uvicorn line; it is now seen as ready from "OpenAI server is ready to accept requests". Before, the boot watchdog never saw it ready and ended the round at its boot share.harvest_leaked_artifactsgains an optionalleak_root; existing callers pass none and see no change. A caller that names its work directory no longer gets artifacts another test left in/workspace,$RESULT_DIRorINFERENCE_OPTIMIZER_LEAK_ROOTScopied into its output.gpu_identityand theexecutorsexports are new names with no caller on main yet; nothing an operator sees changes until the measurement PRs land.🤖 Generated with Claude Code