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.
Prerequisites
Section titled “Prerequisites”Before handling Data Issues, understand:
- RightCapital product basics and user flows
- Key roles: Advisor, Admin, Support, Household, Account
- Basic financial concepts: Portfolio, Holdings, Positions
- The specific Vendor’s business context (use AI to research)
Key Concepts
Section titled “Key Concepts”Data Issue
Section titled “Data Issue”A ticket describing a problem reported by an advisor, escalated from Support to Dev team.
File Log
Section titled “File Log”Request/response logs from integration processes, stored on S3. Essential for debugging.
Location: s3://rightcapital-prd/logs/integration/{VENDOR}/{ADVISOR_ID}/{REFERENCE}
Reference
Section titled “Reference”An identifier used in integration mappings to link Vendor data to RightCapital entities.
Collaboration Workflow
Section titled “Collaboration Workflow”Roles & Responsibilities
Section titled “Roles & Responsibilities”| 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 |
Escalation Flow
Section titled “Escalation Flow”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
Standard Process (No DEV Ticket)
Section titled “Standard Process (No DEV Ticket)”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
When to Create DEV Ticket
Section titled “When to Create DEV Ticket”Create and link a DEV ticket only when:
- Code changes are required
- Long-term tracking is needed after ENGR ticket is resolved
Special Status: Stalled
Section titled “Special Status: Stalled”If Vendor has no response for 2+ weeks or other blockers:
- Mark ticket as
Stalled - Notify Support in the ticket
Internal Note Standards
Section titled “Internal Note Standards”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
Investigation Process
Section titled “Investigation Process”1. Understand the Full Story
Section titled “1. Understand the Full Story”- Read the ticket Description
- Click linked ENGR ticket
- Find Intercom chat in right sidebar
- Read full conversation between Support and Advisor
2. Gather IDs
Section titled “2. Gather IDs”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 |
Decrypting Account IDs
Section titled “Decrypting Account IDs”Account IDs in URLs are encrypted. To decrypt:
- Open Admin Center
- Use Crypt Tool
- Input encrypted ID (e.g.,
z1QTx5aKmSc_Ba1lVq_20Q) - Get decrypted ID (e.g.,
11394841)
Example URL:
https://app.rightcapital.com/client/.../profile/net-worth?f=profile.networth.investment.account:z1QTx5aKmSc_Ba1lVq_20Q3. Access Tools
Section titled “3. Access Tools”| 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 |
4. Check File Logs
Section titled “4. Check File Logs”- Open AWS SSO
- Access production account → S3
- Navigate to
rightcapital-prd/logs/integration/{VENDOR} - Find logs by:
{VENDOR}/{ADVISOR_ID}/{REFERENCE} - Check request/response for the relevant date
5. Investigation Strategy
Section titled “5. Investigation Strategy”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]
Common Findings
Section titled “Common Findings”| 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 |
Real Case Examples
Section titled “Real Case Examples”See Notion for documented cases:
- Most issues are Vendor-side - Don’t assume it’s our bug
- Check the obvious first - Did sync run? Are files present?
- Use timestamps - Match issue timing with log timestamps
- Document findings - Even if no code change, record what you found
- Ask for help - Complex issues may need pair debugging
Related
Section titled “Related”- Nightly Sync - Understanding sync timing
- Vendor Management - Contacting Vendors