# Issue 8450 — proof plan, pass 1

Base: `1688f965682d331da16a8c39f049592361f69c8d`.
Inspected working diff while implementation was in progress, on tests commit `3595ba7d7f8f5f422dc4604ab1eca9be66b1c05d`. The final after transcript must name the final implementation SHA, not this intermediate commit.

## Scope derived from code

`apps/server/src/terminal/Manager.ts` constructs terminal environment once in `createTerminalSpawnEnv`, called by shared `startSession`; open and restart reach that path. `trySpawn` passes its environment into the PTY adapter, including shell fallback attempts. The implementation adds two unconditional assignments after the existing base/runtime merge and existing COLORTERM default. It changes no render component, layout, theme, viewport, transport contract, provider selection, or environment filtering. Desktop launches the server backend; the terminal change is server-owned. No image or pixel-diff matrix applies to this informational environment change.

| Fixture | Affected | Before expectation | After expectation | Minimum proof / status at plan time |
| --- | --- | --- | --- | --- |
| Linux browser, fresh integrated terminal, no parent terminal identity | Yes | `COLORTERM=truecolor`, `TERM=xterm-256color`; no TERM_PROGRAM variables | Same TERM/COLORTERM plus `TERM_PROGRAM=t3code`, `TERM_PROGRAM_VERSION` matching server package version | Real app transcript before and after with SHAs, exact command, platform/shell, server package version. Before supplied by lead; after pending. |
| Parent identity already present, initial open | Yes | Parent identity inherited | Both identity fields overridden with T3 identity/version; unrelated `TEST_TERMINAL_KEEP` preserved and `T3CODE_PORT` still filtered | Focused Manager regression test sets parent identity and asserts all four behaviors. Test present; executed result and failing-before check supplied by tests step. |
| Same terminal restarted | Yes | New shell retains inherited parent identity or lacks identity | Fresh shell receives T3 identity/version | Same regression test checks two spawn inputs from open and restart. Real-app restarted-shell transcript is useful additional confirmation; no separate visual fixture. |
| Session runtime identity override (after base merge) | Yes | Runtime identity wins | Fixed T3 identity/version win after runtime merge | Code-order inspection proves intended precedence; existing test only covers base identity. If lead claims runtime override tested, add explicit evidence; do not claim it from this test. |
| Windows native ConPTY | Yes | Missing/inherited identity | T3 identity/version expected; adapter retains existing TERM behavior | Unverified runtime: Linux host cannot exercise native ConPTY. Explicitly list as unverified. Mixed-case inherited Windows env keys also unverified; do not claim Windows behavior proved by Linux tests. |
| Electron desktop / macOS (including bundled app version) | Yes | Missing/inherited identity | T3 identity/version expected through shared server PTY path | Unverified runtime: browser Linux proof does not prove packaged desktop execution or macOS shell startup. Explicitly list desktop/macOS as unverified. |

## Capture procedure and acceptance

Use isolated real-app state and the integrated terminal. Run exactly `env | grep -E 'TERM|COLORTERM'` before and after. Include the exact base/after SHAs and expected app version outside raw shell output; record shell/platform. If terminal initialization changes these variables after spawn, report that distinction rather than hiding it. Do not upload the full environment, auth-bearing URLs, credentials, or isolated state.

Before transcript supplied by lead: [before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/65a5260038d75e4f/before.txt). Its provenance/output must be checked in pass 2; pass 1 has not independently opened the artifact.

Minimum pass-2 evidence: before/after real-app transcript pair with correct SHAs and version; targeted Manager test result plus failing-before check; source diff confirming no passthrough/filter changes; explicit unverified Windows ConPTY and desktop/macOS list. No after behavior is claimed by this planning audit.

VERDICT: SUFFICIENT
