diff --git a/CHANGELOG.md b/CHANGELOG.md index 2ded5aff09..107df296e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), ## [Unreleased] +## [v1.0.0b2] - 2026-08-19 +Current packaged version (`pyproject.toml`). See +[release notes](docs/release-notes.md) and the +[GitHub release](https://github.com/AMD-AGI/Hyperloom/releases/tag/v1.0.0b2) +for the user-facing summary. + ### Removed - **BREAKING — `kernel_optimization.py` no longer accepts `--test-command` or @@ -58,6 +64,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), ### Changed +- The recommended vLLM container image is now the official upstream + `vllm/vllm-openai-rocm:v0.27.1` instead of + `rocm/hyperloom:vllm-v0.27.1-rocm7.2.3`, because AMD deprecated `rocm/vllm` + and `rocm/vllm-dev`. The tag is a 1:1 replacement, but its entrypoint is + `vllm serve`, so a long-running Hyperloom container has to override it (for + example `--entrypoint tail`). SGLang images are unchanged. + - The default Magpie benchmark dependency is upgraded from v0.1.0 to v0.2.0. Both the installer and runtime preflight remain pinned to the immutable v0.2.0 release commit for reproducible installs. @@ -79,8 +92,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), itself is unchanged and still feeds the session breakdown. ## [v1.0.0b1] - 2026-08-11 -Current packaged version (`pyproject.toml`). See -[release notes](docs/release-notes.md) and the +See [release notes](docs/release-notes.md) and the [GitHub release](https://github.com/AMD-AGI/Hyperloom/releases/tag/v1.0.0b1) for the user-facing summary. @@ -365,7 +377,8 @@ user-facing summary. - Vendor kernel configuration guidance and updated kernel-manager skills/actions (including local-test flow). - Launcher scripts refinements for orchestrator/kernel manager panes. -[Unreleased]: https://github.com/AMD-AGI/Hyperloom/compare/v1.0.0b1...HEAD +[Unreleased]: https://github.com/AMD-AGI/Hyperloom/compare/v1.0.0b2...HEAD +[v1.0.0b2]: https://github.com/AMD-AGI/Hyperloom/releases/tag/v1.0.0b2 [v1.0.0b1]: https://github.com/AMD-AGI/Hyperloom/releases/tag/v1.0.0b1 [v1.0.0a3]: https://github.com/AMD-AGI/Hyperloom/releases/tag/v1.0.0a3 [v1.0.0a2]: https://github.com/AMD-AGI/Hyperloom/releases/tag/v1.0.0a2 diff --git a/README.md b/README.md index d07d8a812f..0013c64b06 100755 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![Tests](https://github.com/AMD-AGI/Hyperloom/actions/workflows/tests-coverage.yml/badge.svg)](https://github.com/AMD-AGI/Hyperloom/actions/workflows/tests-coverage.yml) [![Lint](https://github.com/AMD-AGI/Hyperloom/actions/workflows/lint.yml/badge.svg)](https://github.com/AMD-AGI/Hyperloom/actions/workflows/lint.yml) -[![Version](https://img.shields.io/badge/version-1.0.0b1-blue)](pyproject.toml) +[![Version](https://img.shields.io/badge/version-1.0.0b2-blue)](pyproject.toml) [![License: MIT](https://img.shields.io/badge/license-MIT-green)](LICENSE) [![Python](https://img.shields.io/badge/python-3.10%2B-blue)](pyproject.toml) diff --git a/docs/compatibility.rst b/docs/compatibility.rst index 20781bf6b2..65baf22895 100644 --- a/docs/compatibility.rst +++ b/docs/compatibility.rst @@ -73,7 +73,7 @@ The following table lists the validated Hyperloom version and component combinat +-------------------+---------------------------+------------------------+----------------------------+---------------+-------------+-----------------------------+ | Hyperloom version | Component | GPU | ROCm version | Ubuntu | Python | GitHub | +===================+===========================+========================+============================+===============+=============+=============================+ -| 1.0.0b1 | `TraceLens 0.1.0`_ | Hardware-agnostic | No dependency | OS-independent| >= 3.6 | |tracelens-github| | +| 1.0.0b2 | `TraceLens 0.1.0`_ | Hardware-agnostic | No dependency | OS-independent| >= 3.6 | |tracelens-github| | + +---------------------------+------------------------+----------------------------+---------------+-------------+-----------------------------+ | | `GEAK 4.0.0`_ | MI300X, MI325X, MI355X | 6.4.x, 7.0.x, 7.1.x, 7.2.x | 22.04, 24.04 | 3.8, 3.12 | |geak-github| | + +---------------------------+------------------------+----------------------------+---------------+-------------+-----------------------------+ diff --git a/docs/conf.py b/docs/conf.py index 495cdaeb13..eb9ac89926 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -20,7 +20,7 @@ """ # Keep in sync with pyproject.toml [project].version. -version_number = "1.0.0b1" +version_number = "1.0.0b2" html_theme = "rocm_docs_theme" html_theme_options = { diff --git a/docs/install/install.md b/docs/install/install.md index d281d43d05..af1a067837 100644 --- a/docs/install/install.md +++ b/docs/install/install.md @@ -38,7 +38,7 @@ or Codex before running the install command. From the agent terminal in that workspace, install the published release wheel: ```bash -pip install hyperloom-inference-optimizer==1.0.0b1 --target . +pip install hyperloom-inference-optimizer==1.0.0b2 --target . ``` It is normal for the current directory to contain many Python package directories diff --git a/docs/release-notes.md b/docs/release-notes.md index 4a5121ace5..8185920368 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -1,20 +1,87 @@ --- myst: html_meta: - "description": "Hyperloom release notes: headline capabilities for version 1.0.0b1, including the remote Recipe KB Store cutover, session-wide accuracy-eval opt-out, Claude subscription OAuth support, and enterprise gateway header handling." + "description": "Hyperloom release notes: headline capabilities for version 1.0.0b2, including the official upstream vLLM ROCm image, the Magpie v0.2.0 upgrade, the single remote Recipe KB Store contract, the consolidated action catalogue, and a set of breaking removals." "keywords": "Hyperloom, release notes, LLM inference, AMD GPU, ROCm, agentic optimization, TraceLens, GEAK, Primus-Claw, bare metal, kernel optimization" --- # Hyperloom release notes -The current packaged version is 1.0.0b1 (`pyproject.toml`). For the +The current packaged version is 1.0.0b2 (`pyproject.toml`). For the per-change history since the initial snapshot, see [`CHANGELOG.md`](https://github.com/AMD-AGI/Hyperloom/blob/main/CHANGELOG.md), or view a detailed breakdown of all previous Hyperloom pre-release versions under [Releases](https://github.com/AMD-AGI/Hyperloom/releases); this page summarizes the headline capabilities. -## Unreleased +## Hyperloom 1.0.0b2 release + +The [1.0.0b2 release](https://github.com/AMD-AGI/Hyperloom/releases/tag/v1.0.0b2) +builds on 1.0.0b1 with the move to the official upstream vLLM ROCm image, the +Magpie v0.2.0 benchmark upgrade, a single current remote Recipe KB Store +contract, and a consolidation pass that removes several surfaces that never had +a runtime effect. It carries breaking changes; review the list below before +upgrading. + +### 1.0.0b2 highlights + +- **Official upstream vLLM ROCm image**: every vLLM image reference moves from + `rocm/hyperloom:vllm-v0.27.1-rocm7.2.3` to `vllm/vllm-openai-rocm:v0.27.1`, + since AMD deprecated `rocm/vllm` and `rocm/vllm-dev`. The tag is a 1:1 + replacement, but its entrypoint is `vllm serve`, so override it (for example + `--entrypoint tail`) when starting a long-running Hyperloom container. SGLang + images are unchanged. + +- **Magpie benchmark upgraded to v0.2.0**: the default benchmark dependency + moves from v0.1.0 to v0.2.0. Both the installer and the runtime preflight stay + pinned to the immutable v0.2.0 release commit, so installs remain + reproducible. + +- **One current remote Recipe KB Store contract**: remote mode reads a single + identity-addressed inference Recipe carrying replay config, the ordered patch + timeline, and nested kernel columns, then publishes one final CLOSE session + with verified artifacts under the same throughput champion. Degraded + configuration donors now require exact precision, and a permanently missing + owner patch is dead-lettered instead of blocking publication of the remaining + Recipe sections. Local Recipe storage and non-Recipe GBrain integrations are + unchanged. + +- **`KERNEL_OPT_BACKEND_ORDER` is the single kernel-backend switch**: the GEAK + gate no longer falls back to the persisted `shared_state.kernel_optimizer` + field, so the backend choice is identical on a resume. The + `KERNEL_OPT_BACKENDS` environment variable is removed; no production code read + it. **(Breaking)** + +- **Action metadata consolidated into code**: `actions/_meta/*.yaml` and + `orchestrator/actions/registry.py` are replaced by `ACTION_CATALOGUE` in + `inference_optimizer/protocol/action_surfaces.py`. The `preferred_backend`, + `preferred_model`, `max_turns`, and `params_schema` fields are dropped because + no runtime code read them; the operational `verdict_class` is kept. + **(Breaking)** + +- **Three unexecutable kernel actions removed**: `vendor_kernel_config`, + `operator_tuning`, and `deep_kernel_analysis` never had an executor, so every + request for them was answered with `unknown_kernel_kind`. Sessions recorded + under the old build that carry these names in `state.json` / `coordinator.db` + are no longer resumable, and no migration is provided. **(Breaking)** + +- **Write-only artifacts no longer produced**: `agent_transcript.jsonl`, + `orchestration_turns.jsonl`, `mn_input_params_*.json`, and the work_dir copy + of `semantic_audit.json` had no reader, and the first three persisted secrets + or raw LLM transcripts past a redactor that inspected values but not keys. + **(Breaking)** + +- **Magpie leak salvage is now opt-in**: salvage no longer defaults to + `/workspace/` and runs only when `$INFERENCE_OPTIMIZER_RESCUE_PATHS` is set. + The generic `{framework}_{gpu_type}.sh` scripts respect `$RESULT_DIR` and never + needed salvage, but a script pinned through `params.benchmark_script` that + hardcodes `/workspace/` now fails the task with `no_report` unless the + environment variable is set explicitly. **(Breaking)** + +- **`kernel_optimization.py` drops `--test-command` and `--test-harness-path`**: + the unittest-harness contract they fed had no reachable caller. An external + invoker still passing either flag now fails in argparse rather than being + silently ignored. **(Breaking)** ## Hyperloom 1.0.0b1 release diff --git a/examples/README.md b/examples/README.md index 74c9bd50ac..7ddae8f27b 100644 --- a/examples/README.md +++ b/examples/README.md @@ -34,7 +34,7 @@ From the agent terminal in that workspace, install the published release wheel into the current directory: ```bash -pip install hyperloom-inference-optimizer==1.0.0b1 --target . +pip install hyperloom-inference-optimizer==1.0.0b2 --target . ``` It is normal for the current directory to contain many Python package directories diff --git a/pyproject.toml b/pyproject.toml index 5029bb952e..7d89c3d132 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" [project] name = "hyperloom-inference_optimizer" -version = "1.0.0b1" +version = "1.0.0b2" description = "Inference Optimizer — three-role (Orchestration/Critic/Robustness) autonomous LLM inference optimization runtime for AMD GPU platforms. Kernel optimization is handled by programmatic Python handlers." readme = "README.md" requires-python = ">=3.10" diff --git a/src/hyperloom/skills/hyperloom-setup/SKILL.md b/src/hyperloom/skills/hyperloom-setup/SKILL.md index 592700bcdc..7411bae8af 100644 --- a/src/hyperloom/skills/hyperloom-setup/SKILL.md +++ b/src/hyperloom/skills/hyperloom-setup/SKILL.md @@ -62,7 +62,7 @@ directory. Tell the user to open the intended dedicated workspace in the agent and install Hyperloom into that current directory: ```bash -pip install hyperloom-inference-optimizer==1.0.0b1 --target . +pip install hyperloom-inference-optimizer==1.0.0b2 --target . ``` Then stop and ask the user to rerun `/hyperloom-setup` from that workspace.