pr: https://git.cafe/pingdotgg/t3code/pulls/33342 main: f12bb6229c (github/main) original pr head: a551018a724bd490ae153f7a8074bf98684d146b final fixed head: 38f5b4db32 real app: Vite web client, /usr/bin/google-chrome, Playwright 1.60.0 from repository dependencies. provider: authenticated Codex via local proxy, gpt-6.1-sol, low reasoning. main worktree server: PID 19333, web 8693, server 16733; stopped before PR startup. PR server: PID 25997 then 34965, web 5733, server 13773; stopped after verification. empty isolated databases; projects and threads created via web UI; no seeded/demo data. main: initial provider turn remembered cobalt-orchid and ran pwd/git rev-parse. main /cd: no folder command or destination pane, only unrelated skill result. PR /cd: folder picker, Tab completion, project and directory browsing worked. move to unregistered /home/user/main worktree: refused until registered as project through app. move t3code -> main: move receipt names source and destination. next real Codex turn: remembers cobalt-orchid; pwd and git rev-parse both /home/user/main. BUG on original head: no files modified but turn showed 120 files, +1.9k/-9.7k. regression test before fix: expected source and destination baselines, only source captured. fix: include working folder in root checkpoint scope identity. after restart and repeat move: same Codex command outputs and memory, no false file changes. /no: No project receipt; next Codex turn pwd reports a new ~/.t3/scratch/... folder and remembers word. while turn running: /no refused, composer text retained. missing destination: /cd /home/user/missing-pr33342 refused; text retained. leaving scratch: confirmation shown and accepted; thread moves back into project. real Codex edit: pr33342-verification.txt contains cobalt-orchid; turn reports exactly one added line. after move away: old relative Markdown link opens /home/user/main/pr33342-verification.txt with cobalt-orchid. historical Open diff shows only that file and one added line after moving away. blacksmith: 23 tests passed in CheckpointService, CheckpointCaptureService, CheckpointDiffQuery, CheckpointRollbackService. blacksmith check:changed HEAD: format, lint, knip, GraphQL generation, typecheck (3 packages), tests passed. not exercised: native mobile, Electron shell, Claude (not authenticated), other providers, tunnel/relay, subagent/fork/scheduled-task relocation, checkpoint rollback via UI. final follow-up: initial baseline lookup follows first run checkpoint identity rather than scope sort order. queued startup cwd changes allocate new scope and update node. 80 focused tests passed. final six-file check:changed compared to original PR head through Blacksmith. real turn1 created apps/server/pr33342-first-turn.txt with one added line. after moving and completing turn2 in main, Turn 1 diff reopened and showed exact original addition. old link opened original source folder. final-source first-turn diff rechecked after server restart. source-review limitation: historical native-mobile inline image/media resolution still uses current thread folder; not reproduced or fixed in this Linux pass. Final repair: failed initial turns resolve baseline through root node before scope ownership; unused dispatch-time scopes cannot shadow captured baseline. check:changed original-head passed all six files and 69 tests. Exact failed-provider sequence remains runtime-unverified.