Files
service-catalog/MEMORY.md
T
wbsong111 63d25221df MEMORY.md 를 상태 파일로 되돌린다 (264줄 → 64줄)
MEMORY.md 는 3번째 줄에서 "지금 시점의 상태와 다음에 할 일만 담는다" 고 스스로 선언하는데
실제로는 완료 기록이 쌓여 264줄이 됐고, 이슈 참조가 한 건도 없었다. 그 결과:

- SBOM_PIPELINE_IMAGE 재빌드가 파일 안에서 3번 반복된다 (215·234·262줄)
- 게이트 강제력 전환이 2번 반복되고, 그 내용은 이미 이슈 #7 체크리스트와 #19 에 있다
- argo-cd 절 55줄은 커밋 33e91c0 메시지의 요약본이다
- 베이스 OS 정책·"벤더 릴리스 노트 믿지 말 것" 은 본문이 스스로 "이미 image-authoring.md /
  skill 에 있다" 고 밝히면서 중복 서술한다

같은 사실이 여러 곳에 있으면 나중에 어느 쪽이 맞는지가 새 문제가 된다.

성격별로 목적지를 정하고 내보냈다
---------------------------------
  추적이 필요한 미결   →  GitHub 이슈 (#29~#33 발행, MEMORY.md 엔 한 줄 링크)
  재발 방지 교훈       →  .claude/ 문서·skill
  단순 완료 기록       →  삭제 (커밋·PR·images/<image>/README.md 가 권위 있는 기록)

교훈 이관 — 아직 어디에도 없던 것만 옮겼다:

- image-authoring.md: 베이스 OS 를 CVE 수치만으로 고르면 배포에서 죽는다.
  cp --update=none(coreutils 9.3+) 실측과, 차트가 실행하는 명령을 verify.sh 에서
  재현하라는 규칙. 원칙 2 의 "BCI 버전은 실측해서 정한다" 바로 뒤에 붙였다.
- self-build-image skill: 같은 날 재빌드하면 태그가 겹쳐 노드 캐시가 반영을 막는다.
  근본 해결은 #31, 여기엔 우회법만.
- cve-remediation skill: 레버 표를 보기 전에 "이 컴포넌트가 필요하긴 한가" 를 먼저 묻는다.
  dex 가 한 줄로 차단 57건(58%)이었다. 가장 값싼 레버인데 표에 없어서 새 단계로 넣었다.

유지 규칙을 명시했다
--------------------
트리거는 시간이 아니라 상태다 — "1달 지났으니 정리" 는 아무도 시작하지 않고, 날짜로 자르면
오래됐지만 유효한 미결까지 잘린다. 항목이 "다음에 할 일" 이 아니게 되는 순간 내보낸다.
다만 놓친 것을 걷어내기 위해 월 1회 점검하고 파일 상단의 점검 날짜를 갱신한다.

규칙은 MEMORY.md 자체와 CLAUDE.md("작업 기록을 어디에 남기는가") 양쪽에 뒀다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 16:56:05 +09:00

3.9 KiB

현재 상태 · 미결

작업을 이어받을 때 여기서 시작한다.

최종 갱신 · 점검: 2026-08-19


이 파일의 유지 규칙

지금 시점의 상태와 다음에 할 일만 담는다. 완료된 작업의 경위는 담지 않는다 — 커밋 메시지·PR 설명·images/<image>/README.md 가 이미 권위 있는 기록이고, 복사본을 두면 나중에 어느 쪽이 맞는지가 새 문제가 된다.

항목이 "다음에 할 일" 이 아니게 되면 셋 중 하나로 내보내고 여기서 지운다.

성격 목적지
추적·논의·배정이 필요한 미결 GitHub 이슈 — 여기엔 한 줄 링크만
재발 방지 교훈 .claude/pitfalls.md · .claude/image-authoring.md · 해당 skill
단순 완료 기록 삭제

트리거는 시간이 아니라 상태다. 다만 놓친 것을 걷어내기 위해 월 1회 점검한다 — 30일 넘게 남아 있는 항목이 있으면 위 셋 중 하나로 보내고 위의 "점검" 날짜를 갱신한다.


열린 이슈

# 내용 상태
#29 airflow 반복 재배포 — 비결정적 webserver secret key + migrations job TTL 루프 조치안 확정, 로컬 미커밋
#31 자체 빌드: 같은 날 재빌드 시 태그 충돌로 노드 캐시가 반영을 막는다 선택지 3안, 미결정
#30 SBOM_PIPELINE_IMAGEdocker.io/paasup 으로 이전할지 수동 작업 3종, 미결정
#32 adc 이미지 배포 검증 미완료 (게이트만 PASS) apisix-ingress-controller 와 함께 배포 필요
#33 이미지 문서가 이 레포에 없는 doc/decisions·doc/analysis 를 인용 우선순위 낮음
#19 카탈로그 CVE 트리아지 기준선 게이트 강제 전환의 선행 조건
#7 CVE 조치 파이프라인 (상위 추적 이슈) 게이트 강제력 전환 결정이 여기 있다
#3 · #9 SBOM 파이프라인 도입 · postgresql-ha 대체 본문상 완결로 보인다 — 닫을지 확인 필요

진행 중

  • PR #28 — argo-cd CVE 조치(7.7.0 제거 · dex 비활성 · 자체 빌드). 리뷰 대기.

아직 이슈로 만들지 않은 것

  • argo-cd/7.8.11 삭제 여부 — 카탈로그 차단 CVE 239건이 전부 이 동결 버전 몫이고, 지우면 게이트가 PASS 로 떨어진다. 직전 버전을 없애는 결정이라 PR #28 에서 보류했다.
  • 자체 빌드 이미지의 정식 반영 경로 — argocd 는 로컬에서 빌드·push 했다. CI build-image.yml(workflow_dispatch)로 다시 태울지, 로컬 push 로 끝낼지.
  • doc/define-chart-resources.md 에 cloudnative-pg·cnpg-cluster·etcd 전용 절이 없다 — 리소스 프로파일 자체는 각 차트의 dip-resources-quotas.yaml 에 있으므로 누락은 아니다. 이 문서만 보는 사람이 세 차트를 못 찾는 것뿐이라 급하지 않다.

알아둘 현재 상태

  • 게이트는 warn-only 다. sbom.ymlcve-gate.py --warn-only 로 실행해 실패해도 워크플로·PR 을 막지 않는다. 강제 전환은 #19 → #7 순으로 간다.
  • CI 는 PR 을 자동 생성할 수 없다. 조직 정책상 GITHUB_TOKEN 으로 PR 을 못 연다 (실측 확정). 워크플로는 브랜치 push + Job Summary 의 compare 링크까지만 자동화한다.