Skip to content

Data Issue Handling Guide

Data Issues are customer-reported problems that Support cannot resolve, escalated to the dev team for investigation. Most investigations focus on identifying the root cause rather than writing code fixes.

Before handling Data Issues, understand:

  1. RightCapital product basics and user flows
  2. Key roles: Advisor, Admin, Support, Household, Account
  3. Basic financial concepts: Portfolio, Holdings, Positions
  4. The specific Vendor’s business context (use AI to research)

A ticket describing a problem reported by an advisor, escalated from Support to Dev team.

Request/response logs from integration processes, stored on S3. Essential for debugging.

Location: s3://rightcapital-prd/logs/integration/{VENDOR}/{ADVISOR_ID}/{REFERENCE}

An identifier used in integration mappings to link Vendor data to RightCapital entities.

Role Responsibilities Notes
Triager (胡哥/挺松) Receive & triage ENGR tickets; Assign Owner Engineer; Maintain ticket status; Review replies to Support Quality of external communication and status consistency owned by Triager
Owner Engineer Investigate & drive resolution; Update Internal Note with structured info; Provide conclusion & root cause; Create DEV ticket when necessary Owns technical conclusions and action plans
sequenceDiagram
    participant A as Advisor
    participant S as Support
    participant J as Jira (ENGR)
    participant T as Triager
    participant E as Owner Engineer

    A->>S: Report issue via chat
    S-->>A: Initial response
    A->>S: Issue persists

    Note over S,J: Issue cannot be solved by Support
    S->>J: Create ENGR ticket
    T->>J: Assign Owner Engineer
    J->>E: Notify via @mention + Participants

    E->>J: Acknowledge (e.g., "Investigating")
    T->>J: Update status to In Progress
    E->>E: Investigate
    E->>J: Update Internal Note with findings

    alt Needs code change
        E->>J: Create & link DEV ticket
    end

    E->>J: Draft reply for Support (English)
    T->>J: Review & send reply
    T->>J: Close ticket (Done/Waiting for Business/Stalled)
    J-->>S: Notify resolution
    S-->>A: Contact advisor

1. Assign

  • Triager @mentions Owner Engineer in Internal Note and adds them as Participants (triggers email notification)

2. Acknowledge

  • Owner Engineer leaves confirmation in Internal Note when starting (e.g., “Investigating”)
  • Triager updates ENGR ticket to “In Progress” same day

3. Investigate & Document

All findings go in ENGR ticket’s Internal Note:

  • Internal sync: Chinese or English
  • Reply to Support: Owner Engineer drafts in English, Triager reviews before sending

Format for Support replies:

@tingsong please review.
@support The issue occurred on the Morningstar Advisor Workstation side.
The error in your screenshot indicates that the symbol FZDXX isn't in their database.

Include: Current conclusion, next steps, ETA, dependencies (if Support needs to provide more info)

Handoff: Write Transfer to @xxx in Internal Note

4. Close

  • For Vendor Issue / no code change: Document conclusion & root cause in Internal Note
  • After syncing with Support, Triager updates status to Done / Waiting for Business / Stalled

Create and link a DEV ticket only when:

  • Code changes are required
  • Long-term tracking is needed after ENGR ticket is resolved

If Vendor has no response for 2+ weeks or other blockers:

  • Mark ticket as Stalled
  • Notify Support in the ticket

Root Cause: No fixed format required. Owner Engineer decides granularity based on audience.

Principles:

  • Clearly identify who caused the issue (Vendor / RC / User)
  • When communicating with Support, consider what information Support needs most
  • Read the ticket Description
  • Click linked ENGR ticket
  • Find Intercom chat in right sidebar
  • Read full conversation between Support and Advisor

Common IDs in tickets:

ID Type Meaning Where to Find
User ID Advisor’s ID Admin Center → Users
Household ID Advisor’s client Advisor Portal → Clients
Account ID Financial account Client Portal → Profile → Net Worth

Account IDs in URLs are encrypted. To decrypt:

  1. Open Admin Center
  2. Use Crypt Tool
  3. Input encrypted ID (e.g., z1QTx5aKmSc_Ba1lVq_20Q)
  4. Get decrypted ID (e.g., 11394841)

Example URL:

https://app.rightcapital.com/client/.../profile/net-worth?f=profile.networth.investment.account:z1QTx5aKmSc_Ba1lVq_20Q
Tool URL Purpose
Admin Center admin.rightcapital.com View integrations, logs, user data
AWS Console Via Microsoft SSO Access S3 file logs
Crypt Tool Admin Center Decrypt IDs
  1. Open AWS SSO
  2. Access production account → S3
  3. Navigate to rightcapital-prd/logs/integration/{VENDOR}
  4. Find logs by: {VENDOR}/{ADVISOR_ID}/{REFERENCE}
  5. Check request/response for the relevant date
flowchart TD
    A[Start: Data Issue] --> B[Locate relevant file logs]
    B --> C{Check Vendor response}
    C -->|Data incorrect in response| D[Problem is on Vendor side]
    C -->|Data correct in response| E[Check subsequent processing]
    E --> F{Data correctly parsed?}
    F -->|No| G[Parsing/processing bug]
    F -->|Yes| H[Check sync/save logic]
    D --> I[Contact Vendor or document finding]
    G --> J[Fix parsing code]
    H --> K[Fix sync logic]
Finding Action
Vendor sent incorrect data Document and request Vendor investigation
Intermittent issue, resolved on retry Note in ticket, close
Parsing bug in our code Fix and deploy
Sync logic issue Fix and deploy
Configuration problem Correct in Admin Center

See Notion for documented cases:

  1. Most issues are Vendor-side - Don’t assume it’s our bug
  2. Check the obvious first - Did sync run? Are files present?
  3. Use timestamps - Match issue timing with log timestamps
  4. Document findings - Even if no code change, record what you found
  5. Ask for help - Complex issues may need pair debugging