Skip to content
This repository was archived by the owner on Aug 24, 2026. It is now read-only.

Fix QA reliability issues from code review - #21

Merged
amazon7737 merged 1 commit into
mainfrom
fix/code-review-findings
May 29, 2026
Merged

Fix QA reliability issues from code review#21
amazon7737 merged 1 commit into
mainfrom
fix/code-review-findings

Conversation

@amazon7737

Copy link
Copy Markdown
Member

배경

코드리뷰 지적사항을 실제 코드와 대조 검증 후 수정했습니다. 이 변경분은 lms-chatbot 모노레포에서 개발·검증된 뒤 standalone 레포로 동기화한 것입니다.

검증으로 걸러낸 거짓 지적 (변경 안 함)

설치된 chrome-devtools-mcp@1.1.0 소스를 직접 확인한 결과 아래 두 지적은 이 코드에 해당하지 않아 의도적으로 변경하지 않았습니다.

  • 페이지네이션 20건 제한paginate()pageSize/pageIdx를 안 넘기면 전체를 반환 (utils/pagination.js). 스키마 설명도 "When omitted, returns all requests".
  • README 스크립트 누락 — 모노레포 루트 package.json에 해당 스크립트가 실제로 존재.

수정 사항

  • chatbot: answerDoneText 미설정 시 제출 텍스트만 대기하도록 degrade — countTextOccurrences('')가 항상 0이라 마커를 요구하면 무한 타임아웃되던 문제 해결
  • chatbot: empty-input 허용 노드 증가량을 spec.maxNodeDelta(기본 2)로 설정 가능, 에러에 실제/허용 delta 표시
  • quality: 오해를 주는 error/warning 라벨을 error로 정정 (error 타입만 검사함)
  • artifacts: waitForSnapshot 폴링이 메모리 전용 pollSnapshot() 사용 → 폴링이 더 이상 파일을 쓰거나 아티팩트 카운터를 증가시키지 않음
  • utils: parseJsonOutput가 파싱 실패 시 {raw} 대신 명확한 에러를 throw — 기존엔 "element not found"로 위장됐음
  • 회귀 테스트 추가 (test/quality.test.mjs)

검증

npm run check 통과, npm test 15/15 pass.

Verified against installed chrome-devtools-mcp@1.1.0. Two earlier review
claims ("list_* defaults to a 20-item page" and "README scripts are
missing") did not hold for the current code and are intentionally not
changed; paginate() returns all items when neither pageSize nor pageIdx
is passed.

- chatbot: question scenario waits only on submitted text when
  answerDoneText is unset, instead of hanging until timeout
  (countTextOccurrences('') is always 0)
- chatbot: empty-input node-delta tolerance is configurable via
  spec.maxNodeDelta (default 2); error now reports actual vs allowed
- quality: fix misleading "error/warning" label to "error"
- artifacts: waitForSnapshot uses an in-memory pollSnapshot() so polling
  no longer writes files or advances the artifact counter
- utils: parseJsonOutput throws on unparseable CLI output instead of
  returning {raw}, which previously surfaced as "element not found"
- add quality/parseJsonOutput regression tests (15 tests pass)
@amazon7737
amazon7737 merged commit e4348d7 into main May 29, 2026
1 check passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant