# sub-scope 01 네 리프의 소스 세트와 계수
  messaging-core-api         main=85  test=8   main줄수=3948  소스세트: main test 
  messaging-transport-spi    main=13  test=4   main줄수=776   소스세트: main test 
  messaging-reliability-api  main=13  test=0   main줄수=817   소스세트: main 
  messaging-runtime-core     main=6   test=4   main줄수=787   소스세트: main test 

# 그 817 줄의 내역
  공백 79 · 주석 415 · 코드 323 · 합계 817

# 열세 타입의 선언 형태와 줄 수
  ClaimCheckReference.java           record         50 줄
  IdempotentMessageHandler.java      interface      33 줄
  InboxRecord.java                   record         27 줄
  InboxRepository.java               interface      53 줄
  InboxResult.java                   enum           45 줄
  OutboxCanonicalMetadata.java       record         158 줄
  OutboxLease.java                   record         42 줄
  OutboxRecord.java                  record         140 줄
  OutboxRepository.java              interface      152 줄
  OutboxStatus.java                  enum           37 줄
  OutboxTransitionResult.java        enum           24 줄
  ReliableMessagePublisher.java      interface      27 줄
  TransactionalMessageAction.java    interface      29 줄

# 실행 가능한 규칙을 가진 유일한 열거형
  InboxResult.java:6  * <p>Three outcomes, not two. Collapsing {@link #ALREADY_APPLIED} and {@link #CLAIMED_ELSEWHERE}
  InboxResult.java:29  CLAIMED_ELSEWHERE(false);
  InboxResult.java:42  public boolean isSafeToSettle() {
  OutboxStatus 와 OutboxTransitionResult 의 메서드 수 :
    OutboxStatus             0 개
    OutboxTransitionResult   0 개
  전이 규칙이 실제로 선언된 자리 :
  OutboxRepository.java:70  * Records a confirmed publication, only if this lease still owns the row.
  OutboxRepository.java:72  * @return {@link OutboxTransitionResult#STALE_LEASE} when another relay has taken it
  OutboxRepository.java:87  /** Records an ambiguous outcome, only if this lease still owns the row. */

# 원문 §3.6 이 지목한 구현 리프 이름과, 같은 문서 §7 이 적은 실제 이름
  analysis/19:33:| 7 | `messaging-outbox-jdbc-postgresql` | 28 | 5 | `app-bootstrap` |
  analysis/19:41:| 15 | `messaging-inbox-jdbc-postgresql` | 13 | 2 | `app-bootstrap` |
  analysis/19:33:| 7 | `messaging-outbox-jdbc-postgresql` | 28 | 5 | `app-bootstrap` |
  analysis/19:41:| 15 | `messaging-inbox-jdbc-postgresql` | 13 | 2 | `app-bootstrap` |
  analysis/19:44:| 18 | `messaging-claim-check` | 11 | 2 | `app-bootstrap` |
  저장소에 실재하는 이름 :
    messaging-outbox-jdbc              src 디렉터리 없음
    messaging-inbox-jdbc               src 디렉터리 없음
    messaging-outbox-jdbc-postgresql   main=13  test=8
    messaging-inbox-jdbc-postgresql    main=6   test=4
    messaging-claim-check              main=6   test=3
  messaging-outbox-jpa · messaging-inbox-jpa 가 등록돼 있는가 :
    modules.json 등재 0 건 · git 추적 파일 0 개

# 두 열거형을 코드에서 참조하는 test (주석·문자열 제거, 단어 경계)
  OutboxStatus : 6 파일
    DebeziumOutboxRecordMapperTest.java            2 회  (messaging-outbox-jdbc-postgresql)
    JdbcOutboxTransactionRequirementTest.java      2 회  (messaging-outbox-jdbc-postgresql)
    OutboxEnvelopeFactoryTest.java                 2 회  (messaging-outbox-jdbc-postgresql)
    OutboxPostgresIT.java                          8 회  (messaging-outbox-jdbc-postgresql)
    OutboxRelayTest.java                          18 회  (messaging-outbox-jdbc-postgresql)
    OutboxRelayWorkerTest.java                     5 회  (messaging-outbox-jdbc-postgresql)
  OutboxTransitionResult : 4 파일
    MessagingOutboxRelayLifecycleTest.java         7 회  (messaging-spring-boot-starter)
    OutboxOperationsTest.java                     11 회  (messaging-outbox-jdbc-postgresql)
    OutboxPostgresIT.java                          4 회  (messaging-outbox-jdbc-postgresql)
    OutboxRelayTest.java                          19 회  (messaging-outbox-jdbc-postgresql)

# 열세 타입 중 test 참조가 0 인 것
  IdempotentMessageHandler       test 0 · 자기 파일 밖 main 1
  InboxRecord                    test 0 · 자기 파일 밖 main 0
  ReliableMessagePublisher       test 0 · 자기 파일 밖 main 0
  TransactionalMessageAction     test 0 · 자기 파일 밖 main 2
