a18a2f170c
Production mining (state.db, 400k-msg window): 60.2% of 104k terminal calls carry a defensive 'cd X && ' prefix (~925k tokens of pure prefix) and 2,462 failed calls led with cd — the model cannot see cwd state, so it re-asserts it on every call and runs pwd/ls diagnostics after directory changes. The result dict now includes a 'cwd' field whenever the session cwd after the command differs from the cwd it started in (cd, pushd, chained cd). Stable-cwd commands are unchanged (no field, no noise). Per-command workdir overrides stay transient by contract and never echo. Schema note added so models learn to trust session cwd instead of prefixing. Pattern borrowed from crush's <cwd> injection. realpath comparison avoids false echoes through symlinks; the echo is wrapped defensively so a backend without .cwd can never break the result path.