Skip to content

id(directory): validate friend-request IDs before persistence and preserve legacy removals #5624

Closed

Description

@dezren39

Receipt-audit follow-up from #3232 / design #3231

Envelope.verify currently verifies the signature but does not validate Envelope.id's producer shape (16 random bytes rendered as 32 lowercase hex characters). Directory.receive persists any correctly signed ID into request/seen state. A noncanonical signed request ID such as r1 can flow through Directory.friendship_requests into a friend_remove artifact, whose receipt validation rejects it under #3146; the friendship then cannot be removed through the normal artifact path.

Scope

Evidence: #3232 comment #3232 (comment); current source pkgs/id/src/directory.rs (Envelope::verify, Directory::receive, Directory::friendship_requests) and pkgs/id/src/artifact.rs (friend_remove parsing).

Acceptance criteria

Activity

  1. developing-today commented on Nov 4, 2026

    @developing-today
    Contributor
  2. added
    kind/bugSomething isn't working (prefixed form of the classic bug label)
    priority/normalOrdinary priority (the default)
    effort/mMedium: expected under 1 day of work
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    source/queue-workerFiled or worked by the queue/worker pilot
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    on Nov 4, 2026
  3. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    Intake review

  4. added
    queue/queuedHas a queued task in the Supabase agent queue
    task/triageQueue packet kind: verify, reproduce, and route this item
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed on Nov 5, 2026
  5. 65 remaining items

  6. added
    status/parkedDeliberately paused with a recorded resume condition
    and removed
    queue/claimedQueue worker lifecycle state
    on Nov 5, 2026
  7. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  8. added
    queue/claimedQueue worker lifecycle state
    and removed
    status/parkedDeliberately paused with a recorded resume condition
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    on Nov 5, 2026
  9. developing-today commented on Nov 5, 2026

    @developing-today
    Contributor

    🤖 Agent note · done

  10. developing-today commented on Nov 5, 2026

    @developing-today
    Contributor

    🤖 Agent note · done (already_done — queue bookkeeping only)

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

Metadata

Metadata

Assignees

Labels

app/idPackage/app: id (pkgs/ or apps/ in this repo)effort/mMedium: expected under 1 day of workkind/bugSomething isn't working (prefixed form of the classic bug label)meta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)source/queue-workerFiled or worked by the queue/worker pilotstatus:donetask/triageQueue packet kind: verify, reproduce, and route this item

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions