- 계약 채택 — schema 2 → 4. 독자 질문, 후보 36건(PROMOTE 24 · MERGE_INTO 8 · KEEP_IN_SSOT 4), 종류별 칸, kind:slug 관계. 저장소 github-project/ca-tmpl @ 761384d (문서가 인용한 IT 7종이 그 커밋에 있다) - 재선별 결과 기존 24건이 전부 살아남았다. 측정이 Reference 안에 들어 있었지만 독립성 검사를 통과하지 못해 Case 로 빼지 않았다 - 평문 칸의 백틱 제거, 「기준선」을 실제 이름으로, frontmatter 에 source·sourceRevision - 리뷰 39건 반영 — 설명 뒤에 붙은 평가·예고·되풀이·독자 오해 가정을 지웠다. 사실을 담은 절반이 있는 문장은 평가만 뺐다 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
assets — 발표 슬라이드용 스크린샷
../document.md는 실측 수치·실행계획을 텍스트로 담아 그대로 렌더된다. 슬라이드에서 화면 캡처로 보여주고 싶을 때 아래를 여기에 저장한다.
| 파일명 | 캡처 대상 |
|---|---|
feed-nplus1-sql-log.png |
피드 조회 시 highlights 조회가 아이템마다 반복되는 SQL 로그 |
curve-console.png |
=== L1 N=10/100/1000 ... collectionFetches=10/100/1000 ... 곡선 콘솔 |
explain-highlights-index-scan.png |
반복되는 하이라이트 조회 EXPLAIN(Index Scan ... Execution Time 0.173ms) |
explain-feed-items-seqscan.png |
목록 쿼리 EXPLAIN(정렬키 인덱스 없어 Seq Scan + Sort) |
콘솔·실행계획 원문은 ./gradlew :app-bootstrap:test --tests '*FeedPersistenceIT*' 실행 후 src/app-bootstrap/build/test-results/test/TEST-*FeedPersistenceIT*.xml의 system-out에서 뽑을 수 있다.