[0.31.0] - 2026-04-27
Added
compareFromArchive(query, opts)(#88). New helper that builds aCompareTabledirectly fromarchive.sqlitevia a single groupedSELECT … GROUP BY model, activity, sourceplus a tiny per-(model, activity) follow-up for median retries, instead of streaming everyEnrichedTurnthroughbuildCompareTablein memory. Returns{ table, analyzedTurns }so the caller can populate the same "turns analyzed" header the legacy path uses. Output is byte-identical tobuildCompareTable(await queryAll(q), opts)for the parity fixture; per-source reasoning-mode handling (Codex'sincluded_in_output) is preserved by grouping onsourcealongside(model, activity). Powers the migration ofburn compareto the archive read model.