Proposal: remove explicit link functionality#3
Open
expede wants to merge 2 commits into
Open
Conversation
expede
marked this pull request as ready for review
August 17, 2023 02:43
Gozala
approved these changes
Aug 29, 2023
Gozala
left a comment
There was a problem hiding this comment.
I'd personally prefer nested version so we don't have to reserve . along with /. That said I don't feel very strongly about it, so this version looks good to me as well.
Member
Author
|
@Gozala I also prefer the nested version! I thought you were previously arguing for the opposite. Will update this PR |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📖 Preview
A promised, this a proposed change to #1 that entirely removes the ability to add a CID to an embedded DAG.
I have only changed the schemata and example, but not the prose or FAQ. I'll fix those up once I confirm that this is aligned with y'all.
This PR doesn't bother with the hash, since we if the condiguration is the same as the currounding context can always calculate it directly from the data, and presumably we want to do that check anyway. If you want to be able to re-encode the outer DAG, then we can't provide a concrete CID anyways.
Evolvabilty
The ability to nest arbitrarily configured CIDs isn't in the main use case that I want this for, so please let me know if it's a bigger deal.
I ended up trying a version that's just
"."as a key. The downside is that this has a might higher chance for a collision with someone else's (userland) schema. A nice thing about"/"is that conflicting on/is already a case that exists in DAG-JSON. The more fields or nesting that we add, the fewer cases we potentially overlap.The PR as it stands leaves room for us to add the explicit link back over time without changing the format:
Otherwise, we could keep the nesting to maintain evolvability, which is closer to #1.
Which both leave open evolving to:
These all of course "look" less like other codecs, but they can be easily transformed into DAG-CBOR, etc, which is the point.
I can live with either version, though. Lemme know.