# Radar de Futuros — Campos do Achado

O admin de **Radar de Futuros** edita "achados" (modelo `Finding`, tabela `radar_findings`).
Documento de referência dos campos do formulário, organizados pelas seções da tela
([FindingForm.vue](frontend/src/components/radar/FindingForm.vue)).

> Exemplo de achado: *"A Narrativa da Beleza Transumana"*

## 1. Identificação

| Campo | Label | Tipo | Obrigatório |
|---|---|---|---|
| `slug` | Slug | texto (único, p/ URL) | ✅ |
| `title` | Título | texto | ✅ |
| `image` | Imagem | arquivo S3 (JPG/PNG/WEBP, máx 5MB) | — |
| `description` | Descrição | markdown | ✅ |

## 2. Classificação

| Campo | Label | Valores / Tipo | Obrigatório |
|---|---|---|---|
| `type_classification` | Tipo | tendência, sinal-fraco, evento-raro, cisne-negro-local | ✅ |
| `type_justification` | Justificativa do Tipo | markdown | — |
| `steep_classification` | STEEP | social, tecnológico, econômico, ambiental, político-legal | ✅ |
| `recommended_action` | Ação Recomendada | agir, preparar, observar | ✅ |
| `action_justification` | Justificativa da Ação | markdown | — |

## 3. Chance de Ocorrência

| Campo | Label | Escala | Obrigatório |
|---|---|---|---|
| `short_term_chance_score` | Chance Curto Prazo | 1–5 (Improvável → Consolidada) | ✅ |
| `short_term_justification` | Justificativa — Curto Prazo | markdown | — |
| `medium_term_chance_score` | Chance Médio Prazo | 1–5 (Improvável → Consolidada) | ✅ |
| `medium_term_justification` | Justificativa — Médio Prazo | markdown | — |

**Rótulos da escala 1–5:** Improvável, Possível, Provável, Emergente, Consolidada

## 4. Maturidade (TRL/MRL)

| Campo | Label | Escala | Obrigatório |
|---|---|---|---|
| `maturity_level` | Maturidade | 1–9 (nulo p/ achados não-tech) | — |
| `maturity_justification` | Justificativa da Maturidade | markdown | — |

**Rótulos da escala 1–9:** 1 Ideação · 2 Concepção · 3 Prova de conceito · 4 Otimização ·
5 Prototipagem · 6 Escalonamento · 7 Demonstração operacional · 8 Produção · 9 Produção continuada

## 5. Análises e Textos

Todos em markdown, opcionais:

| Campo | Label |
|---|---|
| `critical_analysis` | Análise Crítica |
| `committee_analysis` | Análise do Comitê |
| `future_perspectives` | Perspectivas Futuras |
| `opportunities` | Oportunidades |
| `threats` | Ameaças |

## 6. Megatendência

| Campo | Label | Tipo | Obrigatório |
|---|---|---|---|
| `megatrend_id` | Megatendência | FK p/ `radar_megatrends` (seleção) | ✅ |

## 7. Impactos Regionais

| Campo | Label | Tipo |
|---|---|---|
| `regional_impacts` | Impactos Regionais | `{ social, economic, environmental }` — sliders 0–5 |

## 8. Inovação × Engajamento

| Campo | Label | Tipo |
|---|---|---|
| `innovation_engagement` | Inovação × Engajamento | `{ innovation, engagement }` — sliders 0–5 |

## 9. Leitura Adicional

| Campo | Label | Tipo |
|---|---|---|
| `reading_links` | Leitura Adicional | array de `{ title, url }` |

## 10. Relações entre Achados

Ligam o achado a outros achados:

| Campo | Label |
|---|---|
| `boosts_ids` | Achados que impulsionam |
| `tensions_ids` | Achados que tensionam |
| `unfolds_ids` | Desdobramentos deste achado |

---

## Campos obrigatórios

Definidos em [labels.ts](frontend/src/components/radar/labels.ts):

`slug`, `title`, `description`, `type_classification`, `steep_classification`,
`recommended_action`, `megatrend_id`, `short_term_chance_score`, `medium_term_chance_score`

## Referências de código

| Item | Arquivo |
|---|---|
| Modelo / regras de validação | [backend/app/Models/Radar/Finding.php](backend/app/Models/Radar/Finding.php) |
| Migration da tabela | [backend/database/migrations/2026_04_23_153950_create_radar_findings_table.php](backend/database/migrations/2026_04_23_153950_create_radar_findings_table.php) |
| Formulário do admin | [frontend/src/components/radar/FindingForm.vue](frontend/src/components/radar/FindingForm.vue) |
| Labels dos campos | [frontend/src/components/radar/labels.ts](frontend/src/components/radar/labels.ts) |
| Editor markdown | [frontend/src/components/radar/MarkdownEditor.vue](frontend/src/components/radar/MarkdownEditor.vue) |
| Enums (Tipo / STEEP / Ação) | [backend/app/Enums/](backend/app/Enums/) |
