Skip to content

feat(registry): Added update_standard_engine_replica_version to Registry.#10787

Merged
daniel-wong-dfinity-org-twin merged 2 commits into
masterfrom
add-registry-method-update_standard_engine_replica_version-daniel-wong
Jul 16, 2026
Merged

feat(registry): Added update_standard_engine_replica_version to Registry.#10787
daniel-wong-dfinity-org-twin merged 2 commits into
masterfrom
add-registry-method-update_standard_engine_replica_version-daniel-wong

Conversation

@daniel-wong-dfinity-org-twin

@daniel-wong-dfinity-org-twin daniel-wong-dfinity-org-twin commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

As usual, only callable by Governance. Will be used in the future to implement a new proposal type.

👈 Previous PR | Next PR 👉

@github-actions github-actions Bot added the feat label Jul 15, 2026
@daniel-wong-dfinity-org-twin
daniel-wong-dfinity-org-twin marked this pull request as ready for review July 15, 2026 20:07
@daniel-wong-dfinity-org-twin
daniel-wong-dfinity-org-twin requested a review from a team as a code owner July 15, 2026 20:07
github-actions[bot]

This comment was marked as resolved.

@zeropath-ai

zeropath-ai Bot commented Jul 15, 2026

Copy link
Copy Markdown

No security or compliance issues detected. Reviewed everything up to 9bf91cb.

Security Overview
Detected Code Changes
Change Type Relevant files
Enhancement ► rs/registry/canister/canister/canister.rs
    Add UpdateStandardEngineReplicaVersionPayload integration
► rs/registry/canister/canister/registry.did
    Introduce UpdateStandardEngineReplicaVersionPayload type and service method
► rs/registry/canister/canister/registry_test.did
    Reflect new payload and mutation in tests
Enhancement ► rs/registry/canister/src/invariants/standard_engine_replica_version.rs
    Add invariants for StandardEngineReplicaVersionRecord and tests
Enhancement ► rs/registry/canister/src/mutations/do_update_standard_engine_replica_version.rs
    Add mutation to update standard engine replica version
Enhancement ► rs/registry/canister/src/mutations/mod.rs
    Expose do_update_standard_engine_replica_version mutation
Enhancement ► rs/registry/canister/src/invariants/checks.rs
    Include standard_engine_replica_version invariants in checks
Enhancement ► rs/registry/canister/src/invariants/mod.rs
    Register standard_engine_replica_version module
Enhancement ► rs/registry/canister/src/mutations/do_update_standard_engine_replica_version.rs (new file)
    Implementation of standard engine replica version update logic
Enhancement ► rs/registry/canister/unreleased_changelog.md
    Document added update_standard_engine_replica_version entry

@daniel-wong-dfinity-org-twin
daniel-wong-dfinity-org-twin dismissed github-actions[bot]’s stale review July 15, 2026 20:10
  1. Done.
  2. Everything else remains the same. Just a new method for a new feature.
  3. Existing data is fine.
  4. I seriously doubt they have time to review stuff like this now.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR adds a new governance-only Registry canister update method to manage a “standard engine” replica version rollout record (old/new version IDs plus deployment progress), and wires it into the canister interface and invariant checks.

Changes:

  • Adds update_standard_engine_replica_version (governance-only) entrypoint plus payload type to the Registry canister Candid interface.
  • Implements the corresponding registry mutation logic, including transition rules for progressing or starting a new deployment.
  • Introduces and registers invariants for the new record and extends replica-version invariants to treat referenced versions as “in use” (must be elected).

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
rs/registry/canister/unreleased_changelog.md Documents the new public Registry canister method.
rs/registry/canister/src/mutations/mod.rs Exposes the new mutation module.
rs/registry/canister/src/mutations/do_update_standard_engine_replica_version.rs Implements mutation logic + payload type + unit tests.
rs/registry/canister/src/invariants/standard_engine_replica_version.rs Adds invariant checks for the new record + unit tests.
rs/registry/canister/src/invariants/replica_version.rs Ensures versions referenced by the new record are considered “in use” (must be elected).
rs/registry/canister/src/invariants/mod.rs Registers the new invariants module.
rs/registry/canister/src/invariants/checks.rs Hooks the new invariant check into the global invariant pipeline.
rs/registry/canister/canister/registry.did Adds payload type + service method to the public did.
rs/registry/canister/canister/registry_test.did Mirrors the did changes for tests.
rs/registry/canister/canister/canister.rs Adds the governance-gated canister update entrypoint and calls into the new mutation.

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

Base automatically changed from StandardEngineReplicaVersionRecord-daniel-wong to master July 16, 2026 14:19
@daniel-wong-dfinity-org-twin
daniel-wong-dfinity-org-twin requested a review from a team as a code owner July 16, 2026 14:19
…le by Governance. Will be used in the future to implement a new proposal type.
@daniel-wong-dfinity-org-twin
daniel-wong-dfinity-org-twin force-pushed the add-registry-method-update_standard_engine_replica_version-daniel-wong branch from 07d8232 to 9bf91cb Compare July 16, 2026 15:31
@daniel-wong-dfinity-org-twin
daniel-wong-dfinity-org-twin removed the request for review from a team July 16, 2026 15:31
@daniel-wong-dfinity-org-twin
daniel-wong-dfinity-org-twin added this pull request to the merge queue Jul 16, 2026
@daniel-wong-dfinity-org-twin
daniel-wong-dfinity-org-twin removed this pull request from the merge queue due to a manual request Jul 16, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated no new comments.

@daniel-wong-dfinity-org-twin
daniel-wong-dfinity-org-twin added this pull request to the merge queue Jul 16, 2026
Merged via the queue into master with commit 65fcf0a Jul 16, 2026
40 checks passed
@daniel-wong-dfinity-org-twin
daniel-wong-dfinity-org-twin deleted the add-registry-method-update_standard_engine_replica_version-daniel-wong branch July 16, 2026 16:35
pull Bot pushed a commit to mikeyhodl/ic that referenced this pull request Jul 21, 2026
When determining what replica version an engine is supposed to run (and
it doesn't explicitly specify one).

# Future Work

Orchestrator does not use this. That will be fixed in an imminent PR.

# References

[👈 Previous PR][prev] | [Next PR 👉][next]

[prev]: dfinity#10787
[next]: dfinity#10851

---------

Co-authored-by: Daniel Wong <daniel.wong@dfinity.org>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Comment thread rs/registry/canister/src/invariants/replica_version.rs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants