An empty read window (byte cap below the first selected line: `lines: []` with `totalLines > 0`) dropped `offset` from the persisted presentation meta, so a replayed read card could not report where the window starts or where a continuation resumes. Carry `offset` on `FsReadMeta`, `ReadResultView`, and the `presentationMeta` projection, and validate it in `readMetaFromMeta` (1-based integer; the first line number may not fall below it). Re-record the ACP fixtures and the cordis api catalog. Also correct the Note's `parallel-file-reads` golden path (examples/tui-agent -> apps/cli) and record the pre-card replay-degradation tradeoff in the Decision section. |
||
|---|---|---|
| .. | ||
| diff.ts | ||
| edit.ts | ||
| index.ts | ||
| invariant.ts | ||
| read-render.ts | ||
| read.ts | ||
| sandbox.ts | ||
| session-cwd.ts | ||
| write.ts | ||