research_pipeline
Orchestrate paper search, literature review and synthesis.
Catalog and form launching
The Programs page, favorites bar and parameter forms share a callable catalog. HTTP refreshes and WebSocket updates synchronize into one store. Failures retain the last successful cache, and stale responses cannot overwrite a newer catalog. Use opens only the parameter form; a missing function triggers a catalog refresh and an explicit error. Switching chats cancels the previous form request. See the contract and current implementation status in the workflow package contract.
Tab ownership when opening parameters
The shared form launcher captures both the selected tab and chat identity before resolving a Program. An older request, cancellation, chat switch or tab switch must not open a form in another view. After successful resolution, an active session retains its current draft and running task. A new-tab page becomes a draft session in place; any other non-session view opens a separate draft, preserving its existing tab. The draft is selected and initialized before its form opens. Catalog failures leave the view intact and display an error. No workflow runs or external submission occurs until an explicit send.
Bounded verification: click a real sidebar favorite while a new-tab page is selected; edit its task field and close without submitting; preserve another active task and its draft; cancel catalog resolution when the selected tab changes. Run the Program launcher unit tests, rendered launcher browser tests, Web unit and source checks, TypeScript, production export, repository contracts and documentation links. Installed-App acceptance is a separate integration gate. The existing runtime and browser APIs are retained; external product parity and dependency upgrades are excluded.