From 22177c8250f09620153393f37c2d3bb98a1861c3 Mon Sep 17 00:00:00 2001 From: Daniel Han Date: Thu, 9 Jul 2026 11:59:37 +0000 Subject: [PATCH 001/352] Local Agent Guides CI: run the resume job weekly, not dispatch-only The resume job (added with unsloth start --persist) proves a launch-path session survives exit and reopens: codex/pi need --persist to keep the session out of the wiped temp home, opencode/claude persist either way. It was gated to workflow_dispatch, so a regression in the --persist wiring only surfaced when someone remembered to run it by hand. Promote it to the same cadence as file-edit (if: github.event_name != 'pull_request'): it now runs on the weekly schedule and on manual dispatch, so --persist is exercised automatically. It stays off pull_request for the same reason file-edit does, it drives the real launch path end to end on a 4B model and is too slow to gate PRs. --- .github/workflows/local-agent-guides-ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/local-agent-guides-ci.yml b/.github/workflows/local-agent-guides-ci.yml index 25796bd5cf..a6a4b8c2a4 100644 --- a/.github/workflows/local-agent-guides-ci.yml +++ b/.github/workflows/local-agent-guides-ci.yml @@ -479,11 +479,12 @@ jobs: # a temp dir wiped on exit, so codex/pi cannot resume; --persist routes the # session to the stable Unsloth agents dir so it persists. opencode/claude # keep their session data in a fixed user dir, so they persist either way. - # Dispatch-only: it is an end-to-end experiment, not a PR gate. + # Weekly + dispatch only (like file-edit) -- it drives the launch path end + # to end on a 4B model, too slow and model-heavy to gate PRs. # ═════════════════════════════════════════════════════════════════════ resume: name: resume (${{ matrix.agent }}) - if: github.event_name == 'workflow_dispatch' + if: github.event_name != 'pull_request' runs-on: ubuntu-latest timeout-minutes: 60 strategy: From fb5dc91bb4f33f8a4c5a41c89cbe88c93394e970 Mon Sep 17 00:00:00 2001 From: Daniel Han Date: Thu, 9 Jul 2026 05:09:16 -0700 Subject: [PATCH 002/352] Studio: remove dead direct_linux_release_plan path (#7030) parse_direct_linux_release_bundle and direct_linux_release_plan are no longer reached by any live code path. Fork Linux installs resolve through _fork_manifest_release_plans -> _linux_published_attempts, and the upstream (ggml-org) path uses direct_upstream_release_plan. The dead parser also called _resolve_linux_bundle_profile, which no longer exists, so its CUDA branch would raise NameError if ever executed. Drop both functions and the obsolete TestDirectLinuxNvidiaCpuGate; its live equivalent TestLinuxPublishedAttemptsNvidiaCpuGate already covers the NVIDIA no-silent-CPU behaviour. --- studio/install_llama_prebuilt.py | 156 ------------------- tests/studio/install/test_selection_logic.py | 62 -------- 2 files changed, 218 deletions(-) diff --git a/studio/install_llama_prebuilt.py b/studio/install_llama_prebuilt.py index 856ba71478..40caebc040 100644 --- a/studio/install_llama_prebuilt.py +++ b/studio/install_llama_prebuilt.py @@ -1286,162 +1286,6 @@ def synthetic_checksums_for_release( ) -def parse_direct_linux_release_bundle( - repo: str, release: dict[str, Any] -) -> PublishedReleaseBundle | None: - release_tag = release.get("tag_name") - if not isinstance(release_tag, str) or not release_tag: - return None - - assets = release_asset_map(release) - artifacts: list[PublishedLlamaArtifact] = [] - inferred_labels: list[str] = [] - - linux_asset_re = re.compile( - r"^app-(?P