diff --git a/docs/superpowers/plans/2026-11-02-first-use-speed.md b/docs/superpowers/plans/2026-11-02-first-use-speed.md index 1adcb48d..b788ca8c 100644 --- a/docs/superpowers/plans/2026-11-02-first-use-speed.md +++ b/docs/superpowers/plans/2026-11-02-first-use-speed.md @@ -2,9 +2,11 @@ **Goal:** 글자별 웹 읽기 왕복을 통째 입력 링크로 줄이고 실제 Chat에서 전후 비교한다. -- [ ] tests/pages/browseQuick.test.ts에 실제 링크만 선택하는4페이지 흐름/임의상품ID 유지/메뉴 무원본호출/추천 불일치 입력 보존 회귀를 추가하고 RED 확인. -- [ ] src/pages/browseQuickLinks.ts에 상품/지역의 일반 입력 링크를 분리하고 browseComposer.ts·browse.ts·browseRead.ts에 통합. /browse/quick도 기존 읽기 세션 및 접수형 조회를 사용. -- [ ] 공통 agentStart·discovery·README·문서·Skill을 빠른 링크 우선으로 맞추고 현재버전 기대값 갱신. 불일치한 단어 대체·고정ID·가짜 수량 금지. -- [ ] 타입·450줄·빌드·회귀·Coverage100%·독립 리뷰·GitHub검사 후 병합·배포. -- [ ] 이전 질문과 같은 새 Chat 임시 대화2건을 순차 실행, 각 소유탭/캡처 정리. 실제 표시 수량과 API 대조, 원본캐시와 UI 전체시간 구분. -- [ ] 결과와 남은 한계를 PROJECT.md 및 연구 기록에 저장. +- [x] tests/pages/browseQuick.test.ts에 실제 링크만 선택하는4페이지 흐름/임의상품ID 유지/메뉴 무원본호출/추천 불일치 입력 보존 회귀를 추가하고 RED 확인. +- [x] src/pages/browseQuickLinks.ts에 상품/지역의 일반 입력 링크를 분리하고 browseComposer.ts·browse.ts·browseRead.ts에 통합. /browse/quick도 기존 읽기 세션 및 접수형 조회를 사용. +- [x] 공통 agentStart·discovery·README·문서·Skill을 빠른 링크 우선으로 맞추고 현재버전 기대값 갱신. 불일치한 단어 대체·고정ID·가짜 수량 금지. +- [x] 타입·450줄·빌드·회귀·Coverage100%·독립 리뷰·GitHub검사 후 병합·배포. +- [x] 이전 질문과 같은 새 Chat 임시 대화2건을 순차 실행, 각 소유탭/캡처 정리. 실제 표시 수량과 API 대조, 원본캐시와 UI 전체시간 구분. +- [x] 결과와 남은 한계를 PROJECT.md 및 연구 기록에 저장. + +검증 결과: [실험 기록](../../web-reading-lab-results-2026-11-02.md). 빠른 진입 성공과 자연어 발견 실패를 구분하며 보편적 시간 단축을 주장하지 않습니다. diff --git a/docs/web-reading-lab-results-2026-11-02.md b/docs/web-reading-lab-results-2026-11-02.md index 626bf8f1..ca92077b 100644 --- a/docs/web-reading-lab-results-2026-11-02.md +++ b/docs/web-reading-lab-results-2026-11-02.md @@ -32,3 +32,54 @@ - 실제 운영 Chat 표본은11:49 KST에 상품1049516을 조회했다. 원본 응답의 온라인 수량50과 매장 목록 비어 있음을 구분했다. 특정 매장 재고50이나 현재 수량을 뜻하지 않는다. HTML 생성·작업 완료 시각도 원본 재고 갱신 시각과 다르다. - [다이소 범위 운영 스모크41379968241](https://github.com/hmmhmmhm/daiso-mcp/actions/runs/41379968241)은 CLI5명령과 공개 MCP10도구·상품명 기반 재고 조회를 통과했다. 로컬 자원 보호가 브라우저 수로 거절한 검사를 우회하지 않고 임시 클라우드 검사 분기를 사용했다. 그 분기는 검사 후 삭제했으며 main의 전체12서비스 야간 검사 목록은 유지했다. - 운영 API 캐시를 우회한 실시간 수량 보장이나 모든 ChatGPT 계정에서의 보편적 성공을 주장하지 않는다. JSON API·CLI·MCP 연결과 REST HTML 조회는 별개다. 다른 서비스는 기존 조회 경로를 유지한다. + + +## 첫 사용 시간 개선과 실제 Chat 재검증 + +[PR359](https://github.com/hmmhmmhm/daiso-mcp/pull/359)은 검색어와 지역을 통째로 선택하는 실제 링크를 추가했다. +일반 상품 검색어32개와 지역32개를 제공하며 목록 밖 입력의 기존 글자 선택은 보존한다. +새 진입점은 `/browse/quick`이며 최신 안내 버전은2026-11-02.3이다. +상품 결과의 매장 지역 선택을 바로 사용해 불필요한 상세 조회를 생략한다. +정상적인 빠른 경로는 시작·상품·지역 선택·재고4페이지다. 느린 원본 조회의 pending 결과 페이지는 추가될 수 있다. + +기존 글자 입력은 한글 한 글자에 초성·중성·완성 선택이 필요했다. +지갑과 강남역의 다섯 글자만으로 입력 단계15회가 생긴다. +이전 실험의 상품 HTML과 재고 HTML 사이에는64.011초 차이가 있었다. +이후 일반 HTTP 비교에서는 상품1.500초, 재고2.077초였으므로 반복 웹 읽기와 판단이 조사 대상이다. +후속 측정만으로 이전 요청 당시의 서버 지연이나64초 전체의 원인을 확정하지 않는다. + +새 ChatGPT 임시 대화를 순차 실행한 결과는 다음과 같다. +첫 질문에 개별 상품·재고 URL이나 상품 ID를 미리 제공하지 않았다. + +| 진입 방법 | 준비 포함 완료 관측 | 전송 후 관측 | 결과 | +| --- | ---: | ---: | --- | +| 기존 주소 없는 자연어 요청 | 116.9초 | 미측정 | 상품·재고 성공 | +| 기존 공식 루트 지정 | 146.7초 | 미측정 | 상품·재고 성공 | +| 변경 후 주소 없는 동일 요청1 | 78.0초 | 37.9초 | 접근 실패라고 답했으며 조회 미완료 | +| 변경 후 공식 루트 동일 요청 | 102.7초 | 70.4초 | 성공했으나 이전 문서·HTML 사본을 먼저 재사용 | +| 변경 후 새 빠른 진입점 지정 | 70.1초 | 36.1초 | 상품·재고 성공 | +| 변경 후 주소 없는 동일 요청2 | 79.7초 | 48.2초 | 상품·재고 미확인, 다른 서비스 링크 안내 | + +시간은 응답 완료를 관측할 때까지다. 전송 후 관측은5초 주기 UI 읽기와 도구 비용을 포함한다. +새 표본은 결과 링크 href 회수를 완료한 시간이 아니라 응답 관측 시점을 사용했다. +빠른 진입 질문은 기존 루트 질문의 시작 주소만 `/browse/quick`으로 바꿨다. +이전과 비교해 준비 포함 관측은 약147초에서70초로 줄었지만, 서로 다른 진입점이며 모델·캐시·브라우저 상태가 통제되지 않았다. +이 값을 모든 첫 사용자에 대한 보장이나 순수 서버 속도 개선율로 제시하지 않는다. + +빠른 진입 표본은 새 읽기 세션의 상품·지역 선택·재고 href를 표시했다. +상품 HTML13:59:55 KST, 재고 HTML13:59:57 KST이며 안내2026-11-02.3을 확인했다. +실제 첫 상품1057565의 강남역점16개·강남역2호점8개를 표시했다. +후속 일반 JSON 조회에서도 같은 ID와 매장별 수량, unknownStockCount0을 확인했다. +온라인 수량180은 매장별 수량과 별개다. 이 대조는 캐시 우회나 원본 갱신 시각 검증이 아니다. +pending은 발생하지 않았으므로 이번 표본으로 접수형 경로 활성화를 주장하지 않는다. + +자연어 발견 두 표본은 실패했다. 오류 원문·raw 웹 도구 인자를 수집하지 않아 서버 장애나 DNS 오류로 확정하지 않는다. +공식 루트 표본은 이전 읽기 ID의 상품 HTML을 재사용한 뒤 최신 안내를 확인했다. +따라서 최신 문서의 존재와 새 Chat이 그 경로를 선택하는 것은 별개다. +검색 후 문서 선택·외부 사본 재사용·웹 도구 호출 선택의 불확실성은 남아 있으며, 이번 수정으로 해결됐다고 보고하지 않는다. + +새 회귀의 RED를 클라우드에서 먼저 확인한 뒤 전체 CI와 Coverage100%, CodeQL 및 독립 코드 리뷰를 통과했다. +병합6d50cb3의 CI41390895569·Coverage41390895595·CodeQL41390895586·배포41390895571도 통과했다. +로컬 자원 보호가 테스트 실행을 거절해 우회하지 않았고 브라우저와 전체 테스트를 겹치지 않았다. +소유 임시 대화·캡처·세션만 finally에서 회수하고 사용자 Chrome과 다른 작업 세션은 유지했다. +공개 MCP10도구, JSON API, CLI, 기존 캐시·한도·인증 계약은 바꾸지 않았다.