Skip to content

Conversation

dnkolegov-ar
Copy link
Collaborator

This PR updates the Quint spec of Minimmit

@dnkolegov-ar dnkolegov-ar changed the title Denis/quint upd 2 Update Minimmit spec Aug 22, 2025
@dnkolegov-ar
Copy link
Collaborator Author

dnkolegov-ar commented Aug 27, 2025

@BrendanChou I created an issue listing differences between the spec and the paper. I believe it should be resolved in the paper, in the repo, or in both (partially). Otherwise, the paper and the repo's spec are significantly different, so it is unclear whether the paper theoretically justifies anything about the repo's spec.

BrendanChou
BrendanChou previously approved these changes Sep 2, 2025
Copy link
Contributor

@patrick-ogrady patrick-ogrady left a comment

Choose a reason for hiding this comment

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

Small nits, then should be g2g!

pure def is_view_notarized(view: ViewNumber, certificates: Set[Certificate]): bool = or {
view == GENESIS_VIEW,
certificates.exists(v => v.kind == NotarizationKind and v.view == view),
// TODO verify this assumption
Copy link
Contributor

Choose a reason for hiding this comment

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

Prefer not to keep TODOs in here.

I don't think a finalization certificate must exist if view is only notarized?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I removed TODO. It can be a case when a slow replica receives a finalization certificate first and then receives other messages. We discussed that with @BrendanChou and I also created an issue #1491

not(is_view_notarized(view, certificates)),
not(was_finalized) and now_finalized,

val was_finalized = is_view_finalized(view, certificates) or is_view_finalized_votes(view, store, block)
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: prefer notarized before finalized

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

fixed

val was_finalized = is_view_finalized(view, certificates) or is_view_finalized_votes(view, store, block)
val was_notarized = is_view_notarized(view, certificates) or is_view_notarized_votes(view, store, block)

val now_finalized = is_view_finalized_votes(view, new_store, block)
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: prefer notarized before finalized

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

fixed


or {
cert.kind == FinalizationKind and cert.signatures.size() >= L and not(is_view_finalized(cert.view, certificates)),
cert.kind == NotarizationKind and cert.signatures.size() >= M and not(is_view_notarized(cert.view, certificates)),
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: notarized before finalized

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

fixed

@patrick-ogrady patrick-ogrady added this to the v0.0.61 milestone Sep 2, 2025
@patrick-ogrady patrick-ogrady moved this to In Progress in Tracker Sep 2, 2025
@patrick-ogrady patrick-ogrady merged commit df8437d into main Sep 3, 2025
39 checks passed
@patrick-ogrady patrick-ogrady deleted the denis/quint-upd-2 branch September 3, 2025 17:35
@github-project-automation github-project-automation bot moved this from In Progress to Done in Tracker Sep 3, 2025
Copy link

codecov bot commented Sep 3, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.06%. Comparing base (a7a4699) to head (dd449a2).
⚠️ Report is 49 commits behind head on main.

@@            Coverage Diff             @@
##             main    #1456      +/-   ##
==========================================
+ Coverage   91.70%   92.06%   +0.35%     
==========================================
  Files         275      283       +8     
  Lines       69443    73182    +3739     
==========================================
+ Hits        63685    67377    +3692     
- Misses       5758     5805      +47     

see 89 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a7a4699...dd449a2. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants