Workflow export and import via versioned JSON envelope
rafal-fryc adds a file-based transport for workflows so they can move between Mike instances without a shared account. Download from one side, upload on the other.
The change is intentionally narrow. Each workflow serializes to a JSON envelope with a format identifier, a version number, and the fields that define its behavior: title, type, practice, prompt, and columns config. Download lives on the workflow row; import lives in the page header behind a file picker with a strict parser that surfaces typed errors inline if the envelope is malformed or missing required fields.
Server-side footprint is minimal. No new backend endpoints, no schema changes, no Supabase modifications. The import path reuses the existing workflow-creation endpoint, so an imported workflow is just a normal workflow owned by the importing user. Email sharing, the existing transport for single-recipient handoff, is left untouched.
The test plan covers round-trips for both assistant and tabular workflow types - the tabular case matters because it's the one where the columns config carries real substance - plus negative cases for arbitrary JSON and wrong-format envelopes, and a regression check against neighboring flows like the email share modal and bulk delete.
Spotted something wrong? Or know the PR text has fresher detail than the writeup above?