paritytech / paritytech/web3-storage
Triage docs/drafts: review & promote shipped-feature docs (marketplace, checkpoint manager, encryption, …)
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 13
- Forks
- 3
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 33
Description
Summary
The docs reorg in #305 moved everything not-yet-canonical into docs/drafts/. But that folder now conflates two very different kinds of doc:
- Genuinely unratified / questionable WIP — tracked separately (provider-initiated checkpoints → #306; "Capped Split" challenge-economics extension).
- Accurate documentation of shipped features that were only swept in by the bulk move.
This issue triages group (2): review each doc and promote it to docs/design/ (review-gated) or docs/reference/ (ungated), or consciously keep it as a draft.
Verified implemented — review & promote
Checked against code; each accurately describes shipped functionality:
-
marketplace.md— provider capacity + discovery/matching.- Code:
client/src/discovery.rs(DiscoveryClient,find_matching_providers,suggest_providers,find_best_provider,MatchedProvider); palletmax_capacity+ enforcement (crates/pallets/storage-provider/src/impls/providers.rs);providers_with_capacityruntime API. - Nit:
MinStakePerByteis shown as both1_000_000(§Economic Model) and1_000(§Configuration) — reconcile.
- Code:
-
CHECKPOINT_PROTOCOL.md— client-side (Layer 1) checkpoint manager. This is the client-initiated orchestration (the ratified path), not the provider-initiated feature removed in #305 / #306.- Code:
client/src/checkpoint.rs(CheckpointManager,CheckpointConfig,CommitmentCollection,CheckpointResult,ProviderHealthHistory,start_checkpoint_loop). - Nits: two Phase-3 items still unchecked (auto-challenge for divergent providers, metrics/monitoring); reconcile the
submit_commitment(...)reference against the actualcheckpointextrinsic name.
- Code:
-
CLIENT_SIDE_ENCRYPTION.md— client-side encryption wire format + ciphers.- Code: Rust
client/src/encryption.rs(EncryptionKey,XChaCha20Poly1305Cipher, v0x01); browseruser-interfaces/s3-ui/src/lib/encryption.ts(AES-256-GCM, v0x02). Wire format matches the doc.
- Code: Rust
Also in docs/drafts/ — triage the same way (not yet code-verified)
-
L1_design_implementation.md(file-system & S3 interfaces — implemented) -
S3_METADATA_INDEX.md -
smart-contracts.md(already flagged indocs/README.mdas areference/candidate) -
EXECUTION_FLOWS.md
Decision needed (per doc)
For each: docs/design/ (review-gated — needs @eskimor per CODEOWNERS) if it's design-of-record, docs/reference/ (ungated) if it's how-it-works reference, or keep as draft. Fix the nits above on promotion.
Out of scope (tracked elsewhere)
- Provider-initiated checkpoints → #306
- "Capped Split" / challenge-economics two-tier gap →
docs/drafts/challenge-economics-extensions.md
Refs: #305, #306
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the checklist in docs/drafts/ and compare the verified documents against the referenced Rust and TypeScript entry points, including client/src/discovery.rs, client/src/checkpoint.rs, client/src/encryption.rs, and user-interfaces/s3-ui/src/lib/encryption.ts. Review the listed nits and determine whether each document belongs in docs/design/, docs/reference/, or remains a draft. Done means every listed document has a recorded disposition and required fixes are addressed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, typescript
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100