Skip to content

docs(notar,tower): polish#8626

Open
lidatong wants to merge 1 commit intomainfrom
chali/docs/notar-tower
Open

docs(notar,tower): polish#8626
lidatong wants to merge 1 commit intomainfrom
chali/docs/notar-tower

Conversation

@lidatong
Copy link
Member

@lidatong lidatong commented Mar 2, 2026

No description provided.

Copilot AI review requested due to automatic review settings March 2, 2026 19:49
@lidatong lidatong requested a review from emwang-jump as a code owner March 2, 2026 19:49
@lidatong lidatong force-pushed the chali/docs/notar-tower branch from dc9c8cd to cd4a841 Compare March 2, 2026 19:51
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Polishes and clarifies inline documentation for the TowerBFT (“tower”) and notarization (“notar”) components, aiming to better explain fork choice/voting mechanics and how fd_notar differs from fd_ghost/fd_tower.

Changes:

  • Reformats and tightens the large TowerBFT preamble comment in fd_tower.h (spacing/line breaks and a rewritten “how voting works” section).
  • Expands fd_notar.h documentation describing conceptual differences between fd_ghost/fd_tower and fd_notar.
  • Minor prototype formatting / comment spacing cleanups.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
src/choreo/tower/fd_tower.h Documentation reflow + updated explanation of voting/tower reconciliation; minor signature formatting.
src/choreo/notar/fd_notar.h Expanded docs on how notar differs from ghost/tower (vote accounts vs vote transactions).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +36 to +37
replay votes as well, so it is guaranteed to be a superset of the
votes tracked by fd_ghost / fd_tower.
Copy link

Copilot AI Mar 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment says fd_notar is "guaranteed to be a superset" of votes tracked by fd_ghost/fd_tower. However, the current vote-txn ingestion path filters to TowerSync(Switch) only, so legacy/other vote instructions that still update the vote account could be reflected in fd_ghost/fd_tower but ignored by fd_notar. Consider softening this claim (e.g., "intended to be" / "for TowerSync votes"), or explicitly stating the assumption that only TowerSync(Switch) votes are supported/tracked here.

Suggested change
replay votes as well, so it is guaranteed to be a superset of the
votes tracked by fd_ghost / fd_tower.
replay votes as well, so it is intended to be a superset of the
TowerSync(Switch) votes tracked by fd_ghost / fd_tower, assuming only
TowerSync(Switch) vote instructions are supported/tracked here.

Copilot uses AI. Check for mistakes.
On the flip side, validators also must stay in sync the other way from
cluster to local. If a validator has previously voted, then they have
an on-chain vote account containing the cluster's latest view of the
tower (as of a given a replay slot). If this on-chain tower is
Copy link

Copilot AI Mar 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Grammar: "as of a given a replay slot" reads like a duplicated article. Suggest rewording to "as of a given replay slot" (or similar) to avoid confusion in this explanation of the on-chain tower view.

Suggested change
tower (as of a given a replay slot). If this on-chain tower is
tower (as of a given replay slot). If this on-chain tower is

Copilot uses AI. Check for mistakes.
@github-actions
Copy link

github-actions bot commented Mar 2, 2026

Performance Measurements ⏳

Suite Baseline New Change
backtest mainnet-368528500-perf per slot 0.084274 s 0.083722 s -0.655%
backtest mainnet-368528500-perf snapshot load 3.799 s 3.281 s -13.635%
backtest mainnet-368528500-perf total elapsed 84.274207 s 83.721945 s -0.655%
firedancer mem usage with mainnet.toml 966.37 GiB 966.37 GiB 0.000%

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.

2 participants