311b980bb6
The pin from the previous commit lives in _SESSION_STATE but nothing cleared it, so a CLI /new, /resume or /branch (same AIAgent, reset_session_state + _invalidate_system_prompt) replayed the previous session's git snapshot into the new session's prompt. Clear it in reset_session_state next to the other session anchors; one invariant test (red without it). The TUI/Desktop session.context_breakdown RPC ran the prompt builder on the RPC thread with no session cwd bound, so it re-probed against the backend's cwd and overwrote the session's pin — one /context between compactions restored the divergence this fix removes. Bind the session context around the build like the live rebuild in server.py does. Also: trim _coding_parts' docstring to the WHY, drop the isinstance/len guard on a value only this function writes, and remove the tests' assertions on the private pin shape.