08c0887835
The untruncated ClickHouse error text is kept only so the recovery path can read the failing-row hint, but ClickHouse embeds a snippet of the offending row in its parse errors. It is now a non-enumerable field, so structured logging and error reporting cannot pick it up while direct reads still work. The dropped-row count reported zero on tables whose materialized views fold MV rows into written_rows, which reads as "no data lost" when rows had in fact been skipped. Reaching an allow_errors insert always means at least one row is un-ingestable, so the count now reports that floor and flags itself inexact, and a batch only counts as wholly dropped when ClickHouse's summary says so exactly. The skip path logs at warn to match, since it always loses a row. Also drops the two event-repository counters that could never leave zero (that path skips rows rather than stripping columns, so nothing fed them), and names the two causes of an allow_errors bail as a bailReason log field instead of reporting both as a strip-budget hit.