Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

952 governance #999

Merged
merged 7 commits into from
Mar 15, 2024
Merged

952 governance #999

merged 7 commits into from
Mar 15, 2024

Conversation

dckc
Copy link
Member

@dckc dckc commented Mar 14, 2024

closes #878, #667, #952, #749

rendered:

outline:

  • Parameter Governance
    • deployment
      • start committee
      • start charter
      • start governed contract
    • Voter actions
      • accept invitations
      • put question
      • vote
  • API governance - handwave at inter protocol
  • Offer Filters - handwave likewise

Copy link

cloudflare-workers-and-pages bot commented Mar 15, 2024

Deploying documentation with  Cloudflare Pages  Cloudflare Pages

Latest commit: 5292aa8
Status: ✅  Deploy successful!
Preview URL: https://d1eec55c.documentation-7tp.pages.dev
Branch Preview URL: https://952-governance.documentation-7tp.pages.dev

View logs

@dckc dckc marked this pull request as ready for review March 15, 2024 01:01
@dckc dckc requested review from Chris-Hibbert and LuqiPan March 15, 2024 01:01
Copy link
Collaborator

@Chris-Hibbert Chris-Hibbert left a comment

Choose a reason for hiding this comment

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

The text on the diagrams is consistently a small fraction of the font size of the surrounding prose, so I have to magnify the page in order to read the diagrams. Can the diagrams' display size be increased, or the fonts in the sequence diagrams?

@@ -0,0 +1,263 @@
# Contract Governance

To help build systems with a good balance of decentralization and executive control, the Agoric platform includes, in addition to chain-wide governance included in the Cosmos SDK platform, an `@agoric/governance` package with a flexible archtecture supporting 3 main features:
Copy link
Collaborator

Choose a reason for hiding this comment

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

Please add something saying the following. It might be in this paragraph, or it might go after the bullet points. Feel free to reword.

The emphasis, throughout the design of the governance library, is on ensuring that clients of a contract have visibility into who can make changes, what changes they can make, and what the current state of the controlled values is.

I would also add a sentence or a few more words after each of the bullet points. The first one is clear enough on its own, but the latter two phrases probably won't mean much to most readers at this point.

  • API governance -- give governance the ability to invoke particular methods called out by the contract's authors
  • Offer filters -- give governance the ability to disable the use of some offers/invitations to deal with emergencies.

Copy link
Member Author

Choose a reason for hiding this comment

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

yes, I meant to elaborate the bullets. thanks for the suggestions.

but

give governance ...

personifies governance in a way that seems awkward. "give the electorate ..." would fit better, but we haven't introduced the term "electorate" yet. hm.

style="border: 2px solid" width="600" />

To exercises their `VoteOnParamChange` capability,
the committee participant makes a _continuing invitation_,
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is there an explanation of continuing invitations somewhere to link to? Is it in the queue?

Copy link
Member Author

Choose a reason for hiding this comment

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

Is there an explanation of continuing invitations somewhere to link to?

Not really; the markup here is intended to signal introducing / defining the term.

There should be.

Is it in the queue?

#667 about continuing invitations was opened Apr 2022, but it's not scheduled.

#878 about invitation specs is scheduled... sort of. One kind of invitation spec is a continuing invitation, so it's possible #667 will be addressed along with it.

Copy link
Member Author

Choose a reason for hiding this comment

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

I can add a glossary entry pointing here for now

Copy link
Member Author

Choose a reason for hiding this comment

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

My dislike for novel info in the glossary prompted me to go ahead and write up continuing invitations and the rest of invitation specs, based on...

So now this PR closes #878, #667, #952, #749 :)

Comment on lines 140 to 157
const offer = {
id: offerId,
invitationSpec: {
source: 'continuing',
previousOffer: NonNullish(charterAcceptOfferId),
invitationMakerName: 'VoteOnParamChange',
},
offerArgs,
proposal: {},
};
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
const offer = {
id: offerId,
invitationSpec: {
source: 'continuing',
previousOffer: NonNullish(charterAcceptOfferId),
invitationMakerName: 'VoteOnParamChange',
},
offerArgs,
proposal: {},
};
const offer = {
id: offerId,
invitationSpec: {
source: 'continuing',
previousOffer: NonNullish(charterAcceptOfferId),
invitationMakerName: 'VoteOnParamChange',
},
offerArgs,
proposal: {},
};

const targetFee = IST(50n, 100n); // 50 / 100 = 0.5 IST
const changes = { Fee: targetFee };
...
const deadline = 2n;
Copy link
Collaborator

Choose a reason for hiding this comment

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

I presume deadline is Timestamp rather than RelativeTime.

Suggested change
const deadline = 2n;
const deadline = 2n; // outside of tests, this would be unix epoch time seconds

Copy link
Member Author

Choose a reason for hiding this comment

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

yes... also, timer docs are Coming Soon

@dckc dckc added the automerge:rebase Mergify automerge:rebase label Mar 15, 2024
@dckc dckc merged commit dc2802e into main Mar 15, 2024
4 of 5 checks passed
@dckc dckc deleted the 952-governance branch March 15, 2024 23:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automerge:rebase Mergify automerge:rebase
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Document Invitation Specs
2 participants