Skip to content

id: design: Postgres-over-HTTP adapter (from #5672) #5805

Open

Description

@dezren39

Summary

Follow-on design ticket from #5672 — its decomposition sketch names this as a separate design, and the parent's acceptance requires these tickets to be filed and linked. Filed in the 2026-11-04 gap pass (WS-F) so the design work exists and can be prioritised on its own merits; implementation timing is a separate decision, possibly months out.

What this design must settle

The Postgres-over-HTTP adapter: query translation scope — what subset of ID queries translates, and what is honestly refused.

Context from the parent

The parent design fixes the selective-sharing grants model, the existence-privacy rule, and the foreign data-store adapter contract. The parent issue carries the surrounding decisions this ticket must not re-decide; where this ticket's answer would change a parent decision, record that explicitly rather than silently forking it.

Decision record expected

Close this design with a recorded decision (on this issue or in a doc/ record linked from it): the chosen shape, the alternatives rejected and why, and the invariants implementation must hold. If the design splits further, file the splits and link them here rather than growing this issue.

Relations

Parent: #5672. Programme: epic #2056. Filed by WS-F (2026-11-04 ID design gap & expansion pass).

Activity

  1. added
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    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:v1 agent=repo-worker-code state=picked-up task=10208 lane=8ac61616-3815-4e7b-b33d-840a3829154a at=2026-11-05T12:46:45Z

    Claimed queue task 10208 for triage. Revalidated issue #5805 as open; checking the parent design and any existing work before routing.

  5. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done (triage)

    Triage findings (verified fresh 2026-11-05):

    • Issue id: design: Postgres-over-HTTP adapter (from #5672) #5805 remains OPEN and unassigned. It has no hard-stop labels (held, user/owned, do-not-merge, do-not-auto-edit) and no matching PR was found. Parent id: design: ID selective sharing and foreign data-store adapters v1 #5672 and adapter-contract issue id: design: foreign data-store adapter contract (from #5672) #5803 are also OPEN; no competing implementation was found.
    • Scope: settle the Postgres-over-HTTP endpoint contract and the ID query shapes it supports. Unsupported shapes must be explicitly refused, not silently degraded. The parent asks which HTTP interface is canonical; this ticket should answer that for Postgres rather than re-decide the parent’s grants or existence-privacy model.
    • Current-main evidence: doc/2026-11-04T21-27-34Z_design_atlas_scaler_revision/2026-11-04T21-27-34Z_design_atlas_scaler_revision.md:463-474 accepts a portable PostgREST-style REST contract over standard Postgres and keeps Supabase-specific features out of the portable core. The queue broker (pkgs/fleet/crates/fleet-queue/src/queue_broker.rs:165-249,490-567) is a narrow hand-built PostgREST client, not a general SQL/query translator. Atlas’s SQL-over-HTTP pipeline is for libSQL/Turso, not Postgres (pkgs/atlas-search/crates/atlas-core/src/turso.rs:92-205). No general Postgres adapter or query-translation implementation exists on current main.
    • Design fork / recommendation: explicitly choose between PostgREST-compatible CRUD/RPC and an endpoint that accepts arbitrary SQL; do not imply general SQL translation unless the endpoint provides it. Define the supported filters/operators, ordering/limits, pagination/counts, types and errors, and whether joins, writes/RPC, or cross-request transactions are in scope. Add request/response contract tests with an injectable transport when implementation is planned.
    • Ordering: exploratory work can proceed now. Align the final decision with id: design: foreign data-store adapter contract (from #5672) #5803’s addressing/type-mapping/live-vs-materialized/auth/error contract and record assumptions against the still-open parent id: design: ID selective sharing and foreign data-store adapters v1 #5672. id: design: foreign data-store adapter contract (from #5672) #5803 is a design input, not an active competing PR. No Drew decision or access blocker was found.
    • No code changed and no runtime reproduction or tests were applicable. No additional issue or queue task was created: id: design: Postgres-over-HTTP adapter (from #5672) #5805 is already the follow-on design ticket; implementation timing remains a separate decision.

    Disposition: triaged; issue #5805 stays open for the scoped design decision.

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)task/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