작업 이력 — 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-security→public-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), 단 servicerefund-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_topic24토픽 재시드(002 10토픽 정리·topic_id무참조 확인) ·hp_service7서비스 재시드 ·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서비스 재시드).
/announcesCRUD + 승인 전이(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