# Trilha gerencial do caso e histórico de decisões executivas (Etapa 96)

## Visão geral

A **Etapa 96** adiciona a **base da trilha gerencial do caso** e o **histórico resumido de decisões executivas**, para que a gestão consiga visualizar **mudanças de direção** e **decisões-chave** ao longo do ciclo. Tudo é **em memória local** e **agregador/manual**; não substitui módulos detalhados nem cria dependência circular.

| Conceito | Descrição |
|----------|-----------|
| **Decisão executiva** | **EventCycleExecutiveDecision**: DecisionId, CycleId, Title, Summary, DecisionCategory, DecisionOutcome, DecisionReason, DecidedByRole, RelatedSnapshotId, RelatedSectionKey, CreatedAt, Notes. |
| **Categoria** | **EventCycleExecutiveDecisionCategory**: CommercialDirection, ProposalAdjustment, FollowUpStrategy, HandoffDecision, ScopeDecision, ExecutionDecision, FinalAcceptanceDecision, RecoveryDecision. |
| **Outcome** | **EventCycleExecutiveDecisionOutcome**: Approved, Rejected, Deferred, Escalated, Revised. |
| **Papel** | **EventCycleExecutiveDecisionRole**: HotelSales, HotelAdmin, InternalAdmin. |
| **Estado da trilha** | **EventCycleExecutiveDecisionTrailState**: CycleId, Decisions, LatestDecision, TotalDecisions, LastDecisionAt, DecisionTrailSummary. |
| **Store** | **ExecutiveDecisionTrailStore**: Add, Update, Remove, Get, GetByCycle, GetAll, HasTrail (em memória). |
| **Controller** | **EventCycleExecutiveDecisionTrailController**: GetTrailState(cycleId), GetGlobalTrailState(), AddDecision, UpdateDecision, RemoveDecision, ListDecisions, HasTrail. |

## Diferença entre nota, snapshot, comparação e decisão

| Conceito | Uso | Granularidade |
|----------|-----|----------------|
| **Nota gerencial** | Anotação livre do gestor sobre o caso (observação, follow-up, contexto). | Texto livre; categoria e importância. |
| **Snapshot executivo** | Checkpoint resumido do estado do ciclo (closure, risco, prioridade, gargalo, ação). | Um ponto no tempo; poucos campos-chave. |
| **Comparação** | Leitura da evolução entre dois snapshots (melhorou / piorou / estável / misto). | Relação entre dois checkpoints. |
| **Decisão executiva** | Registro explícito de uma decisão-chave (ex.: “Aprovar handoff”, “Ajustar proposta”, “Recuperação aprovada”). | Evento decisório; categoria, outcome e razão. |

A **trilha de decisões** agrega apenas as **decisões**; notas, snapshots e comparações continuam nos seus próprios módulos. A decisão pode opcionalmente referenciar um **RelatedSnapshotId** ou **RelatedSectionKey** para contexto, sem duplicar lógica.

## UI

- **EventCycleExecutiveDecisionTrailStripView**: mostra se existe trilha, total de decisões, última decisão (ciclo, título), outcome e timestamp.
- **EventCycleExecutiveDecisionTrailPanel**:
  - Lista decisões por ciclo (título, categoria, outcome, razão, vínculo a snapshot/secção/caso).
  - Ações: Adicionar decisão (padrão), Editar (título, resumo, razão, snapshot relacionado), Remover.
  - Mostra decisão mais recente e timestamp por ciclo.
- **Dashboard consolidado**: linha global da trilha (total, última decisão, outcome, timestamp); por ciclo, linha “Decisões: N | Última: título | outcome | timestamp”.

## Integração

A trilha de decisões integra de forma **somente leitura** com:
- **EventCycleExecutiveSnapshotsState** (decisão pode referenciar RelatedSnapshotId).
- **EventCycleSnapshotComparisonState** (contexto de evolução; sem dependência circular).
- **EventCycleManagerNotesState** (notas e decisões são conceitos distintos; sem dependência circular).
- **EventCycleExecutiveSummary**, **EventCycleWatchlistState**, **SalesOpportunity**, **SessionRecord**, **ProducerOrder** (nenhum deles chama o controller de decisões; a UI pode combinar dados).

Nenhum desses módulos depende da trilha de decisões; a trilha é apenas **agregadora/manual**.

## Limitações atuais

- **Sem persistência real**: decisões não sobrevivem a reinício.
- **Sem histórico multiusuário**: uma visão por sessão local.
- **Sem workflow empresarial**: registro manual; sem aprovações reais nem integração com ERP/CRM externo.

## Garantias

- **Quest intacto**: nenhum fluxo Quest nem runtime XR alterado.
- **Web Hotel e Produtor intactas**: apenas novas secções e linhas no dashboard.
- **Camada agregadora/manual**: não substitui handoff, proposta, escopo, execução, relatório final nem aceite final.
