- Add compressionModeUltra, compressionModeUltraDesc, compressionAnalyticsTitle,
compressionAnalyticsDescription keys to all 32 locale files
- Fix missing trailing comma after comboHealthDescription in all non-en locales
- Add compressionAnalytics unit tests (10/10 passing) with beforeEach isolation
4 fixes from Gemini Code Assist PR #1689 review:
1. HIGH: Multi-part message content duplication — skip array-content
messages instead of joining+replacing all text parts with compressed
result, which caused content duplication (e.g., [A,B] → [comp(A+B), comp(A+B)])
2. HIGH: String.prototype.replace $& vulnerability — use arrow function
callback instead of string arg in restorePreservedBlocks() to prevent
special replacement patterns ($&, , etc.) from corrupting restored
content containing code, URLs, or file paths
3. HIGH: UI/backend rule name mismatch — ALL_CAVEMAN_RULES in
CompressionSettingsTab.tsx now uses actual backend rule names
(polite_framing, hedging, verbose_instructions, etc.) instead of
fabricated names (hedging_disclaimer, redundant_please, etc.)
that would break the skip-rules feature
4. MEDIUM: Remove no-op turn_marker rule — pattern /^$/g matches only
empty strings and replaces with empty string, achieving nothing.
Removed from CAVEMAN_RULES; total count now 29 (was 30).
Tests: 72/72 pass, typecheck: 0 errors, lint: 0 errors
- Fix question_to_directive rule: trim trailing whitespace before lookup
- Fix DB import path: correct relative path from src/lib/db to open-sse
- Add test DB cleanup beforeEach for isolation
- Add 4 unit test files: caveman-db, hedging, dedup, structural (28 tests)
- Add golden set quality test (4 tests, 99.3% key phrase preservation)
- Add golden set savings test (3 tests, performance + savings verification)
- Add golden set data (20 verbose coding prompts with key phrases)
- Add migration 028 for new test suite acknowledgment
67 tests pass across 9 files. typecheck:core clean.