Skip to content

id: delete requests, server delete policies, federated delete replication (code#185 decision) #2091

Open

Description

@dezren39

Implements the policy + federation layers of the owner decision on #185 (comment 6486250456, Drew, 2026-10-28). Likely splits into smaller issues; filed whole so the design stays in one place. Depends on the marker + default-view work (tag.clear as a role-aware marker).

Pieces

  1. Delete requests. A first-class operation: anyone can request deletion of a tag, carrying a reason. The request is delivered to the relevant authority holders — the tag's author, group admins, or server owners — and their grant/decline is recorded.
  2. Server delete policies. A server admin can set policies on their own server that actually delete based on clear markers (and/or granted delete requests). Conditions are the server's business; nothing here is protocol-mandated. Deletes are events (auditable), not silent state edits.
  3. Federated deletes (opt-in per server owner, never default).
    • A server owner may replicate deletes from federated co-servers.
    • A server owner may accept delete events from ANY server provided the delete is signed by the author or admins and the full chain validates; an invalid or incomplete chain means the foreign delete is not honored.

Acceptance

  • Delete request round-trips: request with reason -> delivered to author/admins/server owners -> grant produces a delete under the server's policy, decline is recorded with no delete.
  • A server with no delete policy never hard-deletes from clear markers alone.
  • Foreign deletes are honored only under the owner's chosen mode (federated co-servers, or any-server-with-valid-signed-chain) and rejected when the chain does not validate.

Refs #185.

Acceptance criteria

  • Delete requests are a first-class operation carrying a reason, delivered to the tag's author, group admins, or server owners, with grant/decline recorded.
  • Server admins can set delete policies on their own server that act on clear markers and/or granted delete requests; deletes are auditable events, never silent state edits.
  • Federated delete replication is opt-in per server owner (never default); a foreign delete is honored only when signed by the author or admins and the full chain validates.
  • Tests cover request grant/decline, policy-driven delete, and rejection of an invalid/incomplete foreign delete chain.

Activity

  1. developing-today commented on Oct 29, 2026

    @developing-today
    Contributor
  2. added
    priority/normalOrdinary priority (the default)
    effort/lLarge: multi-day or open-ended; expect staged check-ins
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    on Oct 29, 2026
  3. dezren39 commented on Oct 29, 2026

    @dezren39
    MemberAuthor

    Intake review

    Fleet monitor intake (2026-10-29) — verified still live: no merged PR or commit implements this yet; the filing audit/decision record it cites is current.

    Notes: Implements the policy + federation layers of Drew's recorded decision on #185 (comment 6486250456); depends on #2090 (role-aware clear marker + default view). Filed whole so the design stays in one place; the filer notes it likely splits — the triage worker should propose the split before implementation. Not yet live-verified against a merged PR: filed 2026-10-29 from the #185 decision, no implementation exists yet.

    Suggested approach: Land #2090 first; then split into (1) delete requests, (2) server policies, (3) federated replication, in that order.

    Risks: Federated delete acceptance is the safety-critical piece: chain validation must be fail-closed.

    Labels normalized by the monitor; acceptance criteria appended to the body (original text preserved verbatim above it).

  4. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed on Nov 3, 2026
  5. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  6. 16 remaining items

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

    @dezren39
    MemberAuthor

    🤖 Agent note · parked

  9. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  10. 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 4, 2026
  11. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · triaged — blocked on dependency

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/lLarge: multi-day or open-ended; expect staged check-inskind/enhancementmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)source/design-architectFiled by the repo design architect jobstatus/waiting-dependencyWaiting on a dependencytask/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