MERGE_DEFERRED: build-recovery-chart-dataprop-02cd420e

## Deferred merge — session 02cd420e-ca04-409e-a97b-e8d3c24ee589

Commits being deferred (build-recovery-chart-dataprop-02cd420e, not yet on main):
- c014b1cb4 chore(artifacts): session 02cd420e gate artifacts
- 03f3ada63 fix(recovery-chart): remediate adversarial review — annotation guard, hook ordering, Y-axis scaling, aria wiring

## Why deferred

v-merge-back.sh exited 3 (FND-3 safety guard): 3 active sibling sessions hold uncommitted source WIP on main. Stashing that WIP across a merge would risk orphaning it (f6de5990 OPP-09).

Active siblings at time of deferral:
- 71220943-60f9-4c31-a72c-9de916ac2c2f (build-proof-mode-decay)
- bb91f9ca-7521-4897-a5d4-33a7a8deaaec (build-wedge-gating-ui)
- 6bdacaa4-7beb-445d-8f86-99e3e124105d (build-recover-copy-reframe)

## To complete merge when siblings finish

```bash
bash ~/.claude/skills/v/references/v-merge-back.sh 02cd420e-ca04-409e-a97b-e8d3c24ee589
```

## Session state

All gates satisfied:
- AGENT_REVIEW: approved (6 adversarial findings fixed)
- IMPACT_MAP: complete (9 subsystems)
- UX_CRITIQUE: 1 medium (pre-existing footer contrast), 9 OK
- QA_REPORT: verdict pass (1 medium + 2 low residual)
- WORKFLOW_VERIFICATION: degraded (14/14 tests + tsc + lint pass; browser skipped)
- VERIFY_DONE_REPORT: PASS, 0 findings
- PRE_FLIGHT_REPORT: pass

## Change summary

RecoveryChart.tsx now accepts optional `data?`, `illustrative?`, and `annotations?` props. Default (no data) renders the illustrative demo with the "Illustrative — your report uses your own GSC data" label. When real GSC data is supplied with both annotation markers, the chart renders the real series without any illustrative labeling. Six adversarial review findings were remediated (annotation guard logic, hook ordering, Y-axis scaling, aria wiring).
