First Gain Stage metal discovery agent — FastAPI pipeline replacing n8n workflow logic
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nick2day f6b84ee22f Fix pick quality: Bandcamp title parsing, sanitise pass, dashboard esc
Parsing:
- Handle "Album | Artist — Label - Bandcamp" title format (common
  Bandcamp search result pattern) — stops group at em-dash so label
  name doesn't bleed into artist field
- clean_name() strips label suffixes from parsed tokens
- artist_from_url() now title-cases Bandcamp slug
- looks_like_bad_pick() checks album for pipes, broader regex for
  'records'/'bandcamp' without word-boundary requirement

Sanitise pass (post-curator):
- Normalise obscurity to high/medium/low (dashboard badge values)
- Drop picks where artist field contains 'bandcamp'/'records'/pipe
- Detect when a review blog domain name was extracted as the artist;
  attempt recovery from original search result or drop the pick
- Review domain blocklist: metalinjection, cvltnation, angrymetalguy,
  nocleansinging, meatmeadmetal, decibelmag, and others

Dashboard fix:
- esc() now escapes single quotes (') to prevent broken onclick
  attributes when album/why fields contain apostrophes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3 months ago
.gitignore Initial commit: FGS metal discovery standalone agent 3 months ago
agent.py Fix pick quality: Bandcamp title parsing, sanitise pass, dashboard esc 3 months ago
fgs-agent.service Initial commit: FGS metal discovery standalone agent 3 months ago
requirements.txt Initial commit: FGS metal discovery standalone agent 3 months ago