Skip to content

Commit ff09549

Browse files
igor-sirotinclaude
andcommitted
docs(messaging): flesh out Modularize Delivery Kernel milestone
Ground the milestone in the actual logos-delivery layering work (kernel/core <- messaging <- channels, PRs #3918/#3927/#4000), add a kernel API surface deliverable, FURPS refs, and done-when criteria. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 223cfdb commit ff09549

1 file changed

Lines changed: 38 additions & 4 deletions

File tree

content/messaging/roadmap/milestones/2026-modularize-delivery-kernel.md

Lines changed: 38 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,65 @@ date: 2026-07-07
88
**Resources Required**:
99
- 2 Delivery engineers
1010

11-
Restructure the internals of `logos-delivery` (the "kernel") so that major components sit behind pluggable interfaces instead of being hardwired into the node. This is preparation work for [Logos Core Integration — Phase 3](2026-logos-core-integration-phase-3) and [Phase 4](2026-logos-core-integration-phase-4.md), where embedded components are gradually replaced by shared Logos Core modules — the swap should be an implementation change behind an interface, not an invasive rewrite.
11+
`logos-delivery` is being restructured into explicit layers:
12+
13+
```
14+
Kernel/core — node, transports, gossip, store client, discovery,
15+
RLN, subscription management, health monitoring
16+
17+
Messaging — MessagingClient (Send / Receive services), optionally mounted
18+
19+
Channels — ReliableChannelManager, optionally mounted
20+
```
21+
22+
The groundwork landed in v0.2: MessagingClient became an optionally-mounted layer, subscription management and health monitoring moved into the kernel, and the messaging layer now depends on the kernel handle instead of reaching into node internals ([#3918](https://github.com/logos-messaging/logos-delivery/pull/3918), [#3927](https://github.com/logos-messaging/logos-delivery/pull/3927), [#4000](https://github.com/logos-messaging/logos-delivery/pull/4000)).
23+
24+
This milestone completes the modularization: the kernel exposes a well-defined API surface, major components sit behind pluggable interfaces instead of being hardwired into the node, and cross-cutting concerns (RLN, rate limiting) are solved once at the kernel level. This is preparation work for [Logos Core Integration — Phase 3](2026-logos-core-integration-phase-3) and [Phase 4](2026-logos-core-integration-phase-4.md), where embedded components are gradually replaced by shared Logos Core modules — the swap should be an implementation change behind an interface, not an invasive rewrite.
25+
26+
## FURPS
27+
28+
- [Rate Limit Manager](/messaging/furps/application/rate_limit_manager.md)
29+
- [RLN Relay](/messaging/furps/core/rln_relay.md)
30+
- [LightPush](/messaging/furps/core/light_push.md)
1231

1332
## Risks
1433

1534
| Risk | (Accept, Own, Mitigation) |
1635
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------|
1736
| Interface churn | Interfaces designed before the Logos Core modules stabilize may need rework. Coordinate with Logos Core and AnonComms teams early. |
1837
| Refactoring regressions | Kernel restructuring touches core paths. Rely on the Messaging API test suite and fleet canaries to catch regressions. |
38+
| Scope creep | "God object" decomposition can expand indefinitely. Scope is limited to what Phase 3/4 integrations and the deliverables below require. |
1939

2040
## Deliverables
2141

42+
### Define the kernel API surface
43+
44+
**Owner**: Delivery Team
45+
46+
The kernel exposes a complete, explicit API, and the messaging and channels layers consume only that API — the remaining reach-arounds into node internals (subscription manager, store client, RNG, broker context) are removed. This enables a dedicated `logosdelivery_kernel.h` C-binding surface for node-running use cases (fleet tools), putting the deprecated `libwaku` on a retirement path.
47+
48+
**Done when**: Messaging and channels layers depend only on the kernel API; a kernel-level FFI surface exists for running a node without the messaging layer.
49+
2250
### Pluggable discovery
2351

2452
**Owner**: Delivery Team
2553

26-
Peer discovery is extracted behind a discovery interface, with the embedded discv5 as the default implementation. This enables the [Discovery module POC](2026-logos-core-integration-phase-3) in v0.3 and the full replacement of discv5 by the Discovery Logos Core module in Phase 4.
54+
Peer discovery is extracted behind a kernel discovery interface, with the embedded discv5 as the default implementation. Additional discovery sources can be plugged in and their results merged.
55+
56+
**Done when**: The Discovery Logos Core module can be added as a peer source (the [Phase 3 POC](2026-logos-core-integration-phase-3)) without kernel changes, enabling the full replacement of discv5 in [Phase 4](2026-logos-core-integration-phase-4.md).
2757

2858
### RLN everywhere
2959

3060
**Owner**: Delivery Team
3161

32-
RLN proof generation and validation becomes a kernel-level concern applied uniformly across protocols (Relay, LightPush), instead of per-protocol implementations. Builds on [RLN for Edge Nodes](2026-rln-for-edge-nodes.md) and enables enforcing RLN on all traffic in fleets (see [RLN on Logos Blockchain](2026-add-support-for-rln-on-lee)).
62+
RLN proof generation and validation becomes a kernel-level concern applied uniformly across protocols (Relay, LightPush), instead of per-protocol implementations. Builds on [RLN for Edge Nodes](2026-rln-for-edge-nodes.md) and enables fleets to require RLN proofs on all traffic (see [RLN on Logos Blockchain](2026-add-support-for-rln-on-lee)).
63+
64+
**Done when**: Every publish path — Relay and LightPush, core and edge mode — generates and validates RLN proofs through the shared kernel component.
3365

3466
### Rate Limit Manager
3567

3668
**Owner**: Delivery Team
3769

38-
The Rate Limit Manager (created in [Reliable Channel API — Beta](2026-reliable-channel-api-beta.md)) becomes a kernel-level component, available to every API exposed by the node — Messaging API, Reliable Channel API — rather than a Reliable-Channel-only feature.
70+
The [Rate Limit Manager](/messaging/furps/application/rate_limit_manager.md) (created in [Reliable Channel API — Beta](2026-reliable-channel-api-beta.md)) becomes a kernel-level component, available to every API exposed by the node rather than a Reliable-Channel-only feature.
71+
72+
**Done when**: Messaging API and Reliable Channel API consume the same rate limit manager, sharing a single quota and message queue per node.

0 commit comments

Comments
 (0)