fix(dev): replace .claude/launch.json symlink with repo-local definition#1228
Conversation
The symlink committed in #1039 resolved to ../../../../.claude/launch.json — escaping the repo root and landing on the author's ~/.claude/launch.json. Any other clone resolves to a path four levels above their .claude/ directory, so the dev-server launch config was silently broken for everyone except this one machine. Replaced with a real file (mode 100644) containing the five GAIA dev-server configs: Agent UI combined, backend-only FastAPI, Vite hot-reload, OpenAI-compatible API server, and MCP bridge server.
|
The symlink was genuinely broken for every contributor but the original author — replacing it with the real file is the right fix, and the content matches what's documented in CLAUDE.md. No blocking issues. SummaryA dangling symlink ( Issues Found🟢 Minor —
|
gaia mcp serve (Agent UI MCP server, port 8766) was already registered in cli.py and referenced in .claude/launch.json but missing from the subcommand listing in CLAUDE.md.
|
Added |
|
Correct fix for a real problem — the dangling symlink silently broke all five dev-server launch configs for every contributor except the original author. The new file content is identical to what the symlink resolved to on that one machine, so this is a zero-behavior-change fix for all other clones. SummaryTwo files changed: Issues Found🟢 Minor —
This matches the canonical 🟢 Minor — Configs 1 and 2 share This is fine for alternative configs (not run together), but worth a brief inline comment so a future contributor doesn't wonder if it's a copy-paste error. Not blocking. Strengths
VerdictApprove — one nit on argument ordering that's worth a one-line fix but is not blocking. The symlink replacement is correct and the CLAUDE.md update is accurate. |
npm treats --prefix as a flag for npm itself, not for the script. Canonical form is 'npm run --prefix <dir> <script>' to avoid argument parsing ambiguity across npm versions.
|
Fixed the npm arg ordering (moved |
|
Correct fix — the broken symlink was silently preventing every contributor from using the five GAIA dev-server launch configs. Replacing it with an inline file is the right call. SummaryThe symlink I verified all five configurations against the live codebase before posting:
Issues FoundNone. Strengths
VerdictApprove — no blocking issues; all configs check out against the codebase. |
Summary
.claude/launch.jsonwas a dangling symlink for every contributor except the original author — the dev-server launch config added in #1039 only worked on one machine. Replaced with a real in-repo file.Why
The symlink target
../../../../.claude/launch.jsonresolves to~/.claude/launch.jsonon the original author's machine, but escapes the repository root. On any other clone the relative path resolves four directories above.claude/— a broken, nonexistent target. The five GAIA dev-server configs (Agent UI, FastAPI backend, Vite hot-reload, API server, MCP bridge) were silently non-functional for every other contributor.Linked issue
Refs #1039 (no standalone issue; corrects a side-effect of that PR's launch config addition)
Changes
.claude/launch.jsonsymlink (mode 120000, target../../../../.claude/launch.json) with a regular file (mode 100644) containing the five GAIA dev-server configs inline — content identical to what the symlink resolved to on the original machine.Test plan
git show HEAD:.claude/launch.json | head -3outputs{— confirms a regular file, not a symlink blobpreview_start "Agent UI backend only (FastAPI, no frontend)"starts uvicorn on port 4200 with no errorscurl http://127.0.0.1:4200/returns HTTP 200~/.claude/launch.json),.claude/launch.jsonis readable without a dangling symlinkChecklist
Refs #1039).