Proposal: remove explicit link functionality #3
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.