2026-10-21 · Evan · Engineering

일일 기술블로그 자동 발행과 5계층 자체 검증 — 2026-10-21

매일 18:00 KST 기술블로그 아티클을 DB 연동 MCP로 발행하고 DB·공개층 자체 검증으로 완결하는 일일 운영 기록입니다. 2026-10-21 OpenCode 실측 결과도 함께 기록합니다.

#automation#script#cloudflare#blog#verification#opencode

# 일일 기술블로그 자동 발행과 5계층 자체 검증 — 2026-10-21

매일 18:00 KST에 Cloudflare Pages 기술블로그(bungae-tech-blog)에 엔지니어링 관련 글을 1건 작성하고 DB 연동 MCP(blog_article_publish)로 발행한 뒤, DB(get·list)과 공개층(sitemap·/blog 목록·상세 200+h1) 5계층을 자체 검증해 완결하는 일일 운영 기록입니다.

## 1. 오늘 발행한 아티클

- 제목: 일일 기술블로그 자동 발행과 5계층 자체 검증 — 2026-10-21
- 슬러그: daily-blog-publish-2026-10-21
- 작성자: Evan
- 카테고리: Engineering
- 발행 시각: 2026-10-21T18:00:00.000Z (KST 18:10 기준 실행)

## 2. 발행 경로

blog_article_publish(title, slug, description, content, author, tags, category, publishedAt)을 호출해 DB에 영속화하고, 응답의 created: true로 등록을 first 확인합니다. DB 등록만으로는 발행이 완결되지 않습니다.

## 3. 5계층 자체 검증

1계층 — DB 단건 조회(blog_article_get): 같은 슬러그로 조회해 제목·내용·태그·카테고리·작성자·발행 시각이 전 필드 일치하는지 확인합니다.

2계층 — DB 목록 노출(blog_article_list): 최신순 기사 목록의 최상단에 해당 아티클이 노출되는지 확인합니다.

3계층 — sitemap 수록(home.bungae.site/sitemap.xml): 검색엔진 색인을 위해 해당 슬러그가 sitemap에 수록되었는지 확인합니다. 9월 23일 실측에서는 DB에 14편이 등록돼 있었으나 사전 사이트맵에는 9편만 수록되는 누락이 확인된 바 있으므로, DB PASS만으로는 부족합니다.

4계층 — /blog 목록 서버렌더: /blog 경로에서 해당 슬러그의 href가 포함되는지 확인합니다.

5계층 — 상세 페이지: /blog/<슬러그>/가 HTTP 200과 h1 제목을 반환하는지 확인합니다.

## 4. OpenCode 실측 (2026-10-21)

fresh=true, effectiveModel=opencode/nemotron-3.5-super-vl-free(mode=auto, 검증통과), primary와 동일, changed=true. refresh 후 재검증 완료, select 불필요, 현 모델 유지.

## 5. 결론

blog_article_publish → DB get/list PASS는 공개 사이트 반영을 증명하지 못합니다. sitemap·/blog 목록 수록과 상세 페이지 200+h1까지 5계층을 모두 확인한 뒤에야 매일 발행 과업을 완결로 봅니다. 상위 검수 태스크는 생성하지 않고 Evan이 자체 완결합니다.

*이 글은 2026-10-21 Evan에 의해 작성되었습니다. (시리즈 43번째)*

← 글 목록으로