File size: 8,953 Bytes
6afa130 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 | <svg xmlns="http://www.w3.org/2000/svg" width="1440" height="760" viewBox="0 0 1440 760" role="img" aria-labelledby="title desc">
<title id="title">Sovereign Event Bus architecture</title>
<desc id="desc">An architecture map showing event intake, policy evaluation, deterministic routing, evidence recording, and the repository's six implementation areas.</desc>
<defs>
<marker id="arrow" markerWidth="10" markerHeight="10" refX="8" refY="5" orient="auto" markerUnits="strokeWidth">
<path d="M 0 0 L 10 5 L 0 10 z" fill="#087E8B"/>
</marker>
<style>
.bg { fill: #F7F9FC; }
.panel { fill: #FFFFFF; stroke: #CBD5E1; stroke-width: 1.5; }
.panel-strong { fill: #FFFFFF; stroke: #17324D; stroke-width: 2; }
.panel-open { fill: #FFF9F0; stroke: #B66A15; stroke-width: 1.5; stroke-dasharray: 8 6; }
.band { fill: #EEF4F7; stroke: #B8C7D1; stroke-width: 1.5; }
.ink { fill: #101828; }
.muted { fill: #5D6B7A; }
.navy { fill: #17324D; }
.teal { fill: #087E8B; }
.amber { fill: #9A570E; }
.line { stroke: #087E8B; stroke-width: 2.5; fill: none; marker-end: url(#arrow); }
.line-muted { stroke: #9FB1BF; stroke-width: 1.5; fill: none; }
.title { font: 700 34px Inter, system-ui, -apple-system, "Segoe UI", sans-serif; }
.subtitle { font: 400 17px Inter, system-ui, -apple-system, "Segoe UI", sans-serif; }
.eyebrow { font: 700 12px Inter, system-ui, -apple-system, "Segoe UI", sans-serif; }
.node-title { font: 700 17px Inter, system-ui, -apple-system, "Segoe UI", sans-serif; }
.node-copy { font: 400 13px Inter, system-ui, -apple-system, "Segoe UI", sans-serif; }
.module-title { font: 700 15px Inter, system-ui, -apple-system, "Segoe UI", sans-serif; }
.module-copy { font: 400 12px Inter, system-ui, -apple-system, "Segoe UI", sans-serif; }
.metric { font: 700 14px Inter, system-ui, -apple-system, "Segoe UI", sans-serif; }
.metric-copy { font: 400 12px Inter, system-ui, -apple-system, "Segoe UI", sans-serif; }
</style>
</defs>
<rect class="bg" width="1440" height="760"/>
<rect x="0" y="0" width="16" height="760" fill="#17324D"/>
<g transform="translate(64 42)">
<rect x="0" y="0" width="48" height="48" rx="4" fill="#17324D"/>
<path d="M 12 15 H 36 M 12 24 H 30 M 12 33 H 36" stroke="#FFFFFF" stroke-width="3" stroke-linecap="square"/>
<circle cx="36" cy="24" r="5" fill="#2AB0A8"/>
<text x="66" y="29" class="title ink">Sovereign Event Bus</text>
<text x="66" y="54" class="subtitle muted">Evidence-bearing coordination for deterministic agent and system workflows</text>
<g transform="translate(1110 0)">
<rect x="0" y="0" width="190" height="32" rx="4" fill="#E8EEF3" stroke="#B8C7D1"/>
<text x="95" y="21" text-anchor="middle" class="eyebrow navy">REFERENCE IMPLEMENTATION</text>
</g>
</g>
<line x1="64" y1="122" x2="1376" y2="122" stroke="#CBD5E1" stroke-width="1"/>
<g transform="translate(64 156)">
<text x="0" y="0" class="eyebrow teal">CONTROL PLANE</text>
<g transform="translate(0 24)">
<rect class="panel-strong" x="0" y="0" width="245" height="112" rx="5"/>
<rect x="0" y="0" width="8" height="112" fill="#17324D"/>
<text x="28" y="34" class="node-title ink">Event envelope</text>
<text x="28" y="59" class="node-copy muted">Intent, authority, payload,</text>
<text x="28" y="79" class="node-copy muted">evidence, offset, and prior hash</text>
</g>
<path class="line" d="M 253 80 H 305"/>
<g transform="translate(313 24)">
<rect class="panel" x="0" y="0" width="245" height="112" rx="5"/>
<rect x="0" y="0" width="8" height="112" fill="#087E8B"/>
<text x="28" y="34" class="node-title ink">Policy gate</text>
<text x="28" y="59" class="node-copy muted">Authorize, deny, or request</text>
<text x="28" y="79" class="node-copy muted">additional evidence before work</text>
</g>
<path class="line" d="M 566 80 H 618"/>
<g transform="translate(626 24)">
<rect class="panel" x="0" y="0" width="245" height="112" rx="5"/>
<rect x="0" y="0" width="8" height="112" fill="#087E8B"/>
<text x="28" y="34" class="node-title ink">Deterministic router</text>
<text x="28" y="59" class="node-copy muted">Select partition and adapter</text>
<text x="28" y="79" class="node-copy muted">from stable event attributes</text>
</g>
<path class="line" d="M 879 80 H 931"/>
<g transform="translate(939 24)">
<rect class="panel-open" x="0" y="0" width="373" height="112" rx="5"/>
<rect x="0" y="0" width="8" height="112" fill="#B66A15"/>
<text x="28" y="34" class="node-title ink">Evidence and WORM boundary</text>
<text x="28" y="59" class="node-copy muted">Seal, persist, rotate, recover, and</text>
<text x="28" y="79" class="node-copy muted">verify. Durable backend remains a gate.</text>
</g>
</g>
<g transform="translate(64 326)">
<rect class="band" x="0" y="0" width="1312" height="284" rx="5"/>
<text x="24" y="31" class="eyebrow navy">IMPLEMENTATION SUBSTRATE</text>
<text x="1288" y="31" text-anchor="end" class="node-copy muted">Solid: source present Dashed: production gate open</text>
<g transform="translate(24 52)">
<rect class="panel-open" x="0" y="0" width="398" height="88" rx="4"/>
<text x="20" y="28" class="module-title ink">Kernel boundary</text>
<text x="20" y="50" class="module-copy muted">Ada contracts and Erlang C NIF surface</text>
<text x="20" y="70" class="module-copy amber">Key registry and durable WAL integration pending</text>
</g>
<g transform="translate(457 52)">
<rect class="panel" x="0" y="0" width="398" height="88" rx="4"/>
<text x="20" y="28" class="module-title ink">Runtime coordination</text>
<text x="20" y="50" class="module-copy muted">Erlang/OTP supervision, agent FSM, partitions</text>
<text x="20" y="70" class="module-copy muted">Datalog bridge and kernel facade</text>
</g>
<g transform="translate(890 52)">
<rect class="panel" x="0" y="0" width="398" height="88" rx="4"/>
<text x="20" y="28" class="module-title ink">Enterprise adapters</text>
<text x="20" y="50" class="module-copy muted">IBM i RPGLE, PL/I declarations, copybook</text>
<text x="20" y="70" class="module-copy muted">Explicit host build and conformance boundary</text>
</g>
<g transform="translate(24 160)">
<rect class="panel-open" x="0" y="0" width="398" height="88" rx="4"/>
<text x="20" y="28" class="module-title ink">Human review gate</text>
<text x="20" y="50" class="module-copy muted">Rust queue, audit log, approval certificate model</text>
<text x="20" y="70" class="module-copy amber">Authentication, signing, and daemon path pending</text>
</g>
<g transform="translate(457 160)">
<rect class="panel" x="0" y="0" width="398" height="88" rx="4"/>
<text x="20" y="28" class="module-title ink">Reasoning protocol</text>
<text x="20" y="50" class="module-copy muted">Rust traces, A2A events, streaming, composition</text>
<text x="20" y="70" class="module-copy muted">Library unit tests cover the in-memory model</text>
</g>
<g transform="translate(890 160)">
<rect class="panel-open" x="0" y="0" width="398" height="88" rx="4"/>
<text x="20" y="28" class="module-title ink">Universe and proof layer</text>
<text x="20" y="50" class="module-copy muted">Artifact manifests, CVM gate, Lean models</text>
<text x="20" y="70" class="module-copy amber">Real typecheck and zero-sorry proof gate pending</text>
</g>
<path class="line-muted" d="M 223 140 V 160"/>
<path class="line-muted" d="M 656 140 V 160"/>
<path class="line-muted" d="M 1089 140 V 160"/>
</g>
<g transform="translate(64 638)">
<rect class="panel" x="0" y="0" width="1312" height="78" rx="5"/>
<g transform="translate(24 18)">
<text x="0" y="15" class="metric navy">33 library tests</text>
<text x="0" y="36" class="metric-copy muted">Reasoning and Universe unit suites</text>
</g>
<line x1="348" y1="14" x2="348" y2="64" stroke="#D5DEE5"/>
<g transform="translate(378 18)">
<text x="0" y="15" class="metric amber">Open production gates</text>
<text x="0" y="36" class="metric-copy muted">Crypto, persistence, proof closure, CI, recovery</text>
</g>
<line x1="842" y1="14" x2="842" y2="64" stroke="#D5DEE5"/>
<g transform="translate(872 18)">
<text x="0" y="15" class="metric navy">Apache-2.0</text>
<text x="0" y="36" class="metric-copy muted">Source and documentation in this repository</text>
</g>
</g>
</svg>
|