o2o-site-AEO/solution/site/scripts/mockup/vendor/retired
Mina Choi 2824dedd42 [fix] site/mockup: 번들을 머지본으로 갈아 끼우고, 점검을 그날 결정에 맞춘다
머지는 됐는데 이미지를 안 구워 번들이 머지 이전 것이었다 — 소스에는 StorySection·DailySection 이
있는데 번들에는 없어, payload 에 값이 있어도 화면이 비었다. 목업은 자기 번들을 들고 다니므로
렌더러를 고치면 **vendor/ 의 css·js 한 벌만** 갈아 끼우면 된다(다시 만드는 게 아니다).

점검 6건이 실패했는데 그중 5건은 코드가 아니라 **점검이 낡은 것**이었다. 2026-09-14 결정:
오늘의 한 장은 탭을 세우지 않고(HIDE_TABS), 도시 엽서 4장은 손님이 쓰는 엽서로 바뀌었고,
군산 읽기는 무작위 5~6꼭지 카로셀이다(신문 조판은 걷어냈다). 점검만 옛 기준을 보고 있었다.

- vendor/: index-DQreaXOf.css · index-D9cPXCE3.js 로 교체, 옛 번들은 vendor/retired/
- audit-all.mjs: 군산 읽기(재료·화면·출처) · 오늘의 한 장 숨김 · 엽서 쓰기로 항목 정리.
  선택자도 실제 id(#w4d-reading-panel)로 — 옛 #w4d-reading 을 보느라 0꼭지로 세고 있었다
- README: 번들 갈아 끼우는 절차와 "점검 기준이 결정을 따라가야 한다" 표 추가

검증: node audit-all.mjs 45개 전부 통과

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-14 20:01:28 +09:00
..
index-C3fFNl3r.css [fix] site/mockup: 번들을 머지본으로 갈아 끼우고, 점검을 그날 결정에 맞춘다 2026-09-14 20:01:28 +09:00
index-D9cPXCE3.js [fix] site/mockup: 번들을 머지본으로 갈아 끼우고, 점검을 그날 결정에 맞춘다 2026-09-14 20:01:28 +09:00
index-DDxwteyn.js [fix] site/mockup: 번들을 머지본으로 갈아 끼우고, 점검을 그날 결정에 맞춘다 2026-09-14 20:01:28 +09:00
index-DQreaXOf.css [fix] site/mockup: 번들을 머지본으로 갈아 끼우고, 점검을 그날 결정에 맞춘다 2026-09-14 20:01:28 +09:00
index-DUeGvBPS.js [feat] site/mockup: 시연본 갱신 — 주변 맛집 31곳·국가유산 야행·차 동선 분기·번들 최신화 2026-09-14 17:07:01 +09:00
index-k3f3eOzb.css [feat] site/mockup: 시연본 갱신 — 주변 맛집 31곳·국가유산 야행·차 동선 분기·번들 최신화 2026-09-14 17:07:01 +09:00
README.md [feat] site/mockup: 시연본 갱신 — 주변 맛집 31곳·국가유산 야행·차 동선 분기·번들 최신화 2026-09-14 17:07:01 +09:00

물러난 번들 — 지우지 않는다

여기 있는 파일은 더 이상 아무 HTML 도 가리키지 않는 옛 번들이다. 그래도 서버에는 올린다.

왜

/s/ 는 5분 캐시(max-age=300)다. 새 index.html 을 올려도 그동안 손님 브라우저에는 옛 HTML 이 남아 있고, 그 HTML 은 옛 해시 이름으로 css·js 를 부른다. 그 파일을 서버에서 지우면 그 손님에게는 스타일도 스크립트도 404 다 — 화면은 뜨는데 헤더가 안 붙고 푸터 색이 빠진 민짜 문서가 된다.

실측(2026-09-14): 번들을 갈면서 옛 두 개를 docker exec rm 으로 지웠더니 바로 그 증상이 났다. "헤더가 스티키가 아니고 푸터가 투명해졌다" — 파일이 사라진 것이지 CSS 가 바뀐 게 아니다. 제품 쪽 프리렌더가 옛 자산을 30일 보관하는 것도 같은 이유다(prerender.ts ASSET_RETENTION_DAYS).

규칙

  • 번들을 갈면 옛 파일을 지우지 말고 이리로 옮긴다. vendor/ 뿌리에는 현재 한 벌만 둔다 (patch_stay.py 가 뿌리에 js·css 각 하나임을 확인한다).
  • 배포할 때 뿌리와 이 폴더를 둘 다 서버 vendor/ 에 넣는다: docker cp vendor/retired/. $C:/app/solution/site/out/s/stay/vendor/
  • 30일쯤 지나 캐시가 다 빠지면 지워도 된다. 급할 것 없다 — 합쳐서 450KB 다.