gambit-admin
  • Joined on 2026-06-06
gambit-admin opened issue gambit/gambit#649 2026-09-09 00:00:51 +00:00
Railway Postgres egress spike: promote-prod pg_dump runs over the public proxy
gambit-admin commented on issue gambit/gambit#425 2026-09-08 23:46:00 +00:00
Audit: move uploads off the container disk into object storage

Started the locality half tonight (claimed was Josh's from the security-half work weeks ago; checked for any active branch/PR first — none existed, so proceeding). PR opened: https://github.com/Ga…

gambit-admin commented on issue gambit/gambit#426 2026-09-08 16:06:12 +00:00
Audit: right-size DB connections + add a pooler before running a second instance

PR opened: https://github.com/Gambit-Inc/gambit/pull/439 — covers step 2 only (right-size the pool), scoped deliberately after finding docs/architecture/railway-consolidation.md already has a…

gambit-admin commented on issue gambit/gambit#424 2026-09-08 15:34:22 +00:00
Audit: move in-process caches/state to Redis so two app copies agree

PR #438 passed review clean (no blockers, no should-fix, one nit) after 3 real rounds of fixes tonight (empty-list falsy-check bug, lock TTL, and a real distributed-lock ownership bug in the…

gambit-admin commented on issue gambit/gambit#424 2026-09-08 06:10:40 +00:00
Audit: move in-process caches/state to Redis so two app copies agree

PR opened: https://github.com/Gambit-Inc/gambit/pull/438 — covers every remaining site from the audit (ebay.py, card_search.py, ops_overview.py, cardhedge.py x3, tcgcsv_sync.py, beta_signups.py's…

gambit-admin closed issue gambit/gambit#423 2026-09-08 05:54:51 +00:00
Audit: move the 8 background jobs out of the customer-facing app into a worker service
gambit-admin commented on issue gambit/gambit#423 2026-09-08 05:54:50 +00:00
Audit: move the 8 background jobs out of the customer-facing app into a worker service

MERGED and DEPLOYED. PR #431 merged to main at 2026-09-08T03:36:48Z. promote-prod.yml was extended with a PROMOTE_CELERY_SERVICES-gated redeploy step for gambit-worker/gambit-beat (railway…

gambit-admin commented on issue gambit/gambit#423 2026-09-08 03:50:45 +00:00
Audit: move the 8 background jobs out of the customer-facing app into a worker service

Shipped 2026-09-07 evening (PR #431, main 3cc74982, promoted run 34184501869). All 8 background jobs run as Celery tasks on two Railway services (gambit-worker --pool=solo, gambit-beat), same…

gambit-admin commented on issue gambit/gambit#425 2026-09-08 00:21:05 +00:00
Audit: move uploads off the container disk into object storage

PR #429 (Josh) merged to main 3bb29f25 on Kris's go and auto-promoted: promote-prod run 34172884415 green, runrecon-back redeployed from :prod at 00:18Z (Railway deployment 1fc02d84 SUCCESS),…

gambit-admin commented on issue gambit/gambit#424 2026-09-08 00:06:47 +00:00
Audit: move in-process caches/state to Redis so two app copies agree

Started. Branch feature/redis-shared-caching pushed (not yet a PR — still migrating sites).

Audited the whole codebase for this shape of state, beyond the sites already listed above — found ~11…

gambit-admin commented on issue gambit/gambit#423 2026-09-08 00:06:16 +00:00
Audit: move the 8 background jobs out of the customer-facing app into a worker service

Update: PR #431 went through 4 more review rounds tonight, all fixed and verified:

  • Beat-schedule ordering bug (entity rebuild must run before the index rebuild that reads it — moved weekly job…
gambit-admin commented on issue gambit/gambit#425 2026-09-08 00:05:48 +00:00
Audit: move uploads off the container disk into object storage

Found while scoping #423/#424 tonight: routes/lister.py's listing-photo uploads bypass services/media_storage.py's abstraction entirely — UPLOAD_ROOT is a hardcoded local Path (backend/uploads/lis…

gambit-admin commented on issue gambit/gambit#422 2026-09-07 23:25:46 +00:00
Audit: split DB users — app can no longer ALTER/DROP (blocked by startup-DDL removal)

Update: PR #424 (the DDL-split branch) merged 2026-09-07T23:20:18Z. Covers the 3 boot/request-time DDL sites (main.py's CREATE DOMAIN guard, auth.py's 6-column ALTER, inventory_signals.py's…

gambit-admin commented on issue gambit/gambit#423 2026-09-07 22:31:56 +00:00
Audit: move the 8 background jobs out of the customer-facing app into a worker service

Started — this is the first domino in resuming D11 (scale-out was deferred pre-launch, now un-deferred since we need to scale for paying customers). PR: https://github.com/Gambit-Inc/gambit/pull/4…

gambit-admin opened issue gambit/gambit#648 2026-09-07 20:49:08 +00:00
rate_limit_vendor: route-level + role-gated combination lets a low-priv account burn the owner's shared bucket, ~24 call sites
gambit-admin commented on issue gambit/gambit#635 2026-09-07 12:47:18 +00:00
Catalog/pricing resolve times out after a successful local match (3 s budget)

Reproduced on device 2026-09-07 AM: server=25-80ms on every successful call, totals 150-1500ms, then two 'Request timed out' at the 3 s budget → 'Card recognized, but the pricing lookup timed…

gambit-admin commented on issue gambit/gambit#632 2026-09-07 12:32:16 +00:00
EPIC: On-device CardVision — recognize cards on the iPhone without Tower

Design build 600751e1 started from 39e5352a (PR #423): fixes game-pack download failure (#638), benchmark FAIL verdict (float16 abs-error bound → cosine ≥0.995; device measured 0.99896/0.99894),…

gambit-admin opened issue gambit/gambit#647 2026-09-07 12:25:24 +00:00
Users can't delete downloaded offline card packs (multi-GB, invisible in-app)
gambit-admin commented on issue gambit/gambit#638 2026-09-07 12:22:29 +00:00
On-device: multi-game packs (per-game download, per-set delta updates)

Device test of build 497cf777: first game-pack download failed ('CFNetworkDownload_….tmp couldn't be moved to partial-… folder doesn't exist'). Root cause: the stale-partial sweep in…

gambit-admin commented on issue gambit/gambit#422 2026-09-07 06:07:41 +00:00
Audit: split DB users — app can no longer ALTER/DROP (blocked by startup-DDL removal)

Update: PR #424 (the DDL-split branch this issue tracks) got a second review pass tonight that caught two real regressions — a held_grid() NameError (a leftover ensure_table() call site the first…