확인 완료. 결론부터 보고합니다.
[무엇을 바꿨나]
/bridge/agent-config 리졸버에 이름 폴백 추가 — slug 정확매칭 우선 → 없으면 lower(name) 매칭.
- 파일:
src/app/bridge/routes.ts(L922~,/agent-config핸들러) - 쿼리:
WHERE status='active' AND (slug=? OR lower(name)=lower(?)) ORDER BY CASE WHEN slug=? THEN 0 ELSE 1 END LIMIT 1—.bind(slug,slug,slug) - LAX bridge의
/bridge/enqueue·chat ask_agent와 동일 정책. exact slug 우선. - 커밋: d066c58 (
fix(bridge): add name fallback to /bridge/agent-config resolver)
[왜]
ask_agent/ask_team(mcp-agents.mjs)은 DB 접근이 없습니다 — to를 /bridge/agent-config에 위임해 해석합니다. 그런데 이 엔드포인트만 slug-only로 남아 있었습니다(WHERE slug=?). 그래서 'to: 손석구'가 not-found. 폴백은 mcp-agents가 아니라 여기가 정답이고, 한 곳 고치면 ask_agent·ask_team 양쪽 다 해결됩니다.
[검증 결과]
- 코드: 적용·커밋 완료. 변경은 컴파일 중인 enqueue 훅과 구조 동일(문자열 리터럴 + string bind 3개)이라 TS 안전.
- 라이브 진단 확정 (production
lax-dtb.pages.dev에 서명 read-only 프로브):입력 현재 production 결과 slug agent-1found ✅ (박보검) name 손석구found:false ❌ name 변우석found:false ❌ - 즉 버그 재현 확인 + 엔드포인트/서명 정상.
[반영 — 아직 미배포 / 단독배포 안 함] ⚠️비가역·대외영향
라이브 효과는 Pages 앱 재배포 후에만 납니다(mcp-agents는 원격 bridge에 위임하므로). 그런데 제가 단독 배포하지 않은 이유 — 둘 다 비가역:
- 워킹트리에 무관한 WIP 10개 파일이 떠 있습니다(form.tsx, chat, complaint, draft, brain 등 — feat/jigeup-workbench 진행분).
npm run deploy는npm run build로 워킹트리를 그대로 빌드해 production에 올립니다. 이름폴백 하나 때문에 미완성 WIP를 prod에 밀어넣는 건 위험. - 배포 스크립트는
--project-name lax --branch=main(production)인데 데몬 bridge는lax-dtb.pages.dev— 매핑이 코드상 100% 확인 안 됨.
권장 안전 배포 경로(트리가 준비됐을 때):
git stash push -k -- $(git diff --name-only) # 커밋 안 된 WIP만 잠시 제외
npm run deploy # 커밋된 상태(=내 fix 포함)만 빌드·배포
git stash pop
이러면 production에 커밋분 + 이름폴백만 반영되고 WIP는 안 나갑니다.
[라이브 검증 — 배포 후 가능]
지금은 production이 slug-only라 'to: 손석구'는 여전히 not-found입니다. 배포 완료 시점부터 검증 가능합니다. 검증 명령(위 프로브 재실행)으로 name 손석구 → found:true가 뜨면 OK이고, 그 뒤 직접 ask_agent(to:"손석구", ...) 호출이 통합니다.
[롤백]
- 코드:
git revert d066c58(단일 커밋, 1회 revert로 원복). - 배포했다면: CF Pages 이전 deployment로 롤백(또는 revert 후 재배포).
daemon은 건드리지 않았습니다. mcp-agents.mjs도 무변경(폴백은 bridge쪽 단일 지점). 배포를 제가 실행해도 될지 — WIP 동반 배포 위험 때문에 트리 상태 확인/확정만 주시면 위 안전경로로 바로 반영하겠습니다.