Skip to content

fix(copy): align homepage, faq, docs and blog copy with protocol adrs - #251

Merged
alpergundogdu merged 5 commits into
mainfrom
claude/charming-swartz-776788
Sep 27, 2026
Merged

alpergundogdu merged 5 commits into
mainfrom
claude/charming-swartz-776788

Conversation

@yigitdot

@yigitdot yigitdot commented Sep 25, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Parts of the homepage copy contradicted the protocol ADRs (decdn/adr/), which are the source of truth. This PR fixes the strings in lib/copy.ts and lib/faq.ts. The llms-full.txt mirror and the FAQPage JSON-LD read the same strings, so they update with no code changes. Role wording now follows the ADR terms: node, operator, client, publisher and pool, with "node" in place of "peer".

Method section (lib/copy.ts)

  • Probe: removed ranking by "price, latency, and reputation". Clients rank by measured RTT only. Price is not a rank key: the client pays the rate the node signs and can set a ceiling. The client keeps no reputation score. Candidates come from the CapacityBond registry or the client's peer store (ADR 039 § Source set, ADR 037 § Client selection policy, ADR 012).
  • Probe: removed "averages under 100 milliseconds", which has no ADR source. No timing figure replaces it: the 500 ms cap and early stop in ADR 001 belong to the node's cache-miss pull, and the client's probe round waits on every shortlisted probe. The copy instead says a client with a fresh peer store skips the probe entirely (ADR 039 § Source set).
  • Swarm: removed "for files over ten gigabytes". Multi-source fetch starts above 64 MiB when at least 2 holders exist, and uses several nodes with at most one per operator (ADR 039). The copy says "several" rather than a number because max_sources is configurable (default 4).
  • Swarm: removed "a fraud proof against the node's stake". Corruption is not an on-chain offense; bytes that fail verification never get a voucher (ADR 003 § Corrupted delivery, ADR 014 § Context). Also dropped the unsourced "1 Gbps origin → multi-gigabit" line.

Hero and compare

  • HERO_LEAD: "three peers" becomes "several nodes" (max_sources is configurable, ADR 039), and the unsourced "under a second" Berlin→Tokyo claim is dropped.
  • COMPARE_ROWS failure row: "peer drops" becomes "node drops".

FAQ (lib/faq.ts)

  • Integrity: removed "phantom availability" from the slashable list. ADR 014 names only rate manipulation and blacklist violation. The bond is now the operator's, and payment is tied to vouchers for verified bytes.
  • Takedown: "peer-level" becomes "node-level".
  • Token: the buyback is Uniswap V3 50/50 on 30% of settled USDC, active once governance switches it on (ADR 026 § FeeRouter split, ADR 018). The old text said Balancer V3 80/20.
  • Publisher-pays: "account abstraction … payment channel" becomes a funded pool plus capped, expiring capabilities (ADR 024, ADR 003 § PaymentPool).

Docs and blog: client ranking (docs/, content/blog/)

The same client-ranking claim appeared in the Mintlify docs and one blog post. The ADRs were corrected in decdn/decdn#1991 (2026-09-11) to describe the shipped client: candidates come from the peer store or the registry (no DHT lookup), ranking is by measured RTT only, and there is no client reputation score. The unified price/latency/reputation score belongs to a node's cache-miss pull leg (ADR 001 § Node Selection Algorithm).

  • docs/overview/architecture.mdx: Discovery and Selection steps rewritten for the client path.
  • docs/overview/how-it-works.mdx: the single-source pick and the multi-source admit order are now RTT-based; coverage is attributed to probes, not client discovery.
  • docs/overview/glossary.mdx: Selection score is scoped to the node pull leg.
  • docs/protocol/network.mdx: § Selection now covers clients and nodes separately; the region-mismatch reputation penalty is applied by the pulling node; the region paragraph says the client only uses region to shortlist probes.
  • docs/protocol/reputation.mdx: reputation tunes a pulling node's choice; clients keep none.
  • content/blog/06-show-me-the-money.mdx: "clients choose among price, latency, and reputation" becomes RTT ranking plus a client rate ceiling.
  • Left as is: content/blog/03-we-dont-store-we-serve.mdx's "unified selection score", which describes node-to-node propagation and is still accurate.

Other

Reviewer notes

Test plan

  • pnpm test (465 passed, 2 skipped)
  • pnpm typecheck
  • pnpm lint
  • pnpm format:check
  • markdownlint-cli2 over docs/
  • mintlify broken-links (no broken links; covers the new /protocol/network#selection link)

🤖 Generated with Claude Code

https://claude.ai/code/session_01XutWi52yRav4gAzyrDBLZH

yigitdot and others added 3 commits September 25, 2026 17:36
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings September 25, 2026 14:36

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Deploying website with  Cloudflare Pages  Cloudflare Pages

Latest commit: 675ec96
Status: ✅  Deploy successful!
Preview URL: https://43159752.website-70y.pages.dev
Branch Preview URL: https://claude-charming-swartz-77678.website-70y.pages.dev

View logs

The docs and one blog post said clients rank candidates by a unified
price, latency and reputation score, and that the client finds holders
through a DHT lookup. Per ADR 039 § Source set and selection, ADR 037
§ Client selection policy and ADR 012, the client takes candidates from
its peer store or the CapacityBond registry, ranks by measured RTT
alone, pays the signed rate subject to an optional ceiling, and keeps no
reputation score. The unified score is the node's, on its cache-miss
pull leg (ADR 001 § Node Selection Algorithm).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XutWi52yRav4gAzyrDBLZH
@alpergundogdu alpergundogdu changed the title fix(copy): align homepage and faq copy with protocol adrs fix(copy): align homepage, faq, docs and blog copy with protocol adrs Sep 27, 2026
The 500 ms probe cap and its early stop belong to the node's cache-miss
pull leg (ADR 001 § Content Discovery). The client's probe round waits on
every shortlisted probe, so the cap misdescribed the client. The source
count is the configurable max_sources (ADR 039), so the hero and swarm
copy now say several nodes instead of up to four.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XutWi52yRav4gAzyrDBLZH
@alpergundogdu
alpergundogdu merged commit 9f37e52 into main Sep 27, 2026
7 checks passed
@alpergundogdu
alpergundogdu deleted the claude/charming-swartz-776788 branch September 27, 2026 11:10
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.

4 participants