Skip to content

fix: federation 표시·집계 SQL·정의 저장·DuckDB DSN 버그 수정#238

Open
seyoung4503 wants to merge 1 commit into
masterfrom
fix/federation-and-sql-bugs
Open

fix: federation 표시·집계 SQL·정의 저장·DuckDB DSN 버그 수정#238
seyoung4503 wants to merge 1 commit into
masterfrom
fix/federation-and-sql-bugs

Conversation

@seyoung4503

Copy link
Copy Markdown
Collaborator

요약

디스코드 봇 실사용 중 발견한 버그 4건 + DuckDB 연결 버그 1건 수정. 특히 federation 표시 버그가 핵심 — 채널 override가 전사 정의를 데이터에서 지운 게 아니라 화면에서 가리던 문제였습니다 (KV엔 전사·채널 정의 둘 다 멀쩡히 존재).

고친 것

  1. federation 표시 — override가 전사 정의를 가림 (semantic_federation.py)

    • _resolve_term: 채널/개인 override 시 (전사 기본: …)를 함께 표기 → 전사 정의가 사라진 것처럼 보이지 않음
    • _render_layers 추가 + show유효 정의 + 레이어별 현황을 함께 반환 → "전사 Invoice 정의는?" 같은 질문에 정확히 답 가능
  2. 집계 SQL 오답 (system_prompt.py)

    • 단순 카운트에 GROUP BY + 작은 LIMIT을 붙여 결과가 잘리던 문제 ("활성 고객 1명")
    • 집계엔 GROUP BY/LIMIT 금지 + 상식 점검 규칙 추가
  3. 사용자가 말한 정의가 저장 안 됨 (semantic_federation.py 정책)

    • "X는 ~야"라고 말하면 term_custom으로 즉시 등록하도록 강화 → 답이 턴마다 달라지던 문제 해결
  4. DuckDB /setup 연결 실패 (dsn_builder.build_duckdb)

    • path 칸에 전체 DSN을 넣으면 duckdb:///duckdb:////…로 이중 래핑되던 버그 → path/DSN 둘 다 허용

테스트

  • 기존 override 테스트 3건을 새 동작(전사 기본 함께 표시)에 맞게 갱신
  • federation override 회귀 테스트 추가 (전사 정의 유지 + 채널 override 공존 + 상속 + 레이어 표시)
  • 전체 122개 통과

참고

  • federation 데이터 자체는 정상이었고, 표시 계층만 수정 (데이터 마이그레이션 불필요)
  • 디스코드 봇으로 실제 ORII 데이터 연결해 재현·검증 완료

🤖 Generated with Claude Code

- semantic_federation: 채널/개인 override가 전사 정의를 가리던 표시 버그 수정
  (_resolve_term이 전사 기본을 함께 표기, _render_layers로 레이어별 전체 노출)
- system_prompt: 집계(COUNT/SUM)에 GROUP BY/작은 LIMIT로 결과가 깨지던 문제에 SQL 규칙 추가
- semantic_federation: 사용자가 정의를 말하면 term_custom으로 즉시 저장하도록 정책 강화
- dsn_builder.build_duckdb: 전체 DSN을 path에 넣어도 이중 래핑 안 되게 (DuckDB 슬래시 버그)
- tests: 위 동작에 맞게 갱신 + federation override 회귀 테스트 추가

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant