lilith-platform.live/codebase/@features
Natalie 769bfcd61d feat(ad-watch): plum stdio MCP — scrape ad-platform listings, diff vs canonical
quinn-adwatch: a stateless, plum-local stdio MCP that scrapes Quinn's live
listings on her 11 ad platforms (Eros/Tryst/TS4Rent/MegaPersonals/TSEscorts/
AdultLook/AdultSearch/SkipTheGames + OnlyFans/Fansly/ManyVids) and surfaces
discrepancies vs the canonical provider-config profile.

- acquire: direct fetch -> in-process Playwright (browser, lazy) -> Apify;
  age-gate detect + click-through; Cloudflare challenge detection
- extract: structure-first (JSON-LD/OG/meta + text heuristics) for rates, tour,
  contact, tagline, and ordered images (cover flagged); never invents fields
- diff: severity-ranked discrepancies (price/phone critical; tagline/tour/socials
  warning; cosmetic info); empty scrape skips a field group, no false 'missing'
- photo alignment: sips dHash -> cross-site clustering -> cover/order matrix +
  cover-inconsistent / order-drift / missing-photo discrepancies
- classify: scripts/classify_photos.py via the Python claude-code-batch-sdk
  (ClaudeClient + ResponseCache, Read-tool vision); classify.ts is a thin bridge

Black-independent by design (black + apricot expected to stay down): all deps are
public npm (SDK StdioServerTransport, no @lilith/mcp-common), classify uses the
on-disk Python SDK + local claude CLI, and ADWATCH_CANONICAL_FILE diffs against a
local provider-config snapshot. 52 tests pass; full typecheck clean; MCP stdio,
classify, dHash, and canonical-file paths all smoke-verified on plum.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 19:11:33 -04:00
..
ad-watch feat(ad-watch): plum stdio MCP — scrape ad-platform listings, diff vs canonical 2026-06-26 19:11:33 -04:00
admin fix(ci): repair typecheck failures blocking verify on main 2026-06-23 21:37:14 -04:00
adult-therapy-tours
age-verification
api feat(prospect-runner): DRAFT-only inbound auto-runner orchestration 2026-06-25 04:34:14 -04:00
client-intel
clients/frontend-public
cocotte-tech
cocotte-web
comm-newsletter fix(comm-newsletter): typed row mappers for campaign DB rows 2026-06-19 05:53:32 -05:00
db-monitor
demimonde
edge-purge feat(prospector-quinn): Introduce AI prospecting tools (heat scoring, reply generation) and Quinn-AI gateway integration, alongside frontend UI updates, backend API refactoring, and infrastructure enhancements for edge-purge and proxy services. 2026-06-10 20:40:01 -07:00
event-scrapers
futa-waifu-tour
image-protection
landing breaking(api): 💥 Update client entity schema, prospector classification, and admin photo export routes with breaking changes 2026-06-10 14:58:14 -07:00
merchant/backend-api
messages feat(messenger): canonical domain messenger.transquinnftw.com 2026-06-23 07:55:54 -04:00
my fix(quinn-my/mcp): verified-profile update verb PATCH→PUT to match API route 2026-06-24 03:52:13 -04:00
my-socials docs(my-socials): scaffold socials feature (plan + composer UX docs) 2026-06-23 13:19:58 -04:00
platform-seed breaking(api): 💥 Update client entity schema, prospector classification, and admin photo export routes with breaking changes 2026-06-10 14:58:14 -07:00
provider-website feat(quinn.www): SSO-gated /admin dev view; Theme Lab gated to it 2026-06-24 04:05:26 -04:00
quinn-ai feat(prospector-quinn): Introduce AI prospecting tools (heat scoring, reply generation) and Quinn-AI gateway integration, alongside frontend UI updates, backend API refactoring, and infrastructure enhancements for edge-purge and proxy services. 2026-06-10 20:40:01 -07:00
quinn-messenger/mcp feat(send-rate-limit): thread autoQueue through quinn.api + MCP client 2026-06-23 21:38:51 -04:00
sansonnet-web
score-refresh
sso fix(sso): return claims JSON from /auth/validate 2026-06-21 17:36:52 -05:00
user-data fix(analytics): guard .sessions?.current in useDataHealth to prevent 'can't access property current, o.sessions is undefined' crash in Audience/Traffic/Network pages (shape tolerance for compose rollout + defensive nulls) 2026-06-23 07:31:00 -04:00
vip feat(vip/admin): SSO-gated /admin view with fan impersonation 2026-06-25 02:41:06 -04:00
waitlist