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…
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…
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…
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…
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…
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…
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),…
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…
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…
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…
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…
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…
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…
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),…
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…
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…