Skip to content

Expose UnivMon standard update compatibility - #139

Merged
zzylol merged 1 commit into
mainfrom
fix/univmon-update-contract
Sep 11, 2026
Merged

zzylol merged 1 commit into
mainfrom
fix/univmon-update-contract

Conversation

@zzylol

@zzylol zzylol commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

UnivMon consumers need to reject incompatible persisted states before calling the standard update or merge APIs, which assert when given terminal-mode state.

Add accepts_standard_updates() to expose this compatibility check without exposing mutable mode metadata or duplicating wire decoding in the backend.

Before this PR: a backend could decode a valid terminal-mode state but could not check whether standard ingestion would accept it.

After this PR: it can reject that state before installation or merge; empty and standard states remain accepted. Serialization and estimator behavior are unchanged.

Verification: the focused Rust test passes for empty, standard, terminal, serialized/restored, and reset states. Performance measurements are not applicable to this metadata accessor.

@GordonYuanyc GordonYuanyc left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM!

@zzylol
zzylol merged commit 92c6da1 into main Sep 11, 2026
6 checks passed
@zzylol
zzylol deleted the fix/univmon-update-contract branch September 11, 2026 15:03
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