Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: pullfrog/pullfrog
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.1.106
Choose a base ref
...
head repository: pullfrog/pullfrog
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.1.107
Choose a head ref
  • 4 commits
  • 20 files changed
  • 1 contributor

Commits on Oct 29, 2026

  1. Seed opencode's model catalog before the first opencode models, so …

    …new models stop failing at random (#1589)
    
    * Seed opencode's model catalog before the first `opencode models`, so new models stop failing at random
    
    opencode reads its catalog from $XDG_CACHE_HOME/opencode/models.json first, then the snapshot
    compiled into its binary (2026-09-04 for 1.18.29), then the network. Each run's cache is a fresh
    tmpdir (#1475), so every opencode process started on the snapshot and only switched to the live
    catalog if a background download won a race. A lost race failed any model released after the build
    at session start with `Model not found`, rendered as UnknownError: gpt-6-luna on a Codex
    subscription (#114), then deepseek-v4.1-flash, gpt-6.1-sol, Zen and Go ids, 16
    failures a day at the peak (#1520).
    
    seedModelsCatalog downloads the catalog into that file (the hashed name opencode uses when
    OPENCODE_MODELS_URL is set) alongside the opencode install, so both captures and the agent's server
    read one live copy and opencode's own refresh skips the download. When it fails, the run warns and
    renderRunError explains a later Model not found as the stale built-in list, with the network error.
    
    * Name the model in the catalog-download failure copy, drop the hard-coded host, and note opencode dev's move to its KV store
    
    * Seed the model catalog after the opencode install, not alongside it
    
    The install extracts its tarball with spawnSync, which blocks the event loop, so the parallel
    download's 10s timeout expired on the first attempt of both preview e2e runs and only the retry
    succeeded.
    colinhacks authored and pullfrog[bot] committed Oct 29, 2026
    Configuration menu
    Copy the full SHA
    19d0296 View commit details
    Browse the repository at this point in the history
  2. Serve the model registry from run-context, and read effort ladders li…

    …ve from the catalogs (#1594)
    
    * Seed opencode's model catalog before the first `opencode models`, so new models stop failing at random
    
    opencode reads its catalog from $XDG_CACHE_HOME/opencode/models.json first, then the snapshot
    compiled into its binary (2026-09-04 for 1.18.29), then the network. Each run's cache is a fresh
    tmpdir (#1475), so every opencode process started on the snapshot and only switched to the live
    catalog if a background download won a race. A lost race failed any model released after the build
    at session start with `Model not found`, rendered as UnknownError: gpt-6-luna on a Codex
    subscription (#114), then deepseek-v4.1-flash, gpt-6.1-sol, Zen and Go ids, 16
    failures a day at the peak (#1520).
    
    seedModelsCatalog downloads the catalog into that file (the hashed name opencode uses when
    OPENCODE_MODELS_URL is set) alongside the opencode install, so both captures and the agent's server
    read one live copy and opencode's own refresh skips the download. When it fails, the run warns and
    renderRunError explains a later Model not found as the stale built-in list, with the network error.
    
    * Name the model in the catalog-download failure copy, drop the hard-coded host, and note opencode dev's move to its KV store
    
    * Seed the model catalog after the opencode install, not alongside it
    
    The install extracts its tarball with spawnSync, which blocks the event loop, so the parallel
    download's 10s timeout expired on the first attempt of both preview e2e runs and only the retry
    succeeded.
    
    * Serve the model registry from run-context, with effort ladders read live from models.dev and the Vercel gateway
    
    * Drop the .swc ignore line next dev appended
    
    * Time out each catalog fetch so a slow one caches a miss instead of throwing, and resolve the subscription probe model per call so a served registry applies
    
    * Look up route model ids by models.dev's canonical id and retire dead free Zen models to Big Pickle in the served registry
    
    * Leave free route entries' ids as written, since the base id sharing their canonical id is usually the paid one
    
    * Compute the console's router-only provider tiles per render, so the served registry applies
    colinhacks authored and pullfrog[bot] committed Oct 29, 2026
    Configuration menu
    Copy the full SHA
    d3af456 View commit details
    Browse the repository at this point in the history
  3. Custom GitHub App: an Enterprise org registers its own App through th…

    …e manifest flow, and runs act as its bot (#1465)
    colinhacks authored and pullfrog[bot] committed Oct 29, 2026
    Configuration menu
    Copy the full SHA
    b868dc1 View commit details
    Browse the repository at this point in the history
  4. release: bump action to 0.1.107

    colinhacks authored and pullfrog[bot] committed Oct 29, 2026
    Configuration menu
    Copy the full SHA
    8302038 View commit details
    Browse the repository at this point in the history
Loading