Skip to content

feat(S15P11A705-402): 재정렬 후보 불변 계약과 게이트 계약을 분리 명시한다 - #122

Merged
ghkim1632 merged 3 commits into
devfrom
feat/S15P11A705-402-rerank-gate-contract-split
Aug 8, 2026
Merged

feat(S15P11A705-402): 재정렬 후보 불변 계약과 게이트 계약을 분리 명시한다#122
ghkim1632 merged 3 commits into
devfrom
feat/S15P11A705-402-rerank-gate-contract-split

Conversation

@ghkim1632

Copy link
Copy Markdown
Contributor

요약

test_search_rerank.py가 고정하는 다섯 계약(특히 ② 후보 불변)이 재정렬 자신의 것이고 back 레포의 결합 신뢰도 게이트(S15P11A705-400)의 계약이 아님을 문서·테스트로 명시한다. 중앙 조정 세션 인계 문서 §4.5가 요구한 검증이다.

이 PR의 base는 dev가 아니라 feat/S15P11A705-399-search-keyword-match-field입니다 — 같은 테스트 파일을 건드려서 스택으로 쌓았습니다. 399가 머지되면 GitHub가 base를 자동으로 dev로 옮겨줍니다.

Jira (필수)

  • 키: S15P11A705-402
  • 완료 조건: 계약 경계를 문서·테스트로 고정

변경 사항

  • test_search_rerank.py 모듈 docstring에 "이 파일이 고정하지 않는 것" 절 추가
  • test_rerank_never_gates_a_weak_unsupported_candidate 신규 — 게이트라면 제외했을 후보도 재정렬은 지우지 않음을 확인
  • (부수) docs/implements/README.md 색인 두 표에서 I58(399 리포트) 누락 발견·정정

테스트 / 검증

RED

해당 없음 — 런타임 동작 변경이 아니라 기존 동작을 명시적으로 고정하는 테스트 추가

GREEN

pytest tests/test_search_rerank.py -q → 14 passed (신규 1건 포함)
pytest tests/test_docs_index.py -q → 22 passed (색인 정정 확인)

Regression

  • ruff check .
  • python -m compileall app tools
  • pytest --cov=app --cov-branch --cov-report=term-missing → 게이트 line 94.64%·branch 85.00% 통과
  • DB 계약 변경 시 pgvector Testcontainers 검증 — 해당 없음

리뷰 포인트

  1. base가 dev가 아니라 399 브랜치인 것이 의도한 구성인지 확인 부탁
  2. 색인 누락 정정(I58)이 이 PR 범위를 벗어난다고 판단되면 별도 PR로 분리 가능 — 다만 이 PR의 docs_index 테스트가 그 누락 때문에 실패해서 함께 고쳤다

리스크

  • 계약: 없음 (문서·테스트만)
  • 데이터·개인정보: 없음
  • 운영·배포: 없음

범위 밖 / 후속

  • 없음

영구 문서

  • docs/implements/2026-08-07-rerank-gate-contract-boundary.md(신규), docs/implements/README.md, docs/WORKLOG.md

test_search_rerank.py가 고정하는 다섯 계약(특히 ② 후보 불변)은 재정렬 자신의
것이고, back 레포의 결합 신뢰도 게이트(S15P11A705-400, BD-52)는 정반대로
의도적으로 후보를 지운다. 모듈 docstring에 "이 파일이 고정하지 않는 것" 절을
추가하고, 게이트라면 제외했을 모양의 후보도 재정렬은 지우지 않는다는 것을
새 테스트로 실행 고정했다(중앙 조정 세션 인계 문서 §4.5가 요구한 검증).

작업 중 docs/implements/README.md 색인 두 표 모두에서 I58(S15P11A705-399)
리포트가 빠져 있던 것을 test_docs_index.py가 잡아 함께 정정했다.
dev 병합 전 이 브랜치가 0bfa94a(-399) 위에서 독립적으로 색인 누락을
I58(search-keyword-matched-field)·I59(rerank-gate-contract-boundary)로
번호 매겼는데, dev 는 그 사이 -399 자신의 PR #121 이 같은 문서를 이미
I59 로 확정 병합해 두고 있었다. 3-way 병합이 문법적으로는 깨끗이
붙어(두 브랜치가 다른 줄에 추가) 같은 번호가 중복된 채 남았다 —
check_docs_index.py 가 경고하는 T60 패턴 그대로다.

dev 의 I58·I59(이미 병합된 -399·-401)는 그대로 두고, 이 브랜치가 새로
낸 rerank-gate-contract-boundary.md 하나만 I60 으로 재확정한다.
WORKLOG.md 의 설명도 실제로 무슨 일이 있었는지에 맞춰 정정했다.
@ghkim1632
ghkim1632 merged commit fee7f7d into dev Aug 8, 2026
3 checks passed
@ghkim1632
ghkim1632 deleted the feat/S15P11A705-402-rerank-gate-contract-split branch August 8, 2026 03:05
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