Skip to content

decision(atlas): layer separation — Turso PITR is DB disaster recovery, corpus retention lives in Atlas #6043

Closed

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 14 (Cluster 2).

Decision to record (research, in substance)

Turso Cloud PITR (restore/branch at any timestamp within a plan window — 24 h free; 10/30/90 days by paid tier; restores create a new database and count against the plan's DB quota; https://docs.turso.tech/features/point-in-time-recovery) is disaster recovery for the database, not corpus retention:

  • Whole-database granularity, ≤90-day windows — far shorter than corpus retention horizons, and no per-file version semantics.
  • Atlas retention (version lineage, cold rollout to rustfs, deletion triggers) lives in Atlas's own tables + rustfs, permanently policy-driven.
  • The two never substitute for each other: PITR answers "the shard DB broke"; retention answers "this file version aged out."

Done looks like

A one-page decision record linked from #6026, so no future design reaches for PITR as a versioning mechanism.

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 · picked up

  5. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · triage findings (task 10409, lane code-u, direct lane)

    Verdict: DECISION SUBSTANCE COMPLETE — only the record itself remains. Scoped as an xs follow-up.

    Evidence (fresh, 2026-11-05):

    Remaining work (enqueued as an xs small_fix): write the one-page decision record under doc/ in this repo from the issue body (decision, rejected substitution, the two questions each mechanism answers), link the record from parent issue #6026, and close issue #6043 with the record link. No code, no design reopening — if the record-writing surfaces a genuine conflict with the parent design, it stops and records it here instead of editing around it.

    This triage (task 10409) completes as triaged; issue #6043 stays open until the record lands and closes it.

  6. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done

  7. 2 remaining items

  8. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

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

    @dezren39
    MemberAuthor

    🤖 Agent note · pr_opened

  11. added a commit that references this issue on Nov 5, 2026
  12. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done

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-bearingstatus: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