Skip to content

fix(engine/v2): diversify outfit titles and explanations (R8)#58

Open
lucavandee wants to merge 1 commit into
mainfrom
claude/amazing-allen-075a0a
Open

fix(engine/v2): diversify outfit titles and explanations (R8)#58
lucavandee wants to merge 1 commit into
mainfrom
claude/amazing-allen-075a0a

Conversation

@lucavandee

Copy link
Copy Markdown
Owner

Summary

  • Outfit titles rotate through hero-material, dominant-color, tonal-hero, and material-archetype strategies, guaranteeing no duplicate titles in a set of 6-9 outfits (e.g. "Werk-ready · kasjmier layer", "Werk-ready · navy tailored", "Werk-ready · tonal derby").
  • Explanations now pull from a pool of occasion-specific framings (work → "voor kantoor" / "office-ready", date → "date-ready" / "verzorgd maar relaxed", casual → "voor je vrije dag", party → "voor een avond stappen") and rotate openers per outfit.
  • "Afgestemd op je X stijl" is capped at one occurrence per set.
  • Goal adjective is now context-aware: "professionele" for work, "verzorgde" for date, "expressieve" for party+express, "tijdloze" as default.
  • Hero item callout names the most prominent piece; preferred-brand callouts fire when ≥2 items in the outfit match the user's preferred brands.
  • A 0.6 word-overlap similarity threshold rejects near-duplicate explanations and rotates to an alternative template before falling back.

Test plan

  • Run npx vitest run (pre-existing unrelated productClassifier failure verified on base branch)
  • tsc --noEmit passes
  • Manually verify a 6+ outfit set renders unique titles and varied explanations for minimalist + streetwear personas

🤖 Generated with Claude Code

Titles now pick from hero-material, dominant-color, tonal-hero, and
material-archetype strategies and rotate per outfit, guaranteeing no
two identical titles in a set.

Explanations pull from a pool of occasion-specific framings ("voor
kantoor", "date-ready", ...) and vary the opening per outfit. The
fixed "Afgestemd op je X stijl" opener is now capped at one per set.
Goal adjective picks context (professionele for work, verzorgde for
date, tijdloze as default). Preferred-brand callouts appear when the
outfit carries two or more brand matches, and the hero item is named
explicitly. A 0.6 word-overlap similarity check rejects near-duplicate
explanations and rotates to an alternative template.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@netlify

netlify Bot commented Apr 18, 2026

Copy link
Copy Markdown

Deploy Preview for fitfiai ready!

Name Link
🔨 Latest commit e4f5d39
🔍 Latest deploy log https://app.netlify.com/projects/fitfiai/deploys/69e39629eef7960008ef27ac
😎 Deploy Preview https://deploy-preview-58--fitfiai.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@supabase

supabase Bot commented Apr 18, 2026

Copy link
Copy Markdown

This pull request has been ignored for the connected project wojexzgjyhijuxzperhq because there are no changes detected in supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

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.

1 participant