Skip to content

Conversation

@carlostome
Copy link
Collaborator

@carlostome carlostome commented Nov 19, 2025

Description

Currently acceptedByCC rejects a NoConfidence proposal if the committee is empty but the minSize is not 0.

I'm not sure if this is the intended behaviour but I suppose no since CC has no bearing on NoConfidence motions.

This is related to #209 and (likely the cause of) IntersectMBO/cardano-ledger#5418

Pinging @Soupstraw and @WhatisRT

EDIT:
This PR refactors acceptedByCC to simplify the logic.

  1. It makes explicit the set of active CC members as a map from cold to hot credentials
  2. Adds the precondition that the CC should be able to vote on the governance action

Checklist

  • Commit sequence broadly makes sense and commits have useful messages
  • Any semantic changes to the specifications are documented in CHANGELOG.md
  • Code is formatted according to CONTRIBUTING.md
  • Self-reviewed the diff

@carlostome carlostome force-pushed the carlos/change-accepted-by-cc branch 2 times, most recently from f5e7854 to 9f7ceea Compare November 21, 2025 11:36
@carlostome carlostome force-pushed the carlos/change-accepted-by-cc branch from 9f7ceea to 4c1b265 Compare December 4, 2025 14:50
@carlostome carlostome changed the title Change accepted by CC Refactor accepted by CC Dec 8, 2025
@carlostome carlostome force-pushed the carlos/change-accepted-by-cc branch from 7fa8771 to 246ae4a Compare December 8, 2025 11:43
@carlostome carlostome requested a review from WhatisRT December 8, 2025 11:48
Copy link
Collaborator

@WhatisRT WhatisRT left a comment

Choose a reason for hiding this comment

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

I left some comments, but overall LGTM

accepted = (acceptedStake /₀ totalStake) ≥ t
× (sizeActiveCC ≥ ccMinSize ⊎ (Is-nothing mT × ccMinSize ≡ 0))
accepted = if mT then (λ {t} → sizeActiveCC ≥ ccMinSize × (acceptedStake /₀ totalStake) ≥ t)
else ⊤
Copy link
Collaborator

Choose a reason for hiding this comment

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

Since we're showing this in the actual documentation, I wonder if it'd be a good idea to provide an alias called True for this. And similarly for False.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

True and False are already used in the spec as proofs of Decidable predicates. I'll open an issue about this so we don't forget.

@carlostome carlostome merged commit 42b0168 into master Dec 8, 2025
10 of 12 checks passed
@carlostome carlostome deleted the carlos/change-accepted-by-cc branch December 8, 2025 15:53
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.

3 participants