docs: document --is-aggregator flag requirement for finalization#132
docs: document --is-aggregator flag requirement for finalization#132pablodeymo merged 1 commit intodevnet-3from
--is-aggregator flag requirement for finalization#132Conversation
Without this flag, attestations pass signature verification but the signature is never stored for aggregation (store.rs:368), so blocks are always built with attestation_count=0 and the network never finalizes. At least one node must run as aggregator.
🤖 Kimi Code ReviewReview SummaryThe changes are documentation-only and correctly identify a critical operational issue with attestation aggregation. The documentation additions accurately describe the aggregator flag requirement and its impact on finalization. Key observations:
The documentation changes are accurate and necessary. No code changes required. Automated review by Kimi (Moonshot AI) · custom prompt |
🤖 Codex Code ReviewSummary Findings Notes
If you intended to include code changes for review, please share the updated diff. Automated review by OpenAI Codex · custom prompt |
--is-aggregator flag requirement for finalization
Greptile OverviewGreptile SummaryDocuments critical
The documentation accurately describes the technical behavior verified in the codebase and provides clear guidance to prevent this production issue. Confidence Score: 5/5
|
| Filename | Overview |
|---|---|
| CLAUDE.md | Added accurate documentation about --is-aggregator flag requirement under Common Gotchas section |
| README.md | Added warning about --is-aggregator flag requirement when running nodes manually outside make run-devnet |
Last reviewed commit: 5f09082
🤖 Claude Code ReviewNow let me generate the review: PR Review: Document --is-aggregator flag requirement for finalizationSummaryThis is a documentation-only PR that adds critical operational guidance discovered during devnet-3 debugging. The changes document a subtle but essential requirement: at least one node must run with Overall Assessment: ✅ LGTM with minor observationsThe documentation is accurate, well-placed, and addresses a real operational footgun. The changes follow existing documentation patterns and will prevent future debugging sessions. Detailed ReviewCLAUDE.md Changes (Lines 311-316)Strengths:
Minor Observation (not blocking): The existing "Tick-Based Validator Duties" section in CLAUDE.md (lines ~60-66) states "4 intervals per slot" but the code clearly shows 5 intervals (0-4):
This pre-existing inaccuracy doesn't affect this PR's correctness, but the new documentation correctly states "aggregate at interval 2" which aligns with the implementation. Consider fixing the interval count in a follow-up. Security/Correctness: ✅ No issues — documentation accurately reflects code behavior README.md Changes (Lines 34)Strengths:
Minor Wording Suggestion: The note says "When running nodes manually (outside > **Important:** The `make run-devnet` command handles this automatically. When running nodes manually, at least one node must be started with `--is-aggregator` for attestations to be aggregated and included in blocks. Without this flag, the network will produce blocks but never finalize.However, this is optional — the current wording is already clear enough for practitioners. Verification Checklist
RecommendationApprove and merge. This PR solves a real operational pain point with clear, accurate documentation. The changes follow project conventions and are well-positioned for discoverability. Automated review by Claude (Anthropic) · custom prompt |
Motivation
During devnet-3 debugging we found that the network was producing blocks but never finalizing (
justified_slot=0,finalized_slot=0after 450+ slots). The root cause: no node was started with--is-aggregator, so attestation signatures were silently dropped after verification (store.rs:368), resulting in all blocks havingattestation_count=0.Description
--is-aggregatorwhen running manuallyHow to Test
--is-aggregator(blocks produce, no finalization) vs. with it on at least one node (finalization advances)