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

CIP-0120? | Constitution specification #796

Open
wants to merge 32 commits into
base: master
Choose a base branch
from

Conversation

Ryun1
Copy link
Collaborator

@Ryun1 Ryun1 commented Apr 19, 2024

This proposal aims to describe a standardized technical form for the Cardano constitution.
Hoping to enhance the accessibility and safety of the document.


📄 Rendered proposal

@Ryun1 Ryun1 changed the title CIP-???? | Constitution technical form CIP CIP-???? | Constitution technical form Apr 19, 2024
@Ryun1 Ryun1 added the Category: Metadata Proposals belonging to the 'Metadata' category. label Apr 19, 2024
Copy link
Collaborator

@rphair rphair left a comment

Choose a reason for hiding this comment

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

Looks comprehensive & standardisation of form... with some rules like those already used to standardise manuscripts for comparison... will really help Constitution based tools.

One thing diffs and checksums will always notice is capitalisation. What standard is Intersect (and any other part of the community prolific in Cardano governance) developing around how Constitution is capitalised? English grammar rules for common & proper nouns would indicate (on which I based a recent cardano-foundation/developer-portal#1252 (comment) which also includes Ada spelling corrections like some below):

  • "Cardano Constitution" is obviously a very specific proper noun phrase & so each word would be capitalised.
  • the Constitution in effect... either the "initial" one or any updated version... would also be singular & therefore also capitalised "Constitution" as a common noun.
  • draft or proposed constitutions are not unique & therefore are not capitalised.
  • the phrase "the Constitution", unless talking non-specifically (e.g. "the constitution that voters prefer"), would generally be assumed to be THE Constitution and capitalised as a proper noun.

If you think these rules are true & helpful, it could likewise make sense to code them into the CIP so that capitalisation corrections don't cause appearance or the document checksum to vary over insignificant changes. If you want I will prepare that as a code diff.

Conversely, if governance major stake holders don't think this is an issue then let's establish that here... i.e. that the uncapitalised spelling "constitution" can also refer to THE "Constitution" itself... and I'll consider the matter concluded for this CIP & the Cardano community in general.

As with Ada vs. ADA vs. ada, using the term capitalised differently will make some think there are typos and inconsistencies everywhere: especially when appearing differently in the same sentence. We have seen this issue on the Dev Portal which has been an editorial headache even when documents didn't have to be checksummed.

  • This all the more reason why I think the capitalisation issue might need to be addressed in the CIP itself... and maybe that of Ada as well since constitutions are likely to use this term frequently and in all 3 contexts.

N.B. I am someone with a long standing interest in these matters but by no means the "last word" on grammar, so please I would be open to other editorial guidelines.

cc @Quantumplation @kevinhammond @stevenj @michaelpj @katomm @KtorZ

cip-constitution-tech/README.md Outdated Show resolved Hide resolved
cip-constitution-tech/README.md Outdated Show resolved Hide resolved
cip-constitution-tech/README.md Outdated Show resolved Hide resolved
cip-constitution-tech/README.md Outdated Show resolved Hide resolved
cip-constitution-tech/README.md Outdated Show resolved Hide resolved
cip-constitution-tech/README.md Outdated Show resolved Hide resolved
cip-constitution-tech/README.md Outdated Show resolved Hide resolved
cip-constitution-tech/README.md Outdated Show resolved Hide resolved
cip-constitution-tech/README.md Outdated Show resolved Hide resolved
cip-constitution-tech/README.md Outdated Show resolved Hide resolved
Ryun1 and others added 10 commits April 21, 2024 22:08
Co-authored-by: Robert Phair <rphair@cosd.com>
Co-authored-by: Robert Phair <rphair@cosd.com>
Co-authored-by: Robert Phair <rphair@cosd.com>
Co-authored-by: Robert Phair <rphair@cosd.com>
Co-authored-by: Robert Phair <rphair@cosd.com>
Co-authored-by: Robert Phair <rphair@cosd.com>
Co-authored-by: Robert Phair <rphair@cosd.com>
Co-authored-by: Robert Phair <rphair@cosd.com>
Co-authored-by: Robert Phair <rphair@cosd.com>
@Ryun1 Ryun1 changed the title CIP-???? | Constitution technical form CIP-???? | Constitution specification Apr 30, 2024
@rphair rphair changed the title CIP-???? | Constitution specification CIP-0120? | Constitution specification May 1, 2024
Copy link
Collaborator

@rphair rphair left a comment

Choose a reason for hiding this comment

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

From launch at CIP meeting yesterday it seems like everybody will be happy with the CIP number 120 🎉

cip-constitution-tech/README.md Outdated Show resolved Hide resolved
Ryun1 and others added 2 commits May 1, 2024 12:34
@Ryun1
Copy link
Collaborator Author

Ryun1 commented May 29, 2024

With 5c2143f I have included your suggestions @Thomas-Upfield @stevenj 💪

Copy link
Collaborator

@rphair rphair left a comment

Choose a reason for hiding this comment

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

@Ryun1 looks good so far & I feel ready to approve once Open Questions and TODO are addressed (please point out anything further that you feel is "in progress").

CIP-0120/README.md Outdated Show resolved Hide resolved
CIP-0120/README.md Outdated Show resolved Hide resolved
CIP-0120/README.md Outdated Show resolved Hide resolved
Copy link
Collaborator

@rphair rphair left a comment

Choose a reason for hiding this comment

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

following up on #796 (comment) (resubmitted to change the editing scope):

CIP-0120/README.md Outdated Show resolved Hide resolved
@Ryun1
Copy link
Collaborator Author

Ryun1 commented May 30, 2024

@rphair

I have tided up all loose ends/comments, and added some fun test vectors.
I have forwarded this proposal to a few stakeholders for a final review.

@getnood
Copy link

getnood commented May 31, 2024

Just popping in to suggest the entire document could (and should be) stored onChain as well.

If the text gets longer than 16kb as an array, just continue it on another token and link from the asset to the subsequent one.

For example, here is an onChain reading of the Ergo Manifesto, whose full text is preserved on the network

https://pool.pm/asset13wmugsz896ah40r7kmsr8r8d9e8z0yzfj0pw9y

Will be fun to make this for the Constitution. And I assume some fun book-io versions as well 🥳

@Ryun1
Copy link
Collaborator Author

Ryun1 commented May 31, 2024

@getnood

This is super cool, I didn't know about this.

is this method of chaining all the metadata together through multiple tokens, standardised at all?
I would fear that this could add a decent chunk of complexity in reading and writing the constitution, as well as doing a correctness check.

Although I do agree keeping it onchain is a really nice thing, to be able to do.

@getnood
Copy link

getnood commented May 31, 2024

Sweet! Yeah it's super fun to make tokens connected to other tokens. There's no set standard for how to compose those connections, and I would assume a different approach from different creators depending on what they're doing. But here's some more examples:

This is a "collection token" that references all of the NFTs from a single collection (policy ID): https://pool.pm/asset1vdg65fezc5crtyhvt47n0gwvul94u2r74dhasa

Here's another fun example where a fungible token is made like a link tree to a bunch of different NFTs, and each of those NFTs are an index of other NFTs inside of a wallet: https://pool.pm/asset1xzw2algyy50t8x7f4mpg20tem33xemvm6rystq

( I still need to finish all the links/contents on the second example, but you can get the idea)

I think there's lots of creative ways to use connected networks of native assets on Cardano like this. Using CIP68 approaches also further expand the creative possibilities for what an individual, project, or organization might do

@Ryun1
Copy link
Collaborator Author

Ryun1 commented Jun 4, 2024

@getnood

Id love to collaborate on a competing proposal to CIP-120, which focuses on chaining metadata across tokens (may or may not have to be constitution specific).

How such documents can be written and read from chain would be super useful.

@getnood
Copy link

getnood commented Jun 4, 2024

Heck yea can't wait to hear those ideas! Have been making tokens that reference tokens for like 3 years, and with exception to CIP69, is the first time the topic got interest. Stoked!

CIP-0120/README.md Outdated Show resolved Hide resolved
Co-authored-by: Robert Phair <rphair@cosd.com>
@rphair rphair added the State: Confirmed Candiate with CIP number (new PR) or update under review. label Aug 20, 2024
@Ryun1
Copy link
Collaborator Author

Ryun1 commented Aug 27, 2024

Although this standard is already being followed by the interim constitution
I dont see a rush to merge

Id like to keep it open, pending the constitutional workshops happening over the coming months
If new ideas arise with big changes I will merge this version as a V1 and work on a V2
Otherwise Im happy to add small tweaks to the current version

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category: Metadata Proposals belonging to the 'Metadata' category. State: Confirmed Candiate with CIP number (new PR) or update under review.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants