Skip to content

design(atlas): retention rule engine — composite age / supersede-count / last-surfaced policy with dry-run reporter #6041

Open

Description

@dezren39

Parent: #6026 (content versioning + retention). Research source: prior-art doc ~/workspace/scratch/atlas-ingestion-brief-2026-11-04/prior-art-research.md (2026-11-04). Follow-up 11 (Cluster 2).

Finding (research, in substance)

Versioned-data systems converge on: keep everything until a policy-driven vacuum. Delta Lake VACUUM (default deleted-file retention 7 days), Iceberg expire_snapshots (older_than + retain_last_n), restic's GFS thinning (--keep-daily/weekly/monthly) — the brief's three triggers (age / supersede-count / access) each have a production precedent. Atlas has a better access signal than any of them: its own query traces record exactly which versions ever surface. Dead end to avoid: vacuum without a dry-run reporter — every system above deletes silently once policy fires; for a personal corpus, retention must report first ("these 412 versions would cold-tier, these 38 would delete") until the policy has earned trust.

Scope

Done looks like

An engine design: rule schema, evaluation cadence, dry-run report format, promotion path from dry-run to live.

Activity

  1. added
    area/infraInfrastructure, deployment, and operations
    kind/designA design proposal (design-architect): multi-step, phased, decision-bearing
    on Nov 5, 2026
  2. developing-today commented on Nov 5, 2026

    @developing-today
    Contributor
  3. 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
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 5, 2026
  4. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  5. developing-today commented on Nov 5, 2026

    @developing-today
    Contributor

    🤖 Agent note · state: handed off

  6. added
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    and removed
    queue/claimedQueue worker lifecycle state
    on Nov 5, 2026
  7. 69 remaining items

  8. removed
    status/parkedDeliberately paused with a recorded resume condition
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    work/assignedQueue worker lifecycle state
    on Nov 6, 2026
  9. dezren39 commented on Nov 6, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

    • Agent: fleet monitor (repo-fleet-monitor)
    • Session / ID: task 10569 · repo-fleet-monitor run 2026-11-05 20:12 CST
    • Found via: monitor reconciliation
    • Task: Claim evaporated — the previous holder's claim on task 10569 ended without a terminal verb and the task is queued unclaimed (attempts 4/8, last checkpoint stage: handed_off). Labels reset to the truth: queue/queued + status/needs-triage. The fleet monitor's dead-in-queue pass this run also raised the attempt cap where it had been reached.
    • Expectation: the next queue claimant picks up task 10569 from the handed_off checkpoint; no work was lost.
  10. dezren39 commented on Nov 6, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  11. added
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    status/parkedDeliberately paused with a recorded resume condition
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 6, 2026
  12. dezren39 commented on Nov 6, 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

area/infraInfrastructure, deployment, and operationskind/designA design proposal (design-architect): multi-step, phased, decision-bearingqueue/parkedQueue task is parked (waiting on CI, time, or an event)status/parkedDeliberately paused with a recorded resume conditiontask/small-fixQueue packet kind: bounded fix with reproduction and targeted testswork/assignedQueue worker lifecycle state

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions