Merge remote-tracking branch 'origin/main' into garrytan/tallahassee-v3

Brings in v1.30.0.0 (21 community fix wave + Windows CI extension +
codex flag-semantics smoke). Conflicts resolved:

- VERSION: kept 1.31.0.0 (queue util correctly advanced past main's
  1.30.0.0 during the original ship; sibling melbourne-v1 was at 1.30.0.0
  active).
- CHANGELOG.md: kept v1.31.0.0 entry on top of v1.30.0.0 (the wave),
  v1.29.0.0 (sync-gbrain worktree fix), and prior history. No content
  loss — both new entries preserved verbatim.
- All other auto-merges (codex/SKILL.md, plan-devex-review,
  review/SKILL.md, ship/SKILL.md, etc.) were clean.

Verified post-merge: 431/431 free tests pass (touchfiles +
claude-pty-runner.unit + skill-validation). bun run gen:skill-docs
--host all is clean (no host outputs drifted from templates).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Garry Tan
2026-05-09 08:10:38 -07:00
54 changed files with 2346 additions and 420 deletions
+4 -2
View File
@@ -22,8 +22,10 @@ export class GeminiAdapter implements ProviderAdapter {
if (res.status !== 0) {
return { ok: false, reason: 'gemini CLI not found on PATH. Install per https://github.com/google-gemini/gemini-cli' };
}
const cfgDir = path.join(os.homedir(), '.config', 'gemini');
const hasCfg = fs.existsSync(cfgDir);
const legacyCfgDir = path.join(os.homedir(), '.config', 'gemini');
const newCfgDir = path.join(os.homedir(), '.gemini');
const newOauth = path.join(newCfgDir, 'oauth_creds.json');
const hasCfg = fs.existsSync(legacyCfgDir) || fs.existsSync(newOauth);
const hasKey = !!process.env.GOOGLE_API_KEY;
if (!hasCfg && !hasKey) {
return { ok: false, reason: 'No Gemini auth found. Log in via `gemini login` or export GOOGLE_API_KEY.' };