SSOT 이월 항목 해소 — 내부 키 네이밍 개정·Sprint-250 ADR frontmatter·ADR 카운트·c-ares CVE
요약Sprint 249~250 이월 문서 개정 3건 처리. ①CLAUDE.md Q-5 내부 키 네이밍 SSOT 개정 — Gateway→MSA(`INTERNAL_KEY_<TARGET>`) / 서비스 간 직접 호출(`<TARGET>_SERVICE_KEY`) 호출 경로별 2패턴 명시(Sprint 249 결정 반영). ②Sprint-250 ADR KR+EN frontmatter 누락 추가(Critic P2 해소). ③docs/adr/README.md ADR 카운트 188개 갱신 + blog/Dockerfile c-ares CVE 해소. 레포 커밋 3건(04b74bb·854c90e·ee4d4fe), Critic CLEAN.
날짜: 2026-07-17
목표
Sprint 249~250에서 이월된 문서 개정 항목 완전 해소:
- CLAUDE.md Q-5 내부 키 네이밍 SSOT가 단일 패턴(
<SERVICE>_SERVICE_KEY)만 기술 → 실제 코드의 두 패턴(Gateway 아웃바운드·서비스 간 직접 호출) 반영 미흡 - Sprint-250 ADR KR+EN frontmatter 항목 누락 → Critic P2 미결
- docs/adr/README.md ADR 카운트 구식 + blog/Dockerfile c-ares CVE 잔존
결정 사항
D1. 내부 키 네이밍 SSOT 2-패턴 분리 (CLAUDE.md Q-5 개정)
기존: 단일 패턴 <SERVICE>_SERVICE_KEY만 명시
변경: 호출 경로별 2패턴으로 분리
| 방향 | 환경변수 패턴 | 예시 | SSOT 코드 파일 |
|---|---|---|---|
| 인바운드 (자기 서비스 키 검증) | INTERNAL_API_KEY | — | 모든 서비스 공통 |
| 아웃바운드 — Gateway → MSA | INTERNAL_KEY_<TARGET> | INTERNAL_KEY_PROBLEM | services/gateway/src/common/config/service-keys.config.ts |
| 아웃바운드 — 서비스 간 직접 호출 | <TARGET>_SERVICE_KEY | PROBLEM_SERVICE_KEY | services/submission/src/common/problem-service-client/problem-service-client.ts, services/github-worker/src/config.ts |
근거: Sprint 248 인시던트 재발 방지 — SealedSecret 봉인 시 CLAUDE.md 예시가 아닌 실제 코드 config 필드명을 SSOT로 사용해야 한다는 교훈(Sprint 248)을 SSOT 자체에 명문화.
D2. Sprint-250 ADR frontmatter 누락 항목 추가
docs/adr/sprints/sprint-250.md 및 docs/adr-en/sprints/sprint-250.md 모두 frontmatter 항목(related_memory 등) 누락 → Critic P2 지적 해소.
D3. 문서·CVE 갱신
docs/adr/README.md: ADR 카운트 188개로 정확화blog/Dockerfile: c-ares CVE 취약 버전 해소
완료 항목
| 커밋 | PR | 내용 |
|---|---|---|
04b74bb | — | docs/adr/README.md ADR 카운트 188개 갱신 + blog c-ares CVE 해소 |
854c90e | #468 | CLAUDE.md Q-5 내부 키 네이밍 SSOT 개정 (2패턴 분리) |
ee4d4fe | #469 | Sprint-250 ADR KR+EN frontmatter 누락 추가 + ADR 카운트 정합 |
Critic 결과: Codex gpt-5.5 (--base 04b74bb) — 문서 전용 변경 → findings 0건 CLEAN.