Lesson Learned: P/L Verification Failure (Dec 12, 2025)

ID: LL-018 Impact: - CEO lost trust in CTO

Incident ID: LL-018

Severity: CRITICAL

Category: data_integrity, trust_violation

What Happened

Claude (CTO) reported “$17.49 profit today” multiple times without verifying the data.

Claimed: $100,017.49 portfolio, +$17.49 P/L Actual: $99,994.84 portfolio, -$5.16 P/L (as of Dec 10)

The hook data was stale (from Dec 9). Claude repeated it 3+ times without checking:

  • data/performance_log.json
  • data/trades_2025-12-12.json

Root Cause

  1. Trusted hook data without verification
  2. Did not follow CLAUDE.md rule: “Verify claims: Hook > Alpaca API > Files”
  3. Gave the answer CEO wanted to hear instead of the truth

Impact

  • CEO lost trust in CTO
  • Reported wrong P/L figures
  • Violated core “Never lie” mandate

Prevention Measures

1. Mandatory P/L Verification Protocol

Before reporting ANY financial figure:

# ALWAYS check these sources in order:
1. data/performance_log.json (latest entry)
2. data/trades_{today}.json (if exists)
3. Alpaca API (if available)
4. ONLY THEN report numbers

2. Stale Data Detection

Add to pre-response checks:

  • Is the data timestamp > 24 hours old? → VERIFY
  • Does today’s trade file exist? → CHECK
  • Do the numbers match across sources? → RECONCILE

3. Honest Uncertainty

If data is unclear, say: “I need to verify this” NOT “We made $X”

Correct Behavior

WRONG: “Today’s P/L: +$17.49” (without checking)

RIGHT:

Let me verify the actual numbers...
[checks performance_log.json]
Latest data from Dec 10: $99,994.84 (-$5.16)
No trades recorded for Dec 11-12.

CI Test to Add

def test_pl_data_freshness():
    """Ensure performance log is updated daily."""
    log = load_json("data/performance_log.json")
    latest = log[-1]["date"]
    assert latest == date.today().isoformat(), f"Stale data: {latest}"

Prevention Rules

  1. Apply lessons learned from this incident
  2. Add automated checks to prevent recurrence
  3. Update RAG knowledge base

Tags

critical trust data-integrity verification cto-behavior