Each stage has its own page, with the relevant code and known issues.
Parses CSV exports or live API data into the shared SDK Observation schema.
Matches raw observations into typed nodes within a single account, using graph-based matching.
Decodes on-chain contract calls into economic events: swaps, bridges, liquidity changes.
Uses the same matching engine as stage 2 to match deposits/withdrawals/bridges across accounts.
Two independent deltas must agree, per asset, per account, within tolerance.
Currently runs third, immediately after Account Reconciliation, before Interpretation and Portfolio Reconciliation. This ordering needs to change.
Cost basis, tax lots, and realized P&L. Not yet implemented.