Diego Rodrigues de Sa e Souza
bc00e32b15
fix(compression): record no-op compression runs so Stacked is visible in analytics ( #4268 ) ( #5277 )
...
A compression_analytics row was written only on a net-positive saving
(chatCore: result.compressed || fallbackApplied || cavemanOutputModeApplied).
A Stacked RTK->Caveman pipeline that ran on already-compact context saved
nothing -> no row -> indistinguishable from 'never dispatched'
(byMode.stacked.count stayed flat while Ultra climbed).
Attempted-but-no-op runs are now recorded via writeCompressionSkip with a
skip_reason. A new skip_reason column (added through the existing
ensureCompressionAnalyticsColumns ALTER path) marks these rows; the analytics
summary excludes them from every saving aggregate (via a single successWhere =
'skip_reason IS NULL' filter, so historical totals/averages are byte-identical)
and surfaces them as per-mode 'skipped' plus totalSkipped / bySkipReason. The
Mode Breakdown shows 'N skipped (no-op)'.
TDD: compressionAnalytics.test.ts gains coverage that skip rows are counted
separately without polluting saving aggregates, and that a skip-only mode still
appears (count 0, skipped > 0). Fail-before proven by reverting the successWhere
exclusion (both new tests fail). typecheck:core + eslint clean; 17/17 suite green.
2026-06-28 21:53:48 -03:00
..
2026-05-03 00:37:08 -03:00
2026-06-22 03:17:02 -03:00
2026-06-22 03:17:02 -03:00
2026-06-23 17:06:18 -03:00
2026-06-23 17:06:18 -03:00
2026-06-23 17:06:18 -03:00
2026-06-23 17:06:18 -03:00
2026-06-23 17:06:18 -03:00
2026-06-20 07:09:43 -03:00
2026-04-28 16:58:17 +07:00
2026-06-19 06:49:01 -03:00
2026-06-14 10:45:22 -03:00
2026-06-15 03:32:11 -03:00
2026-05-08 17:35:43 -03:00
2026-06-20 07:09:43 -03:00
2026-04-30 17:07:39 -03:00
2026-04-27 20:00:08 +07:00
2026-06-09 22:57:12 -03:00
2026-04-27 20:00:08 +07:00
2026-05-02 04:51:38 -03:00
2026-04-28 04:20:46 +07:00
2026-04-27 20:00:08 +07:00
2026-05-03 09:14:20 -03:00
2026-05-14 23:46:57 -03:00
2026-06-14 18:02:36 -03:00
2026-06-19 06:49:01 -03:00
2026-06-28 06:58:29 -03:00
2026-06-28 06:58:29 -03:00
2026-06-26 02:51:06 -03:00
2026-06-27 09:07:12 -03:00
2026-05-02 12:57:37 -03:00
2026-06-19 06:49:01 -03:00
2026-06-19 06:49:01 -03:00
2026-05-03 15:34:15 -03:00
2026-06-21 08:56:51 -03:00
2026-06-23 03:08:29 -03:00
2026-05-03 12:38:21 -03:00
2026-05-03 14:06:37 -03:00
2026-06-19 06:49:01 -03:00
2026-06-19 06:49:01 -03:00
2026-06-19 06:49:01 -03:00
2026-06-28 21:53:48 -03:00
2026-06-14 10:45:22 -03:00
2026-05-03 12:38:21 -03:00
2026-05-03 12:38:21 -03:00
2026-06-17 19:26:32 -03:00
2026-06-17 02:43:21 -03:00
2026-06-23 17:06:18 -03:00
2026-06-21 08:56:51 -03:00
2026-06-21 08:56:51 -03:00
2026-05-03 00:37:08 -03:00
2026-06-28 06:58:29 -03:00
2026-06-19 06:49:01 -03:00
2026-06-21 08:56:51 -03:00
2026-06-19 06:49:01 -03:00
2026-06-17 02:43:21 -03:00
2026-06-23 17:06:18 -03:00
2026-06-23 17:06:18 -03:00
2026-06-23 17:06:18 -03:00
2026-06-23 17:06:18 -03:00
2026-06-23 17:06:18 -03:00
2026-06-23 17:06:18 -03:00
2026-06-23 17:06:18 -03:00
2026-06-23 17:06:18 -03:00
2026-06-23 17:06:18 -03:00
2026-06-23 17:06:18 -03:00
2026-06-27 09:07:12 -03:00
2026-06-27 09:07:12 -03:00
2026-06-27 09:07:12 -03:00
2026-06-27 09:07:12 -03:00
2026-06-27 09:07:12 -03:00
2026-06-19 06:49:01 -03:00
2026-06-20 07:09:43 -03:00
2026-04-28 16:58:17 +07:00
2026-06-19 06:49:01 -03:00
2026-06-19 06:49:01 -03:00
2026-06-27 09:07:12 -03:00
2026-06-27 09:07:12 -03:00
2026-06-27 09:07:12 -03:00
2026-06-20 07:09:43 -03:00
2026-06-16 09:12:35 -03:00
2026-06-07 07:20:02 -03:00
2026-06-17 02:43:21 -03:00
2026-06-17 02:43:21 -03:00
2026-06-23 17:06:18 -03:00
2026-06-27 09:07:12 -03:00
2026-06-17 02:43:21 -03:00
2026-06-19 06:49:01 -03:00
2026-05-03 09:14:20 -03:00
2026-06-20 07:09:43 -03:00
2026-06-19 06:49:01 -03:00
2026-06-19 06:49:01 -03:00
2026-05-14 21:24:05 -03:00
2026-06-20 07:09:43 -03:00
2026-06-23 17:06:18 -03:00
2026-06-23 17:06:18 -03:00
2026-06-23 17:06:18 -03:00
2026-06-23 17:06:18 -03:00
2026-06-23 17:06:18 -03:00
2026-06-09 15:56:24 -03:00
2026-05-03 09:14:20 -03:00
2026-06-25 13:17:40 -03:00
2026-06-27 09:07:12 -03:00
2026-06-27 09:07:12 -03:00
2026-06-27 09:07:12 -03:00
2026-06-27 09:07:12 -03:00
2026-06-27 09:07:12 -03:00
2026-06-27 09:07:12 -03:00
2026-06-28 06:58:29 -03:00
2026-04-28 16:58:17 +07:00
2026-06-21 08:56:51 -03:00
2026-06-27 09:07:12 -03:00
2026-06-28 06:58:29 -03:00
2026-06-28 15:26:45 -03:00
2026-06-28 15:26:45 -03:00
2026-06-28 15:26:45 -03:00
2026-06-21 08:56:51 -03:00
2026-06-22 03:17:02 -03:00
2026-05-08 17:35:43 -03:00
2026-05-03 00:37:08 -03:00
2026-06-17 19:26:32 -03:00
2026-06-14 10:45:22 -03:00
2026-05-03 00:37:08 -03:00
2026-05-03 00:37:08 -03:00
2026-06-14 10:45:22 -03:00
2026-05-03 00:37:08 -03:00
2026-05-03 09:14:20 -03:00
2026-06-25 13:17:40 -03:00
2026-05-03 00:37:08 -03:00
2026-06-19 06:49:01 -03:00
2026-06-19 06:49:01 -03:00
2026-06-19 06:49:01 -03:00
2026-06-19 06:49:01 -03:00
2026-06-14 10:45:22 -03:00
2026-06-20 07:09:43 -03:00
2026-06-14 10:45:22 -03:00
2026-05-03 00:37:08 -03:00
2026-06-27 09:07:12 -03:00
2026-05-03 00:37:08 -03:00
2026-06-19 06:49:01 -03:00
2026-05-03 00:37:08 -03:00
2026-06-19 06:49:01 -03:00
2026-06-14 10:45:22 -03:00
2026-05-03 00:37:08 -03:00
2026-05-03 09:14:20 -03:00
2026-06-19 06:49:01 -03:00
2026-06-27 09:07:12 -03:00
2026-06-28 06:58:29 -03:00
2026-06-14 10:45:22 -03:00
2026-04-27 03:53:05 +07:00
2026-06-20 07:09:43 -03:00
2026-06-21 08:56:51 -03:00
2026-04-28 16:58:17 +07:00
2026-04-28 16:58:17 +07:00
2026-06-28 06:58:29 -03:00
2026-05-03 00:37:08 -03:00
2026-06-23 17:06:18 -03:00
2026-06-23 17:06:18 -03:00
2026-06-19 06:49:01 -03:00
2026-05-06 02:29:25 -03:00