docs(site): rework protocol docs into Binary Protocol section (#67)

The 857-line schema page sat buried under Server and mixed every
protocol concern, the replica-to-replica wire was undocumented, and
the storage-engine write-pipeline diagram rendered unreadably while
contradicting the code.

Schema content now lives in a top-level Binary Protocol section
split by concern (framing, connection lifecycle, commands, shared
encodings, message batches), plus a new server-to-server page
written against the consensus code: command registry, frame seals,
handshake, replication, view changes, repair, state transfer, and
session forwarding. A meta-refresh stub keeps the old
/docs/server/schema/ URL alive since the static export cannot
redirect.

The write-pipeline diagram is redrawn without the back-edge cycle
and long edge label that scrambled the site's mermaid renderer, and
its claims are corrected against the server: stamping happens at
journal-append time before replication acks, buffering at prepare
time, the flush gate is a three-way OR evaluated on commit events,
and enforce_fsync does fdatasync on both the .log and .index.
Inherited errors fixed along the way: the header-kinds table was
missing code 8 (Int128); the server-stamped message time is the
flat batch base_timestamp, not base_timestamp + timestamp_delta;
and compression_algorithm is now documented as a placeholder (the
value is stored and reported, but nothing compresses payloads yet -
the message-headers examples show the client-side pattern).

Two rendering fixes ride along. The mermaid component bumped
font-size attributes after layout, overflowing node boxes sized for
the original metrics and colliding adjacent nodes; it now zooms the
whole SVG uniformly instead. And the fumadocs mobile TOC bar
([data-toc-popover]) is lifted to z-30 with an opaque background:
it was sticky at z-10 and transparent, so docs content using z-10
painted over it while scrolling under.
19 files changed
tree: d0f07d0c4d1b589677aec01c15a33439ba39c320
  1. .github/
  2. brand-assets/
  3. content/
  4. public/
  5. scripts/
  6. src/
  7. .asf.yaml
  8. .gitignore
  9. .npmrc
  10. .nvmrc
  11. CLAUDE.md
  12. LICENSE.txt
  13. next.config.mjs
  14. package-lock.json
  15. package.json
  16. postcss.config.mjs
  17. README.md
  18. source.config.ts
  19. tsconfig.json
README.md

Welcome to Apache Iggy

Website

This website is built using Fumadocs with Next.js, generating a fully static site.

Installation

npm install

Local Development

npm run dev

This command starts a local development server. Changes are reflected live with hot reload.

Build

npm run build

This command generates static content into the out directory and can be served using any static hosting service.

Publishing

Production Website: iggy.apache.org is published from asf-site branch Staging Website: iggy.staged.apache.org is published from asf-staging branch

Ask DeepWiki