# RetrieX Patch 3: IntentLight + SalesIntent YAML-only

This patch continues the incremental YAML-source-of-truth migration.

## Scope

Only these intent areas are changed:

- `IntentLightConfig`
- `SalesIntentConfig`
- direct usages of their former PHP constants
- the effective-config dump for these values
- `config/retriex/intent.yaml`

No retrieval, prompt, shop, commerce-parser, SSE, or answer-generation logic is changed.

## What changed

### IntentLightConfig

Removed PHP defaults:

- `LIST_THRESHOLD`
- `QUANTITY_WORDS`
- `STRONG_PATTERNS`

Added required YAML-backed accessors:

- `getListThreshold()`
- `getQuantityWords()`
- `getStrongPatterns()`

The previous values now live in:

```yaml
retriex.intent.light.config:
  list_threshold: 4
  quantity_words: [...]
  strong_patterns: [...]
```

### SalesIntentConfig

Removed PHP defaults:

- `DOMINANCE_DELTA`
- `MIN_SCORE_THRESHOLD`
- `SALES_SIGNALS`
- `COMPARISON_SIGNALS`
- `OBJECTION_SIGNALS`
- `IMPLEMENTATION_SIGNALS`
- `ROI_SIGNALS`

Added required YAML-backed accessors:

- `getDominanceDelta()`
- `getMinScoreThreshold()`
- `getSalesSignals()`
- `getComparisonSignals()`
- `getObjectionSignals()`
- `getImplementationSignals()`
- `getRoiSignals()`

The previous values now live in:

```yaml
retriex.intent.sales.config:
  dominance_delta: 2
  min_score_threshold: 3
  sales_signals: [...]
  comparison_signals: [...]
  objection_signals: [...]
  implementation_signals: [...]
  roi_signals: [...]
```

## Validation performed

Static validation in the patch workspace:

```bash
php -l src/Config/IntentLightConfig.php
php -l src/Config/SalesIntentConfig.php
php -l src/Intent/IntentLite.php
php -l src/Intent/SalesIntentLite.php
php -l src/Config/RetriexEffectiveConfigProvider.php
```

YAML was parsed successfully with the new keys.

The full Symfony regression commands were not executed in the extracted ZIP workspace because `vendor/` is not part of the uploaded archive.
