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>
35 lines
6.3 KiB
Plaintext
35 lines
6.3 KiB
Plaintext
./messaging/messaging-schema-json/src/test/java/dev/caskeleton/messaging/schema/json/JsonContractRegistryTest.java:11:import dev.caskeleton.messaging.schema.MessageContractKey;
|
|
./messaging/messaging-schema-json/src/test/java/dev/caskeleton/messaging/schema/json/JsonContractRegistryTest.java:39: new MessageContractKey(ORDER_CREATED, V1), OrderCreated.class,
|
|
./messaging/messaging-schema-json/src/test/java/dev/caskeleton/messaging/schema/json/JsonContractRegistryTest.java:40: new MessageContractKey(ORDER_CREATED, V2), OrderCreatedV2.class));
|
|
./messaging/messaging-schema-json/src/test/java/dev/caskeleton/messaging/schema/json/JsonContractRegistryTest.java:87: JacksonMessageCodec.of(Map.of(new MessageContractKey(largeList, V1), List.class), 1_024);
|
|
./messaging/messaging-schema-json/src/test/java/dev/caskeleton/messaging/schema/json/JsonContractRegistryTest.java:108: JacksonMessageCodec.of(Map.of(new MessageContractKey(text, V1), String.class), exact);
|
|
./messaging/messaging-schema-json/src/main/java/dev/caskeleton/messaging/schema/json/JacksonMessageCodec.java:12:import dev.caskeleton.messaging.schema.MessageContractKey;
|
|
./messaging/messaging-schema-json/src/main/java/dev/caskeleton/messaging/schema/json/JacksonMessageCodec.java:51: private final Map<MessageContractKey, Class<?>> registry;
|
|
./messaging/messaging-schema-json/src/main/java/dev/caskeleton/messaging/schema/json/JacksonMessageCodec.java:54: private JacksonMessageCodec(Map<MessageContractKey, Class<?>> registry, int maxBytes) {
|
|
./messaging/messaging-schema-json/src/main/java/dev/caskeleton/messaging/schema/json/JacksonMessageCodec.java:66: public static JacksonMessageCodec of(Map<MessageContractKey, Class<?>> registry) {
|
|
./messaging/messaging-schema-json/src/main/java/dev/caskeleton/messaging/schema/json/JacksonMessageCodec.java:77: public static JacksonMessageCodec of(Map<MessageContractKey, Class<?>> registry, int maxBytes) {
|
|
./messaging/messaging-schema-json/src/main/java/dev/caskeleton/messaging/schema/json/JacksonMessageCodec.java:103: Map.of(new MessageContractKey(type, version), payloadType), DEFAULT_MAX_BYTES);
|
|
./messaging/messaging-schema-json/src/main/java/dev/caskeleton/messaging/schema/json/JacksonMessageCodec.java:162: MessageContractKey key = new MessageContractKey(type, version);
|
|
./messaging/messaging-schema-protobuf/src/test/java/dev/caskeleton/messaging/schema/protobuf/ProtobufCompatibilityTest.java:23:import dev.caskeleton.messaging.schema.MessageContractKey;
|
|
./messaging/messaging-schema-protobuf/src/test/java/dev/caskeleton/messaging/schema/protobuf/ProtobufCompatibilityTest.java:103: Map.of(new MessageContractKey(ORDER_CREATED, version), contract(descriptor)));
|
|
./messaging/messaging-schema-protobuf/src/test/java/dev/caskeleton/messaging/schema/protobuf/ProtobufCompatibilityTest.java:218: Map.of(new MessageContractKey(ORDER_CREATED, V1), contract(V1_DESCRIPTOR)), 16);
|
|
./messaging/messaging-schema-protobuf/src/test/java/dev/caskeleton/messaging/schema/protobuf/ProtobufCompatibilityTest.java:230: Map.of(new MessageContractKey(ORDER_CREATED, V1), contract(V1_DESCRIPTOR)), exact);
|
|
./messaging/messaging-schema-protobuf/src/main/java/dev/caskeleton/messaging/schema/protobuf/ProtobufMessageCodec.java:14:import dev.caskeleton.messaging.schema.MessageContractKey;
|
|
./messaging/messaging-schema-protobuf/src/main/java/dev/caskeleton/messaging/schema/protobuf/ProtobufMessageCodec.java:37: private final Map<MessageContractKey, ProtobufMessageContract> contracts;
|
|
./messaging/messaging-schema-protobuf/src/main/java/dev/caskeleton/messaging/schema/protobuf/ProtobufMessageCodec.java:45: public ProtobufMessageCodec(Map<MessageContractKey, ProtobufMessageContract> contracts) {
|
|
./messaging/messaging-schema-protobuf/src/main/java/dev/caskeleton/messaging/schema/protobuf/ProtobufMessageCodec.java:56: Map<MessageContractKey, ProtobufMessageContract> contracts, int maxBytes) {
|
|
./messaging/messaging-schema-protobuf/src/main/java/dev/caskeleton/messaging/schema/protobuf/ProtobufMessageCodec.java:118: MessageContractKey key = new MessageContractKey(type, version);
|
|
./messaging/messaging-schema-api/src/main/java/dev/caskeleton/messaging/schema/MessageContractKey.java:22:public record MessageContractKey(MessageType type, SchemaVersion version) {
|
|
./messaging/messaging-schema-api/src/main/java/dev/caskeleton/messaging/schema/MessageContractKey.java:25: public MessageContractKey {
|
|
./messaging/messaging-schema-api/src/main/java/dev/caskeleton/messaging/schema/MessageContractKey.java:37: public static MessageContractKey of(String type, int version) {
|
|
./messaging/messaging-schema-api/src/main/java/dev/caskeleton/messaging/schema/MessageContractKey.java:38: return new MessageContractKey(new MessageType(type), new SchemaVersion(version));
|
|
./messaging/messaging-spring-boot-starter/src/test/java/dev/caskeleton/messaging/autoconfigure/MessagingLiveRoundTripQualificationTest.java:92: new dev.caskeleton.messaging.schema.MessageContractKey(
|
|
./messaging/messaging-spring-boot-starter/src/main/java/dev/caskeleton/messaging/autoconfigure/MessageContracts.java:3:import dev.caskeleton.messaging.schema.MessageContractKey;
|
|
./messaging/messaging-spring-boot-starter/src/main/java/dev/caskeleton/messaging/autoconfigure/MessageContracts.java:23:public record MessageContracts(Map<MessageContractKey, Class<?>> byKey) {
|
|
./messaging/messaging-schema-avro/src/main/java/dev/caskeleton/messaging/schema/avro/AvroMessageCodec.java:12:import dev.caskeleton.messaging.schema.MessageContractKey;
|
|
./messaging/messaging-schema-avro/src/main/java/dev/caskeleton/messaging/schema/avro/AvroMessageCodec.java:48: private final Map<MessageContractKey, Schema> schemas;
|
|
./messaging/messaging-schema-avro/src/main/java/dev/caskeleton/messaging/schema/avro/AvroMessageCodec.java:84: private static Map<MessageContractKey, Schema> flatten(
|
|
./messaging/messaging-schema-avro/src/main/java/dev/caskeleton/messaging/schema/avro/AvroMessageCodec.java:86: Map<MessageContractKey, Schema> flattened = new HashMap<>();
|
|
./messaging/messaging-schema-avro/src/main/java/dev/caskeleton/messaging/schema/avro/AvroMessageCodec.java:93: new MessageContractKey(type, version),
|
|
./messaging/messaging-schema-avro/src/main/java/dev/caskeleton/messaging/schema/avro/AvroMessageCodec.java:257: Schema schema = schemas.get(new MessageContractKey(type, version));
|