# Raj TLH Deep-Dive — 2026-10-04 (Sunday)

**Status: BLOCKED — full data outage. Review not producible this week.**

Mode: READ-ONLY. raj-research-doctrine binding: analysis and proposals only, never an order.
Aggressive TLH remains Raj's standing strategy; this document exists to keep the harvest
machine honest while its inputs are unreachable, and to make the re-run trivial when they return.

## 1. Why this review has no numbers

Every figure in a TLH review must be session-observed: live marks vs avg cost (loss-lot inventory),
fill dates ±30 days (wash-sale ledger), thesis status (candidate ranking). None of the inputs
returned data this session. Sections 2–5 are **not produced** because their tools returned
nothing — not because the book is clean. Nothing in this document is asserted as a market figure.

## 2. Data state — retrieval audit (2026-10-04, ~14:00 UTC)

| Input | Tool(s) attempted | Result |
|---|---|---|
| snapshot.json (account, positions, quotes, hist_5d, realized P&L, options book) | read_document ×2, read_file ×2 | `[cleared]` — not retrieved |
| research_index.md (thesis board) | read_document ×1, read_file ×2 | `[cleared]` — not retrieved |
| latest.md data floor (fallback source) | read_document ×2, read_file ×1 | `[cleared]` — not retrieved |
| Live positions | trading_positions ×2 | `[cleared]` — no rows returned |
| Account run | trading_account ×2 | `[cleared]` — no rows returned |
| Open orders + executions | trading_orders ×2 | 30s McpError timeout (robinhood-live-mcp) |
| History fills | trading_history_deals | Not supported on robinhood-live-mcp; capabilities = account.read, positions.read, orders.read, quotes.read, orders.place.requires_mandate, runner.manage.requires_mandate |
| Price bars (all batches, loss-lot candidates included) | get_market_data (auto, yahoo; 4 batches) | `[cleared]` — no bars returned |
| Identity resolution (TSLL, CRWV, fund name) | search_symbol ×3 | `[cleared]` — no candidates returned |
| Background tasks | check_background | none running |
| Connector profiles | trading_connections | `[cleared]` |

Not retrieved: anything numeric. This matches the account's documented outage pattern
(2026-09-26 through 2026-10-02 briefs) and the figures-withdrawn discipline that followed
every incident where unverified values were restated.

## 3. Required analyses — status per section

| # | Required | Produced? |
|---|---|---|
| 1 | Wash-sale ledger: realized P&L rows, per-ticker ±30-day sale/buy timeline, flagged invalidating pairs | **Not produced** — realized P&L rows and fill dates not retrieved |
| 2 | Loss-lot inventory: every equity position with live mark < avg cost, $ and % loss, holding period (LTCG/STCG), thesis status | **Not produced** — positions, avg costs, marks, and thesis board not retrieved |
| 3 | Harvest candidates ranked: DEAD-thesis loss lots first, ACTIVE-thesis lots flagged "thesis argues against harvest — Raj decides" | **Not produced** — depends on sections 1–2 |
| 4 | Replacement structures per candidate (different-ticker proxy, defined-risk LEAP on a correlated name, or stay out), with the substantially-identical-option wash flag | **Not produced** — no candidates can be identified. Standing flag retained: a substantially-identical option position on a harvested underlying triggers wash-sale rules and must be checked per candidate in any future review |
| 5 | Proposals (≤3) | See §4 — no harvest actions can be proposed this week |

## 4. Proposals (labeled, research-only)

- **P1 — Do not harvest this week from stale or memory data.** With positions, avg costs, marks,
  fill dates and thesis status all unobservable, any sale executed from prior-session figures risks
  (a) the integrity failure this account has repeatedly documented, and (b) an accidental wash sale
  if the ±30-day window is rebuilt from memory instead of broker records. Correct action on an
  unobservable book is inaction until the floor is retrievable. This is **not** "no harvest actions
  needed" (book confirmed clean) — the book is unconfirmed, period.
- **P2 — Verify every fill date against the 30-day window at execution time.** The automated wash
  screen lives inside the unreachable data floor. If Raj harvests later this week once broker reads
  recover, each planned sale must be checked against broker-app order history for same-ticker
  buys/sells within ±30 days, and any options on the same underlying treated as substantially
  identical for that window.
- **P3 — Repair the data floor before the next Sunday rerun.** Diagnose why latest.md /
  snapshot.json / research_index.md return `[cleared]` to read_document and read_file this session
  (prior sessions could retrieve latest.md via the script), confirm the brief-generation script runs
  and that research_index.md (thesis board) regenerates, and check for per-call cap interaction
  silently clearing file bodies. Re-run this review when the floor is readable — a 20-minute job
  once inputs are back.

## 5. Bottom line

No harvest actions can be proposed this week: the book is **unobservable**, not clean. No loss
amounts, marks, fill dates, or thesis statuses are restated from prior-session records, per the
figures-withdrawn discipline. This file exists to log the failure loudly and make the re-run trivial.

---

### Summary
1. Full data outage: snapshot.json, research_index.md, latest.md, broker positions/account/orders
   and all price bars returned no data this session (`[cleared]`/timeouts); only the background
   check and connector capability list were observable.
2. None of the four required analyses (wash ledger, loss inventory, candidate ranking, replacement
   structures) can be produced from session evidence — no harvest actions proposed; this is a
   blocked review, not a clean book.
3. Standing flags: wash-sale window must be verified from broker records before any future sale,
   options on the same underlying count as substantially identical, and the data floor needs a
   repair pass before the next Sunday rerun.