diff --git a/draft-roadmap/README.md b/draft-roadmap/README.md index 4612225..17ba602 100644 --- a/draft-roadmap/README.md +++ b/draft-roadmap/README.md @@ -81,11 +81,12 @@ Testing out new format, once approved: 5. [Deploy RLN Onchain Tree on L2 Testnet](/draft-roadmap/deploy_rln_onchain_tree_on_l2_testnet.md) 6. [Define Incentivisation for RLNaaS](/draft-roadmap/define_incentivisation_for_rlnaas.md) 7. [Improve DevEx: API, TWN, Metrics, Docs](/draft-roadmap/improve_devex_api_twn_metrics_docs.md) -8. [Introduce mixnet for message sending]() -9. [Formalize Logos Web Apps]() -10. [Introduce Chat SDK by enabling basic one-to-one chats]() -11. [Deliver RLN as a Library Usable with Waku API]() -12. [Streamline DevEx: Mobile, Rust and Web dev]() +8. [Introduce mixnet for message sending]() TODO: refining definition with @jm-clius. Suggesting mixnet relay deployed on TWN + light push over mixnet available in nwaku cli. +9. [Formalize Logos Web Apps](/draft-roadmap/formalize_logos_web_apps.md) +10. [Introduce Chat SDK by enabling basic one-to-one chats]() TODO: should be added via https://github.com/waku-org/pm/pull/303 +11. [Integrate RLN with Waku API](/draft-roadmap/integrate_rln_with_waku_api.md) +12. [Streamline DevEx: Mobile, Rust and Web dev](/draft-roadmap/streamline_dev_ex_local_dev_rust.md) +13. Incentivization follow-up Pushed to 2026 - WebTransport: depending on nim-libp2p (delivery Q4) @@ -94,7 +95,11 @@ Pushed to 2026 Not yet planned/not sure: - nwaku performance on mobile: let's focus on finishing desktop integration and getting API ready for Chat SDK + RLN - quic: need to review where to put it, should be easy. -- Follow-up steps in incentivization: part of current milestone is to produce a roadmap. +- Follow-up steps for incentivization: part of current milestone is to produce a roadmap. + +### Business Development Milestones + +TODO ## Gantt @@ -107,21 +112,25 @@ gantt axisFormat %b section core research E2E Reliability: 2025-07-01, 2025-08-01 - RLN: 2025-07-01, 2025-08-01 + RLN Onchain Tree: 2025-07-01, 2025-08-01 Incentivization: 2025-07-01, 2025-08-01 Mixnet: 2025-07-01, 2025-12-31 section nwaku Status Desktop: 2025-07-01, 2025-08-01 - RLN: 2025-07-01, 2025-08-01 - Improve DevEx: 2025-07-01, 2025-09-01 - Streamline DevEx: 2025-09-01, 2025-12-31 + RLN Onchain Tree: 2025-07-01, 2025-08-01 + Improve DevEx (API): 2025-07-01, 2025-10-01 + Improve DevEx (TWN): 2025-07-01, 2025-09-01 + Streamline DevEx (Mobile, Rust): 2025-09-01, 2025-12-31 + RLN Library: 2025-08-01, 2025-12-31 section js-waku - + Improve DevEx (API): 2025-07-01, 2025-10-01 + Improve DevEx (TWN): 2025-07-01, 2025-10-01 + Streamline DevEx (Local dev): 2025-10-01, 2025-12-31 section app-chat E2E Reliability: 2025-07-01, 2025-08-01 Communities Opt: 2025-07-01, 2025-08-01 Foundations Private Chats: 2025-07-01, 2025-08-01 - Improve Dex (metrics): 2025-07-01, 2025-09-01 + Improve DevEx (metrics): 2025-07-01, 2025-09-01 Logos Web Apps: 2025-07-01, 2025-12-31 Chat SDK: 2025-07-01, 2025-12-31 ``` \ No newline at end of file diff --git a/draft-roadmap/define_incentivisation_for_rlnaas.md b/draft-roadmap/define_incentivisation_for_rlnaas.md index 93ad287..1a5ea89 100644 --- a/draft-roadmap/define_incentivisation_for_rlnaas.md +++ b/draft-roadmap/define_incentivisation_for_rlnaas.md @@ -1,6 +1,6 @@ # [Define Incentivisation for RLNaaS](https://github.com/waku-org/pm/milestone/35) -**Estimated date of completion**: {Enter date} +**Estimated date of completion**: TODO: new date **Resources Required for 2025H2**: - {roles and % application to it} @@ -19,7 +19,7 @@ This is the first step to providing a sustainable way to scale the Status applic **FURPS**: TODO -**deliverables**: +**deliverables**: https://github.com/waku-org/pm/milestone/35 TODO adjust deliverables with FURPS ## [Pay for RLN provision PoC](https://github.com/waku-org/pm/issues/245) @@ -51,10 +51,6 @@ For S1. A nwaku-based CLI on a testnet, interaction with a custodial wallet is o ## [Service incentivisation roadmap & spec](https://github.com/waku-org/pm/issues/246) -**Owner**: research +**Owner**: core research -**Output**: a roadmap document. - -## 🏗️ Privacy-preserving payment streaming: F5, U3, S1 (research) - -**Probably need to drop due to core research team member's departure earlier this year.** \ No newline at end of file +**Output**: a roadmap document. \ No newline at end of file diff --git a/draft-roadmap/formalize_logos_web_apps.md b/draft-roadmap/formalize_logos_web_apps.md new file mode 100644 index 0000000..c501049 --- /dev/null +++ b/draft-roadmap/formalize_logos_web_apps.md @@ -0,0 +1,19 @@ +# Formalize Logos Web Apps + +**Estimated date of completion**: 19 Dec 2025 + +**Resources Required for 2025H2**: +- 1.5 engineers for 6 months + +Develop Web applications for Logos, using the Logos technology stack: + +- Qaku (Q&A over Waku): harden Waku to MVP level, so it can be used for IFT Town Halls, and Logos physical events +- Logos Operators Forum: Build a web forum PoC over Waku to serve as a basis for a decentralized Logos forum (opchan). + +As well as leveraging Qaku to explore Codex x Waku integration. + +**FURPS**: + +- [{Feature Name}]({path/to/furps/file}): {list of furps: F1, etc} TODO + +**Milestone and deliverables**: https://github.com/waku-org/pm/milestone/42 diff --git a/draft-roadmap/hardening_and_scaling_foundation_for_private_chat.md b/draft-roadmap/hardening_and_scaling_foundation_for_private_chat.md index d7342e9..0186fd1 100644 --- a/draft-roadmap/hardening_and_scaling_foundation_for_private_chat.md +++ b/draft-roadmap/hardening_and_scaling_foundation_for_private_chat.md @@ -30,3 +30,10 @@ either removed or disabled by default to ensure accurate testing and evaluation. - [Status Private Chats](/FURPS/application/status_private_chats.md): all **Milestone and deliverables**: https://github.com/waku-org/pm/milestone/40 + +TODO: [clean-up the deliverables](https://discord.com/channels/1110799176264056863/1337300409412489290/1379311090302980097): +- specify private chat: drop +- rate limit poc: finish it +- network metrics: move it +- baseline benchmarks: handover to DST +- status-cli: review with QA \ No newline at end of file diff --git a/draft-roadmap/integrate_nwaku_in_status_desktop_relay_mode_only.md b/draft-roadmap/integrate_nwaku_in_status_desktop_relay_mode_only.md index 46ec1ce..c3ae3c6 100644 --- a/draft-roadmap/integrate_nwaku_in_status_desktop_relay_mode_only.md +++ b/draft-roadmap/integrate_nwaku_in_status_desktop_relay_mode_only.md @@ -1,5 +1,10 @@ # Integrate nwaku in Status Desktop, relay mode only +**Estimated date of completion**: TODO new date + +**Resources Required for 2025H2**: +- 1 nwaku engineer for 1 month TBC + With this milestone, Status Desktop builds can use nwaku instead of go-waku. However, it should be seen as a MVP as further hardening and implementation of light client mode will be missing. Go-waku will still be used for Status Mobile. diff --git a/draft-roadmap/integrate_rln_with_waku_api.md b/draft-roadmap/integrate_rln_with_waku_api.md new file mode 100644 index 0000000..fec1841 --- /dev/null +++ b/draft-roadmap/integrate_rln_with_waku_api.md @@ -0,0 +1,87 @@ +# Integrate RLN With the Waku API + +**Estimated date of completion**: {Enter date} TODO + +**Resources Required for 2025H2**: +- nwaku engineer TODO +- js-waku engineer TODO +- core research/test engineer? TODO +- chat sdk engineer TODO +- {external services consumed (Vac/IFT)} +- {infrastructure} + +Deliver a native RLN library with a deliberate API to manage RLN memberships, as well as proof verification and generation. + +This includes extracting RLN Relay as a relay plugin validation strategy, that can then be passed internally to nwaku node +as any other strategy. + +Once delivered, usage of Chat SDK of RLN becomes possible, with clear API to instantiate nwaku library with RLN, as well +as API to manage RLN membership. + +This includes introducing RLN proof generation and validation in the Browser. RLN API should be similar across all implementations. + +**FURPS**: + +- [{Feature Name}]({path/to/furps/file}): {list of furps: F1, etc} TODO + +**deliverables**: + +## Implement RLN membership management in nwaku library + +**Owner**: nwaku + +**Feature**: [{Feature Name (only 1)}]({path/to/furps/file}) + +**FURPS**: +- {F1. copy-paste full furps statement} + +**Checklist**: +- [ ] Specs: link to specs +- [ ] Code: link to GitHub issues/PRs/Epic +- [ ] Dogfood: link to dogfooding session/artefact +- [ ] Docs: links to README.md or docs.waku.org (TBD) + +## Implement RLN Onchain Tree Proof generation and verification in the Browser + +**Owner**: {one waku subteam} + +**Feature**: [{Feature Name (only 1)}]({path/to/furps/file}) + +**FURPS**: +- {F1. copy-paste full furps statement} + +**Checklist**: +- [ ] Specs: link to specs +- [ ] Code: link to GitHub issues/PRs/Epic +- [ ] Dogfood: link to dogfooding session/artefact +- [ ] Docs: links to README.md or docs.waku.org (TBD) + +## Extract RLN as a plug-in library from nwaku + +**Owner**: nwaku + +**Feature**: [{Feature Name (only 1)}]({path/to/furps/file}) + +**FURPS**: +- {F1. copy-paste full furps statement} + +**Checklist**: +- [ ] Specs: link to specs +- [ ] Code: link to GitHub issues/PRs/Epic +- [ ] Dogfood: link to dogfooding session/artefact +- [ ] Docs: links to README.md or docs.waku.org (TBD) + +## {Name of deliverable 1 - eg "improve feature X for the browser"} + +**Owner**: {one waku subteam} + +**Feature**: [{Feature Name (only 1)}]({path/to/furps/file}) + +**FURPS**: +- {F1. copy-paste full furps statement} + +**Checklist**: +- [ ] Specs: link to specs +- [ ] Code: link to GitHub issues/PRs/Epic +- [ ] Dogfood: link to dogfooding session/artefact +- [ ] Docs: links to README.md or docs.waku.org (TBD) \ No newline at end of file diff --git a/draft-roadmap/introduce_e2e_reliability_in_status.md b/draft-roadmap/introduce_e2e_reliability_in_status.md index 0e24863..5ae1405 100644 --- a/draft-roadmap/introduce_e2e_reliability_in_status.md +++ b/draft-roadmap/introduce_e2e_reliability_in_status.md @@ -1,6 +1,12 @@ # Introduce E2E Reliability in Status Communities -(Rename e2e reliability, but work as per scope) +**Estimated date of completion**: {Enter date} + +**Resources Required for 2025H2**: +- 1 app chat engineer for 1 month (TBC) +- (core research work finishes by end of June) + +(Renamed "e2e reliability protocol " milestone, but work as per scope, only split a deliverable) To solve reliability is to solve two problems: diff --git a/draft-roadmap/streamline_dev_ex_local_dev_rust.md b/draft-roadmap/streamline_dev_ex_local_dev_rust.md index e69de29..cdd3307 100644 --- a/draft-roadmap/streamline_dev_ex_local_dev_rust.md +++ b/draft-roadmap/streamline_dev_ex_local_dev_rust.md @@ -0,0 +1,97 @@ +# Streamline DevEx: Mobile, Rust and Web dev + +**Estimated date of completion**: {Enter date} TODO + +**Resources Required for 2025H2**: +- {roles and % application to it} +- {external services consumed (Vac/IFT)} +- {infrastructure} + +Complete the Waku API implementation in nwaku by implement edge node mode (Status' Light Mode). + +Stream the Developer Experience by delivering a Rust SDK that implements the full Waku API and is available on crates.io. +As well as building an easy-to-use local dev environment from the browser, enabling developers to build web apps without +relying on external connectivity; as well as opting in and out of RLN, and include a local RLN dev environment. + +Finalize the integration of nwaku in Status application by setting up nwaku-based build for Mobile platforms. + +**FURPS**: + +- [{Feature Name}]({path/to/furps/file}): {list of furps: F1, etc} + +**deliverables**: + +## Edge Mode in Nwaku + +**Owner**: nwaku + +**Feature**: [{Feature Name (only 1)}]({path/to/furps/file}) TODO + +**FURPS**: +- {F1. copy-paste full furps statement} + +**Checklist**: +- [ ] Specs: link to specs +- [ ] Code: link to GitHub issues/PRs/Epic +- [ ] Dogfood: link to dogfooding session/artefact +- [ ] Docs: links to README.md or docs.waku.org (TBD) + +## Nwaku in Status Mobile + +**Owner**: nwaku + +**Feature**: [{Feature Name (only 1)}]({path/to/furps/file}) TODO + +**FURPS**: +- {F1. copy-paste full furps statement} + +**Checklist**: +- [ ] Specs: link to specs +- [ ] Code: link to GitHub issues/PRs/Epic +- [ ] Dogfood: link to dogfooding session/artefact +- [ ] Docs: links to README.md or docs.waku.org (TBD) + +## Waku Rust SDK + +**Owner**: nwaku + +**Feature**: [{Feature Name (only 1)}]({path/to/furps/file}) + +**FURPS**: +- {F1. copy-paste full furps statement} + +**Checklist**: +- [ ] Specs: link to specs +- [ ] Code: link to GitHub issues/PRs/Epic +- [ ] Dogfood: link to dogfooding session/artefact +- [ ] Docs: links to README.md or docs.waku.org (TBD) + +## Local RLN Dev Harness + +**Owner**: ? (nwaku? core-research?) TODO + +**Feature**: [{Feature Name (only 1)}]({path/to/furps/file}) + +**FURPS**: +- {F1. copy-paste full furps statement} + +**Checklist**: +- [ ] Specs: link to specs +- [ ] Code: link to GitHub issues/PRs/Epic +- [ ] Dogfood: link to dogfooding session/artefact +- [ ] Docs: links to README.md or docs.waku.org (TBD)\ + +## Local Web Dev Harness + +**Owner**: js-waku + +**Feature**: [{Feature Name (only 1)}]({path/to/furps/file}) + +**FURPS**: +- {F1. copy-paste full furps statement} + +**Checklist**: +- [ ] Specs: link to specs +- [ ] Code: link to GitHub issues/PRs/Epic +- [ ] Dogfood: link to dogfooding session/artefact +- [ ] Docs: links to README.md or docs.waku.org (TBD)