> ## Documentation Index
> Fetch the complete documentation index at: https://docs.frayme.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Decision Console

> The per-decision evidence view. What renders, where signals come from, what the analyst can do.

The Decision Console at `/decisions/:id` is where compliance analysts make every non-trivial decision. Three regions: the subject of the case, the evidence collected for it, and the actions available to the reviewer.

## Evidence sources

The evidence region composes from whatever the workflow run wrote during execution. **One card per provider type** — analysts see provider names and outcomes, not internal variable names.

<AccordionGroup>
  <Accordion title="Identity suite">
    The terminal review outcome, the reject labels (if any), the liveness + face-match indicators, the document metadata. Pivot link to the vendor's applicant timeline.
  </Accordion>

  <Accordion title="AML screening">
    Sanctions / PEP / watchlist / adverse-media hits with match scores and locale-prioritised sources.
  </Accordion>

  <Accordion title="Blockchain analytics">
    Risk score, exposure signals (sanctions, mixer, darknet, stolen coins), counterparty entity name, deep-link to the provider's investigation tool.
  </Accordion>

  <Accordion title="Identity enrichment">
    Registry status, address history, related parties, lawsuits / debts / protests, digital footprint.
  </Accordion>

  <Accordion title="Banking-rail counterpart">
    Resolved counterpart name + document + institution from the rail's registry (e.g. PIX DICT).
  </Accordion>

  <Accordion title="Registry validation">
    Tax-authority confirmation of identity / corporate status (e.g. Receita Federal in Brazil).
  </Accordion>

  <Accordion title="AI synthesis">
    Each AI node's structured output rendered with model name + temperature + reasoning. Reasoning is the model's justification — useful for analyst trust, not authoritative.
  </Accordion>

  <Accordion title="Workflow path">
    Linked diagram showing which nodes the run traversed. Click any node to inspect its inputs/outputs for this run.
  </Accordion>
</AccordionGroup>

## Actions available to the analyst

| Action                    | Effect                                                                             |
| ------------------------- | ---------------------------------------------------------------------------------- |
| **Approve**               | Writes `decision: approved`. Resumes the workflow run on the approve branch.       |
| **Deny**                  | Writes `decision: denied`. Resumes the workflow run on the deny branch.            |
| **Escalate**              | Reassigns to the configured senior queue. Adds escalation reason to the audit log. |
| **Clear**                 | Used for alert-only flows when there's no formal decision to write back.           |
| **Open RFI**              | Triggers the RFI custom-API node and parks the run in `evidence_pending`.          |
| **Allowlist / Blocklist** | Persists a per-subject list entry. Future workflows respect the list.              |
| **Add note**              | Internal-only annotation. Visible to all tenant analysts.                          |
| **Export PDF**            | Generate a hash-stamped PDF of the full decision + evidence.                       |

## Prior cases

The right rail surfaces decisions on the same subject in the last 90 days. The lookup keys are:

* `customer_id`
* `tax_id`
* `wallet_address`
* `counterpart_document`

Pattern detection: if the same counterpart has been cleared three times in a row, the system suggests allowlisting.

## Role gating

| Role              | Can approve | Can deny | Can escalate | Can clear regulator filing |
| ----------------- | ----------- | -------- | ------------ | -------------------------- |
| analyst           | ✓           | ✓        | ✓            | —                          |
| compliance-senior | ✓           | ✓        | ✓            | —                          |
| admin             | ✓           | ✓        | ✓            | ✓ (with reason)            |

`reported_to_regulator` is **never** reversible — the regulator copy is canonical.
