# Resumo executivo do ciclo completo (Etapa 79)

## Visão geral

A **Etapa 79** cria a **base do resumo executivo do ciclo completo** e uma **visão final para gestão** do evento/pedido: uma **síntese clara e gerencial de ponta a ponta**. A visão executiva **não substitui** o dashboard consolidado (76), os alertas e pendências (77) nem as ações recomendadas (78); **apenas agrega e resume** para orientar a gestão.

| Conceito | Descrição |
|----------|-----------|
| **Resumo executivo** | **EventCycleExecutiveSummary**: CycleId, ExecutiveTitle, OverallStatusLabel, CommercialSummary, QuestSessionSummary, HandoffSummary, ProducerSummary, ExecutionSummary, FinalAcceptanceSummary, TopRisks, TopProgressPoints, TopRecommendedAction, ManagementNotes, GeneratedAt. |
| **Ponto executivo** | **EventCycleExecutivePoint**: Title, Summary, SeverityOrImportance, RelatedSectionKey, Notes. Usado em riscos, avanços e próxima ação. |
| **Controller** | **EventCycleExecutiveSummaryController**: GenerateSummaries(orders, opportunities, proposals, sessions, followUpTasks), BuildSummaryForCycle(dashboardState, alertState, actionPlanState, generatedAt), GetMainRiskAndAction(summary, out mainRisk, out mainAction). |

## Fontes de dados (apenas leitura)

O resumo é **gerado em cima** dos estados já existentes; não há store próprio nem persistência:

- **EventCycleDashboardState** — secções Comercial, Sessão Quest, Handoff, Produtor, Execução, Aceite Final; flags (IsProducerAccepted, IsScopeConfirmed, etc.).
- **EventCycleAlertState** — alertas do ciclo; convertidos em **TopRisks** (até 5, ordenados por severidade).
- **EventCycleActionPlanState** — TopPriorityAction convertida em **TopRecommendedAction** (EventCycleExecutivePoint).
- **TopProgressPoints** — derivados dos flags do dashboard (aceite produtor, escopo confirmado, preparação, execução iniciada/concluída, aceite final).

## Síntese gerencial

- **Status geral** — OverallStatusLabel do dashboard (OverallCycleStatus ou OperationalStageLabel).
- **Riscos principais** — até 5 alertas, ordenados por severidade; exibidos como lista de EventCycleExecutivePoint.
- **Avanços principais** — marcos já atingidos (aceite produtor, escopo confirmado, preparação, execução, aceite final).
- **Próxima ação principal** — TopRecommendedAction = TopPriorityAction do plano de ações (título, motivo, prioridade, responsável).

## UI

- **EventCycleExecutiveSummaryStripView** — Faixa: "Resumo executivo: [OverallStatusLabel] | Risco: [main risk title] | Próxima ação: [main action title] | Gerado: [timestamp]". Usa GetMainRiskAndAction para o primeiro ciclo.
- **EventCycleExecutiveSummaryPanel** — Blocos por ciclo: status geral + timestamp; Comercial, Sessão Quest, Handoff, Produtor, Execução, Aceite final; riscos principais; avanços principais; próxima ação principal. Botão "Atualizar" (re-gerar).
- **EventCycleDashboardPanel** — Por ciclo: linha **"Resumo executivo: [status] | Risco: [main risk] | Próxima ação: [main action]"** quando existe resumo para esse CycleId.

## Ações

- **Gerar/atualizar resumo** — Refresh no painel (re-chamar GenerateSummaries e repintar). O resumo é sempre on-demand.
- **Limpar resumo** — Não há store; "limpar" equivale a não abrir o painel ou a atualizar com dados que já não tenham ciclos.
- **Navegar para secções** — RelatedSectionKey em cada ponto permite futura navegação/scroll para a secção correspondente no CRM.

## Limitações atuais

- **Sem persistência real** — O resumo é calculado a cada pedido; não é guardado em base de dados.
- **Sem automação real** — Não há jobs em background nem notificações automáticas.
- **Sem integrações externas** — Não há ligação a ERP/CRM externo; dados vêm apenas do contexto Web (HandoffStore, DataService, etc.).
- **Gestão de notas** — ManagementNotes existe no modelo mas não está editável na UI nesta etapa.

## Garantias

- **Quest intacto** — Nenhum fluxo Quest, runtime XR, input, targeting, apresentação ou sessão foi alterado.
- **Web Hotel e Produtor intactas** — CRM do hotel e painel do produtor não foram refatorados; a visão executiva apenas consome os mesmos dados e adiciona secções de resumo no dashboard CRM.
