# `3.7.0` Handoff Shortcuts And File Input Sources

Status: Done

## Goal

Remove the last bits of shell plumbing from the canonical CLI workspace flows so
they feel productized instead of hand-assembled.

## Public API Changes

Planned additions:

- `pyro workspace create ... --id-only`
- `pyro workspace shell open ... --id-only`
- `pyro workspace file write WORKSPACE_ID PATH --text-file PATH`
- `pyro workspace patch apply WORKSPACE_ID --patch-file PATH`

## Implementation Boundaries

- keep existing `--json`, `--text`, and `--patch` stable
- treat these additions as CLI-only shortcuts over already-structured behavior
- make `--text` and `--text-file` mutually exclusive
- make `--patch` and `--patch-file` mutually exclusive
- read file-backed text and patch inputs as UTF-8 text
- keep `/workspace` scoping and current patch semantics unchanged

## Non-Goals

- no new binary file-write story
- no new SDK or MCP surface just to mirror CLI shorthand flags
- no hidden patch normalization beyond the current patch-apply rules
- no change to the stable `workspace_id` contract

## Acceptance Scenarios

- README, install docs, and first-run docs can create one workspace ID without
  `python -c` output parsing
- a user can apply a patch from `fix.patch` without `$(cat fix.patch)` shell
  expansion
- a user can write one text file from a host file directly, without
  shell-escaped inline text

## Required Repo Updates

- top-level workspace walkthroughs rewritten around the new shortcut flags
- CLI help text updated so the shortest happy path is copy-paste friendly
- at least one smoke scenario updated to use a file-backed patch input
