Regenerate CTK vectors for the reference 0.3.0 query-fold#9
Merged
Conversation
hashing.json is regenerated on the 0.3 preimage (canonical query folded into the fingerprint, [] for a bare URL) with new query cases: substitution, encoding equivalence, duplicate/valueless pairs, fragment exclusion. The prior fixtures move to hashing-v0.2.json for <= 0.2-preimage implementations; the versions/ documents point there. resolve.json's embedded hashes are recomputed on the 0.3 preimage (cases unchanged). broker_query.json is marked superseded at reference >= 0.3.0. spec.md is untouched (frozen).
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.
What
The reference now implements protocol 0.3 (delego#12 — the §4.2 query-fold). Per §4.2, the updated
hashingvectors ship when the reference implements the fold:ctk/vectors/hashing.jsonregenerated by reference 0.3.0 on the 0.3 preimage (the fingerprint preimage carries the canonicalquery,[]for a bare URL — every fingerprint changed), with six new query cases: substitution (?to=mevs?to=attackerdiffer), encoding equivalence (%20vs+, pair order), duplicate/valueless pairs, fragment exclusion.ctk/vectors/hashing-v0.2.json— the prior fixtures, preserved for ≤ 0.2-preimage implementations; theversions/documents now point there.ctk/vectors/resolve.json— embedded fingerprints/intent hashes recomputed on the 0.3 preimage; cases and expectations unchanged.ctk/vectors/broker_query.jsonmarked superseded at reference ≥ 0.3.0 (the query is fingerprint-bound; a 0.3 broker forwards it and refuses only a#fragment). Still applies to ≤ 0.2-preimage brokers.ctk/README.md+ changelog updated.spec.mdis untouched (frozen at 0.3); its §4.1 worked example remains the 0.2-preimage illustration and matcheshashing-v0.2.json.Verification
validate.pyandconformance.pyboth pass locally against reference 0.3.0: "reference reproduces every CTK vector; spec leads the reference." The conformance CI on this PR installsdelego@main, which now carries 0.3.0.