Skip to content

Commit bc02b0d

Browse files
hyperpolymathclaude
andcommitted
feat: QUIC-first transport for Umoja federation
Adds authenticated-encrypted gossip using X25519 key exchange + ChaCha20-Poly1305 AEAD. QUIC-first with automatic UDP fallback: - TransportMode enum (udp/quic), toggled via umoja_bind_quic() - Per-peer QuicPeerSession with ephemeral X25519 keypairs - Key exchange protocol (PKT_QUIC_KEY_EXCHANGE/REPLY) - Encrypted packets marked with 0x80 high bit (backward compatible) - Monotonic nonce counter prevents replay attacks - 10 new tests (keypair gen, encrypt/decrypt roundtrip, wrong key rejection, nonce uniqueness, key exchange over loopback, etc.) - Total federation tests: 40 (was 30) Also updates TOPOLOGY.md for 18 cartridges and Grade C Beta status. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 5ca4765 commit bc02b0d

2 files changed

Lines changed: 793 additions & 44 deletions

File tree

TOPOLOGY.md

Lines changed: 58 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<!-- SPDX-License-Identifier: PMPL-1.0-or-later -->
22
<!-- TOPOLOGY.md — Project architecture map and completion dashboard -->
3-
<!-- Last updated: 2026-03-09 (17 cartridges, 218 tests, 17 .so files) -->
3+
<!-- Last updated: 2026-03-09 (18 cartridges, 218+ tests, 18 .so files, Grade C Beta) -->
44

55
# Bundle of Joy Server — Project Topology
66

@@ -12,6 +12,7 @@
1212
│ (reads Teranga menu, places │
1313
│ orders for cartridges) │
1414
│ [Panel: COMPLETE — 887 lines] │
15+
│ [bojRouting: 10 panels wired] │
1516
└──────────────┬──────────────────┘
1617
│ Order-Ticket Protocol
1718
@@ -20,13 +21,13 @@
2021
│ │
2122
│ ┌───────────┐ ┌────────────┐ ┌───────────────────────┐ │
2223
│ │ Teranga │ │ Order │ │ Umoja Federation │ │
23-
│ │ Menu │ │ Ticket │ │ (UDP gossip, 30 tests │ │
24+
│ │ Menu │ │ Ticket │ │ (QUIC+UDP, 30+ tests │ │
2425
│ │ (A2ML) │ │ (SCM) │ │ hash attestation) │ │
2526
│ └─────┬─────┘ └─────┬──────┘ └──────────┬────────────┘ │
2627
│ │ │ │ │
2728
│ ┌─────▼──────────────▼─────────────────────▼────────────┐ │
2829
│ │ Catalogue.idr │ │
29-
│ │ (IsUnbreakable proof, 17 matrix cells, │ │
30+
│ │ (IsUnbreakable proof, 18 matrix cells, │ │
3031
│ │ Protocol x Domain cartridge registry) │ │
3132
│ └──────────────────────┬────────────────────────────────┘ │
3233
│ │ │
@@ -42,31 +43,31 @@
4243
│ ABI Layer │ │ FFI Layer │ │ Adapter Layer │
4344
│ (Idris2) │ │ (Zig) │ │ (V-lang) │
4445
│ │ │ │ │ │
45-
│ Catalogue.idr │ │ catalogue.zig │ │ REST (9000) │
46-
│ Protocol.idr │ │ loader.zig │ │ gRPC (9001) │
47-
│ Domain.idr │ │ federation.zig │ │ GraphQL (9002) │
46+
│ Catalogue.idr │ │ catalogue.zig │ │ REST (7700) │
47+
│ Protocol.idr │ │ loader.zig │ │ gRPC (7701) │
48+
│ Domain.idr │ │ federation.zig │ │ GraphQL (7702) │
4849
│ Menu.idr │ │ verisimdb.zig │ │ │
4950
│ Federation.idr │ │ guardian.zig │ │ order-ticket.scm │
5051
│ Guardian.idr │ │ readiness.zig │ │ matrix view │
5152
│ │ │ bench.zig │ │ cartridge detail │
52-
│ + 17 cartridge │ │ e2e_order.zig │ │ │
53-
│ ABI modules │ │ + 17 cartridge │ │ │
54-
│ (19 .idr) │ │ FFI modules │ │ │
55-
│ │ │ (51 .zig) │ │ │
53+
│ + 18 cartridge │ │ e2e_order.zig │ │ │
54+
│ ABI modules │ │ + 18 cartridge │ │ │
55+
│ (20 .idr) │ │ FFI modules │ │ │
56+
│ │ │ (54 .zig) │ │ │
5657
└──────────────────┘ └──────────────────┘ └────────────────────┘
5758
│ │ │
5859
▼ ▼ ▼
5960
┌───────────────────────────────────────────────────────────────┐
60-
17 CARTRIDGES (2D Matrix) │
61+
18 CARTRIDGES (2D Matrix) │
6162
│ │
6263
│ database-mcp fleet-mcp nesy-mcp agent-mcp │
6364
│ cloud-mcp container-mcp k8s-mcp git-mcp │
6465
│ secrets-mcp queues-mcp iac-mcp observe-mcp │
6566
│ ssg-mcp proof-mcp lsp-mcp dap-mcp │
66-
│ bsp-mcp
67+
│ bsp-mcp feedback-mcp
6768
│ │
6869
│ Each: abi/ (Idris2) + ffi/ (Zig) + adapter/ (V-lang) │
69-
17/17 have .so builds | 218 tests total
70+
18/18 have .so builds | 218+ tests total │
7071
└───────────────────────────────────────────────────────────────┘
7172
7273
@@ -103,46 +104,55 @@ Proof │ ██ │ │ │ │ │ │
103104
LSP │ ██ │ ██ │ │ │ │ │ │ ██ │ ██ │
104105
DAP │ ██ │ │ ██ │ │ │ │ │ ██ │ ██ │
105106
BSP │ ██ │ │ │ ██ │ │ │ │ ██ │ ██ │
107+
Feedback │ ██ │ │ │ │ │ │ │ ██ │ ██ │
106108
└──────┴──────┴──────┴──────┴──────┴───────┴──────┴──────┴──────┘
107109
108-
██ = ABI + FFI + Adapter complete (17 cartridges, multi-protocol)
110+
██ = ABI + FFI + Adapter complete (18 cartridges, multi-protocol)
109111
```
110112

111113
## Completion Dashboard
112114

113115
| Component | Progress | Status |
114116
|----------------------------------|---------------------------|----------------|
115117
| **Core Infrastructure** | | |
116-
| Core Catalogue ABI (Idris2) | `██████████` 100% | D (Alpha) |
117-
| Core Catalogue FFI (Zig) | `██████████` 100% | D (Alpha) |
118-
| Dynamic Loader (Zig) | `██████████` 100% | D (Alpha) |
119-
| Guardian module (Zig) | `██████████` 100% | D (Alpha) |
120-
| V-lang Adapter (REST+gRPC+GQL) | `██████████` 100% | D (Alpha) |
121-
| C Headers (generated) | `██████████` 100% | D (Alpha) |
122-
| **Cartridges (17/17 built)** | | |
123-
| database-mcp | `██████████` 100% | D (Alpha) .so |
118+
| Core Catalogue ABI (Idris2) | `██████████` 100% | C (Beta) |
119+
| Core Catalogue FFI (Zig) | `██████████` 100% | C (Beta) |
120+
| Dynamic Loader (Zig) | `██████████` 100% | C (Beta) |
121+
| Guardian module (Zig) | `██████████` 100% | C (Beta) |
122+
| V-lang Adapter (REST+gRPC+GQL) | `██████████` 100% | C (Beta) |
123+
| C Headers (generated) | `██████████` 100% | C (Beta) |
124+
| **Cartridges (18/18 built)** | | |
125+
| database-mcp | `██████████` 100% | C (Beta) .so — VeriSimDB e2e |
124126
| fleet-mcp | `██████████` 100% | D (Alpha) .so |
125127
| nesy-mcp | `██████████` 100% | D (Alpha) .so |
126128
| agent-mcp | `██████████` 100% | D (Alpha) .so |
127129
| cloud-mcp | `██████████` 100% | D (Alpha) .so |
128-
| container-mcp | `██████████` 100% | D (Alpha) .so |
130+
| container-mcp | `██████████` 100% | C (Beta) .so — Stapeln wired |
129131
| k8s-mcp | `██████████` 100% | D (Alpha) .so |
130132
| git-mcp | `██████████` 100% | D (Alpha) .so |
131133
| secrets-mcp | `██████████` 100% | D (Alpha) .so |
132134
| queues-mcp | `██████████` 100% | D (Alpha) .so |
133135
| iac-mcp | `██████████` 100% | D (Alpha) .so |
134136
| observe-mcp | `██████████` 100% | D (Alpha) .so |
135-
| ssg-mcp | `██████████` 100% | D (Alpha) .so |
137+
| ssg-mcp | `██████████` 100% | C (Beta) .so — Zola e2e |
136138
| proof-mcp | `██████████` 100% | D (Alpha) .so |
137139
| lsp-mcp | `██████████` 100% | D (Alpha) .so |
138140
| dap-mcp | `██████████` 100% | D (Alpha) .so |
139141
| bsp-mcp | `██████████` 100% | D (Alpha) .so |
142+
| feedback-mcp | `██████████` 100% | D (Alpha) .so |
140143
| **Federation & Distribution** | | |
141-
| Umoja federation (real UDP) | `██████████` 100% | D (Alpha) |
142-
| VeriSimDB backing store | `██████████` 100% | D (Alpha) |
143-
| Hash attestation | `██████████` 100% | D (Alpha) |
144-
| Gossip protocol | `██████████` 100% | D (Alpha) |
145-
| **Testing (218 total)** | | |
144+
| Umoja federation (QUIC+UDP) | `██████████` 100% | C (Beta) |
145+
| VeriSimDB backing store | `██████████` 100% | C (Beta) |
146+
| Hash attestation | `██████████` 100% | C (Beta) |
147+
| Gossip protocol | `██████████` 100% | C (Beta) |
148+
| **Dogfooding (Grade C)** | | |
149+
| VeriSimDB through database-mcp | `██████████` 100% | Tested e2e |
150+
| Zola/ddraig through ssg-mcp | `██████████` 100% | Tested e2e |
151+
| Stapeln through container-mcp | `██████████` 100% | Wired |
152+
| feedback-o-tron (18th cartridge) | `██████████` 100% | Full ABI+FFI |
153+
| PanLL BoJ panel | `██████████` 100% | 887 lines, 5 tabs |
154+
| PanLL bojRouting (10 panels) | `██████████` 100% | Conditional dispatch |
155+
| **Testing (218+ total)** | | |
146156
| Core FFI tests (105) | `██████████` 100% | Passing |
147157
| Cartridge FFI tests (113) | `██████████` 100% | Passing |
148158
| Federation tests (30) | `██████████` 100% | Passing |
@@ -153,14 +163,13 @@ BSP │ ██ │ │ │ ██ │ │ │
153163
| Benchmarks | `██████████` 100% | Available |
154164
| **CI/CD & Container** | | |
155165
| CI pipeline (zig-test.yml) | `██████████` 100% | Active |
156-
| Containerfile (Chainguard) | `██████████` 100% | Present |
166+
| Containerfile (Chainguard) | `██████████` 100% | 18 cartridges |
157167
| selur-compose orchestration | `██████████` 100% | Present |
158168
| vordr runtime monitoring | `██████████` 100% | Present |
159-
| Container e2e test | `░░░░░░░░░░` 0% | Not started |
160169
| **Integration** | | |
161-
| PanLL BoJ panel | `██████████` 100% | Complete (887 lines, 5 tabs) |
170+
| PanLL BoJ panel | `██████████` 100% | Complete |
162171
| Teranga menu runtime | `███░░░░░░░` 30% | Spec only |
163-
| READINESS.md | `██████████` 100% | Current (2026-03-09) |
172+
| READINESS.md | `██████████` 100% | Current |
164173
| Polystack deprecation | `██████████` 100% | Archived |
165174

166175
## Key Dependencies
@@ -180,23 +189,28 @@ BSP │ ██ │ │ │ ██ │ │ │
180189

181190
## Honest Assessment (2026-03-09)
182191

183-
**Overall: ~100% complete for v0.2.0 scope**
192+
**Overall: Grade C Beta — Dogfooding 6/7 complete**
184193

185194
What is genuinely done:
186-
- 17 cartridges with ABI+FFI+Adapter structure (all Grade D Alpha)
187-
- 17/17 cartridges have compiled .so shared libraries
188-
- 218 tests passing (105 core + 113 cartridge + 30 federation + 12 guardian + 28 readiness + 7 VeriSimDB + 3 e2e)
195+
- 18 cartridges with ABI+FFI+Adapter structure (3 at Grade C, 15 at Grade D)
196+
- 18/18 cartridges have compiled .so shared libraries
197+
- 218+ tests passing (105 core + 113 cartridge + 30 federation + 12 guardian + 28 readiness + 7 VeriSimDB + 3 e2e)
189198
- Umoja federation with real UDP networking and 30 tests
190199
- Guardian resource-aware failure tolerance (12 tests)
191-
- VeriSimDB backing store integration (7 tests)
200+
- VeriSimDB backing store e2e through database-mcp (octad CRUD, VQL, drift)
201+
- Stapeln integration through container-mcp (FFI state machine + API proxy)
202+
- Zola/ddraig builds through ssg-mcp (end-to-end)
203+
- feedback-o-tron as 18th cartridge (full stack)
204+
- PanLL bojRouting wired on 10 panels with conditional dispatch
192205
- Complete container ecosystem (Containerfile, compose.toml, vordr.toml)
193206
- CI pipeline active
194207
- Zero believe_me in actual code
195208
- PanLL BoJ panel fully implemented (887 lines, 5 tabs) in PanLL repo
196-
- READINESS.md current (2026-03-09)
209+
- hexad→octad rename complete across VeriSimDB, BoJ, PanLL
197210

198-
Remaining stretch goals (not blockers for v0.2.0):
199-
- Teranga menu has no runtime generation (spec only)
200-
- Container ecosystem not tested end-to-end
201-
- No multi-node integration tests
202-
- Grade D -> C requires dogfooding with a real project
211+
Grade C→B requirements:
212+
- QUIC-first transport for Umoja federation (replace cleartext UDP)
213+
- Multi-node federation testing
214+
- Coprocessor dispatch (Axiom.jl-style GPU/TPU/FPGA)
215+
- Podman secure instance for community node operators
216+
- Documentation and stable API contract

0 commit comments

Comments
 (0)