Hi there,
The raw stream (collector-good) is in Thrift, and there are some details here: Stream Collector | Snowplow Documentation.
The enriched stream (enriched-good) is indeed in TSV and is documented here: Understanding the enriched TSV format | Snowplow Documentation. If you plan to work with this data, I recommend to take a look at our Analytics SDKs that do a lot of parsing for you: Analytics SDKs | Snowplow Documentation.
Finally, failed events from either failed stream (collector-bad or enrich-bad) will conform to one of the numerous failed event schemas, which are all here: iglu-central/schemas/com.snowplowanalytics.snowplow.badrows at master · snowplow/iglu-central · GitHub.
Hope this helps!