[{"data":1,"prerenderedAt":291},["ShallowReactive",2],{"doc:\u002Fhistory\u002Fhistory.20260619":3},{"id":4,"title":5,"body":6,"description":256,"extension":284,"meta":285,"navigation":286,"path":287,"seo":288,"stem":289,"__hash__":290},"docs\u002Fhistory\u002Fhistory.20260619.md","작업 이력 — 2026-06-19",{"type":7,"value":8,"toc":255},"minimark",[9,13,17,27,58,67,75,85,89,95,105,109,115,125,131,141,147,157,163,173,178,188,194,219,223,229,239,245],[10,11,5],"h1",{"id":12},"작업-이력-2026-06-19",[14,15,16],"h2",{"id":16},"배포",[18,19,21,22,26],"h3",{"id":20},"_0924-malgn-helper-admin-cloudflare-pages","09:24 — ",[23,24,25],"code",{},"malgn-helper-admin"," → Cloudflare Pages",[28,29,30,38,46,49,55],"ul",{},[31,32,33,34,37],"li",{},"커밋: ",[23,35,36],{},"31900b7"," (신규 커밋: yes)",[31,39,40,41,45],{},"메시지: feat(standard-answers): 상세·편집을 모달→전용 페이지(\u002Fstandard-answers\u002F",[42,43,44],"span",{},"id",")로 전환",[31,47,48],{},"목록 standard-answers.vue → standard-answers\u002Findex.vue (모달 제거, 행클릭→페이지 이동)",[31,50,51,52,54],{},"신규 standard-answers\u002F",[42,53,44],{},".vue: 본문(질문·답변 TinyMCE)·분류·승인 워크플로 풀페이지",[31,56,57],{},"\u002Fbots 패턴과 동일 구조",[59,60,61,62],"p",{},"Co-Authored-By: Claude Opus 4.8 (1M context) ",[63,64,66],"a",{"href":65},"mailto:noreply@anthropic.com","noreply@anthropic.com",[18,68,70,71,74],{"id":69},"_1222-malgn-helper-api-cloudflare-workers","12:22 — ",[23,72,73],{},"malgn-helper-api"," → Cloudflare Workers",[28,76,77,82],{},[31,78,33,79,37],{},[23,80,81],{},"9f71ac2",[31,83,84],{},"메시지: feat(harvest): 수집 본문 단락 보존(htmlToParagraphs\u002FparagraphsToHtml) + reflow-harvest 보정 엔드포인트",[59,86,61,87],{},[63,88,66],{"href":65},[18,90,92,93,74],{"id":91},"_1229-malgn-helper-api-cloudflare-workers","12:29 — ",[23,94,73],{},[28,96,97,102],{},[31,98,33,99,101],{},[23,100,81],{}," (신규 커밋: no)",[31,103,104],{},"메시지: chore(harvest): reflow-harvest 일회용 보정 라우트 재배포(실행용)",[59,106,61,107],{},[63,108,66],{"href":65},[18,110,112,113,74],{"id":111},"_1333-malgn-helper-api-cloudflare-workers","13:33 — ",[23,114,73],{},[28,116,117,122],{},[31,118,33,119,37],{},[23,120,121],{},"6867d4a",[31,123,124],{},"메시지: feat(standard-answers): GET 정렬 파라미터 sort(updated|created|usage) 추가",[18,126,128,129,26],{"id":127},"_1334-malgn-helper-admin-cloudflare-pages","13:34 — ",[23,130,25],{},[28,132,133,138],{},[31,134,33,135,37],{},[23,136,137],{},"63004ba",[31,139,140],{},"메시지: feat(standard-answers): 목록 정렬 컨트롤(수정일순\u002F등록일순) 추가",[18,142,144,145,74],{"id":143},"_1342-malgn-helper-api-cloudflare-workers","13:42 — ",[23,146,73],{},[28,148,149,154],{},[31,150,33,151,37],{},[23,152,153],{},"cab2b80",[31,155,156],{},"메시지: chore(harvest): 일회용 reflow-harvest·harvest-curate-v2 라우트 admin 게이트(무인증 노출 차단, 보정 완료)",[18,158,160,161,74],{"id":159},"_1414-malgn-helper-api-cloudflare-workers","14:14 — ",[23,162,73],{},[28,164,165,170],{},[31,166,33,167,101],{},[23,168,169],{},"94c4d7f",[31,171,172],{},"메시지: feat(standard-answers): 정렬 방향(asc\u002Fdesc)+사용순 — sort=field_dir 파싱",[18,174,160,176,26],{"id":175},"_1414-malgn-helper-admin-cloudflare-pages",[23,177,25],{},[28,179,180,185],{},[31,181,33,182,37],{},[23,183,184],{},"4491910",[31,186,187],{},"메시지: feat(standard-answers): 정렬 필드(수정일\u002F등록일\u002F사용순)+방향 토글",[18,189,191,192,26],{"id":190},"_1525-malgn-helper-admin-cloudflare-pages","15:25 — ",[23,193,25],{},[28,195,196,201,207,210,216],{},[31,197,33,198,37],{},[23,199,200],{},"137e9e3",[31,202,203,204,206],{},"메시지: feat(announces): 상세·편집을 모달→전용 페이지(\u002Fannounces\u002F",[42,205,44],{},") + 질문·본문 TinyMCE(띄어쓰기·단락 렌더)",[31,208,209],{},"announces.vue → announces\u002Findex.vue (모달 제거, 행클릭→상세 이동, 미리보기 v-html)",[31,211,212,213,215],{},"announces\u002F",[42,214,44],{},".vue 신규: 편집 전용(생성 없음), 본문\u002F질문 AdminRichEditor, 분류·승인·삭제",[31,217,218],{},"본문 데이터는 reflow 보정으로 단락 복원됨",[59,220,61,221],{},[63,222,66],{"href":65},[18,224,226,227,74],{"id":225},"_1845-malgn-helper-api-cloudflare-workers","18:45 — ",[23,228,73],{},[28,230,231,236],{},[31,232,33,233,37],{},[23,234,235],{},"2d2cb18",[31,237,238],{},"메시지: feat(auth): 맑은오피스 SSO 엔드포인트 GET \u002Fauth\u002Fsso (ek=SHA-256(email_yyyyMMdd_MALGNHELPER) 검증→세션 발급)",[18,240,242,243,26],{"id":241},"_1846-malgn-helper-admin-cloudflare-pages","18:46 — ",[23,244,25],{},[28,246,247,252],{},[31,248,33,249,37],{},[23,250,251],{},"021ea01",[31,253,254],{},"메시지: feat(auth): \u002Fslogin 맑은오피스 SSO 핸드오프 페이지 + ssoLogin + 미들웨어 공개경로",{"title":256,"searchDepth":257,"depth":257,"links":258},"",3,[259],{"id":16,"depth":260,"text":16,"children":261},2,[262,264,266,268,270,272,274,276,278,280,282],{"id":20,"depth":257,"text":263},"09:24 — malgn-helper-admin → Cloudflare Pages",{"id":69,"depth":257,"text":265},"12:22 — malgn-helper-api → Cloudflare Workers",{"id":91,"depth":257,"text":267},"12:29 — malgn-helper-api → Cloudflare Workers",{"id":111,"depth":257,"text":269},"13:33 — malgn-helper-api → Cloudflare Workers",{"id":127,"depth":257,"text":271},"13:34 — malgn-helper-admin → Cloudflare Pages",{"id":143,"depth":257,"text":273},"13:42 — malgn-helper-api → Cloudflare Workers",{"id":159,"depth":257,"text":275},"14:14 — malgn-helper-api → Cloudflare Workers",{"id":175,"depth":257,"text":277},"14:14 — malgn-helper-admin → Cloudflare Pages",{"id":190,"depth":257,"text":279},"15:25 — malgn-helper-admin → Cloudflare Pages",{"id":225,"depth":257,"text":281},"18:45 — malgn-helper-api → Cloudflare Workers",{"id":241,"depth":257,"text":283},"18:46 — malgn-helper-admin → Cloudflare Pages","md",{},true,"\u002Fhistory\u002Fhistory.20260619",{"title":5,"description":256},"history\u002Fhistory.20260619","aDgyJeiGwi76wWiYsPhZ7sVRQgEClQOchc4LlJDeKc4",1783932938622]