snipe/app/db
pyr0ball 2ab41219f8 fix: account_age_days=None for scraper tier, stop false new_account flags
Scraper can't fetch seller profile age without following each listing's
seller link. Using 0 as sentinel caused every scraped seller to trigger
new_account and account_under_30_days red flags erroneously.

- Seller.account_age_days: int → Optional[int] (None = not yet fetched)
- Migration 003: recreate sellers table without NOT NULL constraint
- MetadataScorer: return None for unknown age → score_is_partial=True
- Aggregator: gate age flags on is not None
- Scraper: account_age_days=None instead of 0
2026-03-25 20:36:43 -07:00
..
migrations fix: account_age_days=None for scraper tier, stop false new_account flags 2026-03-25 20:36:43 -07:00
__init__.py feat: add data models, migrations, and store 2026-03-25 13:08:55 -07:00
models.py fix: account_age_days=None for scraper tier, stop false new_account flags 2026-03-25 20:36:43 -07:00
store.py feat(snipe): FastAPI layer, Playwright+Xvfb scraper, caching, tests 2026-03-25 20:09:30 -07:00