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

@@ -37,14 +37,18 @@
## 리포트는 생성됐지만 행이 0건임
**원인**: 렌더러 앞에서 실행된 데이터 조회 Tool이 0건을 반환했다. 렌더러는 없는 행을 만들거나
기본 샘플을 채우지 않는다.
**원인**: 다음 둘 중 하나다.
**확인**: Agent 첫 단계의 결과 건수와 두 번째 단계 `reportJson.rows`를 비교한다. 둘 다 0건이
HTML 생성 경로는 정상이다.
1. 선행 조회가 실제로 0건이다.
2. 선행 Select AI Tool은 행을 반환했지만 포털이 `response.result` 안의 JSON 배열 문자열을
`reportJson.rows`로 구조화하지 못했다.
**해결**: 같은 사용자와 질문으로 데이터 조회 Tool만 별도 호출해 권한 범위와 조회 결과
확인한다. HTML 템플릿, renderer 함수 또는 Agent 순차 실행 규칙은 변경하지 않는다.
**확인**: Agent 첫 단계의 원본 `response.result` 배열 건수와 두 번째 단계 `reportJson.rows`
비교한다. 원본이 8건이고 `rows`가 0건이면 권한이나 Select AI 문제가 아니라 결과 전달 문제다.
**재발 방지**: HTML Tool 검증에는 별도의 합성 payload를 사용하고, 데이터 조회 검증과 판정을
분리한다.
**해결**: 포털의 범용 결과 해석기가 `items`, `results`, `rows`, `response`, `result` wrapper와
JSON 배열 문자열을 재귀적으로 처리하는지 확인한다. 조회 Tool, endpoint, VPD 정책, DB package를
교체하지 않는다.
**재발 방지**: 중첩 JSON 배열 회귀 테스트와 운영 연속 호출 검증을 유지한다. 같은 Bearer 문맥에서
조회 원본 행 수와 renderer 입력 행 수가 같아야 배포를 완료한다.