After runtime: e85b25d13d3203be20bb51e6d42590277548f3f3 Environment: Linux x86_64; Node v24.21.0; vp v1.3.0; machine fs-39. Real dev server; disposable state/settings; synthetic homes; fixture Codex executable (no real account/provider calls). Command template: vp run dev:server --no-seed --home-dir /t3 --port 13856 No browser, UI capture, seed, live T3 state, or source edit. Scenario: fresh; spawn PID/process group=1470324 Expected milestone observed=True Fixture executable launches=1; app-server launches=1 auth-fixture-a.json: absent (lstat) auth_fixture_b.json: absent (lstat) auth.json.bak: absent (lstat) AUTH.Backup: absent (lstat) author.json: symlink -> /tmp/issue8578-evidence-8yqesiiz/fresh/shared/author.json sessions: symlink -> /tmp/issue8578-evidence-8yqesiiz/fresh/shared/sessions config.toml: symlink -> /tmp/issue8578-evidence-8yqesiiz/fresh/shared/config.toml skills: symlink -> /tmp/issue8578-evidence-8yqesiiz/fresh/shared/skills cache: symlink -> /tmp/issue8578-evidence-8yqesiiz/fresh/shared/cache models_cache.json: private (no shared link)=True cache write through shadow visible in shared=True Every pre-existing shared/shadow auth-like entry: type, content hash/target and regular-file mode unchanged=True; all regular fixture modes=0600 Owned server process group stopped; parent exit=-15 Scenario: regular-first; spawn PID/process group=1470661 Expected milestone observed=True Fixture executable launches=1; app-server launches=1 auth-fixture-a.json: regular preserved auth_fixture_b.json: regular preserved auth.json.bak: regular preserved AUTH.Backup: regular preserved author.json: symlink -> /tmp/issue8578-evidence-8yqesiiz/regular/shared/author.json sessions: symlink -> /tmp/issue8578-evidence-8yqesiiz/regular/shared/sessions config.toml: symlink -> /tmp/issue8578-evidence-8yqesiiz/regular/shared/config.toml skills: symlink -> /tmp/issue8578-evidence-8yqesiiz/regular/shared/skills cache: symlink -> /tmp/issue8578-evidence-8yqesiiz/regular/shared/cache models_cache.json: private (no shared link)=True cache write through shadow visible in shared=True Every pre-existing shared/shadow auth-like entry: type, content hash/target and regular-file mode unchanged=True; all regular fixture modes=0600 Owned server process group stopped; parent exit=-15 Scenario: regular-reuse; spawn PID/process group=1471035 Expected milestone observed=True Fixture executable launches=1; app-server launches=1 auth-fixture-a.json: regular preserved auth_fixture_b.json: regular preserved auth.json.bak: regular preserved AUTH.Backup: regular preserved author.json: symlink -> /tmp/issue8578-evidence-8yqesiiz/regular/shared/author.json sessions: symlink -> /tmp/issue8578-evidence-8yqesiiz/regular/shared/sessions config.toml: symlink -> /tmp/issue8578-evidence-8yqesiiz/regular/shared/config.toml skills: symlink -> /tmp/issue8578-evidence-8yqesiiz/regular/shared/skills cache: symlink -> /tmp/issue8578-evidence-8yqesiiz/regular/shared/cache models_cache.json: private (no shared link)=True cache write through shadow visible in shared=True Every pre-existing shared/shadow auth-like entry: type, content hash/target and regular-file mode unchanged=True; all regular fixture modes=0600 Owned server process group stopped; parent exit=-15 Scenario: live-auth-like-symlink; spawn PID/process group=1471374 Expected milestone observed=True Fixture executable launches=0; app-server launches=0 Server error: Codex shadow home private entry 'auth-fixture-a.json' at '/tmp/issue8578-evidence-8yqesiiz/live/shadow/auth-fixture-a.json' must be a real file, not a symlink. Rejected link remains=True; target=/tmp/issue8578-evidence-8yqesiiz/live/shared/auth-fixture-a.json Every pre-existing shared/shadow auth-like entry: type, content hash/target and regular-file mode unchanged=True; all regular fixture modes=0600 Owned server process group stopped; parent exit=-15 Scenario: dangling-auth-like-symlink; spawn PID/process group=1472015 Expected milestone observed=True Fixture executable launches=0; app-server launches=0 Server error: Codex shadow home private entry 'auth-orphan.json' at '/tmp/issue8578-evidence-8yqesiiz/dangling/shadow/auth-orphan.json' must be a real file, not a symlink. Rejected link remains=True; target=/tmp/issue8578-evidence-8yqesiiz/dangling/shared/auth-orphan.json Every pre-existing shared/shadow auth-like entry: type, content hash/target and regular-file mode unchanged=True; all regular fixture modes=0600 Owned server process group stopped; parent exit=-15 Scenario: upgrade-from-lead-before; spawn PID/process group=1472838 Expected milestone observed=True Fixture executable launches=0; app-server launches=0 Server error: Codex shadow home private entry 'AUTH.Backup' at '/tmp/issue8578-server-6e5s09zb/shadow/AUTH.Backup' must be a real file, not a symlink. Rejected link remains=True; target=/tmp/issue8578-server-6e5s09zb/shared/auth-fixture-a.json Every pre-existing shared/shadow auth-like entry: type, content hash/target and regular-file mode unchanged=True; all regular fixture modes=0600 Owned server process group stopped; parent exit=-15 All required runtime scenarios verified. All owned server groups stopped. Additional bare auth filename scenario: After runtime: e85b25d13d3203be20bb51e6d42590277548f3f3 Environment: Linux x86_64; Node v24.21.0; vp v1.3.0; machine fs-39. Real dev server; disposable state/settings; synthetic homes; fixture Codex executable (no real account/provider calls). Command template: vp run dev:server --no-seed --home-dir /t3 --port 13856 No browser, UI capture, seed, live T3 state, or source edit. Scenario: bare-auth-fresh; spawn PID/process group=1473868 Expected milestone observed=True Fixture executable launches=1; app-server launches=1 auth-fixture-a.json: absent (lstat) auth_fixture_b.json: absent (lstat) auth.json.bak: absent (lstat) AUTH.Backup: absent (lstat) auth: absent (lstat) author.json: symlink -> /tmp/issue8578-evidence-z86uvv8k/bare-auth/shared/author.json sessions: symlink -> /tmp/issue8578-evidence-z86uvv8k/bare-auth/shared/sessions config.toml: symlink -> /tmp/issue8578-evidence-z86uvv8k/bare-auth/shared/config.toml skills: symlink -> /tmp/issue8578-evidence-z86uvv8k/bare-auth/shared/skills cache: symlink -> /tmp/issue8578-evidence-z86uvv8k/bare-auth/shared/cache models_cache.json: private (no shared link)=True cache write through shadow visible in shared=True Every pre-existing shared/shadow auth-like entry: type, content hash/target and regular-file mode unchanged=True; all regular fixture modes=0600 Owned server process group stopped; parent exit=-15 Bare auth name exclusion verified; owned server group stopped.