Problem
The J5 server's default base dir is still upstream's ~/.t3 (apps/server/src/os-jank.ts:105-111). Only the desktop app was rebranded to ~/.j5code (scripts/lib/j5-branding.ts defaultBaseDirName, applied via apps/desktop/src/app/DesktopStatePaths.ts), and it passes the path down as an explicit T3CODE_HOME. On any machine that also runs real T3 Code — the dogfood server box does — a bare serve or pair without an explicit override lands J5 state inside the live T3 install.
Jackson's ruling (dogfood runtime design session, 2026-08-30): fix the default in code; don't rely on people setting env vars. The interim mitigation is the mandatory T3CODE_HOME line in docs/j5/dogfood-runtime.md.
Fix shape
Change the server-side default home from ~/.t3 to ~/.j5code. Resolution precedence is unchanged: --base-dir flag > T3CODE_HOME env > desktop bootstrap > (new) default (apps/server/src/cli/config.ts:273-281). Desktop behavior is unchanged since it already passes an explicit home. The T3CODE_* env var names stay as they are, matching the rebrand's deliberate choice in BRANDING.md — only the default path value changes.
Protected seam
apps/server/src/os-jank.ts is upstream-owned. This edit is Jackson-authorized but must follow FORK.md discipline: record the exception in FORK.md's sanctioned-cases inventory (or extend BRANDING.md's rebrand boundary, whichever matches the precedent better) in the same PR. No refactoring of surrounding upstream code.
Acceptance
- Bare
node apps/server/dist/bin.mjs serve with no overrides uses ~/.j5code.
T3CODE_HOME and --base-dir still win; focused test covers the default.
- FORK.md/BRANDING.md updated in the same PR.
- The warning block in
docs/j5/dogfood-runtime.md is softened to belt-and-braces status.
Complements the runbook; does not overlap #25–#31. Starter tier: single agent, hours.
Problem
The J5 server's default base dir is still upstream's
~/.t3(apps/server/src/os-jank.ts:105-111). Only the desktop app was rebranded to~/.j5code(scripts/lib/j5-branding.tsdefaultBaseDirName, applied viaapps/desktop/src/app/DesktopStatePaths.ts), and it passes the path down as an explicitT3CODE_HOME. On any machine that also runs real T3 Code — the dogfood server box does — a bareserveorpairwithout an explicit override lands J5 state inside the live T3 install.Jackson's ruling (dogfood runtime design session, 2026-08-30): fix the default in code; don't rely on people setting env vars. The interim mitigation is the mandatory
T3CODE_HOMEline in docs/j5/dogfood-runtime.md.Fix shape
Change the server-side default home from
~/.t3to~/.j5code. Resolution precedence is unchanged:--base-dirflag >T3CODE_HOMEenv > desktop bootstrap > (new) default (apps/server/src/cli/config.ts:273-281). Desktop behavior is unchanged since it already passes an explicit home. TheT3CODE_*env var names stay as they are, matching the rebrand's deliberate choice in BRANDING.md — only the default path value changes.Protected seam
apps/server/src/os-jank.tsis upstream-owned. This edit is Jackson-authorized but must follow FORK.md discipline: record the exception in FORK.md's sanctioned-cases inventory (or extend BRANDING.md's rebrand boundary, whichever matches the precedent better) in the same PR. No refactoring of surrounding upstream code.Acceptance
node apps/server/dist/bin.mjs servewith no overrides uses~/.j5code.T3CODE_HOMEand--base-dirstill win; focused test covers the default.docs/j5/dogfood-runtime.mdis softened to belt-and-braces status.Complements the runbook; does not overlap #25–#31. Starter tier: single agent, hours.