{"version":"2.1.280","anchor":"transcript-repair-now-also-fixes-malformed-system-rows-in","canonical_anchor":"transcript-repair-now-also-fixes-malformed-system-rows-in","heading":"Transcript repair now fixes malformed 'system' rows, including stop-hook summaries","tier":"internal","area":"Transcript","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.280\/e\/transcript-repair-now-also-fixes-malformed-system-rows-in","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.280","markdown":"### Transcript repair now fixes malformed 'system' rows, including stop-hook summaries\n\nTranscript repair gains a new tracked category and now cleans up malformed system rows like stop-hook summaries, with new telemetry\n\n**What**\n\n- A new identifier `transcript_row_repair` was added alongside the existing `transcript_api_invalid_blocks` and `transcript_v2` tracked names.\n\n- The transcript-row-repair pass, which runs when a conversation is loaded or resumed, now also handles rows of type `system`, specifically the `stop_hook_summary` subtype, cleaning up fields like `hookCount`, `hookInfos`, `hookErrors`, `hookAdditionalContext`, `preventedContinuation`, `stopReason`, `hookLabel`, and `totalDurationMs`.\n\n- Repair counts for these are tracked separately as `stopHookSummariesRepaired` and `otherSystemRowsRepaired`, reported through a new telemetry event.\n\n**Why** This prevents corrupted stop-hook summary data, and other malformed system rows, from breaking transcript loading, while giving better visibility into how often such repairs happen.\n\n- Area: Transcript\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5"}