RECORDGOD
Go to file
type-two b256b1399c docs: Wax Museum deep-dive + onboarding report (first enterprise target)
Data-driven dossier on waxmuseumrecords (Jackson, free-year test case). Key finding: their
Shopify is technically excellent (Lighthouse perf 99/SEO 100, no search-app tax) AND already
Discogs-sync-native (titles = Artist-Title(Format)(Grade), body = Media/Sleeve condition +
country/year) — so the pitch is NOT speed/cost, it's cross-store market intelligence on data
they already publish. DealGod under-captures it (condition 0%, release_id 26% despite perfect
titles). Includes honest do-NOT-pitch list, the underpricing/$ hook, read-only onboarding plan,
and DealGod-side ingest fixes (parse Media/Sleeve condition; lift Discogs-format match rate).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 20:33:24 +10:00
app feat(admin): Store Map + Intake/Crates/Reports 2026-06-21 20:03:08 +10:00
site feat(admin): Store Map + Intake/Crates/Reports 2026-06-21 20:03:08 +10:00
webstore feat(virtual): spring-physics crate digging — riffle, hinge-flip, pull-to-inspect 2026-06-19 18:35:56 +10:00
.dockerignore feat: deploy-ready — env-aware Discogs enrichment + Dockerfile 2026-06-21 13:08:49 +10:00
.gitignore feat: RecordGod founding — service scaffold + MariaDB→Postgres migration 2026-06-19 17:18:50 +10:00
build_disc_cache.py feat: self-contained enrichment — disc_cache (own catalog copy), no external DB dependency 2026-06-21 13:16:56 +10:00
Dockerfile feat: deploy-ready — env-aware Discogs enrichment + Dockerfile 2026-06-21 13:08:49 +10:00
migrate_virtual.py feat(virtual): lift the 3D store out of WordPress — scene API + raw Three.js renderer 2026-06-19 17:59:52 +10:00
migrate.py feat: RecordGod founding — service scaffold + MariaDB→Postgres migration 2026-06-19 17:18:50 +10:00
README.md feat: RecordGod founding — service scaffold + MariaDB→Postgres migration 2026-06-19 17:18:50 +10:00
RECORDGOD_PLAN.md feat: RecordGod founding — service scaffold + MariaDB→Postgres migration 2026-06-19 17:18:50 +10:00
refresh.sh chore: refresh.sh — one-command re-pull from the MariaDB clone (ultra + VPS) 2026-06-21 14:30:57 +10:00
requirements-migrate.txt feat: RecordGod founding — service scaffold + MariaDB→Postgres migration 2026-06-19 17:18:50 +10:00
requirements.txt feat: standalone RecordGod web UI — landing, control-room dash, encrypted secrets vault 2026-06-21 12:40:07 +10:00
schema.sql feat: self-contained enrichment — disc_cache (own catalog copy), no external DB dependency 2026-06-21 13:16:56 +10:00
test_smoke.py feat: RecordGod founding — service scaffold + MariaDB→Postgres migration 2026-06-19 17:18:50 +10:00
WAXMUSEUM_DEEPDIVE.md docs: Wax Museum deep-dive + onboarding report (first enterprise target) 2026-06-21 20:33:24 +10:00

RecordGod

The records back-office engine — the best of WowPlatter, reborn on Postgres, outside WordPress.

RecordGod ingests WowPlatter's job (inventory, import, enrichment, labels, copy, queries) but not WowPlatter's code. It runs as its own service on the VPS, calls DealGod for market value, and feeds WordPress the tidy data it likes for the storefront.

WowPlatter is the ancestral founder — still running the live shop floor, and the reference spec RecordGod matches before it retires anything. Honour the founder: don't redesign what already works, copy it.

Start here

  • RECORDGOD_PLAN.md — the plan, the map, the keep/drop triage, build order, and the open decisions. Read this first.

The family (sibling repos on this machine)

Repo What it is Talks to RecordGod via
../dealgod The market brain — cross-store value, arbitrage. Its own product. RecordGod calls it (X-API-Key) for value
../PRICEGOD The seller extension (Discogs cockpit). Successor to pliceclogs. Calls RecordGod's wowplatter/v1 contract
../wowplatter The founder — WP/WooCommerce plugin running the live store. RecordGod publishes tidy data to it

Briefs that define the contracts already live in ../PRICEGOD/DEALGOD_BRIEF.md and ../PRICEGOD/WOWPLATTER_BRIEF.md. All three still hold; RecordGod is who fulfils the WowPlatter side of them.

Run it (dev)

python3 -m venv .venv && ./.venv/bin/pip install -r requirements.txt
RECORDGOD_TOKEN=dev-tok ./.venv/bin/uvicorn app.main:app --reload --port 8010
./.venv/bin/python test_smoke.py    # self-check — no DB/infra needed

Postgres schema: psql recordgod < schema.sql.

Live now: GET /wowplatter/v1/ping, GET /wowplatter/v1/inventory/lookup?release_id=. Routes 35 (price / labels / intake) are intentionally 404 — PRICEGOD reads that as "pending" and degrades gracefully, so an undefined route is the correct "not built yet" signal.

Layout

app/
  main.py          FastAPI app + /healthz
  db.py            async SQLAlchemy over asyncpg (twin of DealGod's db.py)
  auth.py          require_token — Bearer; the one place the auth scheme lives
  wowplatter_v1.py the contract router (ping + lookup live)
schema.sql         minimal inventory table, release_id-keyed, store_id seam
test_smoke.py      infra-free self-check

Status: founding — scaffold runs, smoke test green. 2026-06-19.