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>
84 lines
6.8 KiB
Plaintext
84 lines
6.8 KiB
Plaintext
adapter-inbound-web package reachability map (main source set)
|
|
revision=a24ece9cf797f7ea647e33bf846b115208ed1ba5
|
|
in = number of OTHER web main packages importing it; ext = importing files in app-bootstrap/sample-portfolio
|
|
|
|
package files in ext importers
|
|
admin.platform 2 0 0
|
|
admin.route 4 0 0
|
|
admission 5 2 0 mvc.throttle,webflux.throttle
|
|
advanced 2 1 0 advanced.release
|
|
advanced.blockingbridge 3 1 0 advanced.webflux
|
|
advanced.codec 6 0 0
|
|
advanced.functional 4 0 0
|
|
advanced.mvc 5 0 0
|
|
advanced.openapi 5 0 0
|
|
advanced.patch 13 0 0
|
|
advanced.ratelimit 3 0 0
|
|
advanced.release 2 0 0
|
|
advanced.stream 13 4 0 advanced.mvc,advanced.stream.encoding,advanced.stream.replay,advanced.
|
|
advanced.stream.encoding 7 3 0 advanced.mvc,advanced.openapi,advanced.webflux
|
|
advanced.stream.replay 5 0 0
|
|
advanced.virtualthread 3 1 0 advanced.mvc
|
|
advanced.webflux 7 0 0
|
|
auth 11 6 4 authz,error,fileserver.security,filter,idempotency,ratelimit
|
|
authz 5 0 1
|
|
budget 7 6 0 error,mvc.autoconfigure,mvc.budget,operation,webflux.autoconfigure,web
|
|
cache 4 0 0
|
|
conditional 10 1 1 error
|
|
config 3 0 0
|
|
contract 4 1 0 mvc.autoconfigure
|
|
controller 1 0 0
|
|
core 9 17 0 admin.route,advanced.functional,idempotency,mvc.context,mvc.filter,mvc
|
|
cursor 2 1 0 error
|
|
envelope 1 0 0
|
|
error 16 19 1 advanced.stream,auth,idempotency,mvc.autoconfigure,mvc.budget,mvc.erro
|
|
evidence 6 2 0 mvc.filter,webflux.context
|
|
fileserver.admin 3 0 1
|
|
fileserver.config 4 4 1 fileserver.controller,fileserver.draft12,fileserver.reactive,fileserve
|
|
fileserver.controller 2 0 0
|
|
fileserver.draft12 5 0 1
|
|
fileserver.dto 5 4 0 fileserver.admin,fileserver.controller,fileserver.lifecycle,fileserver
|
|
fileserver.http 3 1 1 fileserver.controller
|
|
fileserver.lifecycle 1 0 0
|
|
fileserver.mapper 3 2 1 fileserver.controller,fileserver.reactive
|
|
fileserver.nginx 4 1 2 fileserver.controller
|
|
fileserver.problem 5 1 1 fileserver.reactive
|
|
fileserver.reactive 10 0 0
|
|
fileserver.security 1 6 1 fileserver.admin,fileserver.controller,fileserver.draft12,fileserver.l
|
|
fileserver.tus 5 0 1
|
|
filter 2 0 0
|
|
http 12 9 2 error,filter,idempotency,mvc.autoconfigure,mvc.idempotency,ratelimit,v
|
|
idempotency 9 2 0 mvc.idempotency,webflux.idempotency
|
|
json 4 4 0 advanced.mvc,mvc.autoconfigure,validation,webflux.autoconfigure
|
|
moduleboundary 3 0 0
|
|
mvc.autoconfigure 2 0 0
|
|
mvc.budget 4 0 0
|
|
mvc.context 2 1 0 mvc.autoconfigure
|
|
mvc.error 1 0 0
|
|
mvc.filter 2 1 0 mvc.autoconfigure
|
|
mvc.idempotency 2 0 0
|
|
mvc.operation 1 0 0
|
|
mvc.throttle 1 0 0
|
|
notification.platform.callback 5 1 0 notification.platform.callback.reactive
|
|
notification.platform.callback.reactive 4 0 0
|
|
notification.platform.submission 7 0 0
|
|
observability 12 8 2 auth,controller,envelope,error,fileserver.problem,fileserver.security,
|
|
openapi 7 0 0
|
|
operation 11 12 0 admin.route,admission,advanced.functional,conditional,http,idempotency
|
|
operationasync 9 2 0 mvc.operation,webflux.operation
|
|
pagination 19 1 2 error
|
|
proxy 4 1 0 http
|
|
ratelimit 18 3 0 advanced.ratelimit,mvc.throttle,webflux.throttle
|
|
security 11 0 0
|
|
settings 3 2 1 auth,config
|
|
validation 4 4 0 mvc.autoconfigure,mvc.error,webflux.autoconfigure,webflux.error
|
|
versioning 7 1 0 admin.route
|
|
webflux.autoconfigure 2 0 0
|
|
webflux.budget 2 0 0
|
|
webflux.context 2 1 0 webflux.autoconfigure
|
|
webflux.error 1 0 0
|
|
webflux.guard 2 1 0 webflux.autoconfigure
|
|
webflux.idempotency 1 0 0
|
|
webflux.operation 1 0 0
|
|
webflux.throttle 1 0 0
|