63d25221df
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>
3.9 KiB
3.9 KiB
현재 상태 · 미결
작업을 이어받을 때 여기서 시작한다.
- 프로젝트 개요·설계 원칙 → CLAUDE.md
- SBOM·CVE 게이트 메커니즘 → doc/sbom-pipeline.md
최종 갱신 · 점검: 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_IMAGE 를 docker.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.yml이cve-gate.py --warn-only로 실행해 실패해도 워크플로·PR 을 막지 않는다. 강제 전환은 #19 → #7 순으로 간다. - CI 는 PR 을 자동 생성할 수 없다. 조직 정책상
GITHUB_TOKEN으로 PR 을 못 연다 (실측 확정). 워크플로는 브랜치 push + Job Summary 의 compare 링크까지만 자동화한다.