Files
document-haness/docs/clean-architecture-backend-template/final/evidence/raw/252-messaging-schema-and-observability-reachability.txt
DongHyeonkaandClaude Opus 5 b2963105a8 docs(keycloak-session-store): import the session-storage lab as a new project
The keycloak project ended with four open questions that design could not
settle. A two-VM lab was built to answer them by measurement, and this is
that material: 26 experiments, 125 raw command outputs, 22 browser captures.

Follows the import procedure in README.md.

  source/     the originating repository verbatim — 78 documents, 28 SVGs,
              8 manifests, plus .source-revision recording the commit
  final/      the SSOT
    document.md   729 lines written from the 29 experiment documents, not
                  concatenated: what was predicted, what was measured, and
                  where the measurement itself was wrong
    evidence/raw    125 outputs, flattened to <experiment>__<file> because
                    the originals collided (01-baseline.txt appeared three
                    times) and the audit only globs the top level
    evidence/meta   one per raw file; command and exitCode are null and the
                    README says why rather than inventing them
    evidence/browser  22 captures
    assets/       three diagrams through techviz
    .techviz/     their VizSpecs

A separate project rather than an addition to keycloak: the B-layer answers
that project's four questions, but the A, C and D layers are about cluster
failure, SSO and operations, and one document.md should hold one subject.
The four question records there can point here through 관계.

Recorded rather than papered over: only three of the 28 diagrams were
remade. The repository forbids hand-drawn SVG and forbids titles inside the
canvas; all 28 originals carry both, so converting them is redrawing, not
reformatting. They stay in source/ and the gap is written into the document.

verify-pipeline.py passes. audit-records.py reports no issues.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-04 22:51:59 +09:00

155 lines
8.7 KiB
Plaintext

# evidence 252 — messaging-schema-and-observability-reachability
# revision: a24ece9cf797f7ea647e33bf846b115208ed1ba5
# cwd: /shared/codebase/clean-architecture-backend-template/src/messaging
# command: bash /tmp/reach.sh; echo; echo ================================; bash /tmp/reach2.sh
# ---- raw output ----
SchemaCompatibilityValidator mainRefFiles=0 testRefFiles=1
SchemaRegistry mainRefFiles=1 testRefFiles=1
BoundedByteSink mainRefFiles=3 testRefFiles=1
RawBytesMessageCodec mainRefFiles=0 testRefFiles=1
JacksonMessageCodec mainRefFiles=1 testRefFiles=3
AvroMessageCodec mainRefFiles=0 testRefFiles=3
ProtobufMessageCodec mainRefFiles=0 testRefFiles=1
AvroCompatibilityGate mainRefFiles=0 testRefFiles=1
CloudEventMapper mainRefFiles=1 testRefFiles=0
DefaultCloudEventMapper mainRefFiles=0 testRefFiles=1
CloudEventExtensions mainRefFiles=1 testRefFiles=1
MessageContractKey mainRefFiles=4 testRefFiles=3
SchemaCompatibility mainRefFiles=5 testRefFiles=13
DestinationProfileValidator mainRefFiles=2 testRefFiles=1
KafkaProfileValidator mainRefFiles=1 testRefFiles=1
KafkaTransactionProfileValidator mainRefFiles=1 testRefFiles=0
RabbitProfileValidator mainRefFiles=1 testRefFiles=1
KafkaShareProfileValidator mainRefFiles=1 testRefFiles=1
NatsJetStreamProfileValidator mainRefFiles=1 testRefFiles=0
PulsarProfileValidator mainRefFiles=0 testRefFiles=0
BindingProfileValidator mainRefFiles=0 testRefFiles=1
==== main-code referencing files (excluding the declaring file) ====
-- SchemaCompatibilityValidator
-- SchemaRegistry
messaging-schema-api ::/schema/SchemaCompatibilityValidator.java
-- BoundedByteSink
messaging-schema-avro ::/schema/avro/AvroMessageCodec.java
messaging-schema-json ::/schema/json/JacksonMessageCodec.java
messaging-schema-protobuf ::/schema/protobuf/ProtobufMessageCodec.java
-- RawBytesMessageCodec
-- JacksonMessageCodec
messaging-spring-boot-starter ::/autoconfigure/MessagingCoreAutoConfiguration.java
-- AvroMessageCodec
-- ProtobufMessageCodec
-- AvroCompatibilityGate
-- CloudEventMapper
messaging-cloudevents ::/cloudevents/DefaultCloudEventMapper.java
-- DefaultCloudEventMapper
-- CloudEventExtensions
messaging-cloudevents ::/cloudevents/DefaultCloudEventMapper.java
-- MessageContractKey
messaging-schema-avro ::/schema/avro/AvroMessageCodec.java
messaging-schema-json ::/schema/json/JacksonMessageCodec.java
messaging-schema-protobuf ::/schema/protobuf/ProtobufMessageCodec.java
messaging-spring-boot-starter ::/autoconfigure/MessageContracts.java
-- SchemaCompatibility
messaging-policy ::/policy/SchemaPolicy.java
messaging-schema-api ::/schema/SchemaCompatibilityValidator.java
messaging-schema-api ::/schema/SchemaRegistry.java
messaging-schema-avro ::/schema/avro/AvroCompatibilityGate.java
messaging-spring-boot-starter ::/autoconfigure/DestinationSettings.java
-- DestinationProfileValidator
messaging-spring-boot-starter ::/autoconfigure/MessagingCoreAutoConfiguration.java
messaging-spring-boot-starter ::/autoconfigure/MessagingConfigurationCompiler.java
-- KafkaProfileValidator
messaging-spring-boot-starter ::/autoconfigure/KafkaMessagingAutoConfiguration.java
-- KafkaTransactionProfileValidator
messaging-spring-boot-starter ::/autoconfigure/KafkaMessagingAutoConfiguration.java
-- RabbitProfileValidator
messaging-spring-boot-starter ::/autoconfigure/RabbitMessagingAutoConfiguration.java
-- KafkaShareProfileValidator
messaging-kafka-share-experimental ::/kafka/share/KafkaShareGroupRegistrar.java
-- NatsJetStreamProfileValidator
messaging-nats-experimental ::/nats/NatsJetStreamTransport.java
-- PulsarProfileValidator
-- BindingProfileValidator
================================
NAME mainF testF
DeadLetterOrchestrator 4 3
DeadLetterEnvelopeFactory 1 0
DefaultRetryDecisionEngine 1 1
RetryDecisionEngine 3 0
BackoffCalculator 2 1
InFlightLimiter 2 4
MessagingAdmissionController 4 5
PayloadLimitGuard 2 4
FailureDescriptorDefaults 1 0
SourceSettlement 4 0
CapabilityTier 3 11
BrokerAclManifest 0 1
BrokerCredentialProfile 4 4
BrokerSecurityProfile 8 4
BrokerTlsPolicy 5 3
CredentialIds 3 0
CredentialProvider 7 4
CredentialRotationPlan 0 0
CredentialRuntime 3 2
CredentialRuntimeRegistry 6 4
DestinationAccessPolicy 6 5
DestinationAccessValidator 0 0
MessageSecurityValidator 1 1
CardinalityGuard 3 2
DefaultMessagingObservationConvention 0 0
MessagingAuditEvent 3 2
MessagingAuditSink 0 1
MessagingMetrics 0 2
MessagingObservation 2 1
MessagingRedactor 5 3
MessagingTags 5 4
MessagingTracer 0 1
==== zero-main-reference names, with their leaf ====
BrokerAclManifest <- messaging-security/src/main/java/dev/caskeleton/messaging/security/BrokerAclManifest.java
CredentialRotationPlan <- messaging-security/src/main/java/dev/caskeleton/messaging/security/CredentialRotationPlan.java
DestinationAccessValidator <- messaging-security/src/main/java/dev/caskeleton/messaging/security/DestinationAccessValidator.java
DefaultMessagingObservationConvention <- messaging-observability/src/main/java/dev/caskeleton/messaging/observation/DefaultMessagingObservationConvention.java
MessagingAuditSink <- messaging-observability/src/main/java/dev/caskeleton/messaging/observation/MessagingAuditSink.java
MessagingMetrics <- messaging-observability/src/main/java/dev/caskeleton/messaging/observation/MessagingMetrics.java
MessagingTracer <- messaging-observability/src/main/java/dev/caskeleton/messaging/observation/MessagingTracer.java
==== main referencing files for the observability/security surface ====
-- MessagingObservation
messaging-observability ::/observation/MessagingMetrics.java
messaging-runtime-core ::/runtime/DefaultMessagePublisher.java
-- MessagingAuditSink
-- DestinationAccessPolicy
messaging-runtime-core ::/runtime/DeclaredDestinationAccess.java
messaging-runtime-core ::/runtime/DefaultMessagePublisher.java
messaging-security ::/security/BrokerSecurityProfile.java
messaging-security ::/security/DestinationAccessValidator.java
messaging-spring-boot-starter ::/autoconfigure/MessagingCoreAutoConfiguration.java
messaging-spring-boot-starter ::/autoconfigure/MessagingConfigurationCompiler.java
-- CredentialRuntimeRegistry
messaging-kafka ::/kafka/KafkaSecurityConfigurer.java
messaging-rabbit ::/rabbit/RabbitSecurityConfigurer.java
messaging-spring-boot-starter ::/autoconfigure/KafkaMessagingAutoConfiguration.java
messaging-spring-boot-starter ::/autoconfigure/MessagingCoreAutoConfiguration.java
messaging-spring-boot-starter ::/autoconfigure/MessagingCredentialRequirementValidator.java
messaging-spring-boot-starter ::/autoconfigure/RabbitMessagingAutoConfiguration.java
-- MessageSecurityValidator
messaging-spring-boot-starter ::/autoconfigure/MessagingCoreAutoConfiguration.java
-- DeadLetterOrchestrator
messaging-kafka ::/kafka/KafkaDeadLetterPublisher.java
messaging-kafka ::/kafka/KafkaRetryExecutor.java
messaging-rabbit ::/rabbit/RabbitDeadLetterPublisher.java
messaging-spring-boot-starter ::/autoconfigure/MessagingCoreAutoConfiguration.java
-- MessagingTracer
-- MessagingRedactor
messaging-observability ::/observation/MessagingMetrics.java
messaging-observability ::/observation/MessagingAuditSink.java
messaging-observability ::/observation/MessagingAuditEvent.java
messaging-observability ::/observation/MessagingObservation.java
messaging-spring-boot-starter ::/autoconfigure/MessagingCoreAutoConfiguration.java
-- CardinalityGuard
messaging-observability ::/observation/MessagingMetrics.java
messaging-observability ::/observation/DefaultMessagingObservationConvention.java
messaging-spring-boot-starter ::/autoconfigure/MessagingCoreAutoConfiguration.java