Skip to content

Commit c2e095c

Browse files
committed
docs(messaging): parallel milestones (#386)
* feat: Add Nimble Migration and Fleet Stability milestones * feat: Introduce Support Mobile Platforms milestone * feat: Define Status integration milestones for Logos Chat and Delivery
1 parent 4ebe57a commit c2e095c

5 files changed

Lines changed: 355 additions & 0 deletions

File tree

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
---
2+
title: Fleet Stability
3+
tags:
4+
- messaging-milestone
5+
date: 2026-02-01
6+
---
7+
8+
# Fleet Stability
9+
10+
**Estimated date of completion**: Ongoing
11+
12+
**Resources Required**:
13+
- 1 Delivery engineer (intermittent)
14+
- Infra team support
15+
16+
Ensure all Logos Delivery production fleets are stable, monitored, and recoverable. This covers:
17+
- `logos.dev` — Logos testnet development fleet
18+
- `logos.test` — Logos testnet staging fleet
19+
- `status.prod` — Status production fleet
20+
- `waku.sandbox` — Waku sandbox fleet
21+
22+
**Note on monitoring**: Status and Waku fleets (`status.prod`, `waku.sandbox`) already have monitoring infrastructure in place (Grafana, Kibana, alerts). For Logos fleets (`logos.dev`, `logos.test`), not all monitoring is available yet — in particular, Grafana dashboards are not possible because Logos Core does not yet expose metrics of modules. This is a blocker that needs to be resolved with the Logos Core team.
23+
24+
## Definition of Done
25+
26+
This milestone is considered complete when **all** of the following are true for every operated fleet:
27+
28+
1. **Monitoring**: Dashboards exist showing node health, connectivity, message throughput, and resource usage. For Logos fleets, this requires Logos Core to expose module metrics.
29+
2. **Alerting**: Alerts fire for node crashes, database issues, connectivity drops, and resource exhaustion.
30+
3. **Crash reporting**: Sentry is integrated and reporting crashes for fleet builds.
31+
4. **Stability**: No known P0 or P1 stability issues. P0 = fleet-wide outage or data loss. P1 = recurring crashes or degraded service affecting users.
32+
33+
## Deliverables
34+
35+
### Integrate Sentry for crash reporting
36+
37+
**Owner**: Delivery Team
38+
39+
- Compile-time flag (`-d:sentry`) for public/open-source builds (no telemetry code present)
40+
- Runtime dynamic loading for fleet builds
41+
- Dual approach satisfies privacy narrative while enabling crash reporting for operated fleets
42+
- Sentry project configured and receiving reports from all fleet nodes
43+
44+
**Done when**: All fleet nodes report crashes to Sentry. Crash reports include stack traces and node metadata.
45+
46+
### Fleet monitoring dashboards for Logos fleets
47+
48+
**Owner**: Delivery Team + Infra + Logos Core Team
49+
50+
- Logos Core exposes module metrics (blocker — coordinate with Logos Core team)
51+
- Dashboards for `logos.dev` and `logos.test` showing:
52+
- Node uptime and restart frequency
53+
- Message send/receive rates and latency
54+
- Peer connectivity (number of peers, connection stability)
55+
- Resource usage (CPU, memory, disk, bandwidth)
56+
- Database health (size, query latency, corruption indicators)
57+
58+
**Done when**: Dashboards are deployed and accessible for Logos fleets. Data is current and accurate. (Status and Waku fleets already have this.)
59+
60+
### Fleet alerting for Logos fleets
61+
62+
**Owner**: Delivery Team + Infra
63+
64+
- Alerts configured for:
65+
- Node crash or unexpected restart
66+
- Database corruption or excessive size
67+
- Connectivity drops (below minimum peer threshold)
68+
- Memory or disk exhaustion
69+
- Message delivery failure rate exceeding threshold
70+
71+
**Done when**: Alerts fire within 5 minutes of incident. (Status and Waku fleets already have alerting.)
72+
73+
### Resolve known fleet stability issues
74+
75+
**Owner**: Delivery Team
76+
77+
- Address recurring crashes reported in DST testing
78+
- Database corruption issues
79+
- Memory leaks in long-running nodes
80+
- Discovery issues blocking DST benchmarking
81+
82+
**Done when**: No known P0 or P1 stability issues across all fleets for 30 consecutive days.
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
title: Nimble Migration
3+
tags:
4+
- messaging-milestone
5+
date: 2026-01-15
6+
---
7+
8+
# Nimble Migration
9+
10+
**Estimated date of completion**: Q2 2026
11+
12+
**Resources Required**:
13+
- 1 Delivery engineer (intermittent)
14+
- 1 Chat engineer (intermittent)
15+
16+
Migrate all main Logos Messaging Nim repositories from the legacy build system to Nimble package manager. This enables reproducible builds, proper dependency management, and aligns with the broader Logos ecosystem tooling.
17+
18+
Note: `libchat` is a Rust library and does not use Nimble.
19+
20+
## Deliverables
21+
22+
### Migrate logos-delivery to Nimble
23+
24+
**Owner**: Delivery Team
25+
26+
- `logos-messaging/logos-delivery` uses Nimble for build and dependency management
27+
- CI/CD updated accordingly
28+
- Nix flake integration with Nimble
29+
30+
### Migrate logos-chat to Nimble
31+
32+
**Owner**: Chat Team
33+
34+
- `logos-messaging/logos-chat` uses Nimble for build and dependency management
35+
- CI/CD updated accordingly
36+
37+
### Migrate nim-sds to Nimble
38+
39+
**Owner**: Delivery Team
40+
41+
- `logos-messaging/nim-sds` uses Nimble for build and dependency management
42+
43+
### Verify Nimble-based builds across all platforms
44+
45+
**Owner**: Delivery Team
46+
47+
- Linux, macOS, Windows builds verified
48+
- Nix flake outputs working with Nimble
49+
- Cross-compilation for mobile targets verified (prerequisite for mobile support milestone)
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
---
2+
title: 'Status: Logos Chat Integration'
3+
tags:
4+
- messaging-milestone
5+
date: 2026-02-01
6+
---
7+
8+
# Status: Logos Chat Integration
9+
10+
**Estimated date of completion**: ~Q4 2026 (after Logos Chat Developer Preview)
11+
12+
**Resources Required**:
13+
- 1 Chat engineer
14+
- Status Core team (`status-go` changes)
15+
- QA support from both teams
16+
17+
Status switches from its current chat protocol implementation to Logos Chat, consumed through Logos Core. This is the largest integration milestone and replaces Status's chat backend for 1:1 chats, group chats, and eventually communities.
18+
19+
**Prerequisites**:
20+
- [Chat — Developer Preview](2026-chat-developer-preview) (v0.3) must be delivered
21+
- [Logos Core Integration — Phase 2](2026-logos-core-integration-phase-2) (v0.2) — Chat and Delivery modules working through Logos Core
22+
23+
**Migration approach**:
24+
- Both parties (old Status Protocol and new Logos Chat) need to be supported in parallel during migration
25+
- Migration order: 1:1 chats → group chats → communities
26+
- Backend must support running old and new protocols simultaneously
27+
- Communities are "groups of group chats" — Status keeps its own token-gated access layer on top
28+
29+
**Key constraints** (from CTO alignment):
30+
- Communities are not the Messaging team's responsibility
31+
- Integration maintenance transfers to Status after initial delivery
32+
- Messaging team involvement should remain minimal post-handoff
33+
34+
## Related milestones
35+
36+
- [Chat — Foundations](2025-create-chat-sdk-mvp.md) (v0.1) — 1:1 chats
37+
- [Chat — Group Conversations](2025-extend-chat-sdk-with-group-conversations) (v0.2) — group chats via de-MLS
38+
- [Chat — Developer Preview](2026-chat-developer-preview) (v0.3) — first external release
39+
- [Logos Core Integration — Phase 2](2026-logos-core-integration-phase-2) — Chat ↔ Delivery through Logos Core
40+
41+
## Risks
42+
43+
| Risk | (Accept, Own, Mitigation) |
44+
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
45+
| Migration complexity | Running two chat protocols in parallel is complex. Clear migration path and rollback strategy needed. |
46+
| Status team capacity | Status Core team needs to allocate developers for `status-go` integration. Coordination needed early. |
47+
| Communities scope creep | Communities architecture ("groups of group chats") may require Messaging team involvement beyond initial expectations. |
48+
| de-MLS group size limits | de-MLS targets up to 10,000 members, but Status communities may need more. Scaling assessment needed. |
49+
| Breaking changes | Logos Chat is still evolving. Breaking changes between Developer Preview and GA may impact Status integration timeline. |
50+
51+
## Deliverables
52+
53+
### Integrate Logos Chat 1:1 chats in Status
54+
55+
**Owner**: Chat Team + Status Core
56+
57+
- Status uses Logos Chat for 1:1 conversations
58+
- Consumed through Logos Core
59+
- Migration path from existing Status 1:1 chat protocol
60+
- Go bindings via C-bindings from Logos Core
61+
62+
### Integrate Logos Chat group chats in Status
63+
64+
**Owner**: Chat Team + Status Core
65+
66+
- Status uses Logos Chat group chats (de-MLS) for group conversations
67+
- Migration path from existing Status group chat protocol
68+
- Multi-device support through de-MLS installations
69+
70+
### Define communities architecture on Logos Chat
71+
72+
**Owner**: Status Core (with Messaging team advisory)
73+
74+
- Communities as "groups of group chats" using Logos Chat
75+
- Token-gated access layer remains Status-owned
76+
- No separate community protocol from Messaging team
77+
- Logos Chat provides the group chat substrate; Status builds community features on top
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
---
2+
title: 'Status: Logos Delivery Integration'
3+
tags:
4+
- messaging-milestone
5+
date: 2026-02-01
6+
---
7+
8+
# Status: Logos Delivery Integration
9+
10+
**Estimated date of completion**: TBD (after Messaging API is integration-ready)
11+
12+
**Resources Required**:
13+
- 1 Delivery engineer (50% of work)
14+
- Status Core team — 1 engineer (50% of work)
15+
- Infra team (fleet management, CI)
16+
17+
Status currently has partial Logos Delivery (nwaku) integration in relay mode, with significant issues (see [current state](2024-nwaku-in-status-desktop)). The integration plan has been agreed:
18+
19+
1. **Remove nwaku CI jobs** — stop maintaining duplicated CI for go-waku and nwaku
20+
2. **Remove existing nwaku integration** from `status-go`
21+
3. **Wait** for Messaging API to be integration-ready
22+
4. **Integrate Messaging API** in `status-go` — full switch to Logos Delivery, drop `go-waku` dependency
23+
5. **Remove existing peer management** from `status-go` — peer management is encapsulated in Logos Delivery Messaging API
24+
25+
Work is split **50/50** between Delivery team and Status team. Delivery team provides the library and Go bindings; Status team adapts `status-go`.
26+
27+
## Related milestones
28+
29+
- [Integrate nwaku in Status Desktop relay mode only](2024-nwaku-in-status-desktop) — current partial state (to be removed)
30+
- [Messaging API — General Availability](2026-messaging-api-general-availability) — prerequisite (includes edge mode for mobile, Subscribe API)
31+
- [Foundation for Communities Optimization](2025-foundation-for-communities-optimization) — content topic sharding for communities
32+
- [E2E Reliability in Status Communities](2024-e2e-reliability-protocol) — SDS protocol for communities
33+
34+
## Risks
35+
36+
| Risk | (Accept, Own, Mitigation) |
37+
| --------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
38+
| Go bindings for C libraries | `status-go` needs Go bindings for Logos Delivery C-bindings. Extra development work. |
39+
| Messaging API readiness | Integration cannot begin until Messaging API is stable enough. Track readiness closely. |
40+
| DST blocked on discovery | DST testing of Logos Delivery in Status is blocked by a discovery issue. Needs resolution before meaningful benchmarking. |
41+
42+
## Deliverables
43+
44+
### Remove existing nwaku integration
45+
46+
**Owner**: Delivery Team + Status Core
47+
48+
- Remove nwaku CI jobs from `status-go` (no more duplicated jobs)
49+
- Remove existing nwaku relay integration code from `status-go`
50+
- Status continues with go-waku only until Messaging API is ready
51+
52+
### Integrate Messaging API in status-go
53+
54+
**Owner**: Delivery Team (library + Go bindings) + Status Core (status-go adaptation)
55+
56+
- Provide Go bindings for Logos Delivery Messaging API (via C-bindings)
57+
- Replace go-waku usage in `status-go` with Messaging API (send, health, subscribe)
58+
- Drop `go-waku` dependency entirely
59+
- Remove existing peer management from `status-go` — Messaging API handles this internally
60+
- Single implementation path in CI
61+
62+
### Enable SDS protocol for Status Communities
63+
64+
**Owner**: Delivery Team
65+
66+
Related milestones:
67+
- [Foundation for Communities Optimization](2025-foundation-for-communities-optimization) — content topic sharding for communities
68+
- [E2E Reliability in Status Communities](2024-e2e-reliability-protocol) — SDS protocol integration
69+
70+
SDS in Status Communities provides:
71+
- Detection of missed messages in community channels
72+
- Resending unacknowledged messages
73+
- Recovery of missed messages via store queries
74+
75+
### Enable RLN for Status on Status Network
76+
77+
**Owner**: Delivery Team
78+
79+
Using the [pluggable RLN membership interface](2026-add-support-for-rln-on-lee), configure Status to use RLN with the EVM-based backend on Status Network (gasless L2).
80+
81+
**Dependency**: AnonComms RLN Prover for gasless L2 transactions.
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
title: Support Mobile Platforms
3+
tags:
4+
- messaging-milestone
5+
date: 2026-02-21
6+
---
7+
8+
# Support Mobile Platforms
9+
10+
**Estimated date of completion**: Required for Mainnet
11+
12+
**Resources Required**:
13+
- 1 Delivery engineer
14+
- 1 Chat engineer
15+
- Logos Core team for mobile runtime support
16+
17+
Ensure that Logos Chat and Logos Delivery modules are usable in Logos Core on mobile platforms (iOS and Android).
18+
19+
Edge mode (light push, filter, peer exchange) is implemented in earlier milestones ([Messaging API — General Availability](2026-messaging-api-general-availability)). This milestone ensures it fully works on mobile, with testing and DST validation.
20+
21+
This involves three areas:
22+
1. **nim-ffi mobile support** — Ensure C-bindings produced by nim-ffi work on iOS and Android
23+
2. **Edge mode on mobile** — Verify and test edge mode on resource-constrained mobile devices. Edge mode implementation is done in previous milestones; this milestone covers mobile-specific testing, tuning, and DST validation.
24+
3. **Logos Core on mobile** — Verify no multiple-runtime conflicts when running Chat and Delivery modules in a single mobile process
25+
26+
## FURPS
27+
28+
- [Nim FFI](/messaging/furps/application/nim_ffi.md): S2
29+
- [Messaging API](/messaging/furps/core/messaging_sdk.md): F2 (edge mode — verification on mobile)
30+
31+
## Risks
32+
33+
| Risk | (Accept, Own, Mitigation) |
34+
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------- |
35+
| Mobile cross-compilation | Nim cross-compilation for iOS and Android is not straightforward. Requires build system work. |
36+
| Single-process constraint | Mobile platforms require a single process. Multiple async runtimes (Nim Chronos + Rust Tokio) may conflict. |
37+
| Resource constraints | Mobile devices have limited bandwidth, battery, and memory. Edge mode must be tuned for these constraints. |
38+
39+
## Deliverables
40+
41+
### Ensure nim-ffi libraries work on mobile platforms
42+
43+
**Owner**: Delivery Team
44+
45+
**Feature**: [Nim FFI](/messaging/furps/application/nim_ffi.md)
46+
47+
**FURPS**:
48+
- S2. The exposed C library can be used in Logos Core for mobile: iOS and Android.
49+
50+
### Verify and test edge mode on mobile
51+
52+
**Owner**: Delivery Team + DST
53+
54+
Edge mode is implemented in [Messaging API — General Availability](2026-messaging-api-general-availability). This deliverable covers:
55+
- Testing edge mode on iOS and Android devices
56+
- Battery and bandwidth impact assessment
57+
- Performance tuning for mobile constraints
58+
- DST validation of reliability in edge mode on mobile
59+
60+
### Verify Chat and Delivery modules on Logos Core mobile
61+
62+
**Owner**: Delivery Team + Chat Team
63+
64+
- No multiple-runtime conflicts in single-process mobile environment
65+
- Performance testing on mobile devices
66+
- End-to-end validation: 1:1 chats, group chats, identity, on mobile

0 commit comments

Comments
 (0)