Commit 99e99fd
authored
docs(sequencer-client): rewrite top-level and timing READMEs (#23149)
## Motivation
The top-level `sequencer-client/README.md` was years out of date — it
still referred to single-block-per-slot building and made no mention of
proposer pipelining or the multi-block checkpoint model. The
timing-model README still documented both pipelined and non-pipelined
scheduling even though the non-pipelined mode is about to be removed.
New contributors (human or AI) lacked the context they need to make
changes to block building.
## Approach
Rewrote the top-level README from scratch following the package's
`readme-writer` guidelines: slots / blocks / checkpoints, proposed vs
checkpointed chain, an architecture diagram, the `Sequencer` work loop,
`CheckpointProposalJob` lifecycle, per-block loop pseudocode, the
`SequencerPublisher` Multicall3 bundling and `sendRequestsAt` semantics,
events, configuration reference, and failure modes. Trimmed
`src/sequencer/README.md` to cover only the pipelined timing model with
formulas grounded in `PipelinedCheckpointTimingModel` and a corrected 72
s / 8 s walkthrough. Ran `/codex` for a critical review and fixed all
flagged issues (last-sub-slot-is-not-cooldown, event-emit timing, config
env-var names, attestation-deadline nuance, `insufficient-valid-txs`
handling, publisher `preCheck` semantics).
## Changes
- **sequencer-client**: Replaced `README.md` with an architecture-first
rewrite covering pipelining (build slot vs target slot, depth bound of
2, parent-invalidation discard), the per-slot job lifecycle, the
publisher's Multicall3 flow, and the full config reference.
- **sequencer-client (sequencer)**: Replaced `src/sequencer/README.md`
with a pipelining-only timing model. Documents `timeReservedAtEnd`,
`maxNumberOfBlocks`, per-state deadlines, proposer-vs-committee parallel
timeline, and timing-variation handling.1 parent 69bbcde commit 99e99fd
2 files changed
Lines changed: 428 additions & 540 deletions
0 commit comments