#135807 makes the empty-transcript refusal emit its attempt record through the shared-metric lifecycle (on main that exit recorded nothing), but `empty_transcript` was not in the closed `COMPRESSION_FAILURE_CLASSES` set, so the `hermes.compression.count` row read `failed / other`. Add the class to the contract, the v4 package schema enum and the metric docs so the row says what happened.