# Validation status — 0.7.57 Meteora DLMM final

## Build

```text
cargo test -p kb_lib -> 460 passed / 0 failed
cargo clippy -p kb_lib --all-targets -- -D warnings -> OK
```

## Replay

Recommended replay settings used:

```text
skipDexDecode=no
forceDexDecode=yes
deferInstructionObservations=yes
```

Final replay summary:

```text
769 replayed
0 decode skipped
769 ledger upserts
646 unsafe ledger rows
106 trades
664 liquidity
1107 lifecycle
0 tokenAccount
424 candle upserts
instructionObservations = 8062
resetDeleted = 9898
catalog = 169 tokens / 218 pools / 218 pairs
```

## Final SQL gates

| Gate | Result |
|---|---:|
| Upstream fallback for local DLMM coverage | empty |
| Local `instruction_audit` observed | `0` |
| Decoded DLMM without coverage | empty |
| Successful non-materialized without explicit skip/policy | empty |
| Failed transaction business materialization | empty |
| Multi-target materialization | empty |
| Non-swap trade/candle safety | empty |
| Fee parent scalar without amount leg | empty |
| Orphan fee amount legs | empty |
| Reward/fee collision | clean separation |
| Limit/orderbook trade/candle double-count | empty |
| Logical duplicate coverage rows | empty |

## Final materialization counters

```text
trade events      = 106
liquidity events  = 664
lifecycle events  = 1107
candles           = 424
```

## Important decisions

- `swap_event` and `swap2_evt` are materialized as lifecycle `swap_log`, not as trades.
- `initialize_preset_parameter_v2` was added from corpus evidence for discriminator `75c73e67068e1fcb`.
- `close_bin_array` has `16` observations but only `14` materializations because `2` transactions failed with `Custom 6015`.
- `initialize_reward` and `initialize_reward_event` remain without amounts because they are configuration/init events, not transfers.
- No observed useful DLMM event remains decoded-only.

## Closure decision

`0.7.57 meteora_dlmm` is considered closed for the validated corpus. Future changes require new corpus evidence.
