DashboardcraftCraft resolveWorkspaceConfig: github me…

Craft resolveWorkspaceConfig: github merge must reject incomplete owner/repo

Category: gotcha
Confidence: 1.00
ID: 019f8997-676a-77ce-9fb2-aba988ae6543
Project ID: e16af391-c497-4837-b681-c849a5514499
Cross-project: No
Recalled in other projects: 1
Source session: 012Op1WSIwriqapwe
Created: 2026-07-22 11:25:36
Updated: 2026-07-22 11:30:28

Cross-Project Recalls

ProjectHitsLast recalled
opencode-lore 1 2026-07-27

Content

Trap: merging a workspace-level github override into base github config via a naive shallow spread can produce a truthy-but-incomplete github object (e.g. only projectPath set, no owner/repo) — even when the BASE config has no github block at all. Since it's truthy, getGlobalGitHubConfig() (config.ts:471) treats it as 'configured' and skips its git-remote-inference fallback, breaking projects relying on auto-detected owner/repo. Fix (config.ts, PR #848, committed 42d17f0): compute mergedGithub, adopt it only if owner && repo are BOTH present; otherwise leave github unset so getGlobalGitHubConfig() still falls back to git-remote. Verified across base-has-github+projectPath-override, base-no-github+projectPath-only, empty github:{}, and owner-only-override cases; regression test added in config.test.ts. Confirmed fixed by Cursor Bugbot (High, bug bd9608c5) and independent adversarial review.

Move to: