# `2.6.0` Structured Export And Baseline Diff ## 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