Skip to content

Require canonical verifier challenge envelopes - #407

Merged
aruintelligence merged 1 commit into
mainfrom
feat/canonical-challenge-envelope
Oct 17, 2026
Merged

aruintelligence merged 1 commit into
mainfrom
feat/canonical-challenge-envelope

Conversation

@aruintelligence

Copy link
Copy Markdown
Owner

Change

  • Require the exact generated five-field verifier challenge envelope, including prototype: true.
  • Require a 32-byte nonce in its unique unpadded base64url spelling in both browser JavaScript and the project-authored Python verifier.
  • Exercise malformed and byte-equivalent nonce aliases through direct witness replay, the CLI, and signed-quorum cross-runtime replay.

Verification

  • 901 Node tests passed locally.
  • Project-authored Python/JavaScript signed-quorum comparison passed, including three new malformed challenge cases.
  • Proof replay, API stability, upgrade contract, installed-package consumer compatibility, CLI contract, package artifact, links, proof/verifier surfaces and claims, contract lineage/snapshot/drift, and git diff --check passed locally.
  • GitHub CI is pending for this PR.

Compatibility and claim boundary

The frozen historical schema is unchanged. The current reference verifier profile rejects older custom challenges that do not match the generated shape; regenerate those challenges. Canonical encoding establishes neither nonce entropy nor issuer identity. Quorum valid, threshold_met, held policy_met, and local witness_met remain separate results. The Python implementation is project-authored, not independent certification.

@aruintelligence
aruintelligence merged commit 797808f into main Oct 17, 2026
59 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant