refs #732: preserve Select AI results in HMM reports

This commit is contained in:
devmrko
2026-08-10 15:51:29 +09:00
parent c0c5a36ba0
commit b13b913939
8 changed files with 105 additions and 31 deletions

View File

@@ -3,7 +3,7 @@
## 1. 준비
- `vpd-backoffice` 배포본에 HTML 템플릿과 HMM CI 리소스가 포함되어야 한다.
- 조회 도구 `search_carrier_performance`구조화된 `items` 배열을 반환해야 한다.
- 조회 도구 `search_carrier_performance`기존 `HMM_CARRIER_FEDERATION_SEARCH`를 가리켜야 한다.
- 배포 환경의 `BACKOFFICE_MCP_TOOLS``AGENT_TOOL` 도구 계약을 추가한다.
먼저 `database/adb/83_hmm_carrier_html_report_tool.sql`을 실행한 뒤 다음 명령으로 현재
@@ -17,11 +17,12 @@
1. 동일 Bearer token으로 `tools/list`를 호출한다.
2. `render_hmm_carrier_report`와 입력 속성 `reportJson`이 보이는지 확인한다.
3. 먼저 `search_carrier_performance`를 호출`items`를 얻는다.
4. 질문·답변 근거·items를 reportJson으로 구성해 리포트 도구를 호출한다.
3. 먼저 `search_carrier_performance`를 호출한다. 현재 Agent Tool 응답의 실제 행은 `response.result` 안의 JSON 배열 문자열이다.
4. 포털이 해당 배열을 행으로 구조화했는지 확인하고 질문·답변 근거·행을 `reportJson`으로 구성해 리포트 도구를 호출한다.
5. 응답 `response.html`을 새 탭 또는 sandboxed iframe에서 연다.
성공 판정은 제목, 담당자별 막대 차트, 위험 분포, 상세 표가 `rows`와 일치하는 것이다.
성공 판정은 조회 원본 행 수와 `reportJson.rows` 수가 같고, 제목, 담당자별 막대 차트, 위험 분포,
상세 표가 `rows`와 일치하는 것이다.
템플릿 내부에 `__REPORT_DATA__`가 남지 않고, 검증 payload의 담당자·선사 식별자가 반환 HTML에
포함되는지도 확인한다.
@@ -34,8 +35,9 @@
4. 결과 영역에 `생성된 리포트` iframe이 표시되고, 막대·상세 표가 첫 단계 `items`와 일치하는지
확인한다.
첫 단계가 0건이면 두 번째 단계의 `reportJson.rows`도 빈 배열이어야 한다. 이 경우 순차 실행과
HTML 생성은 성공한 것이며, 데이터 조회 문제는 리포트 Tool과 분리해 확인한다.
대표 E1001 팀장 질의의 운영 회귀 기준은 현재 8건이다. 이 숫자는 검증 기준일 뿐 코드나 Tool
인수에 고정하지 않는다. 첫 단계 원본에 행이 있는데 `reportJson.rows`가 0건이면 순차 실행 성공이
아니며, [문제 해결](troubleshooting.md)의 중첩 응답 항목을 확인한다.
실패 시 [문제 해결](troubleshooting.md)의 `텍스트만 답하고 리포트가 생성되지 않음`을 따른다.