Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions Justfile
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,11 @@ apitest server_url *args:
interop *args:
uv run --group test pytest tests/interop/ -v --no-cov --timeout=120 -x --tb=short --log-cli-level=INFO "$@"

# Generate reference pages and navigation from spec docstrings
[group('docs')]
docs-generate:
uv run python tools/generate_docs.py

# Build documentation site with mkdocs
[group('docs')]
docs *args:
Expand Down
3 changes: 3 additions & 0 deletions docs/reference/crypto/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Cryptographic primitives used by the protocol specification.

::: lean_spec.spec.crypto
3 changes: 3 additions & 0 deletions docs/reference/crypto/koalabear.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Core definition of the KoalaBear prime field Fp.

::: lean_spec.spec.crypto.koalabear
3 changes: 3 additions & 0 deletions docs/reference/crypto/merkleization.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Merkleization primitives and hash-tree-root dispatch for SSZ.

::: lean_spec.spec.crypto.merkleization
3 changes: 3 additions & 0 deletions docs/reference/crypto/poseidon.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Specification of the Poseidon permutation over the KoalaBear field.

::: lean_spec.spec.crypto.poseidon
3 changes: 3 additions & 0 deletions docs/reference/crypto/xmss/constants.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Cryptographic constants and configuration presets for the XMSS spec.

::: lean_spec.spec.crypto.xmss.constants
3 changes: 3 additions & 0 deletions docs/reference/crypto/xmss/containers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Generalized XMSS containers.

::: lean_spec.spec.crypto.xmss.containers
3 changes: 3 additions & 0 deletions docs/reference/crypto/xmss/encoding.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Message-to-codeword pipeline for the Generalized XMSS scheme.

::: lean_spec.spec.crypto.xmss.encoding
3 changes: 3 additions & 0 deletions docs/reference/crypto/xmss/field.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Field-element decomposition and secure sampling for the Generalized XMSS scheme.

::: lean_spec.spec.crypto.xmss.field
3 changes: 3 additions & 0 deletions docs/reference/crypto/xmss/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Generalized XMSS hash-based signature scheme.

::: lean_spec.spec.crypto.xmss
3 changes: 3 additions & 0 deletions docs/reference/crypto/xmss/interface.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Public interface for the Generalized XMSS signature scheme.

::: lean_spec.spec.crypto.xmss.interface
3 changes: 3 additions & 0 deletions docs/reference/crypto/xmss/merkle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Sparse Merkle subtrees for the top-bottom traversal of an XMSS key.

::: lean_spec.spec.crypto.xmss.merkle
3 changes: 3 additions & 0 deletions docs/reference/crypto/xmss/poseidon.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Poseidon hash engine in compression and sponge modes for the Generalized XMSS scheme.

::: lean_spec.spec.crypto.xmss.poseidon
3 changes: 3 additions & 0 deletions docs/reference/crypto/xmss/prf.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# SHAKE128-based pseudorandom function for deterministic key derivation.

::: lean_spec.spec.crypto.xmss.prf
3 changes: 3 additions & 0 deletions docs/reference/crypto/xmss/types.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Base types for the XMSS signature scheme.

::: lean_spec.spec.crypto.xmss.types
3 changes: 3 additions & 0 deletions docs/reference/forks/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Multi-fork dispatch layer for leanSpec consensus specification.

::: lean_spec.spec.forks
3 changes: 3 additions & 0 deletions docs/reference/forks/lstar/aggregation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Lstar fork — attestation aggregation.

::: lean_spec.spec.forks.lstar.aggregation
3 changes: 3 additions & 0 deletions docs/reference/forks/lstar/block_production.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Lstar fork — proposer-side block building.

::: lean_spec.spec.forks.lstar.block_production
3 changes: 3 additions & 0 deletions docs/reference/forks/lstar/config.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Chain and Consensus Configuration Specification

::: lean_spec.spec.forks.lstar.config
3 changes: 3 additions & 0 deletions docs/reference/forks/lstar/containers/aggregation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Post-quantum signature aggregation proofs wrapping the Rust prover.

::: lean_spec.spec.forks.lstar.containers.aggregation
3 changes: 3 additions & 0 deletions docs/reference/forks/lstar/containers/attestation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Attestation vote envelopes: signed, aggregated, and their list form.

::: lean_spec.spec.forks.lstar.containers.attestation
3 changes: 3 additions & 0 deletions docs/reference/forks/lstar/containers/block.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Block container family carrying attestations and the merged block proof.

::: lean_spec.spec.forks.lstar.containers.block
3 changes: 3 additions & 0 deletions docs/reference/forks/lstar/containers/checkpoint.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Casper-FFG checkpoints and the attestation vote they anchor.

::: lean_spec.spec.forks.lstar.containers.checkpoint
3 changes: 3 additions & 0 deletions docs/reference/forks/lstar/containers/genesis.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Chain configuration committed into the consensus state.

::: lean_spec.spec.forks.lstar.containers.genesis
3 changes: 3 additions & 0 deletions docs/reference/forks/lstar/containers/identifiers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Scalar identifiers naming validators, subnets, and the registry index space.

::: lean_spec.spec.forks.lstar.containers.identifiers
3 changes: 3 additions & 0 deletions docs/reference/forks/lstar/containers/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Container types for the Lean consensus specification.

::: lean_spec.spec.forks.lstar.containers
3 changes: 3 additions & 0 deletions docs/reference/forks/lstar/containers/interval.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Interval time unit for the Lean consensus specification.

::: lean_spec.spec.forks.lstar.containers.interval
3 changes: 3 additions & 0 deletions docs/reference/forks/lstar/containers/participation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Validator participation bitfields over the registry index space.

::: lean_spec.spec.forks.lstar.containers.participation
3 changes: 3 additions & 0 deletions docs/reference/forks/lstar/containers/state.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Consensus state and the justification/finalization accounting it tracks.

::: lean_spec.spec.forks.lstar.containers.state
3 changes: 3 additions & 0 deletions docs/reference/forks/lstar/containers/store.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Fork-choice store: the node's local view of the chain.

::: lean_spec.spec.forks.lstar.containers.store
3 changes: 3 additions & 0 deletions docs/reference/forks/lstar/containers/validator.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# The validator registry tracked in the consensus state.

::: lean_spec.spec.forks.lstar.containers.validator
3 changes: 3 additions & 0 deletions docs/reference/forks/lstar/errors.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Rejection reasons and the typed error that carries them.

::: lean_spec.spec.forks.lstar.errors
3 changes: 3 additions & 0 deletions docs/reference/forks/lstar/fork_choice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Lstar fork — fork choice: store, LMD-GHOST, attestation handling.

::: lean_spec.spec.forks.lstar.fork_choice
3 changes: 3 additions & 0 deletions docs/reference/forks/lstar/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Lstar fork

::: lean_spec.spec.forks.lstar
3 changes: 3 additions & 0 deletions docs/reference/forks/lstar/signatures.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Lstar fork — block signature verification.

::: lean_spec.spec.forks.lstar.signatures
3 changes: 3 additions & 0 deletions docs/reference/forks/lstar/slot.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Slot primitive shared by the consensus and crypto layers.

::: lean_spec.spec.forks.lstar.slot
3 changes: 3 additions & 0 deletions docs/reference/forks/lstar/spec.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Lstar fork — identity and construction facade.

::: lean_spec.spec.forks.lstar.spec
3 changes: 3 additions & 0 deletions docs/reference/forks/lstar/state_transition.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Lstar fork — state transition.

::: lean_spec.spec.forks.lstar.state_transition
3 changes: 3 additions & 0 deletions docs/reference/forks/lstar/timeline.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Lstar fork — interval ticking and time progression.

::: lean_spec.spec.forks.lstar.timeline
3 changes: 3 additions & 0 deletions docs/reference/forks/lstar/validator_duties.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Lstar fork — validator duties: proposal head and production.

::: lean_spec.spec.forks.lstar.validator_duties
3 changes: 3 additions & 0 deletions docs/reference/forks/protocol.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Fork protocol interface for leanSpec consensus.

::: lean_spec.spec.forks.protocol
3 changes: 3 additions & 0 deletions docs/reference/forks/registry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Registry of registered forks, ordered oldest to newest.

::: lean_spec.spec.forks.registry
3 changes: 3 additions & 0 deletions docs/reference/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Protocol specification: per-fork consensus rules and registry.

::: lean_spec.spec
3 changes: 3 additions & 0 deletions docs/reference/observability/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Vendor-neutral observability for the Lean specification.

::: lean_spec.spec.observability
3 changes: 3 additions & 0 deletions docs/reference/observability/observer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Telemetry observer protocol and its process-wide singleton.

::: lean_spec.spec.observability.observer
3 changes: 3 additions & 0 deletions docs/reference/ssz/bitfields.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# SSZ bitfield types.

::: lean_spec.spec.ssz.bitfields
3 changes: 3 additions & 0 deletions docs/reference/ssz/boolean.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# SSZ boolean type — true or false serialized as a single byte.

::: lean_spec.spec.ssz.boolean
3 changes: 3 additions & 0 deletions docs/reference/ssz/byte_arrays.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# SSZ byte array types.

::: lean_spec.spec.ssz.byte_arrays
3 changes: 3 additions & 0 deletions docs/reference/ssz/collections.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# SSZ vector and list collections.

::: lean_spec.spec.ssz.collections
3 changes: 3 additions & 0 deletions docs/reference/ssz/container.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# SSZ Container Type.

::: lean_spec.spec.ssz.container
3 changes: 3 additions & 0 deletions docs/reference/ssz/exceptions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Exception hierarchy for the SSZ type system.

::: lean_spec.spec.ssz.exceptions
3 changes: 3 additions & 0 deletions docs/reference/ssz/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# SSZ primitive types and (de)serialization for the Lean Ethereum specification.

::: lean_spec.spec.ssz
3 changes: 3 additions & 0 deletions docs/reference/ssz/ssz_base.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Abstract bases for the SSZ type system.

::: lean_spec.spec.ssz.ssz_base
3 changes: 3 additions & 0 deletions docs/reference/ssz/uint.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Unsigned Integer Type Specification.

::: lean_spec.spec.ssz.uint
64 changes: 62 additions & 2 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ plugins:
members_order: source
separate_signature: true
filters: ["!^_"]
docstring_section_style: google
docstring_style: google

markdown_extensions:
- admonition
Expand All @@ -59,7 +59,67 @@ markdown_extensions:

nav:
- Home: index.md

- Reference:
- Overview: reference/index.md
- crypto:
- Overview: reference/crypto/index.md
- koalabear: reference/crypto/koalabear.md
- merkleization: reference/crypto/merkleization.md
- poseidon: reference/crypto/poseidon.md
- xmss:
- Overview: reference/crypto/xmss/index.md
- constants: reference/crypto/xmss/constants.md
- containers: reference/crypto/xmss/containers.md
- encoding: reference/crypto/xmss/encoding.md
- field: reference/crypto/xmss/field.md
- interface: reference/crypto/xmss/interface.md
- merkle: reference/crypto/xmss/merkle.md
- poseidon: reference/crypto/xmss/poseidon.md
- prf: reference/crypto/xmss/prf.md
- types: reference/crypto/xmss/types.md
- forks:
- Overview: reference/forks/index.md
- lstar:
- Overview: reference/forks/lstar/index.md
- aggregation: reference/forks/lstar/aggregation.md
- block_production: reference/forks/lstar/block_production.md
- config: reference/forks/lstar/config.md
- containers:
- Overview: reference/forks/lstar/containers/index.md
- aggregation: reference/forks/lstar/containers/aggregation.md
- attestation: reference/forks/lstar/containers/attestation.md
- block: reference/forks/lstar/containers/block.md
- checkpoint: reference/forks/lstar/containers/checkpoint.md
- genesis: reference/forks/lstar/containers/genesis.md
- identifiers: reference/forks/lstar/containers/identifiers.md
- interval: reference/forks/lstar/containers/interval.md
- participation: reference/forks/lstar/containers/participation.md
- state: reference/forks/lstar/containers/state.md
- store: reference/forks/lstar/containers/store.md
- validator: reference/forks/lstar/containers/validator.md
- errors: reference/forks/lstar/errors.md
- fork_choice: reference/forks/lstar/fork_choice.md
- signatures: reference/forks/lstar/signatures.md
- slot: reference/forks/lstar/slot.md
- spec: reference/forks/lstar/spec.md
- state_transition: reference/forks/lstar/state_transition.md
- timeline: reference/forks/lstar/timeline.md
- validator_duties: reference/forks/lstar/validator_duties.md
- protocol: reference/forks/protocol.md
- registry: reference/forks/registry.md
- observability:
- Overview: reference/observability/index.md
- observer: reference/observability/observer.md
- ssz:
- Overview: reference/ssz/index.md
- bitfields: reference/ssz/bitfields.md
- boolean: reference/ssz/boolean.md
- byte_arrays: reference/ssz/byte_arrays.md
- collections: reference/ssz/collections.md
- container: reference/ssz/container.md
- exceptions: reference/ssz/exceptions.md
- ssz_base: reference/ssz/ssz_base.md
- uint: reference/ssz/uint.md
extra:
social:
- icon: fontawesome/brands/github
Expand Down
Loading