docs: automated updates for api_change#610
Open
jessiemongeon1 wants to merge 4 commits into
Open
Conversation
Automated update based on: New UpdateCommittee RPC added to the guardian service for committee handoff at epoch changes. This accepts a SignedCommitteeTransition, verifies the outgoing committee's threshold signature, swaps the in-memory committee, and logs to S3.
Automated update based on: New UpdateCommittee RPC added to the guardian service for committee handoff at epoch changes. This accepts a SignedCommitteeTransition, verifies the outgoing committee's threshold signature, swaps the in-memory committee, and logs to S3.
Automated update based on: New UpdateCommittee RPC added to the guardian service for committee handoff at epoch changes. This accepts a SignedCommitteeTransition, verifies the outgoing committee's threshold signature, swaps the in-memory committee, and logs to S3.
Automated update based on: New UpdateCommittee RPC added to the guardian service for committee handoff at epoch changes. This accepts a SignedCommitteeTransition, verifies the outgoing committee's threshold signature, swaps the in-memory committee, and logs to S3.
Collaborator
Author
Style Guide AuditAudited 4 file(s) against the Sui Documentation Style Guide. 4 violation(s) found. All must be fixed before merge.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Automated documentation updates triggered by recent release notes.
Changes
Triggered by MystenLabs/hashi#569: [guardian] add UpdateCommittee RPC for committee handoff
design/docs/guardian.mdxdesign/docs/reconfiguration.mdxdesign/docs/committee.mdxdesign/docs/service.mdxReview details
design/docs/guardian.mdxThe documentation page for the Guardian is currently a stub with minimal content — it says "Additional details about the guardian integration are added before Testnet." It does not describe any RPCs, APIs, or operational details of the guardian service.
What needs updating:
The page needs to document the
UpdateCommitteeRPC as part of the guardian service's API/interface. Specifically:New section needed: Guardian Service RPCs (or API)
UpdateCommitteeRPC documentation should include:SignedCommitteeTransitionmessage.Context within the page:
UpdateCommitteeat epoch boundaries.Suggested structure addition (after the existing paragraphs, replacing or supplementing the "Additional details" placeholder):
design/docs/reconfiguration.mdxThe documentation page covers the on-chain reconfiguration flow (start_reconfig, DKG/key rotation, end_reconfig, abort_reconfig) but does not mention the new
UpdateCommitteeRPC on the guardian service.The PR introduces a new guardian-service RPC (
UpdateCommittee) that is part of the committee handoff process at epoch changes. It accepts aSignedCommitteeTransition, verifies the outgoing committee's threshold signature, swaps the in-memory committee held by the guardian, and logs the transition to S3. This is a distinct operational step in the reconfiguration flow that the current page does not cover.Suggested updates
1. Add a mention of the guardian committee update step in the "End Reconfig" section (or as a new subsection between "End Reconfig" and "Abort Reconfig")
Currently, the "End Reconfig" section describes only the on-chain
end_reconfigcall and the subsequent presigning initialization. It should also describe the guardian-side committee handoff:What to add (new subsection or paragraph):
After the on-chain epoch is advanced, the guardian service must also update its view of the active committee. A committee member calls the guardian's
UpdateCommitteeRPC, passing aSignedCommitteeTransitionthat contains the new committee information along with a threshold signature from the outgoing committee. The guardian verifies the outgoing committee's threshold signature to authenticate the transition, swaps its in-memory committee to the new one, and logs the transition record to S3 for auditability.This step ensures that the guardian — which may gate-keep or co-sign certain operations — recognizes the new committee and will accept requests from its members going forward.
Suggested placement: A new heading such as
### Guardian Committee Updatebetween "End Reconfig" and "Abort Reconfig", or as an additional paragraph/sub-heading within "End Reconfig" after the paragraph about presignatures. The Mermaid diagram for the overall flow could also be extended to include this step (e.g.,C[End Reconfig] --> D[Guardian Committee Update]).2. Mention the
UpdateCommitteeRPC by name so that readers searching for it can find the relevant context. Include that it:SignedCommitteeTransitiondesign/docs/committee.mdxThe documentation page covers the concept of the Hashi committee, registration information, and the rationale for why the committee is a subset of Sui validators. It mentions the hand-off process at a high level in the last paragraph but does not document the
UpdateCommitteeRPC on the guardian service, theSignedCommitteeTransitiontype, the verification of the outgoing committee's threshold signature, the in-memory committee swap, or the S3 logging behavior.However, this page is a design/concept page about what the committee is and why it exists. The new
UpdateCommitteeRPC is a guardian service API endpoint — it would more naturally belong on a page documenting the guardian service's API or RPC interface rather than this conceptual page.That said, the last paragraph of this page directly discusses the "hand-off from an old committee to a new committee" and states it as an open design concern. The new
UpdateCommitteeRPC is the concrete mechanism that implements this hand-off. The page should be updated to reflect that this mechanism now exists.Suggested updates:
Last paragraph (starting "The one downside of not having tight coupling..."): This paragraph describes the hand-off as a requirement but doesn't mention how it's actually implemented. It should be updated to briefly describe the concrete mechanism:
2f+1stake-weighted members of the old committee are alive and willing to participate in the hand-off protocol."UpdateCommitteeRPC on the guardian service, which accepts aSignedCommitteeTransitioncontaining a threshold signature from the outgoing committee. Upon verification of the outgoing committee's threshold signature, the guardian swaps its in-memory committee and logs the transition to S3.Consider adding a subsection (e.g.,
## Committee Hand-offor## Epoch Transitions) that briefly documents:SignedCommitteeTransitionstructure and what it containsUpdateCommitteeRPC as the mechanism by which guardians are notified of committee changesThis would make the page a complete reference for committee lifecycle, not just committee composition.
design/docs/service.mdxThe documentation page needs updating to reflect the new
UpdateCommitteeRPC added to the guardian service.What needs updating
Section: Top-level description of the gRPC interface
The page mentions that each Hashi node "serves a gRPC
HashiService" but does not enumerate or describe any of the specific RPCs available on that service. The newUpdateCommitteeRPC is a significant addition to the gRPC interface and is not documented anywhere on this page.Suggested update
A new section should be added (e.g., after the introductory paragraph about the gRPC
HashiService, and before or after the "Sui contracts" section) that describes the RPCs exposed by the service. At minimum, it should document theUpdateCommitteeRPC:Suggested new section:
This section could be expanded over time as other RPCs are documented, but the
UpdateCommitteeRPC should be included now since it is a new API addition.Additionally: "Stateless" section consideration
The
UpdateCommitteeRPC involves swapping an in-memory committee and logging to S3, which are forms of state held outside of Sui. The "Stateless" section currently states that "any state critical for the functioning of the service must be stored on Sui as part of the live object set." The in-memory committee state and S3 logging may warrant a clarification or caveat in this section — for example, noting that ephemeral in-memory state (such as the current committee) and operational logs (such as S3 audit logs) are exceptions to the on-chain state principle, or explaining how the in-memory committee is derived from or validated against on-chain state.This PR was automatically generated by the Docs Impact Monitor. Please review the changes carefully before merging.
Each file edit was generated by Claude based on the release notes and a review of the existing documentation content.