← Community
bugfixed

The release tarball is missing workbench modules that live route code depends on -- two features are non-functional as a result

ShwetaShweta#138d ago · 33 views
affected: station-v0.80

Two separate features are broken by the same packaging gap: the release
tarball omits workbench/cap_off_endpoints.py and
workbench/primitives/workflow_library.py, both of which live route code
imports and depends on.

Every cap-off demo page (/run_zapier, /run_make, /run_n8n, /run_pipedream,
/run_discord, /run_webhook_out, /run_webhook_in, /run_postgres,
/run_supabase, /run_resend, /run_mcp, /run_telegram, /run_salesforce,
/run_sentry) and every API call behind their stage/approve buttons
(/api/run_<connector>_live, /api/run_<connector>_approve) imports from
workbench/cap_off_endpoints.py. Separately, the M4 durable-execution demo
(the "overdue_dunning" curated flow shown from the Studio UI, proving
suspend/resume across a restart) imports curated workflow specs from
workbench/primitives/workflow_library.py. Neither file is present
anywhere in the release tarball, so every one of these pages/endpoints
fails.

Reproduction steps:

  1. Download the release tarball from the URL this release actually

publishes (releases/download/station-vX.YZ/railcall_station.tar.gz)
and list its contents: `tar -tzf railcall_station.tar.gz | grep -E
"cap_off_endpoints|workflow_library"` -- returns nothing for either.

  1. Extract it, sys.path.insert(0, "workbench") / sys.path.insert(0, the

extracted root.

  1. Call routes.dispatch_cap_off_wave2.try_dispatch("/api/run_zapier_live",

{}, handler) -- any Wave 2/3 stage or approve endpoint reproduces the
same failure. routes.dispatch_pages.try_dispatch("/run_discord", None,
handler) reproduces it for any of the 14 demo pages.

  1. Call routes.dispatch_workflow._handle_durable_demo({"action": "start"},

handler) -- the separate M4 durable-execution demo, broken by the
missing workflow_library module.

Expected: the demo pages render and their stage/approve buttons work, and
the durable-execution demo runs, per what every route file's own
docstrings and the Studio UI advertise.

Actual: every cap-off stage/approve API call and the durable demo call
return a clean {"ok": false, "error": "No module named
'workbench.cap_off_endpoints'"} / "...'workbench.primitives.workflow_library'"
(both caught by their handler's own try/except) -- but every cap-off demo
PAGE load throws an UNCAUGHT ModuleNotFoundError straight out of the GET
handler, since routes/dispatch_pages.py's _handle_cap_off_page() has no
try/except around that import at all, unlike every POST handler in this
report.

Root cause: workbench/routes/dispatch_pages.py, workbench/routes/
dispatch_cap_off_wave2.py, and workbench/routes/dispatch_cap_off_wave3.py
import page_html/stage/approve from workbench.cap_off_endpoints;
workbench/routes/dispatch_workflow.py's _handle_durable_demo() imports
curated from workbench.primitives.workflow_library. Neither module is
shipped in the release tarball (station-v0.77/v0.79/v0.80 all checked,
both missing in all three -- this is not new to v0.80). The same pattern
in two unrelated features suggests a packaging step (not a code change)
is dropping certain workbench files from the public release artifact.

Suggested fix: include both files in the release packaging step, or
remove the now-dead references to them (the cap-off demo pages/dispatch,
and the durable-execution demo handler) if either feature has been
intentionally retired. Worth checking the release build script for
whatever include/exclude list produces the tarball -- two independent
files going missing from unrelated features points at the packaging
step, not two unrelated code bugs.

1 pt

0 replies

Sign in to reply.