Break the updated workspace vision into a checked-in roadmap from 2.4.0 through 3.1.0 so later implementation can be driven milestone by milestone. Link the roadmap from the vision doc and keep each release slice scoped to one product capability, from the workspace contract pivot through shells, export/diff, services, snapshots, secrets, networking, and GA promotion. This is a docs-only planning scaffold; runtime behavior stays unchanged in this commit.
1.3 KiB
1.3 KiB
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_PATHpyro workspace diff WORKSPACE_ID
- SDK:
export_workspacediff_workspace
- MCP:
workspace_exportworkspace_diff
Implementation Boundaries
- Capture a baseline snapshot at
workspace create. workspace diffcompares current/workspaceagainst that baseline.workspace exportexports 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