fix(trace): follow a moved Claude Code transcript
Fixes #3669.
The session record of Chainloop Trace kept the first transcript path that a hook reported. Claude Code can move the transcript of a running session: a session that is resumed from another directory is filed under the project folder of that directory, and the old file is gone. Pre-push copies the transcript from the recorded path, so it could not read the moved file, and each later push of the session sent no evidence.
A hook that reports a transcript path now replaces the recorded path when the recorded file is gone. While the recorded file exists, a different path does not replace it. This keeps the record stable when hooks report another path of the same session, such as the transcript of a subagent, and does not copy the transcript again for each such hook.
AI disclosure: Claude Code helped to write this change.