{
  "case_id": "c_000123",

  // The single thing being reviewed right now
  "review_target": {
    "event_type": "listing_created",      // any event type from the list below
    "minutes_ago": 0,
    "details": {                          // fields depend on event_type
      "company_id": "co_acme_ai",
      "shares": 20000,
      "price_per_share": 105.0,
      "share_type": "common"              // common | preferred | options | rsu
    }
  },

  // Facts about the account, as of now
  "account": {
    "account_id": "a_88123",
    "account_type": "individual",         // individual | entity | broker_dealer
    "role": "seller",                     // seller | buyer | both
    "age_days": 2,
    "country": "US",
    "id_verified": true,
    "accreditation": "self_declared",     // none | self_declared | third_party_verified
    "says_relationship": "former_employee", // employee | former_employee | founder | investor | other | none
    "ownership_proof": "none",            // none | uploaded | verified
    "entity_info": null                   // only for entities, see below
    // entity_info: { "beneficial_owners": 2, "owners_changed_after_id_check": true }
  },

  // Facts about the company whose shares are involved
  "company": {
    "company_id": "co_acme_ai",
    "last_round_valuation_usd": 4000000000,
    "transfer_policy": "approval_required", // open | approval_required | blocked
    "has_rofr": true,
    "typical_employee_holding": [2000, 8000], // usual range of shares
    "last_trade_price": 114.0,
    "days_since_last_trade": 12
  },

  // Earlier events for this account, oldest first.
  // The review_target is NOT repeated here.
  "recent_events": [
    { "minutes_ago": 2880, "event_type": "account_created" },
    { "minutes_ago": 1440, "event_type": "id_check_passed" },
    { "minutes_ago": 180,  "event_type": "login", "details": { "device": "new", "country": "RO", "success": true } },
    { "minutes_ago": 120,  "event_type": "bank_account_changed" }
  ],

  // Links to other accounts, counted by code
  "links": {
    "accounts_sharing_bank": 0,
    "accounts_sharing_device": 2,
    "accounts_sharing_ip": 3,
    "accounts_sharing_address": 0,
    "linked_accounts_traded_with": 0
  },

  // Numbers worked out by code, so the model doesn't do math
  "summaries": {
    "listing_vs_typical_holding": 2.5,    // shares ÷ top of typical range
    "price_vs_last_trade_pct": -7.9,
    "orders_last_24h": 1,
    "orders_cancelled_last_24h": 0,
    "failed_logins_last_24h": 0,
    "bank_changed_within_24h": true,
    "new_device_within_24h": true,
    "high_risk_country": false
  },

  // Any free text, if present
  "texts": {
    "listing_note": "Need to sell quickly, flexible on price.",
    "messages": [],                       // [{ "minutes_ago": 30, "direction": "in", "text": "..." }]
    "document_text": null                 // text pulled out of an uploaded file
  }
}
