# `2.6.0` Structured Export And Baseline Diff

Status: Done

## Goal

Complete the next explicit host-crossing step by letting a workspace export
files back to the host and diff itself against its immutable create-time
baseline.

## Public API Changes

- CLI:
  - `pyro workspace export WORKSPACE_ID PATH --output HOST_PATH`
  - `pyro workspace diff WORKSPACE_ID`
- SDK:
  - `export_workspace`
  - `diff_workspace`
- MCP:
  - `workspace_export`
  - `workspace_diff`

## Implementation Boundaries

- Capture a baseline snapshot at `workspace create`.
- `workspace diff` compares current `/workspace` against that baseline.
- `workspace export` exports files or directories only from paths under
  `/workspace`.
- Keep output structured:
  - unified patch text for text files
  - summary entries for binary or type changes

## Non-Goals

- no named snapshots yet
- no reset yet
- no export outside `/workspace`

## Acceptance Scenarios

- seed workspace, mutate files, diff against baseline, export a file to host
- sync push content after create, then confirm diff reports the synced changes
- unchanged workspace returns an empty diff summary cleanly

## Required Repo Updates

- docs that distinguish seed, sync push, diff, and export
- example showing reproduce -> mutate -> diff -> export
- real Firecracker smoke for diff and export
