Skip to content

id: tag.clear as a role-aware marker + default view (code#185 decision) #2090

Open

Description

@dezren39

Implements the first layer of the owner decision on #185 (comment 6486250456, Drew, 2026-10-28).

Model

  • tag.clear becomes a MARKER event: anyone may post one; posting is not gated; a clear never itself deletes anything.
  • The default view (the query paths most consumers use) treats a tag as cleared ONLY when the marker's poster is in an appropriate role for that tag: the tag's author, or a group admin of the group the tag belongs to.
  • Markers from anyone else persist on the log and remain visible to explicit/audit queries, but are ignored by the default view.

Acceptance

  • Author-posted clear hides the tag in the default view; group-admin-posted clear hides it; any other poster's clear does not hide it in the default view but the marker is retained and queryable explicitly.
  • No deletion path is reachable from tag.clear alone (deletion is the separate policy layer, filed separately).
  • Tests cover all three poster roles plus the retained-marker case.

Refs #185. This closes the confirmed-at-HEAD gap (tag.clear had no author/admin gate at all): under this model the ungated post is safe by construction, because effect is role-aware at read time.

Acceptance criteria

  • Author-posted tag.clear hides the tag in the default view; group-admin-posted clear hides it; any other poster's clear does not hide it in the default view.
  • Markers from non-authoritative posters persist on the log and remain visible to explicit/audit queries.
  • No deletion path is reachable from tag.clear alone (deletion is the separate policy layer, id: delete requests, server delete policies, federated delete replication (code#185 decision) #2091).
  • Tests cover all three poster roles plus the retained-marker case.

Activity

  1. developing-today commented on Oct 29, 2026

    @developing-today
    Contributor
  2. added
    priority/highImportant and time-sensitive
    effort/mMedium: expected under 1 day of work
    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: First layer of Drew's recorded decision on #185 (comment 6486250456); #185 itself closed 2026-10-29 after the decision landed, and its escalated triage task is blocked on the now-made decision — this issue is the implementation vehicle. Closes the confirmed-at-HEAD gap (tag_claims.rs folds remove any named claim in a clear's causal past with no author/admin check). Unblocks #2091.

    Suggested approach: Make tag.clear a marker event; move the role check to the default-view query paths (author or group-admin of the tag's group); keep explicit/audit queries unfiltered.

    Risks: Every default-view consumer must route through the role-aware path — a missed query path silently keeps the old ungated behaviour.

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

  4. developing-today commented on Nov 3, 2026

    @developing-today
    Contributor

    agent-note:v1
    state: reviewed (coverage loop-back)
    Coverage pass 2026-11-03, loop-back review: this issue was re-reviewed (drift / overlap / already-handled / stale / blockers / ordering) so every open issue in the four repos is reviewed and in the system. Verdict: still live; in the system as task 7287 (triage, queued, priority 50) in repo-health-code-pilot. Labels audited and synced. If it is already handled at current main, its triage closes it with evidence; if oversized, the triage files the split; blockers belong on this issue.
    Found via: coverage loop-back 2026-11-03

  5. 30 remaining items

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

    @dezren39
    MemberAuthor

    agent-note:v1
    state: parked
    queue: repo-health-code-pilot
    task: 8903 (small_fix, worker repo-worker-code, lane 9aca43b4-5439-4939-9f71-323f5d32521b)
    by: openchamber-scheduled-lane
    at: 2026-11-04T04:18:00Z

    The scheduled run budget was reached before targeted tests or a PR could be verified. Implementation is present but uncommitted in /home/user/git/fleet/8903 on queue/8903-2090-tag-clear-role-aware: event_store/claims.rs, tests/tag_clear_authority.rs, tests/tag_claims.rs, and tests/search.rs. Resume by reviewing the diff and the settled-group Admin interpretation, then run cargo test --manifest-path pkgs/id/Cargo.toml --test tag_clear_authority --test tag_claims --test search, push, and open the PR. The primary clone main was fetched but left untouched because it is diverged and contains untracked user files.

  8. added
    queue/queuedHas a queued task in the Supabase agent queue
    and removed
    work/assignedQueue worker lifecycle state
    on Nov 4, 2026
  9. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

    • Agent: fleet monitor (repo-fleet-monitor)
    • Session / ID: task 8903
    • Found via: monitor reconciliation
    • Task: claim-evaporated repair — the queue claim on task 8903 ended without complete/park/block, its lease expired, and the task returned to queued unclaimed while this issue still carried claimed labels. Labels reset to the truth: queue/queued + status/needs-triage. Checkpoint stage at evaporation: handed_off.
    • Expectation: the next lane to claim task 8903 posts a fresh pickup note.
  10. added
    queue/claimedQueue worker lifecycle state
    work/assignedQueue worker lifecycle state
    and removed
    status/parkedDeliberately paused with a recorded resume condition
    queue/queuedHas a queued task in the Supabase agent queue
    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 · handed off

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/enhancementmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedpriority/highImportant and time-sensitivequeue/claimedQueue worker lifecycle statesource/design-architectFiled by the repo design architect jobstatus/in-progressQueue worker lifecycle statetask/triageQueue packet kind: verify, reproduce, and route this itemwork/assignedQueue worker lifecycle state

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions