Specify expectations around packaging

This commit is contained in:
fryorcraken 2025-06-07 00:27:10 +10:00
parent d25ed2a134
commit a38fefb055
No known key found for this signature in database
GPG Key ID: A82ED75A8DFC50A4
9 changed files with 39 additions and 30 deletions

View File

@ -2,7 +2,7 @@
## Functionality
1. Accounts can be created in a permissionless way, to communicate on the network.
1. Accounts can be created in a permission-less way, to communicate on the network.
2. Accounts can send messages to conversations with one other participant.
3. All conversations benefit from forward secrecy and post-compromise security.
4. Sender gets confirmation of message reception by recipient device.
@ -28,11 +28,12 @@
1. Messaging integrates RLN-like rate limit, limiting outbound messages per epoch.
2. Payload definitions are versioned to support future protocol updates.
3. library can be used in Go applications
4. library can be used in Rust applications
3. library can be used in Go applications; available on pkg.go.dev.
4. library can be used in Rust applications; import via git path.
## +Privacy
## + (Privacy, Anonymity, Deployments)
1. Non-participants in the conversation cannot correlate individual messages to a sender.
2. Non-participants in the conversation cannot correlate conversation to participants.
3. Network observers cannot aggregate account holder activity.
3. Network observers cannot aggregate account holder activity.
4. Nimble package manager is used to build.

View File

@ -21,10 +21,10 @@
## Supportability
1. Developers can create group conversations from Go Applications
2. Developers can create group conversations from Rust Applications
1. Developers can create group conversations from Go Applications; available on pkg.go.dev.
2. Developers can create group conversations from Rust Applications; available on crates.io.
## +Privacy
## + (Privacy, Anonymity, Deployments)
1. Non-participants cannot correlate a group conversation to any of its participants.
2. No identifying information is visible when registering an installation.

View File

@ -28,8 +28,8 @@
## Supportability
1. ...
1. Nim library.
## + (Privacy, Anonymity, Deployments)
1. ...
1. Nimble package manager is used to build.

View File

@ -23,9 +23,10 @@
## Supportability
1. Nim
1. Nim library.
## + (Privacy, Anonymity, Deployments)
1. Segmentation metadata should not reveal information about the original message content
2. Relevant for all Waku nodes
2. Relevant for all Waku nodes.
3. Nimble package manager is used to build.

View File

@ -27,9 +27,9 @@
## Supportability
1. Nim library
2. Golang library
3. Browser
1. Nim library; import via git path.
2. Golang library; available on pkg.go.dev.
3. Browser; distribution via npmjs.com.
## + (Privacy, Anonymity, Deployments)

View File

@ -87,11 +87,12 @@ In order of priority.
| 7 | [Improve DevEx: API, TWN, Metrics, Docs](improve_devex_api_twn_metrics_docs.md) | TBD | TBD | TBD | TBD | TBD |
| 8 | [Introduce mixnet for message sending](introduce_mixnet_for_message_sending.md) | 30 Sep | 1*3m | | | |
| 9 | [Formalize Logos Web Apps](formalize_logos_web_apps.md) | 19 Dec | | | | 1.5*6m |
| 10 | [Introduce Chat SDK by enabling basic one-to-one chats]() TODO | TBD | | | | TBD |
| 10 | [Create Chat SDK MVP](create_chat_sdk_mvp.md) | TBD | | | | TBD |
| 11 | [Integrate RLN with Waku API](integrate_rln_with_waku_api.md) | TBD | TBD | 1*2m | TBD | |
| 12 | [Streamline DevEx: Mobile, Rust and Web dev](streamline_dev_ex_local_dev_rust.md) | TBD | TBD? | TBD | TBD | |
| 13 | Incentivisation follow-up | TBD | TBD | | | |
| 14 | [Nim Usage Improvements](nim_usage_improvements.md) | TBD | | | TBD | |
| 13 | [Extend Chat SDK with Group Conversations](extend_chat_sdk_with_group_conversations.md) | TBD | | | | TBD |
| 14 | Incentivisation follow-up | TBD | TBD | | | |
| 15 | [Nim Usage Improvements](nim_usage_improvements.md) | TBD | | | TBD | |
Pushed to 2026
- WebTransport: depending on nim-libp2p (delivery Q4)

View File

@ -1,4 +1,4 @@
# Create MVP ChatSDK
# Create Chat SDK MVP
**Estimated date of completion**: 19 Aug 2025
@ -47,7 +47,7 @@ This milestone is complete when a development preview of the Chat SDK is publish
**Feature**: [Chat SDK](/FURPS/application/chat_sdk.md)
**FURPS**:
- F1. Accounts can be created in a permissionless way, to communicate on the network.
- F1. Accounts can be created in a permission-less way, to communicate on the network.
- F2. Accounts can send messages to conversations with one other participant.
- F3. All conversations benefit from forward secrecy and post-compromise security.
- F4. Sender gets confirmation of message reception by recipient device.
@ -66,6 +66,8 @@ This milestone is complete when a development preview of the Chat SDK is publish
- S1. Messaging integrates RLN-like rate limit, limiting outbound messages per epoch.
- S2. Payload definitions are versioned to support future protocol updates.
- +4. Nimble package manager is used to build.
**Checklist**:
- [ ] Specs: link to specs and/or API definition
- [ ] Code: link to GitHub issues/PRs/Epic
@ -85,8 +87,9 @@ This milestone is complete when a development preview of the Chat SDK is publish
For library ChatSDK:
- U3. Minimal example of the ChatSDK is no more than 25 lines of code.
- S3. library can be used in Go applications.
- S4. library can be used in Rust applications
- S3. library can be used in Go applications; available on pkg.go.dev.
- S4. library can be used in Rust applications; import via git path.
**Checklist**:
- [ ] Specs: link to specs and/or API definition
@ -114,10 +117,11 @@ For library ChatSDK:
- P1. The payload overhead does not exceed 12.5% overall, and 100 bytes per segment.
- S1. Nim
- S1. Nim library.
- +1. Segmentation metadata should not reveal information about the original message content
- +2. Relevant for all Waku nodes
- +3. Nimble package manager is used to build.
**Checklist**:
- [ ] Specs: link to specs
@ -148,6 +152,8 @@ For library ChatSDK:
- R2. Queued messages are persisted across restart.
- R3. Quota status is persisted across restart.
- S1. Nim library.
- +1. Nimble package manager is used to build.
**Checklist**:
- [ ] Specs: link to specs

View File

@ -1,4 +1,4 @@
# Extend ChatSDK with Group Chat
# Extend Chat SDK with Group Conversations
**Estimated date of completion**: 18 Nov 2025
@ -13,7 +13,7 @@ The features to said group chat will be limited, and extended with further miles
**Risks**:
- (Schedule)(Medium) - Task Dependency: This task is dependent on [ChatSDK - Developer Preview](/draft-roadmap/create_chat_sdk.md).
- (Schedule)(Medium) - Task Dependency: This task is dependent on [ChatSDK - Developer Preview](create_chat_sdk_mvp.md).
Delays there will translate into delays to this milestone.
- (Technical)(Medium) - Lack of Libraries: There currently does not exist the required libraries in Nim to build group
chat. This will involve evaluating the potential of calling an existing library via FFI or implementing it from
@ -64,8 +64,8 @@ The features to said group chat will be limited, and extended with further miles
**FURPS**:
- S1. Developers can create group conversations from Go Applications
- S2. Developers can create group conversations from Rust Applications
- S1. Developers can create group conversations from Go Applications; available on pkg.go.dev.
- S2. Developers can create group conversations from Rust Applications; available on crates.io.
**Checklist**:
- [ ] Specs: link to specs and/or API definition

View File

@ -138,7 +138,7 @@ Spec delivery not included.
- R1. Sends a message using peer-to-peer reliability (service node redundancy, optional store confirmation)
- R2. Receives messages using peer-to-peer reliability (service node redundancy, periodic store query, periodic filter ping)
For S3. Browser
For S3. Browser; distribution via npmjs.com.
**Checklist**:
- [ ] Specs: link to specs and/or API definition
@ -166,8 +166,8 @@ For S3. Browser
- R2. Receives messages using peer-to-peer reliability (service node redundancy, periodic store query, periodic filter ping)
For:
- S1. Nim library; used by chat SDK
- S2. Golang library; used by status-go
- S1. Nim library; import via git path.
- S2. Golang library; available on pkg.go.dev.
**Checklist**:
- [ ] Specs: link to specs and/or API definition