Skip to content

docs: add protocol stack concept pages (Batch 1)#209

Open
marc0olo wants to merge 5 commits intoinfra/learn-hub-migration-prepfrom
docs/concepts-protocol-stack
Open

docs: add protocol stack concept pages (Batch 1)#209
marc0olo wants to merge 5 commits intoinfra/learn-hub-migration-prepfrom
docs/concepts-protocol-stack

Conversation

@marc0olo
Copy link
Copy Markdown
Member

@marc0olo marc0olo commented May 6, 2026

Summary

  • Creates docs/concepts/protocol/ subdirectory with 6 new concept pages: protocol stack overview, consensus, peer-to-peer, message routing, execution, and state synchronization
  • Migrates 6 Learn Hub articles from the "Blockchain Protocol" section; all Learn Hub links within these pages replaced with internal paths
  • Updates docs/concepts/network-overview.md: replaces Learn Hub link with concepts/protocol/index.md
  • Updates docs/references/glossary.md: replaces 5 Learn Hub links for consensus, peer-to-peer, and message routing entries

Staging files deleted

  • .migration/learn-hub/how-does-icp-work/blockchain-protocol/blockchain-protocol.mddocs/concepts/protocol/index.md
  • .migration/learn-hub/how-does-icp-work/blockchain-protocol/consensus.mddocs/concepts/protocol/consensus.md
  • .migration/learn-hub/how-does-icp-work/blockchain-protocol/peer-to-peer.mddocs/concepts/protocol/peer-to-peer.md
  • .migration/learn-hub/how-does-icp-work/blockchain-protocol/message-routing.mddocs/concepts/protocol/message-routing.md
  • .migration/learn-hub/how-does-icp-work/blockchain-protocol/execution-layer.mddocs/concepts/protocol/execution.md
  • .migration/learn-hub/how-does-icp-work/blockchain-protocol/state-synchronization.mddocs/concepts/protocol/state-synchronization.md

Sync recommendation

hand-written

…ng, execution, state sync)

Migrates 6 Learn Hub articles from the "Blockchain Protocol" section into
docs/concepts/protocol/: index, consensus, peer-to-peer, message-routing,
execution, and state-synchronization.

Updates cross-links in network-overview.md and glossary.md to point to the
new internal pages instead of learn.internetcomputer.org.
@marc0olo marc0olo requested a review from a team as a code owner May 6, 2026 14:55
@marc0olo
Copy link
Copy Markdown
Member Author

marc0olo commented May 6, 2026

Review notes

The structure, content, and internal links all look good. One issue needs to be fixed before merge:

Em-dashes (banned per CLAUDE.md): All 6 new files use em-dashes () as description separators in the "Further reading" bullet lists (~16 total instances). CLAUDE.md explicitly bans em-dashes in bullet descriptions and "Further reading" sections. Replace each with a colon (e.g. - [Link text](url): description).

No other issues: frontmatter complete on all pages, all internal links resolve, <!-- Upstream: --> comment present on every file, glossary and network-overview.md cross-links correctly updated.

@marc0olo
Copy link
Copy Markdown
Member Author

marc0olo commented May 6, 2026

Review feedback

1. Em-dashes (16 instances across 6 files)

Em-dashes are banned project-wide per CLAUDE.md. Replace all with : .

docs/concepts/protocol/index.md — 9 instances:

  • Lines 14–17 (numbered list items)
  • Lines 36–40 ("Further reading" bullets)

docs/concepts/protocol/consensus.md — line 48

docs/concepts/protocol/peer-to-peer.md — line 28

docs/concepts/protocol/message-routing.md — lines 67–68

docs/concepts/protocol/execution.md — line 68

docs/concepts/protocol/state-synchronization.md — lines 28–29

2. Terminology mismatch in state-synchronization.md line 22

"The blockchain state" should be "The subnet state" to match the terminology used consistently throughout the rest of the page.

All em-dashes in Further reading bullets and numbered list items replaced
with colons per project style rules. "The blockchain state" corrected to
"The subnet state" in state-synchronization.md for terminology consistency.
@marc0olo
Copy link
Copy Markdown
Member Author

marc0olo commented May 6, 2026

Feedback addressed:

  • Replaced all 16 em-dashes with colons in Further reading bullets and numbered list items across all 6 files (index.md, consensus.md, peer-to-peer.md, message-routing.md, execution.md, state-synchronization.md)
  • Fixed terminology: "The blockchain state" → "The subnet state" in state-synchronization.md line 22

marc0olo added a commit that referenced this pull request May 6, 2026
…ers pages

- Fix AccountIdentifier em-dash in token-ledgers.md
- Revert chain-fusion/ subdirectory links to chain-fusion.md (flat page on main)
  until PR #213 merges; affects token-ledgers.md and concepts/index.md
- Remove broken link to protocol/execution.md#deterministic-time-slicing
  in cycles.md until PR #209 merges
…minology

- protocol/index.md: drop "utility token" framing and blockchain analogy sentence
- consensus.md: remove Bitcoin-like protocols comparison; reframe probabilistic finality
- execution.md: remove "reverse gas model" from description and body; reframe canister-pays model; drop "traditional blockchains" comparison; replace "decentralized autonomous organization" with "community-governed application"
@marc0olo
Copy link
Copy Markdown
Member Author

marc0olo commented May 7, 2026

Brand voice audit applied. The following fixes were committed in eb66cd9:

Fixed automatically:

  • protocol/index.md: removed "utility token" framing ("from which its utility token derives its name" → "which gives the network its name"); dropped the blockchain analogy sentence ("Messages on ICP are analogous to transactions on other blockchains")
  • consensus.md: removed Bitcoin comparison ("as used by Bitcoin-like protocols" → dropped); changed "transaction can be trusted" → "message response can be trusted" (ICP has messages, not transactions)
  • execution.md:
    • Removed "reverse gas model" from the page description
    • Reframed the cycles accounting paragraph: canister pays for its own storage and computation; users never send cycles with messages — no mention of "reverse gas model"
    • Replaced "decentralized autonomous organization" with "community-governed application"
    • Dropped "compared to traditional blockchains" from the orthogonal persistence paragraph

Open items for human review (no code change made):

  • execution.md title "Execution Layer" — description currently says "WebAssembly, deterministic time slicing, and concurrent execution"; if DTS should be explained earlier in the description that is a content decision, not a brand fix
  • consensus.md / message-routing.md / state-synchronization.md: the term "cross-subnet" is used throughout as a precise ICP technical term (distinct from the generic "cross-chain" rule). Left as-is — "crosssubnet" is not a recognised compound.
  • execution.md section "Cycles accounting": the phrase "community-governed application" is a placeholder. If there is a preferred ICP-brand term for SNS-governed canisters, that should be substituted here.
  • No SNS or DAO content in this PR — that is covered in Batch 7.

marc0olo added 2 commits May 7, 2026 12:47
…urrence

New glossary entries: block maker, Deterministic Time Slicing (DTS),
orthogonal persistence, random beacon, Trusted Execution Environment (TEE), XNet

Per-page link fixes:
- consensus.md: link block maker and random beacon to new glossary entries
- peer-to-peer.md: link NNS to glossary on first use
- message-routing.md: link ingress messages, XNet, induction pool, NNS, catch-up package to glossary
- execution.md: link cycles and query to glossary; link orthogonal persistence to its concept page
- state-synchronization.md: link catch-up package to glossary
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.

1 participant