Skip to content

Fix browser runtime package delivery for local Playground evals #410

@chubes4

Description

@chubes4

Problem

Studio Web now reuses the existing visible WP Codebox Playground for generation instead of booting a second Playground scope. That exposed a WP Codebox browser runtime package delivery gap for local/headless evals.

When Studio Web prepares the single visible Codebox runtime with the coding component plugins (agents-api, data-machine, data-machine-code) and keeps package delivery as URLs, Playground attempts to fetch local package URLs as HTTPS and fails:

https://127.0.0.1:63498/wp-content/uploads/wp-codebox/browser-runtime-plugins/agents-api-3324427f6ee8470a.zip
net::ERR_SSL_PROTOCOL_ERROR

Console evidence:

Studio Web: failed to start WordPress preview BlueprintStepExecutionError: Error when executing the blueprint step #2: Could not download "http://127.0.0.1:63498/wp-content/uploads/wp-codebox/browser-runtime-plugins/agents-api-3324427f6ee8470a.zip".
Original error: TypeError: Failed to fetch

Switching the Studio Web filter back to data URLs for local hosts avoids the HTTPS localhost fetch issue, but reintroduces the oversized REST/session payload problem: /studio-web/v1/targets/preview-session returns 500 while embedding large component ZIP data URLs.

Why this belongs in WP Codebox

Studio Web should not manage component package transport. WP Codebox owns browser runtime dependency packaging and delivery. Studio Web should only request a visible Codebox runtime with the needed dependencies, then run generation in that same runtime.

Correct Studio Web flow:

existing visible WP Codebox Playground
  -> run browser Codebox recipe in that runtime
  -> write/import generated website bundle through SSI in that runtime
  -> switch/activate generated theme in that same runtime
  -> reload/navigate preview

No second Playground scope. No hidden generation runtime. No Studio Web transport workaround.

Evidence

Studio Web local evidence paths from the controller machine:

  • URL-delivery failure evidence: /var/folders/lr/c_cmmt7s0592m4njz99v5yb40000gn/T/opencode/studio-web-live-eval-after-coding-runtime/evidence.json
  • Browser console: /var/folders/lr/c_cmmt7s0592m4njz99v5yb40000gn/T/opencode/studio-web-live-eval-after-coding-runtime/live-2026-06-01T18-36-51-666Z/local-restaurant-launch/studio-web/wp-codebox-artifacts/runtime-mpvjvr0m-f7jao4/files/browser/console.jsonl
  • Data-URL detour failure evidence: /var/folders/lr/c_cmmt7s0592m4njz99v5yb40000gn/T/opencode/studio-web-live-eval-after-local-data-url/evidence.json

Relevant console lines from URL-delivery failure:

Failed to load resource: net::ERR_SSL_PROTOCOL_ERROR
https://127.0.0.1:63498/wp-content/uploads/wp-codebox/browser-runtime-plugins/agents-api-3324427f6ee8470a.zip

Failed to load resource: net::ERR_SSL_PROTOCOL_ERROR
https://127.0.0.1:63498/wp-content/uploads/wp-codebox/browser-runtime-plugins/data-machine-5f1cbbb6db897ac1.zip

Failed to load resource: net::ERR_SSL_PROTOCOL_ERROR
https://127.0.0.1:63498/wp-content/uploads/wp-codebox/browser-runtime-plugins/data-machine-code-e0c6e98038882d01.zip

Acceptance criteria

  • WP Codebox can deliver browser runtime component/plugin packages to Playground in local evals without relying on https://127.0.0.1 URLs.
  • WP Codebox does not require embedding multi-megabyte component ZIP data URLs in Studio Web REST/session responses.
  • Studio Web live eval can prepare one visible Codebox runtime with agents-api, data-machine, data-machine-code, ai-provider-for-openai, static-site-importer, and the Studio Web runtime pieces.
  • Generation runs inside that same visible Playground and reaches the SSI import/theme activation path without booting a second Playground scope.

AI assistance

  • AI assistance: Yes
  • Tool(s): OpenCode (GPT-5.5)
  • Used for: Diagnosing the Studio Web live eval failure and drafting this issue from observed browser/runtime evidence.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions