{
  "schema_version": 1,
  "site": "KERCHU",
  "timezone": "Asia/Seoul",
  "tracking_started": "2026-10-18",
  "policy": "검증된 서버 배포 사실만 기록. 신규 항목을 추가할 때 기존 기록을 삭제하거나 과거 이력을 임의로 작성하지 않는다.",
  "entries": [
    {
      "id": "2026-10-18-xml-only-feeds",
      "date": "2026-10-18",
      "order": 12,
      "category": "RSS · 사이트맵",
      "title": "RSS·사이트맵 XML 전용 응답 복원",
      "summary": "요청과 달랐던 읽기용 HTML 화면을 제거하고 모든 요청에 XML 원문만 제공하도록 수정했습니다.",
      "details": [
        "HTML 응답 분기와 XSL 스타일시트 연결 제거.",
        "통합·음반·소설·작업 기록 RSS와 분리 사이트맵 구조 유지.",
        "XML 들여쓰기, 최신순 정렬, 기존 GUID·발행일 유지."
      ],
      "links": [
        {
          "label": "RSS XML",
          "url": "/rss.xml"
        },
        {
          "label": "사이트맵 XML",
          "url": "/sitemap.xml"
        }
      ],
      "status": "XML 전용 응답 적용"
    },
    {
      "id": "2026-10-18-readable-feed-views",
      "date": "2026-10-18",
      "order": 11,
      "category": "RSS · 사이트맵",
      "title": "RSS·사이트맵 읽기 화면 및 정렬 보완",
      "summary": "브라우저에서는 분류 선택과 카드 목록을 제공하고, 구독기·검색엔진에는 XML을 제공합니다.",
      "details": [
        "전체·음반·소설·작업 기록 탐색과 XML 원문 보기 제공.",
        "발행일이 같을 때 최신 번호부터 정렬하고 XML 들여쓰기를 적용.",
        "브라우저 화면 8개와 XML 응답 8개, 원문 보기, 구독기 우선순위 검사 통과.",
        "기존 GUID·발행일과 원본 HTML 유지."
      ],
      "links": [
        {
          "label": "RSS",
          "url": "/rss.xml"
        },
        {
          "label": "사이트맵",
          "url": "/sitemap.xml"
        }
      ],
      "status": "운영 배포 및 브라우저 화면·XML 검증 완료"
    },
    {
      "id": "2026-10-18-separated-feeds",
      "date": "2026-10-18",
      "order": 10,
      "category": "RSS · 사이트맵",
      "title": "음반·소설 RSS와 사이트맵 분리 및 자동 생성",
      "summary": "창작물 구독과 홈페이지 작업 기록을 분리하고, 현재 운영 HTML에서 요청 시 자동 생성하도록 배포했습니다.",
      "details": [
        "통합 RSS 19건, 음반 15건, 소설 4건으로 구성. 작업 기록은 별도 피드로 이동.",
        "사이트맵 인덱스와 음반·소설·일반 페이지 사이트맵 분리.",
        "기존 창작물 19개 GUID·발행일 보존. 신규 콘텐츠 자동 발견 및 고정 URN 발급.",
        "운영본 전체 백업 무결성, 회귀 테스트 6개, 공개 XML 8개, 정규 URL 21개 검증 통과.",
        "기존 HTML 39개 파일의 SHA-256 일치 확인. 프론트엔드 변경 없음."
      ],
      "links": [
        {
          "label": "통합 RSS",
          "url": "/rss.xml"
        },
        {
          "label": "음반 RSS",
          "url": "/rss-music.xml"
        },
        {
          "label": "소설 RSS",
          "url": "/rss-novels.xml"
        },
        {
          "label": "작업 기록 RSS",
          "url": "/updates/rss.xml"
        },
        {
          "label": "사이트맵",
          "url": "/sitemap.xml"
        }
      ],
      "status": "운영 배포 및 공개 검증 완료"
    },
    {
      "id": "2026-10-18-album15-rename-canonical-url",
      "date": "2026-10-18",
      "order": 9,
      "category": "음반 주소·검색 정보 정비",
      "title": "15집 윤스데이 공식 주소를 /music/15.html로 통일",
      "summary": "15집 상세주소를 /music/15.html로 변경하고 메인·canonical·OG·구조화 데이터·RSS·XML 사이트맵의 URL을 일괄 갱신했습니다. 기존 주소는 301 이동으로 유지합니다.",
      "details": [
        "기존 /music/yoonsday.html 파일을 공식 /music/15.html로 이전하고 기존 URL은 301 리디렉션",
        "앨범 표지(yoonsday-cover.jpg), 곡 목록·가사·Spotify 등 재생 기능 및 본문 보존",
        "메인 15집 카드와 JSON-LD 구조화 데이터의 링크를 새 주소로 변경",
        "15집 상세페이지 canonical, og:url, JSON-LD MusicAlbum url을 새 주소로 변경",
        "RSS 윤스데이 음반 항목의 link 및 GUID를 새 주소로 통일하고 작업 로그 RSS 1건 추가",
        "XML 사이트맵 15집 항목을 /music/15.html로 수정하고 음반 1~15집 순서 유지",
        "업데이트 게시판 이전 기록의 15집 링크, 생성 프로그램, 자동 대조 프로그램·관리 지침을 새 주소 기준으로 변경",
        "RSS 음반 15·소설 4·공식 채널 1·업데이트 기록 9 = 총 29건, 사이트맵 음반 15·소설 4·메인 1·업데이트 1 = 총 21개 유지"
      ],
      "links": [
        {
          "label": "15집 공식 상세",
          "url": "/music/15.html"
        },
        {
          "label": "홈페이지",
          "url": "/"
        },
        {
          "label": "RSS",
          "url": "/rss.xml"
        },
        {
          "label": "XML 사이트맵",
          "url": "/sitemap.xml"
        }
      ],
      "status": "운영 반영·검증 완료 · 15집 공식 주소 /music/15.html HTTP 200, 기존 /music/yoonsday.html 301 이동, RSS 29건·XML 사이트맵 21개 URL·업데이트 기록 9건 일치, 누락·중복 0건"
    },
    {
      "id": "2026-10-18-remove-top-sitemap-and-main-platform-disclosure",
      "date": "2026-10-18",
      "order": 8,
      "category": "화면·메뉴 정리",
      "title": "상단 사이트맵 메뉴와 메인 15개 음반 카드 감상 플랫폼 보기 제거",
      "summary": "전체 페이지의 상단 메뉴에서 사이트맵 버튼을 삭제하고, 메인 음악 카드 15개 아래의 감상 플랫폼 보기 접이식 메뉴를 전부 제거했습니다.",
      "details": [
        "메인 1개·음반 상세 15개·소설 상세 4개·업데이트 게시판 1개, 총 21개 화면 상단 메뉴의 사이트맵 항목 제거",
        "메인 음반 카드 15개에 있는 감상 플랫폼 보기 펼침 버튼과 부속 링크 138개만 제거",
        "각 음반 상세페이지에 있는 음원 서비스 링크와 재생·곡 선택 기능은 그대로 유지",
        "하단 사이트맵(sitemap.xml)·RSS·업데이트 내역 링크 보존",
        "업데이트 게시판 자동 재생성 프로그램에서도 상단 사이트맵 메뉴를 제거하여 이후 업데이트 때 재발하지 않도록 수정",
        "RSS에 이번 업데이트 기록을 신규 GUID로 추가하고 기존 음반·소설·업데이트 항목 유지"
      ],
      "links": [
        {
          "label": "홈페이지",
          "url": "/"
        },
        {
          "label": "14집",
          "url": "/music/14.html"
        },
        {
          "label": "15집",
          "url": "/music/15.html"
        },
        {
          "label": "XML 사이트맵",
          "url": "/sitemap.xml"
        }
      ],
      "status": "운영 서버 반영 및 검증 완료 · 상단 사이트맵 메뉴 21곳 제거, 메인 15개 음반 카드의 감상 플랫폼 보기 제거, 하단 사이트맵과 음반 상세 감상 기능 유지, RSS 28건 · XML 21개"
    },
    {
      "id": "2026-10-18-ordered-sitemap-and-streaming-merge",
      "date": "2026-10-18",
      "order": 7,
      "category": "탐색·스트리밍·사이트맵 정리",
      "title": "음반 14집·15집 사이트맵 순서 수정 및 별도 스트리밍 목록 통합",
      "summary": "13집 다음에 14집과 15집 윤스데이가 연속으로 표시되도록 사이트맵을 수정하고, 별도 스트리밍 목록을 메인 음악 카드에 통합했습니다.",
      "details": [
        "XML 사이트맵 순서를 메인, 음반 1~14집, 윤스데이 15집, 소설 4편, 업데이트 게시판으로 정리",
        "메인 15개 음반 카드에 플랫폼 감상 링크를 접이식으로 추가하고 기존 외부 URL 유지",
        "별도 streaming.html은 /#music으로 301 이동하게 정리하고 XML 사이트맵·공통 메뉴에서 제거",
        "음반 15개 상세페이지의 재생·곡 선택·외부 감상 링크는 변경하지 않고 유지",
        "RSS에 이번 변경 로그 1건을 고유 GUID로 추가하고 원래 26개 항목 유지",
        "향후 사이트맵 순서와 중복 스트리밍 파일 존재까지 자동 검사하도록 변경"
      ],
      "links": [
        {
          "label": "메인 음악 목록",
          "url": "/#music"
        },
        {
          "label": "14집",
          "url": "/music/14.html"
        },
        {
          "label": "15집 윤스데이",
          "url": "/music/15.html"
        },
        {
          "label": "XML 사이트맵",
          "url": "/sitemap.xml"
        }
      ],
      "status": "운영 서버 배포 및 검증 완료 · 음반 1~15집 사이트맵 순서 정상, XML 21개, RSS 27건, 외부 감상 링크 138개 유지, streaming.html 301 이동, 상세 19개 정상"
    },
    {
      "id": "2026-10-18-content-count-rss-sitemap-audit",
      "date": "2026-10-18",
      "order": 6,
      "category": "콘텐츠·RSS·사이트맵 검증",
      "title": "음반 15집·소설 4편·RSS·사이트맵 등록 수량 전수 대조",
      "summary": "메인 목록·실제 상세파일·RSS·XML 사이트맵의 음반 15집과 소설 4편을 URL 단위로 확인하고, RSS에서 누락된 홈페이지 업데이트 기록을 보완했습니다.",
      "details": [
        "음반: 메인 15집 = 상세페이지 15개 = RSS 음반 15건 = XML 사이트맵 음반 15건 (누락·중복 0건)",
        "소설: 메인 4편 = 상세페이지 4개 = RSS 소설 4건 = XML 사이트맵 소설 4건 (누락·중복 0건)",
        "업데이트 기록: 기존 게시판 5건에 이번 점검 1건 추가하여 6건, RSS에도 6건을 각각 식별 가능한 GUID로 반영",
        "RSS 총 26건 = 음반 15 + 소설 4 + 업데이트 기록 6 + 공식 채널 1",
        "XML 사이트맵 총 22개 URL = 음반 15 + 소설 4 + 메인 1 + 스트리밍 1 + 업데이트 게시판 1",
        "RSS와 사이트맵은 서로 수집 대상이 달라 전체 건수가 같지 않아도 되며, 음반·소설 개수와 URL의 누락·중복 여부를 별도 검사",
        "향후 업데이트 때마다 자동 대조 스크립트에서 누락·중복을 검사하고, 불일치하면 재생성 단계가 실패하도록 설정"
      ],
      "links": [
        {
          "label": "등록 현황 및 업데이트 게시판",
          "url": "/updates/#inventory-status"
        },
        {
          "label": "RSS",
          "url": "/rss.xml"
        },
        {
          "label": "XML 사이트맵",
          "url": "/sitemap.xml"
        },
        {
          "label": "대조 결과 JSON",
          "url": "/updates/inventory.json"
        }
      ],
      "status": "운영 서버 검증 완료 · 음반 15집·소설 4편 전수 일치, RSS 26건·XML 22개, 상세 19개 HTTP 200, URL 누락·중복 0건"
    },
    {
      "id": "2026-10-18-remove-html-sitemap-keep-xml",
      "date": "2026-10-18",
      "order": 5,
      "category": "구조·탐색",
      "title": "불필요한 HTML 사이트맵 삭제, sitemap.xml 단일화",
      "summary": "방문자용 중복 HTML 사이트맵을 제거하고 홈페이지 메뉴·하단의 사이트맵 링크를 실제 XML 사이트맵으로 통일했습니다.",
      "details": [
        "상단·하단 사이트맵 링크를 /sitemap/에서 /sitemap.xml로 일괄 수정",
        "기존 /sitemap/ 및 /sitemap/index.html 방문자는 XML 사이트맵으로 301 이동하도록 정리",
        "검색엔진용 sitemap.xml 파일과 RSS, 앨범·소설 고유 주소는 유지",
        "XML 사이트맵에 등록된 불필요한 /sitemap/ 주소를 제거",
        "updates/rebuild.py의 기본 링크와 페이지 목록도 바꿔 다음 업데이트 때 HTML 사이트맵이 재생성되지 않도록 수정"
      ],
      "links": [
        {
          "label": "XML 사이트맵",
          "url": "/sitemap.xml"
        },
        {
          "label": "홈페이지",
          "url": "/"
        },
        {
          "label": "업데이트 게시판",
          "url": "/updates/"
        }
      ],
      "status": "운영 서버 반영 완료 · HTML 사이트맵 제거, XML 사이트맵 정상, 수정 파일 26개 검증 통과"
    },
    {
      "id": "2026-10-18-footer-sitemap-duplicate",
      "date": "2026-10-18",
      "order": 4,
      "category": "화면·탐색",
      "title": "하단 중복 사이트맵 링크 제거",
      "summary": "홈페이지 하단에 중복 표시되던 사이트맵과 XML 사이트맵 메뉴를 정리해 방문자용 사이트맵 하나만 남겼습니다.",
      "details": [
        "메인·음악 상세·소설 상세·스트리밍·사이트맵의 하단에서 XML 사이트맵 버튼을 제거하고 사이트맵·RSS·업데이트 내역 세 가지 링크만 유지",
        "업데이트 게시판 하단에서도 동일한 중복 링크 제거",
        "기존 HTML 사이트맵(/sitemap/) 안의 XML 사이트맵 링크와 검색엔진용 /sitemap.xml 파일은 그대로 보존",
        "공통 하단 자동 생성 프로그램 updates/rebuild.py도 수정해 이후 업데이트 때 중복 표시가 재발하지 않도록 조치"
      ],
      "links": [
        {
          "label": "홈페이지 하단",
          "url": "/"
        },
        {
          "label": "XML 사이트맵",
          "url": "/sitemap.xml"
        },
        {
          "label": "업데이트 내역",
          "url": "/updates/"
        }
      ],
      "status": "운영 서버 반영 완료 · 공개 파일 25개 일치 검증 통과"
    },
    {
      "id": "2026-10-18-update-history",
      "date": "2026-10-18",
      "order": 3,
      "category": "운영·공지",
      "title": "업데이트 내역 게시판 및 공통 하단 메뉴 신설",
      "summary": "방문자와 다음 작업자가 변경 내역을 확인할 수 있도록 공개 업데이트 게시판과 관리 기록 체계를 구축했습니다.",
      "details": [
        "메인·앨범·소설·스트리밍·사이트맵 등 22개 공개 HTML 하단에 사이트맵·XML 사이트맵·RSS·업데이트 내역 링크 추가",
        "각 페이지 최하단에 최종 업데이트 날짜를 한국시간 기준으로 표시",
        "공개 게시판 /updates/ 와 구조화된 기록 /updates/history.json 개설",
        "다음 업데이트 시 기존 기록 확인, 백업, 변경 사항 추가, 재생성, 사이트맵·RSS 검증을 수행하도록 관리 지침과 재생성 스크립트 마련"
      ],
      "links": [
        {
          "label": "업데이트 게시판",
          "url": "/updates/"
        },
        {
          "label": "변경 기록 JSON",
          "url": "/updates/history.json"
        },
        {
          "label": "관리 지침",
          "url": "/updates/MAINTENANCE.md"
        }
      ],
      "status": "운영 서버 반영 완료 · 공개 파일 28개 일치 검사 통과"
    },
    {
      "id": "2026-10-18-seo-rss-sitemap",
      "date": "2026-10-18",
      "order": 2,
      "category": "검색·공유",
      "title": "OG·RSS·사이트맵 전수 점검 및 오류 수정",
      "summary": "공식 사이트 공유 정보, 스트리밍 페이지의 OG 태그, RSS와 XML 사이트맵을 서버 응답 기준으로 점검하고 정비했습니다.",
      "details": [
        "홈페이지 OG 대표 이미지가 PNG 1200×630으로 정상 응답하는지 확인",
        "스트리밍 페이지의 OG 제목·설명·공유 URL·이미지 태그 보완",
        "RSS의 오래된 채널 목록 링크를 메인의 공식 채널 영역으로 정리하고 기존 구독자 식별값 유지",
        "XML 사이트맵의 갱신일 정리 및 14번째 앨범 이미지 주소 등록",
        "윤스데이 공유 이미지의 파일 형식을 실제 JPEG로 수정하고 OG 태그를 HTML 앞부분에 배치"
      ],
      "links": [
        {
          "label": "RSS",
          "url": "/rss.xml"
        },
        {
          "label": "XML 사이트맵",
          "url": "/sitemap.xml"
        },
        {
          "label": "윤스데이 상세",
          "url": "/music/15.html"
        }
      ],
      "status": "공개 페이지·이미지·XML 형식 검사 완료"
    },
    {
      "id": "2026-10-18-navigation",
      "date": "2026-10-18",
      "order": 1,
      "category": "구조·탐색",
      "title": "중복 목록 통합 및 상세페이지 복귀 링크 정비",
      "summary": "메인과 별도 목록에 중복 표시되던 음악·소설·채널 이동 경로를 통합했습니다.",
      "details": [
        "/music/, /novels/, /channels/ 주소는 메인의 해당 영역으로 301 이동하도록 통일",
        "앨범 상세 15개 및 소설 상세 4개의 고유 URL과 콘텐츠 유지",
        "상세페이지의 목록 복귀 링크를 메인의 해당 영역으로 통일",
        "원본 백업 후 운영 파일을 적용하고 공개 서버의 파일 내용과 이동 경로를 검증"
      ],
      "links": [
        {
          "label": "메인 음악 영역",
          "url": "/#music"
        },
        {
          "label": "메인 소설 영역",
          "url": "/#novels"
        },
        {
          "label": "메인 공식 채널",
          "url": "/#channels"
        }
      ],
      "status": "운영 서버 배포 및 검증 완료"
    }
  ]
}
