Skip to content

refactor(candidate): share canonical serialization - #1098

Merged
drewstone merged 1 commit into
mainfrom
refactor/candidate-identity-ownership
Sep 5, 2026
Merged

refactor(candidate): share canonical serialization#1098
drewstone merged 1 commit into
mainfrom
refactor/candidate-identity-ownership

Conversation

@drewstone

@drewstone drewstone commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Candidate identity passed through two serializers, then compared their hashes. This change uses Interface's canonical bytes for candidate identity and builds each frozen document from its captured bytes. It removes the duplicate encoder and serializer-disagreement branch. Native SHA-256 remains in place for workspace archives.

Valid persisted digests remain unchanged. Invalid JSON is refused consistently, and changing input getters cannot separate the returned value from its bytes. Public exports are unchanged.

Validation:

  • Baseline candidate suites: 75 passed. Updated core suite: 14 passed.
  • Lint, source/examples typecheck, build, packed-package verification, edge Worker execution, and generated-document freshness passed.
  • Independent review confirmed 17 valid JSON compatibility cases and the minimum Interface peer version.
  • Full local suite with four workers: 3,507 passed, 9 skipped. The initial run hit two fixture deadlines under concurrent repository checks; both also passed in isolation. Hosted CI must pass before merge.

@drewstone
drewstone merged commit 5e53ce4 into main Sep 5, 2026
4 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