From 7fa623d22d41c66dd9341b54032082e71e97ef31 Mon Sep 17 00:00:00 2001 From: joungmin Date: Mon, 15 Jun 2026 13:07:08 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20CHANGELOG=20v0.1.15+v0.1.16=20=EA=B8=B0?= =?UTF-8?q?=EB=A1=9D=20+=20#322=20=EC=84=A4=EA=B3=84=EC=84=9C=20Approved?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 22 +++++++++++++++++++ .../322-restaurant-llm-verify/README.md | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bdee9fc..7dc90a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,28 @@ ## 2026-06-15 +### ๐Ÿงน #322 LLM ๊ฒ€์ฆ์œผ๋กœ ์ž˜๋ชป๋œ/ํ”„๋žœ์ฐจ์ด์ฆˆ ์‹๋‹น ์ž๋™ ์ˆจ๊น€ (v0.1.16) +- DB ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜: restaurants์— hidden(NUMBER(1)), hidden_reason(VARCHAR2(120)), verified_at(TIMESTAMP) + idx_restaurants_hidden +- ๋„๋ฉ”์ธ/Mapper/Service ํ™•์žฅ: includeHidden ์˜ต์…˜, updateVerification, findUnverified ๋“ฑ +- ์‹ ๊ทœ RestaurantVerifyService: + - verifyAsync (์‹ ๊ทœ ๋“ฑ๋ก ์ž๋™ ๊ฒ€์ฆ) + - verifyAll (๋ฐฑํ•„, ์‹๋‹น๋‹น 200ms sleep) + - parseVerifyResponse (์•ˆ์ „ ๊ธฐ๋ณธ๊ฐ’: ํŒŒ์‹ฑ ์‹คํŒจ ์‹œ valid=true โ†’ hidden ์œ ์ง€) +- PipelineService.processExtract ๋์— verifyAsync(restId) ์ž๋™ ํ˜ธ์ถœ +- AdminRestaurantController ์‹ ๊ทœ (requireAdmin): + - GET /api/admin/restaurants/verify/pending + - POST /api/admin/restaurants/verify/all?batchSize=10 + - POST /api/admin/restaurants/{id}/verify + - PATCH /api/admin/restaurants/{id}/hidden +- ์–ด๋“œ๋ฏผ UI๋Š” ํ›„์† #323์œผ๋กœ ๋ถ„๋ฆฌ +- Refs: #322 (close) + +### ๐Ÿ“บ #291 publishedAfter ํŽ˜์ด์ง• ์กฐ๊ธฐ ์ข…๋ฃŒ ๋ฒ„๊ทธ (v0.1.15) + dev/prod ๋ฐ๋ชฌ ๋ถ„๋ฆฌ +- YouTubeService.fetchChannelVideos: stopPaging ํ”Œ๋ž˜๊ทธ๋กœ ์กฐ๊ธฐ ์ข…๋ฃŒ ์ •ํ™•ํ™” โ†’ ๋ฐฑํ•„ ํšจ์œจ + YouTube API quota ์ ˆ์•ฝ +- DaemonScheduler์— app.daemon.enabled (env DAEMON_ENABLED) ํ”Œ๋ž˜๊ทธ +- dev/prod๊ฐ€ ๊ฐ™์€ Oracle ATP๋ฅผ ๊ณต์œ ํ•˜๋Š” ํ™˜๊ฒฝ์—์„œ dev DAEMON_ENABLED=false๋กœ ์ค‘๋ณต ํด๋ง ์ฐจ๋‹จ +- Refs: #291 #275 #321 + ### โ™ฟ #301+#302 ๋ชจ๋‹ฌ ์ ‘๊ทผ์„ฑ + race condition + ํ•„ํ„ฐ ์ƒํƒœ ๋™๊ธฐํ™” (v0.1.14) - ๊ณตํ†ต ํ›… `frontend/src/lib/hooks/useModalA11y.ts` ์‹ ๊ทœ (useEscapeKey, useFocusTrap, useBodyScrollLock) - BottomSheet/FilterSheet: role='dialog', aria-modal, aria-label/labelledby, ESC ๋‹ซ๊ธฐ, focus trap diff --git a/docs/design/322-restaurant-llm-verify/README.md b/docs/design/322-restaurant-llm-verify/README.md index d3e450d..fe39979 100644 --- a/docs/design/322-restaurant-llm-verify/README.md +++ b/docs/design/322-restaurant-llm-verify/README.md @@ -1,6 +1,6 @@ # ์„ค๊ณ„์„œ: LLM ๊ฒ€์ฆ์œผ๋กœ ์ž˜๋ชป๋œ/ํ”„๋žœ์ฐจ์ด์ฆˆ ์‹๋‹น ์ž๋™ ์ˆจ๊น€ (#322) -> **์ƒํƒœ**: Draft +> **์ƒํƒœ**: Approved > **์ž‘์„ฑ**: [AI] Architect ยท **์ตœ์ข…์ˆ˜์ •**: 2026-06-15 > **์ถ”์ ์„ฑ** โ€” Redmine: #322 ยท ๊ด€๋ จ ADR: ์—†์Œ > ยท ๊ตฌํ˜„ ํŒŒ์ผ: `backend-java/src/main/java/com/tasteby/service/RestaurantVerifyService.java`(์‹ ๊ทœ), `backend-java/src/main/java/com/tasteby/domain/Restaurant.java`(ํ•„๋“œ 3๊ฐœ ์ถ”๊ฐ€), `backend-java/src/main/resources/mybatis/mapper/RestaurantMapper.xml`(์ปฌ๋Ÿผ ๋งคํ•‘), `backend-java/src/main/java/com/tasteby/service/RestaurantService.java`(ํ•„ํ„ฐ๋ง), DB ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ SQL