ift-ts:p2p:ift:2026q4-gossipsub-interop
Description
Evolve the existing GossipSub test plan into a reusable unified-testing framework, using libp2p/test-plans#850 as a starting point. Cover Go, Rust, JS, Python, Nim, Zig, and future implementations in mixed-language topologies across TCP, WebSocket, and native QUIC. Use unified-testing for protocol and transport debugging.
Note that large-scale Shadow simulation seems to not work correctly with QUIC
Task List
Implementation And Transport Matrix
- fully qualified name:
ift-ts:p2p:ift:2026q4-gossipsub-interop:matrix - owner: not assigned yet
- status: not started
- start-date: 2026/10/01
- end-date: 2026/12/31
Description
Build an extensible test matrix that runs mixed-language topologies and automatically exercises transport combinations. Ensure the framework can be used continuously by maintainers across implementations.
Deliverables
- Mixed-language GossipSub scenarios across the listed implementations
- Automated TCP, WebSocket, and native QUIC combinations where supported
- Documented workflow for adding implementations and running tests
Protocol Stability And Fault Injection
- fully qualified name:
ift-ts:p2p:ift:2026q4-gossipsub-interop:stability - owner: not assigned yet
- status: not started
- start-date: 2026/10/01
- end-date: 2026/12/31
Description
Validate scoring, mesh maintenance, IHAVE/IWANT behavior, duplicate suppression, and consistent propagation. Run long-lived scenarios with joins, leaves, disconnects, reconnects, and churn, plus delayed peers, partitions, intermittent connectivity, and reconnect storms.
Deliverables
- Protocol behavior assertions across implementations
- Long-running mesh stability and fault-injection scenarios
- Reproducible failure reports for interoperability regressions
Metrics And Dashboard
- fully qualified name:
ift-ts:p2p:ift:2026q4-gossipsub-interop:reporting - owner: not assigned yet
- status: not started
- start-date: 2026/10/01
- end-date: 2026/12/31
Description
Collect propagation latency, throughput, duplicate rate, and bandwidth use. Present standardized results so maintainers can compare releases and identify interoperability regressions.
Deliverables
- Comparable performance metrics from framework runs
- Standardized dashboard with release comparisons and regression visibility