# THIS YOU — PRODUCT-FIRST PERSONALIZATION v1

## Locked principle

> **REAL PRODUCTS FIRST. HERO IMAGE SECOND.**

The personalized hero must be generated around products that already exist and have been checked.

Do not use the old sequence:

```text
hero image → search for vaguely similar products
```

Use:

```text
reader + moment
→ select 3–4 real products
→ verify exact product pages / construction / color / price
→ export hero brief containing those products
→ generate ONE hero image around that wardrobe
→ write MOMENT + STYLE copy
→ import hero + copy
→ human-review visual product fidelity
```

## Why

A STYLE page implies a relationship between the visible look and the products offered to the reader. A button-front jacket in the hero cannot silently become a zip-front blouson in the shopping list. Similar vibe is not the same product construction.

## Product match levels

Each selected product has a fidelity label:

- `exact` — visible hero construction is sufficiently faithful to the selected product
- `close_match` — clearly similar, but a visible detail differs
- `style_alternative` — recreates the direction, not the actual visible piece

Before hero generation, the target should normally be `exact`.
After viewing the hero, human review may downgrade the match if needed.

## Two-stage Manual GPT handoff

### A — Product selection

System exports:

`this_you.product_selection_input.v1`

AI returns:

`this_you.product_selection_result.v1`

Imported candidates remain `unverified`.
A human opens the exact product pages and verifies them.

### B — Hero + copy

The hero gate unlocks only when:

- at least 3 products are selected
- every selected product is `verified`
- none is marked `unavailable`

System then exports:

`this_you.personalization_input.v2`

This packet contains `selected_products` and tells the image model to follow visible garment construction, color, silhouette and shoe shape.

AI returns:

`this_you.personalization_result.v2`

This result does **not** select replacement products. It only returns MOMENT / STYLE copy and optional fidelity notes. The already verified products remain in the database.

One hero image is uploaded and reused by both MOMENT + STYLE.

## Human review

Nothing is auto-approved.

After image generation compare the hero against every selected product:

- closure type
- collar
- length
- silhouette
- color family
- fabric impression
- shoe shape / sole

If the image visibly differs, either:

1. regenerate the hero to better follow the product, or
2. downgrade the match label to `close_match` / `style_alternative` and present it honestly.

For THIS YOU, regeneration toward the real product is preferred over quietly changing the shopping list after the fact.

---

## STYLE EXPLORATION MODE

Every reader profile carries one canonical styling-comfort setting:

```text
familiar  — Stay close to my style
elevated  — Elevate my style (default)
surprise  — Surprise me
```

Selected brands do **not** have the same meaning in all three modes:

- `familiar`: selected brands are high-priority taste references, never a whitelist; prefer them, but close aesthetic/price alternatives are allowed when they improve fit, availability, quality or outfit coherence.
- `elevated`: selected brands are taste/budget signals; adjacent brands and stronger combinations are encouraged when they improve the look.
- `surprise`: selected brands are reference signals only; broader discovery is allowed, but novelty never outranks reader fit, scene fit, explicit dislikes, occasion or budget logic.

The product-first rule does not change:

```text
profile + effective exploration mode + scene
→ discover/rank real products
→ human verify products
→ generate the final hero from those exact products
```

STYLE pages may optionally define:

```json
{
  "recommended_style_mode": "surprise",
  "style_exploration_override": null
}
```

`recommended_style_mode` is an editorial nudge. The reader's chosen mode remains dominant through the engine's combination matrix. `style_exploration_override` is a stronger explicit override and should be used sparingly.

The admin personalization view shows the effective mode, its source and the resolved brand policy so unexpected styling choices can be debugged before approval.


## Eyewear policy

Eyewear visible in reader reference photos is an optional styling feature, not automatically a permanent identity feature. If references show both eyewear and no-eyewear appearances, choose whichever supports the selected look/scene best. If all usable face references show eyewear, prefer similar eyewear for identity reliability. If no reader references show eyewear, do not invent glasses unless eyewear is explicitly part of the selected styling/products.
