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>