Repository navigation
Milestone 1 slice 6, part 1: standards review, finding reference, keys and proofs - #16
Merged
Merged
Conversation
Owner
Author
|
Each change reviewed in detail. |
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.
Summary
This is the first of two pull requests for milestone 1, slice 6 (DEVELOPMENT-PLAN.md, milestone 1). It reviews the implementation against the normative text of each standard it implements, in seven rounds, and fixes the gaps the review found. The record of the review is
docs/reviews/milestone-1.md. It holds each round's gaps, and checks R1–R41, each shown failing before it passed.The second pull request will close milestone 1. It will add the debugging guide,
docs/debugging.md, run end to end on the final code, linked from the README, and finalizes the review record.Changes
.vscode/launch.jsonoffers every example and fixture with a fixed--now, and the file in the editor at the current time.vcrd-cli/tests/debugging.rschecks that it offers every input.docs/findings.mddocuments each of the 78 finding codes, plus each check and reason under "Checks not evaluated".vcrd-core/tests/finding_reference.rsandvcrd-cli/tests/not_evaluated_reference.rscheck it against the code.inspect.header_member_typeandverify.algorithm_invalid;audis not evaluated (audience);alg: "Ed25519"is accepted;EdDSAgets the info findingverify.algorithm_deprecated;verify.signature_scalar_out_of_rangeandverify.did_key_not_for_signing;verify.did_key_undecodableadds the problemspoint_not_canonicalandversion_present;inspect.jwt_claim_type,inspect.replicated_claim_mismatchandinspect.presentation_unsupported;cnfis not evaluated (holder_binding).parse.data_integrity_unsupported,parse.not_secured,inspect.id_missingandinspect.language_value_invalid;issuer_accreditationisnot_implemented;textandplain:textpoints to docs/findings.md for the checks not evaluated.correct,incorrectornot_attempted;vcrd-cli/tests/key_and_proof_table.rschecks vcrd against its 10 rows without a caller-supplied key, using five new fixtures;verify.embedded_key_proof_correctfor key substitution;Changes to the JSON result
There are no external users yet, but these changes alter the JSON schema:
proofs[N].outcome:verified/failedare nowcorrect/incorrect/not_attempted.key_provenance.credential_keyis nowembedded_key. Itsmatchedandverifies_signatureare replaced bysame_as_issuer_key(absent when there is no issuer key) andproof.verify.credential_key_mismatchis nowverify.embedded_key_mismatch. Its detail namesembedded_keyandkey.Test plan
make ci-okpassed on the tree committed ase95fd65.make test-powersetpassed one95fd65. It ran 24 feature combinations, and the two builds that must fail (no format; no proof suite) failed with theircompile_error!messages.docs/reviews/milestone-1.md, each shown failing before it passed.🤖 Generated with Claude Code using Opus 5.5 - Extra effort