Skip to content

feat(venue): add ranking fields (originalsFit, travelBand, priority) + use payTier — for the AdminVenues Prospect Score#868

Merged
JoshuaVSherman merged 1 commit into
devfrom
claude/867-venue-ranking-fields
Jun 25, 2026
Merged

feat(venue): add ranking fields (originalsFit, travelBand, priority) + use payTier — for the AdminVenues Prospect Score#868
JoshuaVSherman merged 1 commit into
devfrom
claude/867-venue-ranking-fields

Conversation

@JoshuaVSherman

Copy link
Copy Markdown
Contributor

Summary

Adds three optional venue ranking fields to feed the AdminVenues 'Prospect Score' sort (JaMmusic#1139): originalsFit (none|some|loves — how much a venue welcomes original music), travelBand (local|regional|far — coarse distance from Salem, VA, no geocoding), and priority (0–5 manual boost). Existing payTier is kept for the pay value. Fields are optional/soft (no migration), persist via the existing PUT/POST ...body spread, and return on GET automatically; the score itself is computed client-side so weights stay tunable without a deploy. Enum validation was refactored to a data-driven table (invalidEnum/invalidPriority) to keep validateBody under the cognitive-complexity limit as fields grow.

Closes #867

How to test locally

From web-jam-back/: npm test (runs eslint ./src, jscpd, then vitest with coverage). Expected: lint clean, jscpd under threshold, all tests pass, coverage over the 90/80/80/90 gate.

Test evidence

npm test green: eslint clean (no errors), jscpd passed, full vitest suite passed. Coverage summary — Statements 91.4% (1329/1454), Branches 84.25% (765/908), Functions 84.34% (194/230), Lines 91.99% (1103/1199); venue-controller.ts 90.79% stmts / 85.03% branch / 100% func. 6 new venue-controller tests (reject invalid originalsFit/travelBand/out-of-range+non-numeric priority; accept+pass-through the ranking fields).

🤖 Work by Claude Code — Opus 4.8

Venue schema + validation for the AdminVenues Prospect Score (JaMmusic#1139):
originalsFit (none|some|loves), travelBand (local|regional|far), priority (0-5).
Enum validation refactored data-driven to keep cognitive complexity in bounds.
6 new tests; coverage over the 90/80/80/90 gate.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@JoshuaVSherman JoshuaVSherman force-pushed the claude/867-venue-ranking-fields branch from be84fc0 to 75f36fd Compare June 25, 2026 07:28
@JoshuaVSherman JoshuaVSherman marked this pull request as ready for review June 25, 2026 07:28
@JoshuaVSherman JoshuaVSherman merged commit 18fdc46 into dev Jun 25, 2026
2 checks passed
@JoshuaVSherman JoshuaVSherman deleted the claude/867-venue-ranking-fields branch June 25, 2026 07:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(venue): add ranking fields (originalsFit, travelBand, priority) + use payTier — for the AdminVenues Prospect Score

1 participant