# revision: 21234e38cdb9a926cbc92bb97a2aee2e4a7d2916

## A. claim-check: six public types, references outside the owning leaf
ClaimCheckStore                    0
ClaimCheckPublisher                0
ClaimCheckResolver                 0
ClaimCheckPolicy                   0
ClaimCheckIntegrityGuard           0
ClaimCheckIntegrityException       0
--- ClaimCheckStore implementors
src/messaging/messaging-claim-check/src/test/java/dev/caskeleton/messaging/claimcheck/ClaimCheckResolverTest.java:22:  private static final class FakeStore implements ClaimCheckStore {
--- any construction outside the leaf
(empty above = none)
--- but the leaf ships
messaging-kafka-share-experimental     runtime_memberships=[]
messaging-claim-check                  runtime_memberships=['app-bootstrap']
messaging-spring-boot-starter          runtime_memberships=['app-bootstrap']
   starter deps include claim-check: True

## B. two claim-check thresholds, no cross-check
12: * @param claimCheckThresholdBytes the size above which payloads are offloaded
14:public record PayloadPolicy(int maxBytes, int claimCheckThresholdBytes) {
26:    if (claimCheckThresholdBytes < 1) {
27:      throw new IllegalArgumentException("claimCheckThresholdBytes must be positive");
20: * @param thresholdBytes the encoded size above which a payload is offloaded
26:    int thresholdBytes,
32:  public static final int DEFAULT_THRESHOLD_BYTES = 262_144;
38:    if (thresholdBytes < 1) {
39:      throw new IllegalArgumentException("thresholdBytes must be positive");
--- the profile validator checks only the policy-side one
49:    if (profile.payload().claimCheckThresholdBytes() > profile.payload().maxBytes()) {

## C. kafka-share: four public types, references outside the owning leaf
KafkaShareGroupRegistrar           0
KafkaShareProfile                  0
KafkaShareProfileValidator         0
KafkaShareWorkQueueCapability      0

## D. kafka-share declares kafka-clients and imports nothing from it
9:    implementation 'org.apache.kafka:kafka-clients'
exit=1  (1 = no import of the declared client)

## E. the share registrar accepts a consumer spec and does nothing with it
  public TransportConsumerRegistration register(
      KafkaShareProfile profile, TransportConsumerSpec spec) {
    Objects.requireNonNull(spec, "spec must not be null");
    validator.validate(profile);
    return new ShareRegistration(profile);
  }

  /** A live share group subscription. */
  private static final class ShareRegistration implements TransportConsumerRegistration {

    private final KafkaShareProfile profile;
    private final AtomicBoolean active = new AtomicBoolean(true);

    private ShareRegistration(KafkaShareProfile profile) {
      this.profile = profile;
    }
--- ShareRegistration's fields
20:  private final KafkaShareProfileValidator validator;
53:    private final KafkaShareProfile profile;
54:    private final AtomicBoolean active = new AtomicBoolean(true);
