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>
155 lines
8.7 KiB
Plaintext
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
|