4e2e57cebc
render_summary_table() 을 이미지 알파벳순(리포트 파일명 순) 대신 차트 이름 오름차순으로 묶고, 같은 차트 안에서는 실효 CRITICAL/HIGH 내림차순으로 정렬한다. scan-sbom.sh 의 trivy-summary.md 는 이미 차트별로 묶여 있는데 cve-gate.md/brief 는 아니어서 두 리포트의 정렬 기준이 서로 달랐다. 이 과정에서 report_stem_to_image() 와 같은 종류의 문제를 발견해 같이 고쳤다 — 이미지 하나가 여러 차트에 쓰이면 리포트 파일명→차트 매핑이 마지막 차트만 남겨, 차트별로 묶었을 때 다른 차트의 노출이 조용히 빠졌을 것이다(scan-sbom.sh 에서 실측으로 확인된 것과 동일한 패턴). 신규 charts_of_image() 로 sbom-index.tsv 를 전부 읽어 이미지→차트 목록을 보존하고, render_summary_table 표시에서만 이걸로 펼친다 — 게이트 판정(evaluate 등)에 쓰이는 대표 차트/버전은 안 건드린다. 로컬에서 (a) flowise/cnpg-cluster/etcd 3개 차트 실제 데이터로 정렬 확인 (b) 이미지 하나가 차트 두 개에 쓰이는 합성 케이스로 양쪽에 다 나오는지 확인. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>