<aside> 🧪

자동 테스트, 실제 공공 API, MCP Protocol, 사람 중심 사용성은 서로 다른 검증 층이다. 한 층의 통과가 다른 층을 대신하지 않는다.

</aside>

검증 기준

검증 층 확인 내용 최근 기록
자동 회귀 Normalizer, Risk Engine, 부분 실패, Cache, 인증, 사용자 답변 2026-07-15 로컬 문서 기준 447개 테스트와 Ruff 통과
Live 품질 실제 API 지연, Payload, 실패 Source, 미확인 근거, 기준 시각 별도 평가 Script로 Mock과 분리
경로 정확도 직행·환승 수, 호선, 금지 경유역, 역 순서 대표 경로 Fixture와 회귀 테스트
MCP 상호운용성 Tool, Prompt, Resource Discovery와 구조화 결과 FastMCP Client 3.4.2 · MCP Python SDK 1.27.2 PASS
사용성 Review 이해도, 행동 가능성, 불확실성, 접근성 관련성, 간결성 내부 개선 진행 · 실제 사용자 재평가 필요

MCP 상호운용성

두 Client API에서 Tool 8개, Prompt 4개, Resource 1개를 발견하고 같은 질문의 핵심 판단과 user_message 계약을 비교했다. 이는 ChatGPT 같은 제품 UI의 자동 Tool 선택이나 Markdown Rendering까지 검증했다는 뜻은 아니다.

Cold / Warm Cache 비교

2026-07-15 실제 공공 API에 휠체어·유모차·화장실 조건 3개를 연속 실행했다.

조건 전체 시간 외부 API 호출
Cold Cache 9,153 ms 8회
Warm Cache 4,569 ms 0회

Cold Cache와 Warm Cache 비교

Cold Cache와 Warm Cache 비교

이 값은 단일 로컬 실행 결과다. 운영 평균, 백분위 지연, SLO 또는 일반화된 성능 개선율로 사용하지 않고 Cache가 외부 I/O를 줄였는지 확인하는 재현 기준으로만 남겼다. 측정 수치는 블로그 Artifact에 기록했으며 저장소의 고정 Benchmark 결과로 보존한 것은 아니다.

사용성 개선

내부 Live Review 두 차례에서 행동 가능성이 2/5였고 접근성 관련성도 목표에 미치지 못했다. 그래서 답변 앞부분을 판단 → 근거가 포함된 Headline → 권장 확인 1개의 순서로 바꾸고, 역별 확인·미확인 근거를 사용자 조건에 맞춰 정리했다.

반복 검토용 자료는 7차까지 만들었지만, 자료 생성 횟수가 실제 사용자 검증을 의미하지는 않는다. 코드 반영과 새 Review Packet 생성은 끝났고 교통약자 당사자와 접근성 전문가의 재평가가 남아 있다.

자동 검증의 경계

배포 전 확인

Lockfile 재현성, Release Safety, 전체 테스트, Ruff, Docker Build를 함께 확인하도록 절차를 분리했다. API Key와 Live Sample은 배포 대상과 Log에 포함하지 않는다.