Skip to main content
Work bundles package related work for transfer between Genesis servers. Create a bundle with the export_work_bundle and import_work_bundle tools in System Manager Tools, or use the REST API when connections need to be included. In the Mission Center, choose the work-bundle option while exporting a mission to download that mission with its linked work instead of a mission ZIP. To export several missions, choose Export work bundle, select the missions, and optionally add threads, app IDs, or proof run IDs. Choose Import work bundle to upload a bundle and check it before importing.

What a bundle carries

  • Missions — mission ZIP packages, including their repositories and cached query results.
  • Threads — thread ZIP packages, including files, tool calls, and cached query results.
  • Prover proofs — selected runs, findings, review events, and any comparisons behind them.
  • GenesisApps — references only. Import each listed app separately using its app export/import flow.
  • Connections — optional, passphrase-sealed section available through the REST API.
By default, linked work is included. A selected mission brings its thread and proofs run from that thread; a selected thread brings associated missions and proofs; an app brings its thread and proofs; and a proof brings its thread. Linked proofs referenced by another selected proof are followed one level. Set linked to false to limit proof selection to the run IDs explicitly requested and stop discovering related records; an explicitly selected mission still carries its own thread. An explicitly selected app is listed, but its thread is not added when linked is false.

Export and review

Choose at least one mission, thread, app, Prover run, or connection. The toolkit tool saves the ZIP to a bot_git repository. The admin API can instead return the ZIP directly and can seal selected connections with a passphrase. Connections are not available through the toolkit tools. Exporting a mission or thread requires read access to its agent and thread. Prover runs are included only when you can read the thread they ran in, or have view_all_threads; runs that cannot be read are omitted with a warning. Importing missions and threads requires access to their target agent, and importing Prover proofs requires manage_all_missions. Exporting or importing connections requires manage_all_connections; export requires a passphrase to seal them, and import requires the same passphrase to open them. Before importing, preview the ZIP. The preview reports which mission, thread, Prover, and connection records are new or already present, along with items skipped and warnings. It does not write data. After reviewing the report, import the bundle to add its new records.

Add-only import

Import never replaces or deletes existing records. Existing mission and thread IDs are preserved so links between imported work continue to resolve. If a mission’s thread ID is already in use on the receiving server, that mission is skipped. Prover run, estate, event, and specification IDs are retained; finding numbers are mapped to the receiving server’s durable sequence, including references in events and review records. Existing Prover rows are left as they are. Credential-shaped fields are removed from Prover JSON during export. Connections with a name already present are skipped rather than overwritten. An app listed in the bundle must be transferred separately with the app export/import flow. An unrecognized section version is reported as a warning and left out; a bundle with a newer top-level format version is rejected. When source and destination use different hostnames or other text values, provide rewrite pairs while importing. Rewrites are applied to textual files within mission and thread packages; they do not rewrite Prover data or GenesisApp references. The tool accepts pairs as old=>new; the API form field accepts a JSON list such as [["old-host", "new-host"]]. For request fields, response schemas, and endpoint permissions, see the work bundle API reference.