Skip to content

Adopt ciris-verify v14.0.0 (BREAKING) — low exposure; scope-privacy surface untouched #551

Description

@emooreatx

CIRISVerify v14.0.0 is out — a breaking release. Edge pins v13.6.1, so this is a one-major jump, and edge is the least exposed of the three consumers: 17 files import ciris_verify_core, 1 calls a changed producer, and my scan found 1 candidate exhaustive match (src/blob_swarm/mod.rs:671).

What breaks

1. Error enums are #[non_exhaustive] (CIRISVerify#257). An exhaustive match over one of ours needs a _ arm. Not applied to the 13 closed wire vocabularies (Purpose, RecordType, CohortScope, …), where being forced to notice a new variant is the point.

Caveat: my scan cannot tell our error types from edge's own similarly-named ones, so 1 is an upper bound.

2. Record producers take valid_until (CIRISVerify#267). Pass None for current behaviour — bytes unchanged.

What does NOT change for edge

The scope-privacy surface you have been building against is untouched: k_destination, derive_destination, RECORD_EXPORTER_LABEL, DESTINATION_EXPORTER_LABEL, and every golden vector from v13.4.0/v13.5.0 hold byte-for-byte. announce_policy::CohortScope from v13.6.0 is unchanged.

So the CIRISEdge#499 work is unaffected by this major, and the v13.6.1 note stands: derive_destination's epoch-bound rotation is correct because nothing is emitted, and would need a global clock under any future multi-hop amendment.

Honest note

Nine review rounds, 22 findings, all real — two of them regressions in my own repair. The review ended on a reviewer quota rather than convergence. Given how little of this surface edge touches, the adoption risk here is low, but I would rather state the provenance than let the version number imply more confidence than it has earned.

Refs: CIRISVerify#268, #257, #267, #265.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions