snipe/app
pyr0ball e34c2b9982 feat(db): wire Postgres shared backend into main.py and extend protocol
SharedTableProtocol now covers the full shared-table surface:
  - sellers, market_comps, reported_sellers (already in SnipeSharedStore)
  - scammer_blocklist (new — is_blocklisted, add/remove/list_blocklist)
  - refresh_seller_categories (reads per-user SQLite, writes to Postgres)

TrustScorer updated to accept SharedTableProtocol (was Store).

api/main.py:
  - _pg_shared_store global + _make_shared_store(path) helper
  - Lifespan init: SNIPE_SHARED_DB_URL → SnipeSharedDB + SnipeSharedStore
  - All Store(shared_db) calls for shared tables replaced with
    _make_shared_store(shared_db) or shared_store.clone()
  - Blocklist endpoints use _make_shared_store (Postgres when configured)
  - Community signals stay SQLite-only (low-write, not in protocol)

Postgres migration 001: scammer_blocklist table added.
8 blocklist tests added (gated behind SNIPE_SHARED_DB_URL / @pytest.mark.postgres).
.env.example: SNIPE_SHARED_DB_URL documented.
compose.cloud.yml: GPU_SERVER_URL + SNIPE_SHARED_DB_URL comment added.

248 passed, 8 skipped (postgres-gated).

Closes: #45
2026-05-22 15:47:36 -07:00
..
db feat(db): wire Postgres shared backend into main.py and extend protocol 2026-05-22 15:47:36 -07:00
llm feat(llm): migrate query_translator to cf-orch task endpoint for cloud, keep LLMRouter for local (#54) 2026-05-13 15:22:09 -07:00
mcp feat(mcp): Snipe MCP server for Claude Code integration (#27) 2026-04-13 19:33:47 -07:00
platforms refactor(adapters): accept SharedTableProtocol; replace thread-local Store pattern with clone() 2026-05-18 09:12:00 -07:00
tasks feat(tasks): migrate trust_photo_analysis to cf-orch image_assessment task endpoint (#43) 2026-05-13 15:43:18 -07:00
trust feat(db): wire Postgres shared backend into main.py and extend protocol 2026-05-22 15:47:36 -07:00
ui feat: preferences store, community signals, a11y + API fixes 2026-04-14 16:15:09 -07:00
wizard feat: preferences store, community signals, a11y + API fixes 2026-04-14 16:15:09 -07:00
__init__.py feat: scaffold snipe repo 2026-03-25 13:08:54 -07:00
tiers.py feat: add llm_query_builder tier gate (paid+) to tiers.py and SessionFeatures 2026-04-14 11:44:53 -07:00