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.

RoleResponsibilitiesNotes
Triager (胡哥/挺松)Receive & triage ENGR tickets; Assign Owner Engineer; Maintain ticket status; Review replies to SupportQuality of external communication and status consistency owned by Triager
Owner EngineerInvestigate & drive resolution; Update Internal Note with structured info; Provide conclusion & root cause; Create DEV ticket when necessaryOwns 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 TypeMeaningWhere to Find
User IDAdvisor’s IDAdmin Center → Users
Household IDAdvisor’s clientAdvisor Portal → Clients
Account IDFinancial accountClient 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
ToolURLPurpose
Admin Centeradmin.rightcapital.comView integrations, logs, user data
AWS ConsoleVia Microsoft SSOAccess S3 file logs
Crypt ToolAdmin CenterDecrypt 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]
FindingAction
Vendor sent incorrect dataDocument and request Vendor investigation
Intermittent issue, resolved on retryNote in ticket, close
Parsing bug in our codeFix and deploy
Sync logic issueFix and deploy
Configuration problemCorrect 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