MemoryStores and SqliteStores
ship in core; SupabaseStores (behind the [supabase] extra) binds the same
repos to a Supabase / PostgREST project.
Bootstrap the tables
SupabaseStores ships a schema you apply once. Run SCHEMA_SQL against your
project (SQL editor or migration):
Use it
SupabaseStores satisfies every repo protocol, so it drops into ResearchDeps
or the Reddit OAuth account store exactly like MemoryStores.
Binding to pre-existing tables
If you already have columnar tables (this is how Clique migrates onto metalworks), pass atable_map to point the logical collections at your
physical table names:
The pagination guarantee
Every read paginates with.range() until exhaustion. PostgREST silently caps
result sets at its max-rows setting (default 1000) and returns HTTP 200, which
would otherwise truncate corpus reads and corrupt every downstream count. The
conformance suite’s >1000 rows behind one filter case exists to catch any
regression of this: