커밋 수 / 개발 기간118건, 2026-03-21 ~ 2026-09-04 (dev 브랜치 기준, 2026-09-04 측정)
git log --oneline | wc -l → 118 / git log --format='%ad' --date=short | sort | sed -n '1p;$p' → 2026-03-21 / 2026-09-04
API 오퍼레이션 수72개 (portfolio 36 / blog 15 / auth 12 / analytics 8 / health 1)
jq '[.paths|to_entries[]|.value|to_entries[]]|length' openapi.json → 72
OpenAPI 성공 응답 스키마 커버리지72개 중 60개가 200/201 JSON 스키마 선언, 12개가 204 → 미선언 0건 (#103 착수 시점에는 미선언 67건)
jq '[.paths|to_entries[]|.value|to_entries[]|select((.value.responses["200"].content["application/json"]//.value.responses["201"].content["application/json"])!=null)]|length' openapi.json → 60 / select(.value.responses["204"]!=null) → 12. 착수 시점 67건은 src/dto/openapi-coverage.spec.ts 주석과 CLAUDE.md '남은 작업' 항목에 기록
DB 규모Prisma 모델 21개, 스키마 4개(auth/blog/portfolio/analytics), 마이그레이션 14회
grep -c '^model ' prisma/schema.prisma → 21 / ls prisma/migrations | grep -c '^2026' → 14
소스 규모src/ TypeScript 7,634줄 (portfolio 2,698 / blog 2,051 / analytics 1,032 / auth 800 / common 570)
wc -l $(git ls-files 'src/**' | grep -E '\.ts$') | tail -1 → 7634 total
테스트spec 파일 11개, 1,465줄 (2026-09-04 재측정). pnpm test는 jest — --passWithNoTests 아님
git ls-files | grep -c 'spec.ts$' → 11 / wc -l $(git ls-files | grep 'spec.ts$') | tail -1 → 1465 / grep '"test"' package.json
병합된 PR13건 (전체 커밋 중 dependabot 자동 커밋 10건 포함)
git log --oneline | grep -c 'Merge pull request' → 13 / git log --format='%an' | sort | uniq -c → Cha Hyun Woo 57, chahyunwoo 51(같은 사람의 다른 git 설정), dependabot[bot] 10
저장소 문서(CLAUDE.md)와 실제 상태의 괴리CLAUDE.md '현재 남은 작업' 4건 중 3건이 이미 해결됐는데 문서만 낡아 있었다 — (1) 포트폴리오 어드민 CRUD: 8개 리소스 전부 변경 라우트 보유(총 23개) → 완료 (2) 응답 DTO '72개 중 1개뿐' → 실제 60개 스키마 + 12개 204 = 미선언 0건 (3) '테스트 0건 / passWithNoTests' → 실제 spec 11파일 1,465줄, 스크립트도 jest 실제로 남은 건 pg_trgm 검색 인덱스 1건뿐이고 그마저 '(필요 시)' 조건부다. 2026-09-04 실측
grep -cE "@(Post|Put|Patch|Delete)\(" src/portfolio/*.controller.ts → 23 / jq '[.paths|to_entries[]|.value|to_entries[]|select((.value.responses["200"].content["application/json"]//.value.responses["201"].content["application/json"])!=null)]|length' openapi.json → 60 / grep -rl trgm prisma/ | wc -l → 0