Skip to Content
PatternsAI · Recommendation

Recommendation & action

Fase β · 04 · entregue na v3.0

A Cris recomenda; o operador decide. β.4 formaliza a gramática da recomendação · confidence ladder em 4 níveis, contrato se · então herdado da v2 · 2.4, aceitação parcial por slot e três desfechos canônicos com pegada no audit log.

Princípio · Cris recomenda · operador decide

A Cris nunca executa autonomamente. Toda recomendação aparece como proposta versionada — aceitar, modificar ou rejeitar é decisão humana, e cada uma deixa rastro auditável. β.4 entrega o componente que materializa isso · RecommendationCard.

Uma recomendação tem quatro elementos obrigatórios:

  1. Confiança (ladder)
  2. Gatilho ("se")
  3. Proposta ("então")
  4. Evidências (3–7 fontes da β.1)

Sem qualquer um deles, não é recomendação · é palpite. E palpite a Cris não emite.

Confidence ladder · 4 níveis

A confiança da Cris é label antes de número. O operador vê “alta”, não “0.87”. O número aparece no popover de proveniência (β.1) para auditoria.

NívelScoreQuandoUI
01 · Baixa< 0.55Hipótese, não tese · sinal fraco · uma fonte · contradição parcial nas evidênciasSem CTA primário · só “Explorar” secundário · não interrompe
02 · Média0.55 — 0.74Indício consistente · múltiplas fontes apontam o mesmo · ainda há leitura alternativaCTA primário ativo · sugestão visível · operador pode modificar
03 · Alta0.75 — 0.89Padrão claro · evidências convergentes · tese da Cris é defensávelCTA primário destacado · Aceitar sem subordinação
04 · Decisivo≥ 0.90Convergência forte · padrão histórico replicado · ação inversa exigiria contraevidência ativaCTA primário com halo · rejeitar pede justificativa textual · audit registra como rejected against high confidence

RecommendationCard · três níveis em ação

O mesmo componente, três contextos. A confidence dita a intensidade da UI · borda, halo, CTA, exigência de justificativa.

Anatomia · slots obrigatórios

SlotConteúdoOrigem
Confidence RingScore 0–100 + label (decisive, high, medium, low)Score Ring (signature shape 02) com paleta de confiança
Origin trackingBorda · kicker · monogramaβ.1
TítuloAção recomendada em uma linhaCris
Metahá N min · CASO id · audit_idβ.5
Bloco SeCondição que disparouSchema (cláusulas booleanas)
Bloco EntãoProposta concreta · slotsSchema (action + slots)
Evidências3–7 fontes com timestampβ.1
ToolbarAceitar · Modificar · Rejeitarβ.4

Três desfechos canônicos

Toda recomendação termina em um destes três. Modificar é o mais importante · é onde a inteligência híbrida acontece e onde o audit log fica mais rico.

DesfechoQuandoUIVelocidadeAudit
✓ AceitarConfiança alta · evidências convergentes · sem nuance contextualBotão primário · confirmação inline · sem modal1 cliqueaccepted · original ≡ executed
↻ ModificarContexto local muda parte da proposta · “aceito tudo, mas troco o veículo”Slot pills editáveis · diff visual · botão Confirmar com mudanças2–4 cliques · maioria das açõesmodified · diff slot-by-slot
× RejeitarContexto contradiz · informação faltante · julgamento humano divergenteEm decisivo, exige justificativa textual · nos demais, opcionalrejected · texto da justificativa

Aceitação parcial · slots editáveis

A proposta da Cris é decomposta em slots nomeados · veículo, destinatário, timing, tom. Operador edita só os que precisam mudar · o resto fica. O audit log da β.5 sabe diff por slot, não por texto livre.

Exemplo · Dispatch nível 2 · CASO 248:

SlotSugerido (Cris)Executado (operador)Status
VeículoEmail institucionalSlack #crisis-tier2alterado
DestinatárioEquipe Comms · 4 on-call(mesmo)mantém
TimingImediato(mesmo)mantém
Tom da notaFirme · sem jurídico(mesmo)mantém

Atalho: ⌘↵ confirma com mudanças.

Schema · recommendation

Estende o ai-content-block da β.1 com slots, confidence ladder e tipo de gatilho. Audit log (β.5) consome esse schema direto.

{ "author": "cris", "kind": "recommendation", "generated_at": "2026-05-21T11:46:02Z", "confidence": { "score": 0.91, "label": "decisive" }, "if": [ "mentions_growth_4h > 0.5", "verified_amplifiers >= 10", "coordination_signature >= 0.4" ], "then": { "primary_action": "raise_tier", "slots": { "vehicle": { "suggested": "email_inst", "actual": "slack_t2" }, "recipient": { "suggested": "comms_team", "actual": "comms_team" }, "timing": { "suggested": "now", "actual": "now" }, "tone": { "suggested": "firm_no_legal", "actual": "firm_no_legal" } } }, "sources": [ /* 7 fontes — vide β.1 */ ], "outcome": { "action": "modified", "operator_id": "op_42", "slots_changed": ["vehicle"], "reject_reason": null, "decided_at": "2026-05-21T11:48:11Z" }, "audit_id": "248-r-9a4f" }

Regras

✕ Não exibir score bruto na UI

0.87 confidence” não significa nada para o operador em crise. Use o label do ladder. O número fica no popover de proveniência (β.1) para auditoria. Score é entrada do designer · label é saída para o operador.

✓ Sempre par “se · então”

A recomendação tem que mostrar gatilho. Sem se, a Cris parece arbitrária. Com se, o operador pode questionar a regra — não apenas a conclusão. Herdado da v2 · 2.4. Sem se, a UI bloqueia o render.

✕ Não auto-executar nada

Nem em decisivo. A Cris recomenda · o humano decide. Aceitação é sempre clique explícito · nunca timer, nunca default action depois de N segundos.

✓ Modificar é o caminho preferido

O contexto local é sempre mais rico que o da Cris. Modificar deve ser tão rápido quanto aceitar · slots editáveis com hover · ⌘↵ confirma.

Métrica de saúde: >50% das recomendações de alta+ deveriam ser modificadas, não aceitas raw. Se 95% são aceitas raw, a Cris está coreografando · não recomendando.

✕ Não enfileirar recomendações

Mais de 3 recomendações ativas simultâneas vira fadiga. Cris precisa priorizar internamente e mostrar 1–3 · o resto vai pro Sheet sob demanda.

✓ Justificativa obrigatória em decisivo rejeitado

Rejeitar decisivo é caro · audit log registra explicitamente. O texto da justificativa alimenta revisão de prompt e oferece proteção compliance. Não é punição · é proteção. Operador que rejeita com razão fica protegido pelo registro.

Dependências

  • β.1 · Origin tracking — cada card herda marca + popover. Confidence Ring usa Score Ring (signature shape 02) com paleta de confiança.
  • β.2 · Draft & regenerate — modificar slot de texto longo (ex: “tom da nota”) abre DraftStack inline.
  • β.3 · Embedding — em decisivo, recomendação aparece como balão modal (formato 03). Demais ficam como card inline.
  • v2 · 2.4 · Pulso IA · Voz — fórmula se · então é binding · não há recomendação sem ela.
  • β.5 · Audit trail — consome outcome.slots_changed · uma linha do log por recomendação, com diff slot-by-slot.
Last updated on