# `3.9.0` Content-Only Reads And Human Output Polish

Status: Done

## Goal

Make human-mode content reads cleaner for chat logs, terminal transcripts, and
copy-paste workflows.

## Public API Changes

Planned additions:

- `pyro workspace file read WORKSPACE_ID PATH --content-only`
- `pyro workspace disk read WORKSPACE_ID PATH --content-only`

Behavioral polish:

- default human-mode `workspace file read` and `workspace disk read` should
  always separate content from summaries cleanly, even when the file lacks a
  trailing newline

## Implementation Boundaries

- keep JSON output unchanged
- keep human-readable summary lines by default
- `--content-only` should print only the file content and no summary footer
- keep current regular-file-only constraints for live and stopped-disk reads

## Non-Goals

- no new binary dumping contract
- no removal of human summaries from the default read path
- no expansion into a generic pager or TUI reader
- no change to SDK or MCP structured read results, which are already summary-free

## Acceptance Scenarios

- reading a text file with no trailing newline still produces a clean transcript
- a user can explicitly request content-only output for copy-paste or shell
  piping
- docs can show both summary mode and content-only mode without caveats about
  messy output joining

## Required Repo Updates

- CLI help text updated for file and disk read commands
- stable docs and transcripts revised to use `--content-only` where it improves
  readability
- tests that cover missing trailing newline cases in human mode
