Skip to content

docs: partial-messages extension design#457

Merged
lucassaldanha merged 2 commits intolibp2p:developfrom
lucassaldanha:docs/partial-messages-design
Apr 26, 2026
Merged

docs: partial-messages extension design#457
lucassaldanha merged 2 commits intolibp2p:developfrom
lucassaldanha:docs/partial-messages-design

Conversation

@lucassaldanha
Copy link
Copy Markdown
Collaborator

@lucassaldanha lucassaldanha commented Apr 20, 2026

Summary

Adds docs/partial-messages.md — the design document for the forthcoming gossipsub partial-messages extension implementation tracked under #435.

Landing the doc on develop ahead of any implementation so that:

  • Sub-issues of Add support for partial messages extension #435 can link to a stable anchor.
  • Reviewers of later implementation PRs have a shared reference for scope, API shape, and deferred items.
  • The design can be amended via PRs to this file (with a decision-log entry) as the spec evolves — the spec is lifecycle 1A and expected to change.

Contents

Nine sections:

  1. Scope and non-goals (MVP bounds, deferred items).
  2. Reference pins (libp2p/specs commit 6b6203ee, Prysm prysm/partial-cells-current @ e8480a86, plus related in-flight spec PRs to watch).
  3. jvm-libp2p ↔ client responsibility boundary table.
  4. Public API — PartialMessagesHandler<PeerState>, PublishAction (with nextPeerState), PublishActionsFn, PartialMessagesPeerFeedback.
  5. Routing rules — three integration points inside GossipRouter.
  6. State and lifecycle — GroupState, TTL in heartbeats, DoS caps matching go-libp2p defaults.
  7. Known gaps vs. full spec (incl. interop-test-client future checklist).
  8. Implementation plan — 10-step checklist mirrored into Add support for partial messages extension #435.
  9. Decision log — append-only.
  10. References (links)

Non-goals for this PR

  • No code changes. This is a design anchor only.
  • Not pinned to a specific commit of go-libp2p-pubsub yet — that will be added to the decision log when the first implementation PR lands.

Test plan

  • n/a — docs-only.

Captures the MVP scope, jvm-libp2p/client responsibility boundary,
client-facing API, routing semantics, per-group lifecycle and DoS
caps, and the implementation plan for the gossipsub partial-messages
extension. Lands ahead of implementation so sub-issues of libp2p#435 can
reference a stable design anchor.
@lucassaldanha lucassaldanha merged commit b7d8361 into libp2p:develop Apr 26, 2026
2 checks passed
@lucassaldanha lucassaldanha deleted the docs/partial-messages-design branch April 26, 2026 10:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants