기능 #746
완료됨[Feature] 모니터링 생성 중 검색어 추가와 모니터링별 긍부정 키워드 커스터마이징
100%
설명
h2. 분석 요약
현재 새 모니터링 생성 화면은 codes/app/web-front/src/page/monitor/MonitoringCreatePage.tsx에서 get_monitoring_config_options를 호출해 전역 검색어와 전역 긍정/부정 키워드를 읽는다. 기사 수집 검색어는 Autocomplete 후보 중 선택만 가능하고, 신규 검색어 생성은 codes/app/web-front/src/page/monitor/KeywordConfigPage.tsx의 put_keyword_config_item 흐름에서만 가능하다.
현재 백엔드 흐름:
- monitoring-api-lambda의 list_config_options는 SEARCH_TERM, POSITIVE, NEGATIVE 전역 설정을 반환한다.
- put_keyword_config_item은 전역 SEARCH_TERM/SENTIMENT_KEYWORD item을 생성/수정한다.
- create_monitoring/update_monitoring은 MONITORING item에 searchTerms와 sentimentEnabled를 저장하지만 모니터링별 긍정/부정 키워드 필드는 없다.
- monitoring-worker-lambda는 SEARCH_JOB 처리 시 MonitoringContextRepository.list_sentiment_keyword_values로 전역 긍정/부정 키워드를 다시 읽고, 같은 검색 job에 묶인 모든 모니터링에 같은 키워드 배열을 전달한다.
- ArticleRepository._analyze_article_sentiment는 context별 키워드가 아니라 job 전역 positive/negative 키워드 배열로 판정한다.
h2. 목표
- 새 모니터링 생성 중 기사 수집 검색어를 바로 추가하고, 추가된 검색어를 현재 생성 중인 모니터링에 즉시 선택할 수 있게 한다.
- 긍부정 판단을 활성화하면 기본값은 전역 관리 긍정/부정 키워드로 채우되, 사용자가 현재 모니터링에 한해서 긍정/부정 키워드를 수정/추가/삭제할 수 있게 한다.
- 모니터링별 긍부정 키워드 커스터마이징은 MONITORING 설정과 실행 컨텍스트에만 반영하고, 전역 SENTIMENT_KEYWORD 설정은 키워드 설정 페이지에서만 수정되게 유지한다.
h2. 완료 기준
- 생성/수정 payload, MONITORING 저장 필드, API 응답 필드, Worker 실행 컨텍스트의 계약이 확정된다.
- 생성 화면에서 검색어를 즉시 추가할 수 있고, 중복/공백/저장 실패 처리가 된다.
- 생성 화면에서 긍정/부정 키워드를 전역 기본값에서 시작해 모니터링별로 커스터마이징할 수 있다.
- 커스터마이징한 긍부정 키워드는 해당 모니터링의 기사 판정에만 쓰이며 전역 키워드 설정은 변경되지 않는다.
- 동일 검색어로 여러 모니터링이 하나의 SEARCH_JOB에 묶여도 각 모니터링의 긍부정 키워드가 독립 적용된다.
- API/Worker/Web 회귀 테스트가 보강된다.
주연 장이(가) 약 22시간 전에 변경
진행 순서와 선후행 규칙입니다.
- #747 Contract: 검색어 인라인 추가와 모니터링별 긍부정 키워드의 저장/응답/실행 계약을 먼저 확정합니다. 이 산출물과 커밋이 모든 후행 일감의 기준입니다.
- #748 API: #747 완료/커밋 이후 시작합니다. 검색어 추가 command와 모니터링별 긍부정 키워드 저장/조회 필드를 먼저 완성하고 커밋합니다.
- #749 Worker, #750 Web Search, #751 Web Sentiment: #748 완료/커밋 이후에만 시작합니다. Worker는 실행 컨텍스트, Web Search는 검색어 즉시 추가, Web Sentiment는 현재 모니터링용 긍부정 키워드 편집을 각각 독립 구현합니다.
- #752 Test: #749, #750, #751가 모두 완료되고 각각 커밋된 뒤 시작합니다. 같은 SEARCH_JOB에 묶인 모니터링별 감성 키워드 분리 적용과 전역 키워드 미수정 회귀를 반드시 검증합니다.
선수행 일감의 산출물이나 코드가 후행 일감에 쓰이는 경우, 선행 일감은 완료 상태와 커밋 기록까지 확인된 뒤 후행 일감을 진행합니다. 실제 작업을 시작할 때만 상태를 진행으로 변경합니다.
주연 장이(가) 약 17시간 전에 변경
전체 하위 일감 릴리즈 완료: #747 8601cd551e5ef27d197111eb3b743154032ae058 계약 문서화, #748 617744eb7da3845088ca90d4b7dc70d2fdf9f5ff API 지원, #749 e4aed6661404bb9b41c6a4f12a4302a2c588ecea Worker 컨텍스트 적용, #750 2bb5e3a71f1bd009651240b1b5e875a8bfac566f Web 검색어 즉시 추가, #751 c30b2b5d9cbfaf6f7d2169f5dace961827e8aaea Web 긍부정 키워드 커스터마이징, #752 8c050c67fe4db023c3cc811321d42f8f85f627a9 회귀 검증 보강. 모든 하위 일감은 Redmine 완료 처리 및 CodeCommit 반영을 확인했습니다.