Skip to content

test(db): pin owner-deletion mediator replay and manual handoff semantics #7949

Open

Description

@TheSentinel454

Follow-up from #7818 historical review at 1f1b5f4. Nonblocking coverage/documentation work; no behavior change requested.

Architecture disposition: mediating_operator_pubkey is immutable provenance of the initial admission, not part of the owner intent idempotency key. A second authenticated allowlisted operator may replay the same UUID/host/owner/acknowledgement version and receive the original request; replay does not rewrite the original mediator or assert a new consent ceremony. Document this explicitly and add a two-operator replay regression that checks original provenance remains unchanged. Do not add operator identity to the replay comparison absent a separately justified contract change.

Add a separate store regression for manual submit handoff: an existing submitted owner request converges when submit requested_by is the owner pubkey; using the operator pubkey conflicts. Check identity/stage and no unintended second request or provenance mutation. Drive actual store entry points.

Run full affected package/PostgreSQL suite on remote compute and attribute results to the tested SHA. These cases were requested for coverage, not demonstrated failing behavior. Preserve #7818 current head while its CI and live verification finish.

Activity

  1. TheSentinel454 commented on Sep 28, 2026

    @TheSentinel454
    ContributorAuthor

    Also include the nonblocking wording correction from Legolas’s final review: at 1f1b5f4, crates/buzz-relay/src/api/operator.rs:1451-1452 says a replay changing any bound field is a conflict. The acknowledgement-version case actually fails the early version guard with BAD_REQUEST. Clarify this distinction in that test doc comment; the line-1500 one-field-at-a-time comment and actual assertions are already correct. Reviewer corrected the original line citation; no behavior defect was demonstrated and this does not require moving #7818 head.

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