작업 이력

작업 이력 — 2026-06-18

기획 (planner)

PMS 문의 토픽 정본 확정 + 안내글 별도 테이블 결정 — docs/TOPIC-CATALOG.md 신규

api(백엔드)가 2022~2026 PMS 문의 43,614건(고객 26,636건) 분석으로 도출한 docs/TOPIC-CATALOG-DRAFT.md(26토픽 후보)를 검토·정본화하고, 사용자 신규 결정을 정본에 반영.

1. hp_topic 토픽 정본 확정 — docs/TOPIC-CATALOG.md (신규)

  • 24토픽 확정(common 20 + service 4). DRAFT 26 → 24.
    • 삭제(흡수): data-security(→member-management/integration-api/site-domain 분산), search-seo(→homepage-design/integration-api) — 빈도 최저·신호 중복, 토픽 증식 억제.
    • rename: public-securitypublic-procurement("공공/조달" — 진짜 특화는 조달·제출서류·일괄등록).
    • 신규 채택(002 미수록 고빈도): homepage-design(0.10, 결제·오류 다음)·member-management·notification-send·board-notice·remote-support·contract-quote·coupon-point·integration-api·mobile-access·learning-progress.
  • slug 컨벤션 = kebab-case ASCII(서술형)로 통일. 002 단일어 slug(login/payment/content/step…) 폐기·재시드.
  • payment/refund 통합(payment-refund), 단 service refund-employment-insurance(고용보험 환급)는 동음이의로 별개 유지.
  • global-lms·public-procurement 는 service 유지 + 약신호 경고(분류기 신뢰도 게이트로 흡수).
  • hp_topic 재시드 SQL(INSERT) 제안 포함 — dba가 그대로 시드(docs/TOPIC-CATALOG.md §4).
  • 토픽 생성 범위 = 2022~2026 전 프로젝트(사용자 확정).

2. 사용자 신규 결정 반영

  • 안내글 = 별도 테이블 hp_announce — 기존 hp_standard_answer.answer_type ENUM('qa','announce') 권고를 폐기하고 안내글 전용 테이블로 분리. 사유: 데이터 형상(질문 유무)·승인 기준·챗봇 사용·관리 메뉴가 본질적으로 달라 분리 이득이 큼. 분류 축(scope/topic/service/tags)·승인 워크플로(상태 모델)는 공유, 질문 컬럼 없음 + 유효기간(valid_from/valid_to) 추가. (docs/PMS-INQUIRY-HARVEST.md §5-3 전면 개정)
  • 관리자 메뉴 분리 — 표준답변(Q&A) /standard-answers 와 표준 안내답변(안내글) /announces 를 admin에서 별도 IA 메뉴(탭 아님)로.

3. 그룹→서비스 매핑 현행화 (docs/PMS-INQUIRY-HARVEST.md §3-1·§5-2)

  • 실측 그룹명으로 매핑 표 교체: OTT 서비스(공백)·글로벌LMS 서비스(≠글로벌이러닝)·맑은이러닝 종료(신규 매핑, 범용 종료분·노후 가드)·완료/진행/파트너(보류 hold_service).
  • 사내 게시판 제외 룰 보강 — 숫자 prefix 없는 사내 그룹(보고/결재·이러닝컨설팅팀·종료/마감/보관·이러닝개발팀·학습조직·이러닝사업팀)이 ^[0-9]+\. REGEXP에 안 걸리는 문제(api 지적) → 그룹명 화이트리스트(운영자 편집 데이터) + staff비중 100% 안전망(자동 제외 대신 hold_internal 보류, 추정 가드).

4. 정합 갱신 (다른 정본 현행화)

  • docs/STANDARD-ANSWER-CURATION.md — §2-1 분류 축에서 answer_type 행 제거(→hp_announce 별도 테이블 안내), §2-2 카탈로그 정본 확정, T1·T7 해소(토픽 정본 확정·legal 토픽 미채택), §8-A·§9-A·§9-C·§10 현행화.
  • docs/ADMIN-PLAN.md — §4-3 안내글 별도 메뉴, §4-3-1 기본 topic 표를 24토픽으로 교체(초기 예시값 폐기).
  • docs/PMS-INQUIRY-HARVEST.md — answer_type→hp_announce 전반 치환, H3 해소·H7 해소, §9 핸드오프(POST /announces·hp_announce 테이블·24토픽 분류기) 갱신.

해소된 미정 항목

  • CURATION T1(카탈로그 정본)·T7(legal 토픽) · HARVEST H3(안내글 question NULL)·H7(토픽 정본).

미정 TODO (후속)

  • dba: hp_topic 24토픽 재시드(002 10토픽 정리·topic_id 무참조 확인) · hp_service 7서비스 재시드 · hp_announce 신규 테이블(004) · 그룹 매핑/사내 제외 화이트리스트 저장처.
  • api: 토픽 분류기 24토픽 입력 + service 약신호 게이트 · POST /announces 신규 · 승인 전이 공통 헬퍼.
  • admin: /announces 별도 메뉴 · catalog 24토픽·7서비스 현행화.
  • 기획+CS: 1차 스캔 범위(HARVEST H5) · 운영 1~2개월 후 service 토픽(public-procurement·global-lms) 분류 정확도 재검(TOPIC-CATALOG T-T3).
  • privacy-officer: 안내글(hp_announce) P2 노출 가드(HARVEST H8).

커밋은 사용자(취합)가 진행 — 본 작업은 문서만 작성, 커밋 보류.

구현 (admin · api)

기획 정본을 바탕으로 admin·api 구현·배포가 함께 진행됨.

1. 표준답변 상세·편집 고도화 (admin + api)

  • 상세 패널: 측면 슬라이드오버 → 가운데 모달(1120px, AdminModal 2xl).
  • 질문·답변에 TinyMCE 위지위그(AdminRichEditor, TinyMCE7 CDN, @tinymce/tinymce-vue) 도입.
  • 분류(scope/토픽/서비스/태그) 편집 활성화 — 기존 항목도 수정. PATCH /standard-answers/:id가 분류 수용 + question/answer 자산 절대화.
  • 'scope' → '분류' 라벨, 옵션 공통/서비스 한글화. 목록에 토픽·서비스 컬럼 추가.
  • 목록 질문 미리보기: 태그 노출 → 평문화 → 서식 렌더(줄바꿈 유지·이미지 숨김) 로 정착.
  • 토픽 필터 버그픽스: service 답변에도 공통 토픽 함께 표시.

2. 추천 답변 6스타일 재정의 (api)

  • 용도 중심 6종: 기본 / 요약 / 상세 / 단계별 가이드 / 공감·사과 톤 / 격식·공식 톤 (Q&A 평가 D축 프롬프트).

3. 안내글(hp_announce) 트랙 구현 (api + admin)

  • 005 마이그레이션 적용(hp_announce + hp_service 7서비스 재시드). /announces CRUD + 승인 전이(SA 워크플로 재사용).
  • admin 메뉴 분리(Q&A 표준답변 / 안내글), /announces 실데이터 연동.

4. PMS 문의 수집(harvest) 구현 (api + admin)

  • POST /pms/harvest/scan·/commit(qa→hp_standard_answer / announce→hp_announce). 일회용 harvest-curate(LLM 가치평가 큐레이션, 적용 후 제거).
  • admin /harvest 화면(scan→검토→commit) + 메뉴.

5. 인증 오류 메시지 한국어화 (api)

  • invalid credentials / unauthorized / forbidden / 세션 만료 등 → 한국어.

6. UI 정리 (admin)

  • 목록 필터바 초기화 버튼 제거. 미연동 목업 페이지에 '목업' 배지(analytics·chat-logs·escalations·uncovered).

배포

배포 시각·커밋 로그(워크스페이스 deploy.sh 기록, helper repo에서 이관).

09:54 — malgn-helper-admin → Cloudflare Pages

  • 커밋: eaaf2ce (신규 커밋: yes)
  • 메시지: chore(admin): 목록 필터바에서 초기화 버튼 제거 (전 페이지 공통)

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

10:29 — malgn-helper-admin → Cloudflare Pages

  • 커밋: 7b516e1 (신규 커밋: yes)
  • 메시지: feat(admin): 목업(미연동) 페이지에 '목업' 배지 — analytics·chat-logs·escalations·uncovered
  • AdminPageHeader에 mock prop 추가(제목 옆 앰버 '목업' 배지)
  • MOCK_ 하드코딩(Phase 2 데이터) 5개 페이지에 적용

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

12:53 — malgn-helper-admin → Cloudflare Pages

  • 커밋: 82e8c9b (신규 커밋: yes)
  • 메시지: feat(standard-answers): 상세를 가운데 모달(1120px)로 전환 + 답변 TinyMCE 위지위그
  • AdminModal에 2xl(1120px) 사이즈 추가, 표준답변 상세를 SlideOver→중앙 모달
  • AdminRichEditor(TinyMCE7 CDN, 클라이언트 전용) 신규 — 답변 필드에 적용
  • @tinymce/tinymce-vue 의존성 + SSR transpile

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

15:31 — malgn-helper-api → Cloudflare Workers

  • 커밋: 362176b (신규 커밋: yes)
  • 메시지: feat(qa-eval): 추천 답변 6스타일 용도 중심 재정의 — 기본/요약/상세/단계별 가이드/공감·사과/격식·공식

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

16:41 — malgn-helper-api → Cloudflare Workers

  • 커밋: 8143e27 (신규 커밋: yes)
  • 메시지: feat(standard-answers): PATCH가 분류(scope/topic/service/tags) 수정 수용 + question/answer 자산 절대화

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

16:41 — malgn-helper-admin → Cloudflare Pages

  • 커밋: 2a3bd86 (신규 커밋: yes)
  • 메시지: feat(standard-answers): 분류(scope/서비스/토픽/태그) 편집 활성화 + 'scope'→'분류' 라벨 + 목록에 토픽·서비스 컬럼

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

17:22 — malgn-helper-api → Cloudflare Workers

  • 커밋: 2657056 (신규 커밋: yes)
  • 메시지: fix(auth): 로그인·세션·권한 오류 메시지 한국어화 (invalid credentials 등)

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

18:09 — malgn-helper-api → Cloudflare Workers

  • 커밋: f368835 (신규 커밋: yes)
  • 메시지: feat(announces): hp_announce CRUD + 전이 + 수집 헬퍼 + 004 봇 슬러그 정본화
  • POST/GET/GET:id/PATCH:id/DELETE:id/PATCH:id/transition /announces (hp_announce, 005 적용 완료)
  • SA 와 동형: 분류(scope/topic_id/service_id/tags)·승인 워크플로(SA_TRANSITIONS 재사용)·이미지 절대화
  • 조회 응답 body→answer 매핑(admin SA UI 재사용), question NULL 허용, title/body 필수
  • classify.ts: groupNameToServiceSlug(7서비스 매핑)·isAnnounceCandidate(staff 첫글) export
  • migrations/004_bots.sql 시드 슬러그 lms-general/lms-public-security → general/public 정본화
  • openapi: /announces 경로·announces 태그 문서화

Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com

19:33 — malgn-helper-api → Cloudflare Workers

  • 커밋: e6970ba (신규 커밋: yes)
  • 메시지: feat(harvest): POST /pms/harvest/commit — 선택 후보를 draft 등록 (qa→hp_standard_answer / announce→hp_announce, requireAuth+developer↑)

19:33 — malgn-helper-admin → Cloudflare Pages

  • 커밋: d0668e2 (신규 커밋: yes)
  • 메시지: feat(harvest): PMS 문의 수집 미리보기 — scan→검토→commit (/harvest + 메뉴)

20:07 — malgn-helper-admin → Cloudflare Pages

  • 커밋: 3b23c0c (신규 커밋: yes)
  • 메시지: fix(standard-answers): 목록 미리보기에서 HTML 태그 제거(평문 표시)

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

20:16 — malgn-helper-admin → Cloudflare Pages

  • 커밋: 08cd46c (신규 커밋: yes)
  • 메시지: feat(standard-answers): 질문도 TinyMCE 위지위그로 — HTML 태그 렌더 표시

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

20:36 — malgn-helper-admin → Cloudflare Pages

  • 커밋: e16e200 (신규 커밋: yes)
  • 메시지: fix(standard-answers): 서비스 답변 편집·필터에서 공통 토픽도 함께 표시 (토픽 필터 버그)

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

20:44 — malgn-helper-admin → Cloudflare Pages

  • 커밋: f970f90 (신규 커밋: yes)
  • 메시지: fix(standard-answers): 목록 질문 미리보기를 평문화 대신 서식 렌더(줄바꿈 유지·이미지 숨김)

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

21:28 — malgn-helper-mng → Cloudflare Pages

  • 커밋: dbb2c5c (신규 커밋: yes)
  • 메시지: docs(history): 2026-06-18 구현(admin·api) 이력 추가 — 허브 /history 반영

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

Malgn Helper(고객상담 AI 챗봇) 프로젝트 문서·작업 이력