# Deliverable C — Phat Signal-to-Decision Forensic Map
*Phase 0 | Brand Pipeline | 2026-03-24*

---

## Purpose
Reconstruct Phat Foods' actual signal→territory→direction chain. Validate whether the inferential steps can be made explicit, and where the irreducible human judgment lives. Findings feed back into schema design (A and B).

---

## The Reconstructed Chain

### STAGE 1: Signal Intake
**Input:** Competitive research sweep (40+ brands across food tech, biotech, premium food/bev)

**Key pattern extracted:**
The competitive field is split:
- Clinical biotech (Nourish, NotCo): technically credible, cold, B2B-appropriate
- Consumer-friendly (Remilk, Oatly, Perfect Day): warm, approachable, B2C-oriented

**Gap identified:** Nobody is occupying luxury premium ingredient territory in the B2B food ingredient space.

**How it enters B:** These competitor images enter as `image_source: competitive_reference`, `client_relevance: reference_only`. They map the existing field, not CE's taste.

---

### STAGE 2: Gap → Positioning Territory (HUMAN GATE 1)
**Input:** Gap map from Stage 1
**Output:** "Own the luxury end of B2B ingredients"

The gap was visible from data. The call was not.

Three plausible directions existed at this fork:
- **Clinical/technical** — follow Nourish, lead with precision and science
- **Heritage/evolutionary** — follow premium dairy tradition, feel familiar
- **Luxury premium** — own the aesthetic high ground, no incumbent

The luxury call was contrarian. B2B ingredient buyers respond to premium positioning psychology just as consumers do. The premise isn't obvious — it required someone to look at the gap and make the bet.

**What this means for the pipeline:** No tool derives this. The Brief document (D) captures the full strategic rationale. A references it via `origin.positioning_territory`. This is Gate 1.

---

### STAGE 3: Territory → Reference Sourcing
**Input:** Territory name ("luxury premium ingredient")
**Output:** Reference image set from analog industries

Analog industries mapped to "luxury ingredient premium":
- Aesop skincare → warm amber tones, kraft, negative space, precise ingredient labeling
- Le Labo → honey golds, scientific labels with warmth, ingredient as precious material
- Holiland "Butter Christmas" by Dong_11 → golden hour warmth, celebratory brightness, fat as hero
- Luxury food macro photography → tactile texture, shallow DOF, tight crop

**This step is guideable.** Given a territory name, AI can find analog industries and surface reference images. Human curation is still required to filter — not every Aesop image is useful, but the direction is AI-findable.

**Stage 3 intake protocol into B:**
1. Research surfaces reference URLs from analog industries
2. Each reference image enters B as: `image_source: human_curated` (if Assaf selects) or `competitive_reference` (if pulled from competitor analysis)
3. `direction_link: [brand_slug]` set to the brand being developed
4. `client_relevance: reference_only` at intake — upgraded to `ce_territory` if Assaf scores ≥7
5. `ce_resonance: null` until Assaf scores — excluded from pipeline runs until scored

---

### STAGE 4: Direction Generation
**Input:** Reference images from Stage 3
**Output:** 5 named directions

From the reference set, mood/palette/texture values were extracted and synthesized into 5 distinct directions:

| # | Direction | Stars | Core territory |
|---|---|---|---|
| 1 | Liquid Gold Minimalism | ⭐⭐⭐⭐⭐ | Warm golden luxury, fat as precious ingredient |
| 2 | Precision Craft | ⭐⭐⭐⭐ | Cool precision, artisanal-scientific |
| 3 | Future Dairy Heritage | ⭐⭐⭐⭐ | Traditional dairy cues, evolved |
| 4 | Molecular Gastronomy Lab | ⭐⭐⭐ | Scientific beauty, cool-clinical |
| 5 | Natural Innovation | ⭐⭐ | Organic/sustainability, generic |

**This step is systematic.** Given reference images, extracting palette + mood + texture → generating named directions is repeatable. The AI can produce the options. The human selects.

**Rejected alternatives (2-5) enter A's `origin.rejected_alternatives`.** Not discarded — archived for future use. Future briefs in adjacent territory can surface these.

---

### STAGE 5: Direction Selection (HUMAN GATE 2 — PARTIAL)
**Input:** 5 directions
**Output:** Direction 1 chosen

Why Direction 1 over Direction 2?
Both serve the luxury gap. Both are defensible. The criteria that tipped it:

**What can be articulated:**
- Product-direction alignment: fat/butter/lipids have inherent warmth. Warm golden maps to the subject matter at a sensory level. Cool precision (Direction 2) fights the material.
- Reference strength: Holiland Butter Christmas was the single most resonant reference image. It was warm, golden, celebratory. Direction 1 was built closer to that reference.
- Client context: Phat's buyers are premium food manufacturers, not R&D labs. Luxury warmth is more persuasive in that context than cool scientific precision.

**What cannot be articulated:**
Direction 2 (Precision Craft) was still a real option by criteria. The final call required someone to look at both and feel which one was true for this brand. That recognition — "warm golden is right, sage green is wrong" — is aesthetic judgment. It can be informed by criteria. It cannot be replaced by criteria.

**The partial resolution:** Direction selection can be structured with explicit scoring criteria against A's vocabulary (palette warmth vs. cool, product-direction fit, reference image strength). This narrows the gap between valid options. It does not eliminate the gap entirely. A human makes the final call.

---

### STAGE 6: Generation Testing → Lock
**Input:** Direction 1 definition
**Output:** R7 locked direction, parameters extracted

**The generation rounds:**
R1-R5: Wrong in various ways — too cool, too dark, wrong shadows, wrong warmth level, wrong texture quality
R6: Unwrapping close-up → style locked. First image that felt right.
R7: Warm round → lighting parameters locked.

**What changed between R5 and R6 (Gate 2 evidence):**
Examining the locked reference images and the failure analysis, the specific differences:
- **Shadow temperature**: R1-R5 had neutral or cool shadows. R6 had warm amber-brown shadows throughout. This single parameter shift changed the entire feel.
- **Lighting fill**: R1-R5 had pockets of darker tones. R6 had high fill — light bouncing everywhere, no dark zones. Airy.
- **Color cast consistency**: Earlier rounds had split-tone issues (warm highlights, neutral shadows). R6 was monochromatic warm throughout — cast consistency top to bottom.
- **Texture treatment**: R6 had the right grain — subtle, not heavy. Previous rounds swung between over-processed and too noisy.

**What this means:** Gate 2's approach to the threshold IS partially articulable. The final "this is it" recognition requires a human. But the specific parameters that get an image close to that threshold can be specified. Shadow warmth + fill level + color cast consistency + grain subtlety are the 4 parameters most determinative of success in this direction.

**Stage 5/6 intake protocol into B:**
- All R1-R7 images enter B as `image_source: ai_generated`, `direction_link: [brand_slug]`
- Failed rounds: `client_relevance: generation_test` (partial success) or `anti_pattern` (clean failure)
- R6/R7 lock images: `client_relevance: lock_reference`
- A's `meta.locked_on_image` = content_hash of the R6 image
- NOT list entries in A are built from failed rounds: each failure adds a specific descriptor to `visual.lighting.NOT`, `visual.texture.NOT`, `visual.color_behavior.NOT`, or `core.what_this_isnt` depending on where the failure occurred

---

### STAGE 7: Schema Extraction
**Input:** Locked reference images (R6/R7)
**Output:** visual-style.json populated

Reverse-engineering successful images into schema fields:
- `palette`: hex-sampled from R6/R7 images
- `lighting.quality`, `lighting.shadows`, `lighting.fill`: described from R6/R7 characteristics
- `texture.character`, `texture.grain`: described from R6/R7 texture
- `color_behavior.cast`: derived from overall image analysis
- `prompt_framework.master`: synthesized from the generation prompts that produced R6/R7
- `core.what_this_isnt`: consolidated from failed round feedback
- `extended.shot_library`: derived from the successful shot types in R6/R7

**This step is systematic.** Given locked reference images, a capable model can extract these values with reasonable accuracy. Human review and adjustment required, but the extraction is not artisanal.

---

## Explicit vs. Irreducible Map

| Step | Explicit? | Why |
|---|---|---|
| Competitive scan → gap identification | ✅ Systematic | Map field, find white space |
| Gap → positioning territory | ❌ Human Gate 1 | Contrarian strategic bet — not derivable from data |
| Territory → reference sourcing | ✅ Guideable | Given territory name, AI finds analog references. Human curates. |
| References → direction options | ✅ Systematic | Extract mood/palette/texture → generate options |
| Direction selection | ⚠️ Partial | Criteria narrow the gap. Taste makes the final call. |
| Generation testing | ✅ Systematic | Pass/fail against criteria is repeatable |
| Lock ("this is it") | ⚠️ Partial | 4 key parameters articulable. Final recognition is not. |
| Lock → schema extraction | ✅ Systematic | Reverse-engineer successful images into fields |
| NOT list building | ✅ Emergent | Built from failure — each wrong output adds a specific descriptor |

---

## The Two Irreducible Gates

**Gate 1 — The Strategic Bet**
The competitive gap is data. The decision to go luxury (not technical, not heritage) is judgment. The Brief document (D) is where this lives. A references it; it doesn't contain it.

**Gate 2 — The Lock**
The approach to the lock is partially articulable: shadow warmth, fill level, color cast consistency, grain subtlety. The final recognition — "this is it" — is aesthetic. Design toward it; don't pretend it can be automated away.

---

## Framework Verdict

The framework is real. The inferential steps are mostly explicit. The two human gates are genuine human-only territory — and precisely located. The pipeline's job is to compress all systematic work so Assaf's attention lands at Gate 1 and Gate 2, and nowhere else.

**The 6 pipeline touchpoints:**

| Touchpoint | Gate | What happens |
|---|---|---|
| T1 | Brief intake | Client brief, product context, category |
| T2 | Strategic bet approval | Gap analysis presented → Assaf approves positioning territory (Gate 1) |
| T3 | Direction selection | 3-5 directions presented with reference sets → Assaf selects (Gate 2 approach) |
| T4 | Generation feedback | Images scored pass/fail → NOT list builds |
| T5 | Lock | "This is it" → direction locked (Gate 2 recognition) |
| T6 | Schema sign-off | Extracted parameters reviewed → visual-style.json locked |

---

## What C Reveals About A and B

**A additions validated by this map:**
- `origin` section (positioning_territory, competitive_gap, analog_references, seed_images, rejected_alternatives, brief_ref) — all required for traceability
- `meta.locked_on_image` — links the lock decision to evidentiary record in B
- `meta.locked_at`, `meta.locked_by` — audit trail for Gate 2

**B additions validated by this map:**
- `image_source: ai_generated` — Stage 5 test images are categorically different from curated references
- `direction_link` — Stage 3 references and Stage 5 test images both need to link back to the direction they belong to
- `client_relevance: generation_test` — partial success in testing, not anti_pattern, not reference
- `client_relevance: lock_reference` — the canonical image is a special category; it's the ground truth

---

*Deliverable C — complete. Validated against A and B. Ready for Anton review.*
