..
cli
Add Click-based CLI with memory management commands
2026-01-29 21:30:21 -08:00
fixtures
fix(codex): rerun memory lookup on every response.create WS frame ( #2113 )
2026-07-13 14:42:27 -04:00
integrations /test_strands
feat: Add AWS Strands Agents SDK integration
2026-01-31 00:31:37 -08:00
parity
feat(text-crusher): CJK-aware segmentation + relevance via ICU ( #1504 )
2026-07-15 19:58:48 +00:00
test_backends
fix(bedrock): fail fast when session-token auth lacks botocore ( #1553 )
2026-07-01 21:02:15 -05:00
test_cache
fix(cache): stable session identity and per-conversation prefix trackers under agentic clients ( #2193 )
2026-07-15 18:42:20 +00:00
test_cli
fix(codex): preserve wrapped sessions and recover state ( #2160 )
2026-07-15 19:58:21 +00:00
test_compression
fix(code): parse-probe tree-sitter availability in code_handler ( #1231 ) ( #1300 )
2026-07-09 14:06:29 -05:00
test_dashboard
test(dashboard): fix playwright importorskip placement
2026-04-21 00:10:05 -05:00
test_evals
Remove LLMLingua: Kompress is the sole text compressor
2026-03-26 11:11:00 -07:00
test_install
feat(deploy): Add turnkey deploy command ( #1404 )
2026-07-15 18:37:20 +00:00
test_integrations
feat: add CrewAI and AutoGen tool compression integrations ( #1384 )
2026-07-15 19:58:54 +00:00
test_learn
fix(learn): don't shadow TIMEOUT/CONNECTION with the generic RUNTIME_ERROR ( #2099 )
2026-07-13 10:50:54 -04:00
test_live
feat(read-maturation): activity-based hold-back Read maturation (Mechanism B) ( #1068 )
2026-06-22 22:52:42 -05:00
test_mcp_registry
feat(mcp): publish canonical server.json ( #1510 )
2026-07-14 13:25:29 -04:00
test_memory
fix(memory): filter inactive graph-expanded results ( #2210 )
2026-07-15 19:58:13 +00:00
test_providers
fix: add DeepSeek V4/V3.2/R1 tokenizer mappings and context limits ( #912 )
2026-07-15 09:24:44 -05:00
test_proxy
feat(proxy): add opt-in cost-aware model router ( #1706 ) ( #2205 )
2026-07-15 19:58:17 +00:00
test_scripts
fix(ci): restore repro harness test in dev installs
2026-04-20 22:12:01 +07:00
test_storage
fix: B1 — retire ICM, RollingWindow, scoring, relevance + dependents
2026-05-02 12:23:17 -07:00
test_tokenizers
fix(tokenizers): bound tiktoken vocab load so a stalled download cannot hang requests ( #956 ) ( #994 )
2026-06-19 11:27:09 -05:00
test_transforms
feat(text-crusher): CJK-aware segmentation + relevance via ICU ( #1504 )
2026-07-15 19:58:48 +00:00
__init__.py
Initial commit: Headroom SDK - LLM context optimization toolkit
2026-01-06 23:16:58 -08:00
_dotenv.py
fix(tests): stop module-level dotenv loaders from polluting os.environ during pytest collection
2026-04-26 09:15:37 -07:00
_mcp_stub.py
fix(codex): stop pinning Codex memory MCP to one project db ( #1269 )
2026-06-23 07:49:07 -05:00
_skip_helpers.py
fix(ccr): skip Anthropic marker emission when tool injection is deferred ( #1273 )
2026-06-23 12:48:05 -05:00
conftest.py
fix(proxy): dedupe Codex WS request logging for accurate mixed-provider dashboards ( #2189 )
2026-07-15 18:18:34 +00:00
e2e_cortex_latency.py
fix(cortex-code): migrate to current Cortex REST API endpoints + add e2e benchmarks ( #1474 )
2026-06-30 14:14:36 -05:00
e2e_cortex_mcp.py
fix(cortex-code): migrate to current Cortex REST API endpoints + add e2e benchmarks ( #1474 )
2026-06-30 14:14:36 -05:00
e2e_cortex_proxy.py
fix(cortex-code): migrate to current Cortex REST API endpoints + add e2e benchmarks ( #1474 )
2026-06-30 14:14:36 -05:00
e2e_cortex_proxy_mcp.py
fix(cortex-code): migrate to current Cortex REST API endpoints + add e2e benchmarks ( #1474 )
2026-06-30 14:14:36 -05:00
e2e_cortex_quality.py
fix(cortex-code): migrate to current Cortex REST API endpoints + add e2e benchmarks ( #1474 )
2026-06-30 14:14:36 -05:00
e2e_cortex_savings.py
fix(cortex-code): migrate to current Cortex REST API endpoints + add e2e benchmarks ( #1474 )
2026-06-30 14:14:36 -05:00
e2e_real_compression.py
fix: complete /v1/responses compression telemetry, multi-frame WS, frozen-count cap
2026-05-07 14:50:03 -07:00
e2e_ws_codex_usage_headers.py
fix(proxy): restore Codex usage headers on WS and streaming SSE transports ( #577 ) ( #794 )
2026-06-09 15:55:53 -05:00
e2e_ws_responses_compression.py
fix: complete /v1/responses compression telemetry, multi-frame WS, frozen-count cap
2026-05-07 14:50:03 -07:00
repro_unsendable_panic.py
fix(ci): restore green lint gate on main
2026-06-04 14:15:49 -07:00
test_5xx_accounting_all_providers.py
fix(proxy): count exhausted upstream 5xx as failed across all providers ( #1571 )
2026-07-09 17:07:08 -05:00
test_acceptance.py
fix: B1 — retire ICM, RollingWindow, scoring, relevance + dependents
2026-05-02 12:23:17 -07:00
test_adapter_hooks.py
feat: compression extraction — Rust knob exposure, CCR hardening, traffic audits ( #818 )
2026-06-16 20:21:13 -07:00
test_adaptive_sizer.py
fix(adaptive-sizer): char bigrams for spaceless CJK items ( #1748 )
2026-07-09 17:01:29 -05:00
test_adversarial_grid.py
feat(evals): adversarial-input robustness grid for compressors ( #918 )
2026-06-13 10:47:54 -05:00
test_agent_savings.py
fix(savings): coding profile compresses the recent delta (protect_recent 2->0, min_tokens 25->10) ( #2145 )
2026-07-14 04:07:25 -04:00
test_anthropic_beta_session_sticky.py
fix: A6 — anthropic-beta and openai-beta deterministic merge + session-sticky
2026-05-02 09:53:37 -07:00
test_anthropic_ccr_workspace_unbound.py
fix(proxy): hoist ccr_workspace_key default so /v1/messages survives CCR-inject off ( #1096 )
2026-07-09 17:29:40 -05:00
test_anthropic_compaction_transforms.py
feat: 3-layer context compression pipeline (L1+L2+L3) ( #1405 )
2026-07-15 19:58:51 +00:00
test_anthropic_pre_upstream_backpressure.py
fix(cache): stable session identity and per-conversation prefix trackers under agentic clients ( #2193 )
2026-07-15 18:42:20 +00:00
test_anthropic_stage_timings.py
fix(cache): stable session identity and per-conversation prefix trackers under agentic clients ( #2193 )
2026-07-15 18:42:20 +00:00
test_audit_codex.py
[codex] Simulate Codex read maturation risk ( #1395 )
2026-07-15 20:36:34 +00:00
test_audit_reads.py
feat: compression extraction — Rust knob exposure, CCR hardening, traffic audits ( #818 )
2026-06-16 20:21:13 -07:00
test_auth_mode.py
fix(proxy/auth): match real Anthropic OAuth token prefix (sk-ant-oat) ( #1672 )
2026-07-02 14:26:19 -07:00
test_auth_policy.py
refactor(proxy): isolate auth classification policy ( #1945 )
2026-07-10 19:27:08 -05:00
test_azure_foundry_claude_compression.py
feat(azure-foundry): derive upstream URL from ANTHROPIC_FOUNDRY_RESOURCE ( #1138 )
2026-06-22 15:49:14 -05:00
test_backend_anyllm.py
fix(anyllm): forward openai api_base/api_key to the any-llm backend ( #942 ) ( #954 )
2026-06-15 11:07:43 -05:00
test_backend_bugs.py
fix(backends/litellm): drop oversized tool names before Bedrock Converse ( #2129 )
2026-07-13 19:53:49 -04:00
test_backend_nonstreaming_cache_metrics.py
fix(proxy): record cache metrics for non-streaming backend paths ( #1271 )
2026-07-09 14:06:05 -05:00
test_backend_streaming_cache_metrics.py
fix(proxy): record cache reads/writes on backend-routed streaming ( #327 )
2026-05-14 11:01:57 -07:00
test_banner_upstream_targets.py
feat: add Vertex AI proxy routing ( #793 )
2026-06-09 23:05:30 -07:00
test_bash_search_lossless_fold.py
feat(cache): provider-agnostic cache-mode delta + cc-agnostic prefix comparison ( #1868 )
2026-07-08 13:29:35 -07:00
test_bedrock_prefix_tracker_wiring.py
fix(proxy/bedrock): wire PrefixCacheTracker updates into Bedrock backend paths ( #2196 )
2026-07-15 18:18:20 +00:00
test_bedrock_region.py
fix(bedrock): resolve global.* inference profiles + pin per-user app-profile ARNs ( #1795 )
2026-07-09 16:56:23 -05:00
test_bedrock_streaming_input_tokens.py
fix(proxy): report real input tokens on streaming message_start ( #1132 ) ( #1305 )
2026-06-23 12:53:15 -05:00
test_bedrock_tool_result_cache_and_streaming_stats.py
fix(backend/bedrock): preserve system-prompt cache_control breakpoint (list form) ( #2225 )
2026-07-15 19:58:06 +00:00
test_beta_header_merge.py
refactor(proxy): extract beta header merge policy ( #1993 )
2026-07-12 21:34:25 -07:00
test_beta_header_policy.py
refactor(proxy): extract beta header policy ( #1992 )
2026-07-12 12:18:53 -04:00
test_binaries.py
fix: docker install fails with PermissionError in readonly cache dir
2026-04-20 17:36:44 -07:00
test_bundled_tools_savings.py
fix(tests): stop module-level dotenv loaders from polluting os.environ during pytest collection
2026-04-26 09:15:37 -07:00
test_cache_aligner_detector_only.py
fix(tests): update CacheAligner detector-only tests for F2.2 5-field CompressionPolicy
2026-05-06 14:39:39 -07:00
test_cache_aligner_prefix_stability.py
fix(cache-aligner): hash the frozen conversation prefix so Claude Code cache invalidation is detected ( #2085 ) ( #2161 )
2026-07-14 11:59:52 -04:00
test_cache_control_move_bust.py
fix(proxy): keep cache_control bounded + stable so the freeze overlay stops busting ( #1852 )
2026-07-06 17:05:34 -07:00
test_cache_mode_delta_marker.py
feat(cache): provider-agnostic cache-mode delta + cc-agnostic prefix comparison ( #1868 )
2026-07-08 13:29:35 -07:00
test_cache_prefix_overlay.py
feat(cache): provider-agnostic cache-mode delta + cc-agnostic prefix comparison ( #1868 )
2026-07-08 13:29:35 -07:00
test_canonical_pipeline.py
fix(transforms): gate tool string output from lossy compression ( #1307 ) ( #1387 )
2026-06-25 13:43:53 -05:00
test_ccr.py
fix(ccr): make headroom_retrieve a hash-only full-content lookup ( #1532 )
2026-06-28 10:32:43 -07:00
test_ccr_batch_processor.py
Harden Anthropic prefix cache stability across proxy and batch paths
2026-04-04 13:45:37 -05:00
test_ccr_batch_store.py
chore: renormalize line endings to LF
2026-04-24 15:33:30 +02:00
test_ccr_context_tracker.py
fix(ccr): skip compact summaries for proactive expansion ( #2242 )
2026-07-15 19:57:46 +00:00
test_ccr_feedback.py
fix(cache/ccr): don't count a successful eviction as a retrieval ( #2106 )
2026-07-13 10:53:55 -04:00
test_ccr_golden_policy.py
refactor(proxy): extract ccr golden replay policy ( #2006 )
2026-07-12 11:49:12 -04:00
test_ccr_marker_policy.py
refactor(proxy): extract ccr marker policy ( #2004 )
2026-07-12 12:16:48 -04:00
test_ccr_mcp_http.py
feat(mcp): add streamable HTTP MCP transport ( #1773 )
2026-07-14 13:25:45 -04:00
test_ccr_mcp_server.py
fix(mcp): reap orphaned mcp serve on client death ( #2226 )
2026-07-15 18:57:32 +00:00
test_ccr_response_handler.py
fix(ccr): make headroom_retrieve a hash-only full-content lookup ( #1532 )
2026-06-28 10:32:43 -07:00
test_ccr_response_handler_extra.py
fix(ccr): preserve Anthropic re-stream shape ( #1854 )
2026-07-08 19:17:05 -07:00
test_ccr_response_handler_openai_responses.py
feat(ccr): wire retrieve-tool interception into OpenAI Responses handler ( #1898 )
2026-07-09 09:41:06 -04:00
test_ccr_row_drop_store_bridge.py
fix(proxy): gate CCR retrieve/compress endpoints to loopback ( #1338 )
2026-06-24 09:45:20 -05:00
test_ccr_rust_marker_hash_bridge.py
fix(ccr): key Rust search/diff/log markers with explicit_hash ( #852 )
2026-06-11 13:08:05 -05:00
test_ccr_session_tracker.py
refactor(proxy): extract ccr session tracker ( #2003 )
2026-07-11 10:17:53 -05:00
test_ccr_sqlite_backend.py
fix(ccr): honor workspace dir for sqlite store ( #1564 )
2026-07-01 20:25:14 -05:00
test_ccr_tag_placeholder_regression.py
fix(ccr): store pre-protection original, not tag placeholder, in CCR ( #1208 )
2026-07-14 16:07:08 -04:00
test_ccr_tool_always_on.py
fix(ccr): make headroom_retrieve a hash-only full-content lookup ( #1532 )
2026-06-28 10:32:43 -07:00
test_ccr_tool_calls.py
refactor(ccr): isolate tool call classification ( #1937 )
2026-07-10 17:36:24 -05:00
test_ccr_tool_injection.py
fix(ccr): lowercase a retrieved hash so an uppercase echo still hits the store ( #2236 )
2026-07-15 19:57:58 +00:00
test_claude_session_branch_compare.py
Harden anthropic cache-mode replay stability
2026-04-05 16:11:39 -05:00
test_claude_session_mode_benchmark.py
Harden cache validation reporting and TTL analysis
2026-04-06 20:11:21 -05:00
test_cli_dashboard.py
feat(cli): add headroom dashboard and surface the dashboard URL ( #1277 ) ( #1292 )
2026-06-22 19:05:38 -05:00
test_cli_doctor.py
fix(wrap): surface Claude Remote Control base-URL gate accurately (#1… ( #1883 )
2026-07-13 14:01:37 -04:00
test_cli_inspect.py
feat(cli): add headroom inspect to view original vs compressed content ( #1595 )
2026-07-15 19:58:38 +00:00
test_cli_learn.py
fix(learn): aggregate verbosity baselines across projects instead of overwriting ( #1288 )
2026-06-30 08:37:37 -05:00
test_cli_perf_format.py
feat: measure and surface token throughput (tokens/sec) through the proxy ( #983 )
2026-06-17 09:42:38 -05:00
test_cli_proxy_embedding_server.py
fix(cli): fall back gracefully when embedding-server sidecar is absent ( #1206 )
2026-06-23 07:47:51 -05:00
test_cli_proxy_env.py
fix(proxy): dedupe Codex WS request logging for accurate mixed-provider dashboards ( #2189 )
2026-07-15 18:18:34 +00:00
test_cli_proxy_improvements.py
docs(proxy): document HEADROOM_SAVINGS_PROFILE and correct --mode default ( #2031 ) ( #2040 )
2026-07-14 14:10:28 -04:00
test_cli_tools.py
test: apply linux ruff formatting
2026-04-23 08:49:50 -05:00
test_cli_update.py
fix(update): let Windows self-update replace headroom.exe ( #2016 )
2026-07-14 11:52:47 -04:00
test_code_aware_brace_comment_regressions.py
fix(code): stop TS export duplication + comment displacement ( #1906 )
2026-07-09 12:51:32 -05:00
test_code_aware_regressions.py
fix: correct Go AST compression bugs and CODE_AWARE token accounting ( #1668 )
2026-07-07 11:36:49 -05:00
test_code_compressor_language_alias.py
fix(transforms/code): coerce language aliases instead of raising ( #1975 )
2026-07-10 23:57:33 -05:00
test_code_compressor_thread_safety.py
test(code_compressor): add unsendable-panic repro and thread-local parser tests
2026-06-03 17:02:07 -05:00
test_codex_client_stamp.py
fix(proxy): stamp X-Client: codex on Responses endpoint for unidentified callers ( #1036 )
2026-06-17 11:45:20 -05:00
test_codex_openai_contract_parity.py
fix(proxy): restore Codex usage headers on WS and streaming SSE transports ( #577 ) ( #794 )
2026-06-09 15:55:53 -05:00
test_codex_rate_limits.py
fix(codex): poll /wham/usage for subscription limits (handshake no longer sends x-codex-* headers) ( #924 )
2026-06-12 17:03:14 -05:00
test_codex_responses_passthrough_bytes.py
Wire OpenAI Responses output shaping ( #1438 )
2026-07-05 13:59:21 -07:00
test_codex_responses_waste_signals.py
fix(codex): compute waste signals on the OpenAI Responses path ( #898 )
2026-06-12 17:10:29 -05:00
test_codex_ws_compression_scheduler.py
refactor(transforms): isolate mixed content parsing ( #1939 )
2026-07-10 19:28:21 -05:00
test_codex_ws_per_frame_memory.py
fix(codex): rerun memory lookup on every response.create WS frame ( #2113 )
2026-07-13 14:42:27 -04:00
test_cold_start_fast_pass.py
fix(cache): stable session identity and per-conversation prefix trackers under agentic clients ( #2193 )
2026-07-15 18:42:20 +00:00
test_compaction_markdown_kv.py
feat: gated Markdown-KV compaction formatter (serialization-aware output) ( #859 )
2026-06-11 13:03:50 -05:00
test_compress_api.py
feat(compress): expose frozen_message_count in library-mode compress() ( #2178 )
2026-07-14 16:07:21 -04:00
test_compress_failure.py
chore: renormalize line endings to LF
2026-04-24 15:33:30 +02:00
test_compress_passthrough.py
feat(proxy): opt-in compression for catch-all passthrough routes ( #1699 )
2026-07-15 19:58:34 +00:00
test_compression_batches.py
fix(proxy): batch small Codex Responses tool outputs ( #2239 )
2026-07-15 19:57:50 +00:00
test_compression_cache.py
refactor: DRY cache logic, add thread safety, fix Bash exclusion ( #704 )
2026-06-16 14:50:04 -05:00
test_compression_decision.py
fix(proxy): surface CompressionDecision.passthrough_reason in tags
2026-05-15 14:40:00 -07:00
test_compression_determinism.py
Compress Codex Responses payloads
2026-05-10 17:27:47 -07:00
test_compression_fidelity_regression.py
test(evals): add offline fidelity regression gate (recall-based, zero-model) ( #1187 )
2026-06-22 22:53:59 -05:00
test_compression_observability.py
chore(telemetry): remove Supabase anonymous beacon; fix contact domain to headroomlabs.ai ( #1526 )
2026-06-27 22:48:26 -07:00
test_compression_policy.py
fix(policy): correct warm-cache penalty in net_mutation_gain to (S + dT) ( #903 )
2026-06-12 17:14:30 -05:00
test_compression_policy_toin_gate.py
fix(transforms): F2.2 c2/3 — wire toin_read_only gate + extend policy_selected log
2026-05-06 14:37:33 -07:00
test_compression_safety_rails.py
feat: compression safety rails — error-output protection, pipeline circuit breaker, library inflation guard ( #851 )
2026-06-11 12:55:13 -05:00
test_compression_store.py
fix(cache/ccr): don't evict a live entry on a duplicate store at capacity ( #2082 )
2026-07-13 09:46:24 -04:00
test_compression_strategy_outcomes.py
refactor(cache): isolate compression strategy outcomes ( #1938 )
2026-07-10 19:21:47 -05:00
test_compression_summary.py
Add compression summaries, multi-provider headers, Dockerfile fix
2026-02-18 16:54:20 -08:00
test_compression_summary_eval.py
Add compression summaries, multi-provider headers, Dockerfile fix
2026-02-18 16:54:20 -08:00
test_compression_summary_hard_eval.py
fix(tests): stop module-level dotenv loaders from polluting os.environ during pytest collection
2026-04-26 09:15:37 -07:00
test_compression_summary_integration.py
fix(tests): stop module-level dotenv loaders from polluting os.environ during pytest collection
2026-04-26 09:15:37 -07:00
test_compression_summary_tool_eval.py
fix(tests): stop module-level dotenv loaders from polluting os.environ during pytest collection
2026-04-26 09:15:37 -07:00
test_compression_units.py
fix(proxy): batch small Codex Responses tool outputs ( #2239 )
2026-07-15 19:57:50 +00:00
test_compressor_config_exposure.py
feat: compression extraction — Rust knob exposure, CCR hardening, traffic audits ( #818 )
2026-06-16 20:21:13 -07:00
test_config.py
feat: attribute reread waste to over-compression via marker check ( #901 )
2026-06-13 10:43:35 -05:00
test_content_router_compact_json.py
fix(router): compact JSON evades compression via whitespace token counting ( #1857 )
2026-07-14 06:54:01 -04:00
test_content_router_exclude_tools.py
fix(content-router): protect_tool_results must not be weakened by profile-derived read_protection_window ( #2105 )
2026-07-13 14:01:18 -04:00
test_content_router_single_item_deadline.py
fix(kompress): fail-open wall-clock guard on single-cache-miss compression ( #2114 )
2026-07-13 23:50:49 -04:00
test_content_router_tool_role_reversibility.py
fix(transforms): gate tool string output from lossy compression ( #1307 ) ( #1387 )
2026-06-25 13:43:53 -05:00
test_content_router_user_blocks.py
fix(proxy): compress Anthropic user text blocks when enabled ( #1875 )
2026-07-08 14:24:15 -07:00
test_copilot_auth.py
fix(proxy): dedupe Codex WS request logging for accurate mixed-provider dashboards ( #2189 )
2026-07-15 18:18:34 +00:00
test_copilot_linux_secret.py
fix(copilot): support subscription auth through Headroom
2026-06-02 21:24:47 -07:00
test_copilot_macos_keychain.py
fix(copilot): support subscription auth through Headroom
2026-06-02 21:24:47 -07:00
test_copilot_quota.py
fix(subscription/copilot): preserve remaining=0 for exhausted quota ( #1997 )
2026-07-12 18:48:22 -04:00
test_copilot_subscription_smoke.py
fix: support Copilot Business subscription auth ( #641 )
2026-06-12 20:46:38 -05:00
test_corrupt_golden_bytes_recovery.py
fix(proxy): fail-open on corrupt golden bytes instead of RuntimeError ( #603 )
2026-06-04 18:19:06 -07:00
test_cortex_code_compression.py
feat(providers): add Cortex Code (Snowflake CoCo) as a supported agent ( #1190 )
2026-06-21 22:18:47 -07:00
test_cost_tracker_counterfactual.py
fix(proxy): keep OpenAI tool observations mutable in cache mode ( #1884 )
2026-07-09 07:51:01 -07:00
test_critical_fixes.py
fix: B5 — TOIN observation-only refactor + per-tenant aggregation key
2026-05-02 16:24:03 -07:00
test_critical_gaps.py
fix(ccr): make headroom_retrieve a hash-only full-content lookup ( #1532 )
2026-06-28 10:32:43 -07:00
test_cross_turn_cache_safety.py
fix(proxy): freeze must forward cached (compressed) prefix byte-identical — stop token-mode cache busting ( #1850 )
2026-07-06 14:54:39 -07:00
test_cross_turn_dedup.py
fix(dedup): shorter fold pointer + MIN_LINES=3, dedup Anthropic list-… ( #1932 )
2026-07-10 11:38:08 -04:00
test_custom_base_passthrough_telemetry.py
fix(codex): OpenCode Zen telemetry attribution ( #1648 )
2026-07-07 11:35:21 -05:00
test_dashboard_agent_usage.py
feat: add dashboard agent usage stats ( #814 )
2026-06-12 14:12:22 -05:00
test_dashboard_cache_lifetime_playwright.py
fix(proxy): persist lifetime cache-read savings across restarts ( #1665 )
2026-07-07 11:36:07 -05:00
test_dashboard_cache_net_playwright.py
feat(dashboard): surface compression-vs-cache net impact in Prefix Cache panel ( #913 )
2026-06-12 23:43:49 -05:00
test_dashboard_cache_ttl_playwright.py
fix(proxy): subtract cache write premiums from net savings ( #1800 )
2026-07-07 23:24:41 -05:00
test_dashboard_context_tool_availability_playwright.py
fix(dashboard): distinguish unavailable RTK from zero stats in Docker ( #1901 )
2026-07-09 09:39:16 -04:00
test_dashboard_token_savings.py
fix(dashboard): align token savings headline denominator ( #1653 )
2026-07-01 23:31:32 -05:00
test_debug_dump_gating.py
feat(security): pilot hardening — stateless guarantee, model pinning, CI security gate ( #1515 )
2026-06-27 17:44:10 -07:00
test_diagnostic_decode_policy.py
Extract diagnostic decode policy ( #1981 )
2026-07-12 12:17:39 -04:00
test_docker_compose_persistence.py
fix(docker): report source build version ( #1862 )
2026-07-08 13:32:04 -05:00
test_error_detection.py
fix(router): stop protecting passing build/test output as error traces ( #1740 )
2026-07-14 13:25:49 -04:00
test_evals_cjk_tokenization.py
fix(evals): CJK-aware F1 tokenization + token estimation ( #1527 )
2026-06-30 14:27:25 -05:00
test_evals_datasets.py
chore: renormalize line endings to LF
2026-04-24 15:33:30 +02:00
test_evals_metrics.py
feat(evals): add zero-cost tool schema compaction integrity eval ( #817 )
2026-06-10 16:03:42 -05:00
test_evals_multilingual.py
feat(evals): register multilingual multi-wiki-qa (zh/ja/ko) dataset ( #1530 )
2026-07-14 13:25:10 -04:00
test_exceptions.py
chore: renormalize line endings to LF
2026-04-24 15:33:30 +02:00
test_force_kompress_all.py
feat(proxy): add --force-kompress-all to route all content through kompress-v2-base ( #1613 )
2026-06-30 15:30:22 -07:00
test_forwarded_headers.py
feat(dashboard): persist lifetime proxy metrics ( #2198 )
2026-07-15 18:18:13 +00:00
test_forwarded_policy.py
refactor(proxy): isolate forwarded header policy ( #1942 )
2026-07-10 17:41:38 -05:00
test_fsutil.py
fix(io): use UTF-8 with locale fallback and preserve line endings on config/text I/O ( #1498 )
2026-06-28 13:18:47 -07:00
test_gemini_compression_offload.py
fix(gemini): offload compression to the executor ( #1382 )
2026-06-26 12:25:15 -05:00
test_gemini_function_response_waste.py
fix(gemini): surface functionResponse payloads to waste-signal detection ( #897 )
2026-06-12 17:09:20 -05:00
test_gemini_nonjson_status.py
fix(proxy/gemini): forward a non-JSON upstream body with its real status ( #2174 )
2026-07-14 12:20:11 -04:00
test_google_multimodal.py
fix(proxy/gemini): preserve non-text content across the compression round-trip ( #2079 )
2026-07-13 09:46:35 -04:00
test_google_multimodal_e2e.py
Add E2E tests for Google multimodal content preservation
2026-01-24 21:01:25 -08:00
test_graph.py
chore: renormalize line endings to LF
2026-04-24 15:33:30 +02:00
test_graph_tokensave.py
feat(wrap): make tokensave the primary coding-task compressor, Serena the backup ( #1230 )
2026-06-25 16:55:37 -05:00
test_h2_stream_reset_retry.py
fix(proxy): retry HTTP/2 stream resets instead of 502ing ( #1645 )
2026-07-07 11:31:06 -05:00
test_handler_outcome_tag_invariant.py
refactor(proxy): MemoryRanker + ImageCompressionDecision + branch-aware version-sync
2026-05-19 12:13:09 -05:00
test_header_isolation.py
fix(proxy): dedupe Codex WS request logging for accurate mixed-provider dashboards ( #2189 )
2026-07-15 18:18:34 +00:00
test_hermes_passthrough_compression.py
fix(proxy): compress Hermes scoped coding-agent passthrough ( #1815 )
2026-07-13 17:22:46 -05:00
test_hf_revision_pinning.py
feat(security): pilot hardening — stateless guarantee, model pinning, CI security gate ( #1515 )
2026-06-27 17:44:10 -07:00
test_hnsw_only.py
Add bounded memory support to HNSWVectorIndex with LRU eviction
2026-02-01 21:12:06 -08:00
test_hooks.py
Add Compression Hooks — extension points for SaaS and advanced customization
2026-02-19 08:17:30 -08:00
test_huggingface_tokenizer_timeout.py
fix(proxy): accept Codex websocket before upstream retries ( #2203 )
2026-07-15 18:18:06 +00:00
test_image_compression.py
Skip image tests when Pillow not installed (CI fix)
2026-04-09 16:24:15 -07:00
test_image_compression_decision.py
refactor(proxy): MemoryRanker + ImageCompressionDecision + branch-aware version-sync
2026-05-19 12:13:09 -05:00
test_image_compression_isolation.py
fix(proxy): isolate image compression in a subprocess so a native SIGSEGV can't take down the proxy ( #2107 ) ( #2162 )
2026-07-14 11:52:20 -04:00
test_image_compression_offload.py
fix(proxy): isolate image compression in a subprocess so a native SIGSEGV can't take down the proxy ( #2107 ) ( #2162 )
2026-07-14 11:52:20 -04:00
test_image_compression_policy.py
refactor(proxy): isolate image compression policy ( #1958 )
2026-07-11 10:25:15 -05:00
test_image_compressor.py
fix: release image router models after compression
2026-04-29 01:45:27 -04:00
test_image_log_redaction.py
fix(observability): G3 remediation — bound cardinality + wire dead metrics
2026-05-24 10:41:56 -07:00
test_image_ocr_api_compat.py
fix: PR #372 — restore [image] extra on Python 3.13 via rapidocr 3.x adapter
2026-05-04 08:20:01 -07:00
test_internal_header_policy.py
refactor(proxy): extract internal header policy ( #1990 )
2026-07-11 21:55:50 -05:00
test_issue_728_empty_tools_injection.py
fix(proxy): keep PRE_SEND from reintroducing empty tool arrays ( #2015 )
2026-07-10 22:38:27 -05:00
test_issue_746_tool_search.py
Tejas/tool search deferral ( #1885 )
2026-07-08 14:03:45 -07:00
test_issue_1601_remote_control_gate.py
fix(wrap): surface Claude Remote Control base-URL gate accurately (#1… ( #1883 )
2026-07-13 14:01:37 -04:00
test_issue_1779_remote_control_gate.py
fix(claude): treat non-zero claude --version exit as version-unknown … ( #2233 )
2026-07-15 18:14:58 +00:00
test_kompress_failsafe.py
fix(windows): unwedge compression on degraded ONNX runtimes (every request timing out at 30s, 0% savings) ( #822 )
2026-07-15 09:23:44 -05:00
test_kompress_must_keep.py
fix(kompress): hard override keeps must-keep tokens regardless of model score ( #1400 )
2026-06-26 14:15:37 -05:00
test_kompress_preload_deferral.py
fix(proxy): keep Kompress warmup off the startup path ( #2001 )
2026-07-13 10:09:45 -04:00
test_kompress_request_nonblocking.py
fix(proxy): fail open when kompress saturation would exhaust pre-upstream budget ( #1430 )
2026-06-30 13:41:22 -05:00
test_lean_ctx_installer.py
feat: add lean-ctx context tool support
2026-05-11 17:54:17 -04:00
test_learn_grok_plugin.py
feat(wrap): add first-class Grok CLI support ( #1823 )
2026-07-15 18:51:38 +00:00
test_litellm_callback.py
test(litellm): remove unused pytest import
2026-07-09 20:59:12 -05:00
test_litellm_nonstream_cache_usage.py
fix(litellm): surface Bedrock cache token usage in non-streaming responses ( #1848 )
2026-07-09 12:44:36 -05:00
test_litellm_openai_passthrough.py
fix(litellm): forward chat_template_kwargs and other vendor top-level fields to OpenAI-compatible backends via extra_body ( #2128 ) ( #2163 )
2026-07-14 12:00:19 -04:00
test_litellm_optional.py
fix(deps): make litellm optional on Python 3.14 ( #956 ) ( #993 )
2026-06-16 21:11:12 -05:00
test_local_backend_init_race.py
fix(memory): singleflight LocalBackend init to stop cold-start races ( #1691 )
2026-07-02 16:00:55 -07:00
test_log_compressor.py
fix: improve error handling and add comprehensive test coverage
2026-01-27 16:08:36 -08:00
test_loop_callback_failure_policy.py
Extract loop callback failure policy ( #1977 )
2026-07-11 10:27:00 -05:00
test_lossless_diff_fold_guard.py
fix(transforms): guard the lossless diff fold to diff-shaped content only ( #2140 )
2026-07-13 23:39:33 -04:00
test_lossless_excluded_compaction.py
feat(content-router): lossless-excluded compaction (grep/log/json) + enable in coding/general personas ( #1762 )
2026-07-03 12:09:05 -07:00
test_lossless_first_dispatch.py
feat(content-router): lossless-first dispatch, cross-turn dedup, and A7 lossy-after-fold ( #1818 )
2026-07-06 08:32:06 -07:00
test_lossless_mode.py
fix(content-router): token-measure lossless folds at the acceptance gate ( #1772 )
2026-07-03 15:04:07 -07:00
test_lossless_then_lossy.py
fix(router): compact JSON evades compression via whitespace token counting ( #1857 )
2026-07-14 06:54:01 -04:00
test_mcp_registry_grok.py
feat(wrap): add first-class Grok CLI support ( #1823 )
2026-07-15 18:51:38 +00:00
test_mcp_registry_opencode.py
fix(opencode): use type=local + environment field for MCP config ( #1380 ) ( #1388 )
2026-07-15 20:36:14 +00:00
test_mcp_stub.py
fix(codex): stop pinning Codex memory MCP to one project db ( #1269 )
2026-06-23 07:49:07 -05:00
test_memory_auto_tail.py
fix(memory): READ-ONLY framing + fail-closed unresolved-project fallback
2026-05-26 14:32:08 -07:00
test_memory_bridge.py
fix(ccr): skip Anthropic marker emission when tool injection is deferred ( #1273 )
2026-06-23 12:48:05 -05:00
test_memory_decision.py
fix(proxy): MemoryDecision contract + 3 bypass bugs + drop 500-char query cap
2026-05-19 11:13:52 -05:00
test_memory_decision_policy.py
refactor(memory): isolate injection decision policy ( #1952 )
2026-07-10 23:45:44 -05:00
test_memory_eval.py
fix(evals): default unparseable judge scores below pass threshold ( #1892 )
2026-07-08 19:31:25 -07:00
test_memory_golden_policy.py
refactor(proxy): extract memory golden replay policy ( #2007 )
2026-07-12 12:19:46 -04:00
test_memory_handler_concurrent_init.py
fix(ccr): skip Anthropic marker emission when tool injection is deferred ( #1273 )
2026-06-23 12:48:05 -05:00
test_memory_handler_native_ops.py
fix(memory): audit passive context injection ( #2212 )
2026-07-15 18:17:31 +00:00
test_memory_handler_project_isolation.py
fix(memory): READ-ONLY framing + fail-closed unresolved-project fallback
2026-05-26 14:32:08 -07:00
test_memory_injection_budget.py
fix(proxy): MemoryDecision contract + 3 bypass bugs + drop 500-char query cap
2026-05-19 11:13:52 -05:00
test_memory_injection_logging.py
fix(memory): audit passive context injection ( #2212 )
2026-07-15 18:17:31 +00:00
test_memory_injection_mode_policy.py
Extract memory injection mode policy ( #1986 )
2026-07-12 12:18:23 -04:00
test_memory_integration.py
Add centralized ML model configuration
2026-02-01 23:47:42 -08:00
test_memory_invariants.py
fix(proxy): MemoryDecision contract + 3 bypass bugs + drop 500-char query cap
2026-05-19 11:13:52 -05:00
test_memory_query.py
fix(proxy): MemoryDecision contract + 3 bypass bugs + drop 500-char query cap
2026-05-19 11:13:52 -05:00
test_memory_query_policy.py
fix(proxy/memory): capture user text blocks for the retrieval query ( #2064 )
2026-07-13 09:46:56 -04:00
test_memory_rank_policy.py
refactor(proxy): isolate memory rank policy ( #1960 )
2026-07-10 23:51:51 -05:00
test_memory_ranker.py
refactor(proxy): isolate memory rank policy ( #1960 )
2026-07-10 23:51:51 -05:00
test_memory_storage_router.py
fix(memory): resolve Trae cwd metadata from user reminders ( #1737 ) ( #1887 )
2026-07-08 15:49:21 -07:00
test_memory_sync.py
fix(memory/sync): don't clobber memories sharing a first line ( #1976 )
2026-07-10 11:47:31 -04:00
test_memory_system.py
Fix CI: guard starlette imports, asyncio.run(), deprecate datetime.utcnow()
2026-02-19 11:03:24 -08:00
test_memory_tool_mode.py
fix: integrate B6+B7 — fix cross-test contamination + injector mock parity
2026-05-02 17:05:58 -07:00
test_memory_tool_session_sticky.py
fix: A7 — memory tool injection session-sticky for both Anthropic and OpenAI
2026-05-02 10:11:27 -07:00
test_memory_tracker.py
Add memory observability system (Phase 1)
2026-02-01 19:49:53 -08:00
test_memory_tracker_integration.py
Add wrap commands for Codex/Cursor/Aider with rtk instructions, fix savings metrics
2026-03-13 22:02:47 -07:00
test_memory_usage_integration.py
fix(tests): stop module-level dotenv loaders from polluting os.environ during pytest collection
2026-04-26 09:15:37 -07:00
test_memory_wrapper.py
test: apply linux ruff formatting
2026-04-23 08:49:50 -05:00
test_mid_turn_steering.py
fix(proxy): only queue mid-turn messages for opt-in clients with explicit session header ( #1951 )
2026-07-13 00:52:41 -04:00
test_mixed_content_sections.py
refactor(transforms): isolate mixed content parsing ( #1939 )
2026-07-10 19:28:21 -05:00
test_ml_model_registry_lifecycle.py
feat: headroom wrap opencode / unwrap opencode CLI ( #1105 )
2026-06-22 11:07:12 -05:00
test_models.py
fix(models): version-boundary longest-prefix match in ModelRegistry.get ( #1658 )
2026-07-10 23:07:31 -05:00
test_netcost_gate.py
feat(policy): decay P_alive from idle time near cache TTL ( #856 P3b) ( #1028 )
2026-06-18 11:15:40 -05:00
test_network_diff_capture.py
feat: add differential network capture harness ( #761 )
2026-06-08 22:18:31 -07:00
test_no_ccr_lossy.py
feat(content-router): lossless-first dispatch, cross-turn dedup, and A7 lossy-after-fold ( #1818 )
2026-07-06 08:32:06 -07:00
test_oauth_bearer_routing.py
style: fix ruff lint/format and mypy errors for CI 3.12 pass
2026-04-20 13:23:20 -05:00
test_observability_metrics.py
fix(proxy): keep OpenAI tool observations mutable in cache mode ( #1884 )
2026-07-09 07:51:01 -07:00
test_observability_tracing.py
feat(observability): add gen_ai.request.model to the compression span ( #1667 )
2026-07-11 11:04:54 -05:00
test_observed_wire_shapes.py
feat(cache): provider-agnostic cache-mode delta + cc-agnostic prefix comparison ( #1868 )
2026-07-08 13:29:35 -07:00
test_onnx_runtime.py
fix(windows): unwedge compression on degraded ONNX runtimes (every request timing out at 30s, 0% savings) ( #822 )
2026-07-15 09:23:44 -05:00
test_openai_beta_session_sticky.py
fix: A6 — anthropic-beta and openai-beta deterministic merge + session-sticky
2026-05-02 09:53:37 -07:00
test_openai_chat_turn_hooks.py
Tejas/turn hooks extension ( #1903 )
2026-07-09 07:49:06 -07:00
test_openai_codex_routing.py
fix(proxy): dedupe Codex WS request logging for accurate mixed-provider dashboards ( #2189 )
2026-07-15 18:18:34 +00:00
test_openai_codex_ws_lifecycle.py
fix(proxy): support Codex WS compatible gateways ( #1281 )
2026-07-15 20:36:27 +00:00
test_openai_codex_ws_timings.py
fix(proxy): dedupe Codex WS request logging for accurate mixed-provider dashboards ( #2189 )
2026-07-15 18:18:34 +00:00
test_openai_max_completion_tokens.py
fix(proxy/openai): translate max_tokens -> max_completion_tokens on chat path ( #1774 )
2026-07-07 23:08:11 -05:00
test_openai_responses_compression_units.py
fix(proxy): batch small Codex Responses tool outputs ( #2239 )
2026-07-15 19:57:50 +00:00
test_openai_responses_context_compaction.py
fix(memory): honor explicit store=false on Responses requests ( #2017 )
2026-07-13 09:47:07 -04:00
test_openai_responses_output_shaper.py
Wire OpenAI Responses output shaping ( #1438 )
2026-07-05 13:59:21 -07:00
test_openai_responses_t3_replay_regression.py
Rename tool output compression parallelism env
2026-06-04 14:54:21 +10:00
test_openai_responses_traffic_learner.py
fix(learn): ingest OpenAI Responses HTTP traffic ( #2167 )
2026-07-14 11:52:54 -04:00
test_openai_streaming_backend.py
Commit message:
2026-03-13 16:49:18 -07:00
test_openai_tool_search_deferral.py
fix(proxy): preserve terminal tool on Codex Responses ( #2000 )
2026-07-10 16:17:25 -07:00
test_optional_dependencies.py
fix(install): add orjson to [proxy] extra for LiteLLM provider backends ( #2074 )
2026-07-13 09:37:28 -04:00
test_outcome_records_5xx_as_failed.py
fix(proxy): count exhausted upstream 5xx as failed across all providers ( #1571 )
2026-07-09 17:07:08 -05:00
test_output_effort_policy.py
refactor(proxy): isolate output effort policy ( #1961 )
2026-07-10 23:53:00 -05:00
test_output_only_request_blocks.py
fix: strip output-only fallback blocks from request messages ( #1870 )
2026-07-13 14:01:48 -04:00
test_output_savings.py
Wire OpenAI Responses output shaping ( #1438 )
2026-07-05 13:59:21 -07:00
test_output_savings_cli.py
feat: output-token reduction — verbosity shaper, per-user learning, counterfactual savings ( #965 )
2026-06-16 21:06:43 -07:00
test_output_savings_policy.py
refactor(output): isolate savings policy ( #1947 )
2026-07-10 23:42:11 -05:00
test_output_shaper.py
fix(opencode): use local MCP config ( #1383 )
2026-07-06 06:22:15 -07:00
test_output_shaper_responses.py
feat(proxy): extend output shaping to the OpenAI Responses path (Codex HTTP + WS) ( #1943 )
2026-07-13 00:52:36 -04:00
test_output_shaping_rollup.py
feat(stats): per-bucket output-shaping savings in /stats-history ( #1819 )
2026-07-15 19:58:24 +00:00
test_output_steering.py
refactor(output): isolate verbosity steering ( #1940 )
2026-07-10 17:39:39 -05:00
test_output_turn_policy.py
refactor(proxy): isolate output turn policy ( #1962 )
2026-07-11 21:33:48 -05:00
test_output_verbosity_policy.py
refactor(proxy): isolate output verbosity policy ( #1963 )
2026-07-12 21:35:09 -07:00
test_owned_asset_encoding.py
fix: decode/encode owned config, state and template assets as UTF-8
2026-06-03 03:25:42 +08:00
test_package_init_lazy.py
fix(version): mark source-checkout builds as -dev ( #2072 )
2026-07-13 09:38:17 -04:00
test_parser.py
fix(agno): tolerate streaming tool-call SDK objects in parser ( #1312 ) ( #1336 )
2026-06-24 09:52:15 -05:00
test_paths.py
fix(paths): reject '.', '..', and NUL as plugin names ( #2132 )
2026-07-13 19:56:19 -04:00
test_paths_backward_compat.py
fix(wrap): track shared proxy clients with markers ( #877 )
2026-06-11 19:42:43 -05:00
test_perf_cli_filtering.py
fix(perf): surface RTK/CLI context-tool savings in perf and the session card ( #1433 )
2026-06-25 21:13:36 -07:00
test_perl_scanner_safety.py
fix(code): quarantine Perl parser from code-aware compression ( #2204 )
2026-07-14 20:18:51 -07:00
test_persistent_metrics.py
feat(dashboard): persist lifetime proxy metrics ( #2198 )
2026-07-15 18:18:13 +00:00
test_persistent_metrics_integration.py
feat(dashboard): persist lifetime proxy metrics ( #2198 )
2026-07-15 18:18:13 +00:00
test_persistent_metrics_persistence.py
feat(dashboard): persist lifetime proxy metrics ( #2198 )
2026-07-15 18:18:13 +00:00
test_pid_alive.py
fix(install): use Windows-safe PID liveness probe in runtime_status ( #1544 ) ( #1560 )
2026-07-01 17:13:11 -05:00
test_pipeline.py
test: apply linux ruff formatting
2026-04-23 08:49:50 -05:00
test_platform_feature_matrix.py
fix: harden persistent install startup ( #1851 )
2026-07-10 00:40:34 -04:00
test_platform_stabilization_functional.py
fix: harden persistent install startup ( #1851 )
2026-07-10 00:40:34 -04:00
test_plugin_manifests.py
chore: renormalize line endings to LF
2026-04-24 15:33:30 +02:00
test_plugins_hermes_retrieve.py
fix(ccr): make headroom_retrieve a hash-only full-content lookup ( #1532 )
2026-06-28 10:32:43 -07:00
test_pr208_changes.py
fix(proxy): defer file logging install to create_app()
2026-04-28 15:28:33 -07:00
test_pricing.py
feat(pricing): add DeepSeek V4 model pricing (deepseek-v4-flash, deepseek-v4-pro) ( #1168 )
2026-06-24 09:44:27 -05:00
test_pricing_litellm.py
fix(pricing): resolve MiniMax-M3 (provider prefix + pre-registration) ( #1186 )
2026-06-30 08:36:36 -05:00
test_pricing_litellm_model_resolution.py
fix(pricing): alias retired claude-3-sonnet to Sonnet-tier price, not Haiku ( #2095 )
2026-07-13 10:50:33 -04:00
test_probe_recorder.py
feat: probe-based retention scoring of recorded compression events ( #862 )
2026-06-11 13:02:36 -05:00
test_project_name_policy.py
Extract project name policy ( #1974 )
2026-07-11 10:26:20 -05:00
test_project_policy.py
refactor(proxy): isolate project attribution policy ( #1957 )
2026-07-10 23:50:27 -05:00
test_prometheus_obs_counters.py
feat(metrics): export compression-failed and kompress size-gate counters ( #1569 )
2026-07-14 13:25:24 -04:00
test_prometheus_stage_timing_concurrency.py
perf(proxy): reduce lock contention on stage-timing metrics
2026-04-20 22:08:09 +07:00
test_provider_aider.py
feat(proxy): per-project savings breakdown on the dashboard (claude, codex, aider, copilot, cursor) ( #803 )
2026-06-10 21:04:45 -05:00
test_provider_claude.py
chore: renormalize line endings to LF
2026-04-24 15:33:30 +02:00
test_provider_cloudcode_runtime.py
refactor(providers): split proxy route adapters ( #1934 )
2026-07-12 16:27:45 -05:00
test_provider_codex_endpoints.py
refactor(providers): split proxy route adapters ( #1934 )
2026-07-12 16:27:45 -05:00
test_provider_codex_headers.py
refactor(providers): split proxy route adapters ( #1934 )
2026-07-12 16:27:45 -05:00
test_provider_codex_images.py
refactor(providers): split proxy route adapters ( #1934 )
2026-07-12 16:27:45 -05:00
test_provider_codex_install.py
fix(codex): poll /wham/usage for subscription limits (handshake no longer sends x-codex-* headers) ( #924 )
2026-06-12 17:03:14 -05:00
test_provider_codex_model_metadata.py
refactor(providers): split proxy route adapters ( #1934 )
2026-07-12 16:27:45 -05:00
test_provider_codex_responses.py
refactor(providers): split proxy route adapters ( #1934 )
2026-07-12 16:27:45 -05:00
test_provider_codex_runtime.py
fix(ci): update tests to assert absence of requires_openai_auth (bug 3, #406 )
2026-05-06 12:18:47 -05:00
test_provider_codex_threads.py
fix(codex): discover updated Codex state stores ( #1889 )
2026-07-08 15:21:21 -07:00
test_provider_copilot_wrap.py
fix: respect COPILOT_PROVIDER_TYPE env var when provider_type is auto ( #549 )
2026-06-26 12:04:09 -05:00
test_provider_cortex_code.py
feat(providers): add Cortex Code (Snowflake CoCo) as a supported agent ( #1190 )
2026-06-21 22:18:47 -07:00
test_provider_cursor.py
feat(proxy): per-project savings breakdown on the dashboard (claude, codex, aider, copilot, cursor) ( #803 )
2026-06-10 21:04:45 -05:00
test_provider_display_classification.py
feat(proxy): show real upstream provider on dashboard for OpenAI-compatible endpoints ( #1594 )
2026-07-15 19:09:56 +00:00
test_provider_grok.py
feat(wrap): add first-class Grok CLI support ( #1823 )
2026-07-15 18:51:38 +00:00
test_provider_model_fallback.py
feat(anthropic): add Claude 5 family pricing & align current rates ( #1767 )
2026-07-03 12:09:35 -07:00
test_provider_model_metadata.py
refactor(providers): split proxy route adapters ( #1934 )
2026-07-12 16:27:45 -05:00
test_provider_openai_images.py
refactor(providers): split proxy route adapters ( #1934 )
2026-07-12 16:27:45 -05:00
test_provider_openai_responses.py
refactor(providers): split proxy route adapters ( #1934 )
2026-07-12 16:27:45 -05:00
test_provider_openclaw_wrap.py
fix(cli): proxy/perf/wrap UX cleanup + perf --hours correctness
2026-05-07 16:43:35 -07:00
test_provider_package_init.py
chore: renormalize line endings to LF
2026-04-24 15:33:30 +02:00
test_provider_proxy_routes.py
refactor(providers): split proxy route adapters ( #1934 )
2026-07-12 16:27:45 -05:00
test_provider_proxy_targets.py
refactor(providers): split proxy route adapters ( #1934 )
2026-07-12 16:27:45 -05:00
test_provider_registry.py
fix(proxy): dedupe Codex WS request logging for accurate mixed-provider dashboards ( #2189 )
2026-07-15 18:18:34 +00:00
test_provider_registry_extended.py
fix(bedrock): route ARNs via converse, named AWS profiles, and au. re… ( #1456 )
2026-07-02 22:51:05 -05:00
test_provider_route_specs.py
refactor(providers): split proxy route adapters ( #1934 )
2026-07-12 16:27:45 -05:00
test_provider_vertex_runtime.py
refactor(providers): split proxy route adapters ( #1934 )
2026-07-12 16:27:45 -05:00
test_providers_opencode_config.py
fix(opencode): expose headroom/* models in injected provider config ( #1716 )
2026-07-03 15:20:14 -07:00
test_providers_opencode_install.py
fix(opencode): write local MCP config ( #1381 )
2026-06-26 12:23:54 -05:00
test_proxy_anthropic_cache_stability.py
feat(cache): provider-agnostic cache-mode delta + cc-agnostic prefix comparison ( #1868 )
2026-07-08 13:29:35 -07:00
test_proxy_anthropic_compression_diagnostics.py
fix: A3 — byte-faithful Python forwarders; serialize canonical only when mutated
2026-05-02 09:02:10 -07:00
test_proxy_anthropic_model_sanitization.py
fix(proxy): strip 1m model suffix before upstream forwarding ( #1840 )
2026-07-06 08:33:45 -07:00
test_proxy_batch_integration.py
Add multi-provider batch API support with CCR post-processing
2026-01-24 11:41:18 -08:00
test_proxy_byte_faithful_forwarding.py
feat(proxy): add opt-in cost-aware model router ( #1706 ) ( #2205 )
2026-07-15 19:58:17 +00:00
test_proxy_cache_ttl_metrics.py
fix(proxy/cost): price cache savings by most-used model, not first-seen ( #2023 )
2026-07-13 09:37:58 -04:00
test_proxy_ccr.py
fix(ccr): make headroom_retrieve a hash-only full-content lookup ( #1532 )
2026-06-28 10:32:43 -07:00
test_proxy_codex_route_aliases.py
fix(proxy): stamp X-Client: codex on Responses endpoint for unidentified callers ( #1036 )
2026-06-17 11:45:20 -05:00
test_proxy_compress_endpoint.py
fix(proxy): offload /v1/compress to the compression executor to stop blocking the loop ( #1501 )
2026-06-28 13:14:20 -07:00
test_proxy_compression_executor.py
perf(proxy): cap compression workers to CPU count ( #1803 )
2026-07-05 14:01:23 -07:00
test_proxy_compression_headers.py
fix(proxy): strip inbound Content-Encoding on messages/chat forward ( #1970 )
2026-07-10 11:45:58 -04:00
test_proxy_config_qdrant_port.py
fix(proxy): fail soft on a bad HEADROOM_QDRANT_PORT during config construction ( #2141 )
2026-07-14 01:42:15 -04:00
test_proxy_config_rate_limit.py
fix(proxy): reject rate_limit_requests_per_minute=0 when limiting is enabled ( #2142 )
2026-07-14 12:14:06 -04:00
test_proxy_copilot_auth_hooks.py
fix(copilot): route mixed-model requests per model ( #1785 )
2026-07-08 09:42:37 -05:00
test_proxy_cors.py
fix(proxy): scope CORS to loopback + gate operator/content endpoints ( #1226 )
2026-06-21 00:50:55 -07:00
test_proxy_count_tokens_integration.py
Add multi-provider batch API support with CCR post-processing
2026-01-24 11:41:18 -08:00
test_proxy_dashboard_stats_cache.py
fix(dashboard): distinguish unavailable RTK from zero stats in Docker ( #1901 )
2026-07-09 09:39:16 -04:00
test_proxy_debug_endpoints.py
fix(security): block DNS-rebinding on /debug/* and /stats/reset via Host-header allowlist ( #605 )
2026-06-11 12:58:33 -05:00
test_proxy_disable_kompress.py
feat: add --disable-kompress-fallback to restore legacy PASSTHROUGH fallback ( #1185 )
2026-06-22 22:51:55 -05:00
test_proxy_eager_preload_bind.py
fix(proxy): bind before eager preload so a hung compressor load can't block startup ( #1500 )
2026-06-28 13:15:50 -07:00
test_proxy_extensions.py
fix(proxy): one bad extension no longer aborts proxy startup ( #2215 )
2026-07-14 22:50:03 -07:00
test_proxy_favicon_route.py
fix(proxy): serve /favicon.ico locally instead of tunneling upstream ( #1787 ) ( #1847 )
2026-07-07 23:36:10 -05:00
test_proxy_gemini_integration.py
Add multi-provider batch API support with CCR post-processing
2026-01-24 11:41:18 -08:00
test_proxy_gemini_native_integration.py
Add multi-provider batch API support with CCR post-processing
2026-01-24 11:41:18 -08:00
test_proxy_google_cloudcode_route_aliases.py
chore: format proxy route tests with ruff
2026-04-21 19:38:32 +00:00
test_proxy_handler_helpers.py
fix(proxy): compress Hermes scoped coding-agent passthrough ( #1815 )
2026-07-13 17:22:46 -05:00
test_proxy_handlers_batch.py
fix(proxy/batch): preserve sibling tool configs on Google batch requests ( #2177 )
2026-07-14 12:22:21 -04:00
test_proxy_hardening.py
feat(proxy): pilot hardening — inbound auth, security headers, audit log, air-gap switch ( #1537 )
2026-06-28 12:09:00 -07:00
test_proxy_health.py
fix(health): exclude kompress from aggregate readiness + adversarial PBT ( #2066 )
2026-07-13 09:37:07 -04:00
test_proxy_healthchecks.py
fix(docker): report source build version ( #1862 )
2026-07-08 13:32:04 -05:00
test_proxy_hooks_regression.py
test(proxy): align hooks regression test with Bug 3 recount semantics
2026-04-30 13:26:53 -07:00
test_proxy_loop_exception_health.py
fix(proxy): surface codex websocket loop failures in livez ( #1727 )
2026-07-03 13:33:55 -07:00
test_proxy_loopback_gating.py
feat(dashboard): persist lifetime proxy metrics ( #2198 )
2026-07-15 18:18:13 +00:00
test_proxy_memory_integration.py
test(memory): live tests for delete-via-[id] + dedup-hint mechanism
2026-05-19 22:18:15 -05:00
test_proxy_mode_benchmark.py
Rebrand proxy modes to token/cache and harden cache-mode stability
2026-04-04 14:32:07 -05:00
test_proxy_mode_policy.py
refactor(proxy): isolate proxy mode policy ( #1965 )
2026-07-11 00:00:03 -05:00
test_proxy_modes.py
Harden cache-mode immutability for OpenAI and fix stats mode reporting
2026-04-04 14:36:29 -05:00
test_proxy_openai_cache_key_integration.py
fix(proxy): include system/tools/sampling in cache key ( #1473 )
2026-06-30 16:29:20 -05:00
test_proxy_openai_cache_stability.py
fix(proxy): compress OpenCode tool schemas and embedded JSON ( #1535 )
2026-07-15 19:58:42 +00:00
test_proxy_openai_responses_bypass.py
fix: per-project memory storage so projects can no longer bleed memories (GH #462 )
2026-05-13 15:27:41 -07:00
test_proxy_openai_responses_integration.py
fix: stabilize codex compression, stats, and proxy lifecycle
2026-05-09 13:47:53 -07:00
test_proxy_openai_responses_stream_ccr.py
fix(proxy): preserve chatgpt responses streaming ( #2012 )
2026-07-11 00:10:02 -05:00
test_proxy_package_init.py
fix(proxy): lazy-import server to avoid fastapi crash ( #442 )
2026-06-10 12:44:23 -05:00
test_proxy_passthrough.py
refactor(providers): split proxy route adapters ( #1934 )
2026-07-12 16:27:45 -05:00
test_proxy_passthrough_integration.py
fix(proxy): allow HEAD method on catch-all passthrough route ( #2035 )
2026-07-12 13:54:58 -04:00
test_proxy_passthrough_transient_retry.py
fix(proxy): retry passthrough on transient upstream connection close ( #1513 )
2026-07-06 18:35:39 -05:00
test_proxy_per_provider_kompress.py
feat(proxy): per-provider Kompress enable/disable ( #1119 )
2026-06-22 15:07:10 -05:00
test_proxy_pipeline_lifecycle.py
fix(proxy): cancel retry backoff on shutdown ( #1834 )
2026-07-06 06:24:47 -07:00
test_proxy_project_savings.py
test: align savings schema assertions
2026-07-15 15:15:24 -05:00
test_proxy_request_scope.py
refactor(providers): split proxy route adapters ( #1934 )
2026-07-12 16:27:45 -05:00
test_proxy_retry_429.py
fix(proxy): cancel retry backoff on shutdown ( #1834 )
2026-07-06 06:24:47 -07:00
test_proxy_savings_history.py
test: align savings schema assertions
2026-07-15 15:15:24 -05:00
test_proxy_scalability.py
fix(proxy): support Windows selector loop on uvicorn < 0.36 ( #1655 )
2026-07-14 01:42:25 -04:00
test_proxy_semantic_cache_key.py
fix(proxy): include system/tools/sampling in cache key ( #1473 )
2026-06-30 16:29:20 -05:00
test_proxy_semantic_cache_key_integration.py
fix(proxy): include system/tools/sampling in cache key ( #1473 )
2026-06-30 16:29:20 -05:00
test_proxy_semantic_cache_key_policy.py
refactor(cache): isolate semantic key policy ( #1953 )
2026-07-10 23:49:27 -05:00
test_proxy_settings_endpoints.py
fix(proxy): dedupe Codex WS request logging for accurate mixed-provider dashboards ( #2189 )
2026-07-15 18:18:34 +00:00
test_proxy_stats_recent_requests.py
feat(dashboard): persist lifetime proxy metrics ( #2198 )
2026-07-15 18:18:13 +00:00
test_proxy_streaming_ratelimit_headers.py
fix(proxy): forward request-id headers on the streaming path ( #1100 ) ( #1258 )
2026-06-23 07:48:34 -05:00
test_proxy_streaming_request_logger.py
fix(stats): tag streamed output token source ( #2214 )
2026-07-15 18:17:24 +00:00
test_proxy_streaming_resilience.py
style: fix linting and formatting issues
2026-06-03 20:08:26 +05:30
test_proxy_system_prompt_immutable.py
fix: A3 — byte-faithful Python forwarders; serialize canonical only when mutated
2026-05-02 09:02:10 -07:00
test_proxy_telemetry_env.py
chore(telemetry): remove Supabase anonymous beacon; fix contact domain to headroomlabs.ai ( #1526 )
2026-06-27 22:48:26 -07:00
test_proxy_warmup.py
fix: align docs and prune dead compatibility surfaces
2026-05-09 14:07:59 -07:00
test_python_forwarder_mode_policy.py
Extract Python forwarder mode policy ( #1987 )
2026-07-11 00:06:37 -05:00
test_quality_retention.py
feat(rust): SmartCrusher PR4 — lossless-first default + CCR-Dropped restoration
2026-04-27 16:30:22 -07:00
test_query_log_policy.py
Extract query log policy ( #1984 )
2026-07-12 12:18:01 -04:00
test_quota_registry.py
chore: renormalize line endings to LF
2026-04-24 15:33:30 +02:00
test_rate_limit_policy.py
refactor(proxy): isolate rate limit policy ( #1954 )
2026-07-10 23:47:33 -05:00
test_read_maturation.py
feat(read-maturation): activity-based hold-back Read maturation (Mechanism B) ( #1068 )
2026-06-22 22:52:42 -05:00
test_read_maturation_handler_nobust.py
feat(read-maturation): activity-based hold-back Read maturation (Mechanism B) ( #1068 )
2026-06-22 22:52:42 -05:00
test_realignment_live_multi_turn.py
fix(security): allowlist GitGuardian-flagged test fixtures
2026-05-02 18:33:22 -07:00
test_release_version.py
fix(windows): pin UTF-8 encoding on text-mode subprocess calls ( #1311 )
2026-06-23 12:52:49 -05:00
test_release_workflows.py
chore(release): harden local artifact smokes ( #1824 )
2026-07-14 16:07:34 -04:00
test_relevance.py
feat(relevance): weight BM25 score_batch by corpus IDF ( #646 )
2026-06-05 14:15:44 -08:00
test_relevance_extra.py
feat(rust): retire python smart_crusher, ship rust-only via pyo3
2026-04-27 00:52:21 -07:00
test_relevance_split.py
feat(content-router): lossless-first dispatch, cross-turn dedup, and A7 lossy-after-fold ( #1818 )
2026-07-06 08:32:06 -07:00
test_reporting.py
feat: detect re-served tool results as over-compression waste signal ( #854 )
2026-06-11 13:07:04 -05:00
test_request_limit_policy.py
Extract request limit policy ( #1982 )
2026-07-10 23:55:11 -05:00
test_request_log_redaction_policy.py
Extract request log redaction policy ( #1968 )
2026-07-10 06:43:04 -07:00
test_request_outcome.py
fix(proxy): make budget enforcement actually work ( #885 )
2026-06-15 10:22:27 -05:00
test_reread_attribution.py
feat: attribute reread waste to over-compression via marker check ( #901 )
2026-06-13 10:43:35 -05:00
test_responses_cross_turn_dedup.py
fix(proxy): protect WebSearch/WebFetch tool results from lossy compression ( #2115 )
2026-07-14 11:52:26 -04:00
test_responses_pyo3_compression.py
fix: align docs and prune dead compatibility surfaces
2026-05-09 14:07:59 -07:00
test_responses_ws_pyo3_compression.py
fix: align docs and prune dead compatibility surfaces
2026-05-09 14:07:59 -07:00
test_retry_preserve_upstream_status.py
fix(proxy): preserve upstream 5xx status on retry exhaustion ( #1570 )
2026-07-09 17:07:26 -05:00
test_rtk_docker_availability.py
fix(dashboard): distinguish unavailable RTK from zero stats in Docker ( #1900 )
2026-07-08 19:13:23 -07:00
test_rtk_installer.py
fix: use rtk native Cursor hook instead of injecting .cursorrules ( #756 ) ( #1846 )
2026-07-07 23:31:54 -05:00
test_rtk_session_savings.py
fix(proxy): stop rtk stat failures from corrupting session baseline ( #1693 )
2026-07-07 12:21:33 -05:00
test_runtime_env.py
feat(proxy): hot-reload live env knobs so a reused proxy picks them up without a restart ( #1090 )
2026-06-18 09:50:50 -07:00
test_rust_core_smoke.py
fix: A0 — fail-loud rust core deployment smoke test
2026-05-02 17:52:37 -07:00
test_savings_ledger.py
fix(savings): don't bill free models at the $3/M fallback in the ledger ( #2147 )
2026-07-14 12:19:30 -04:00
test_savings_ledger_before_forwarded.py
test: align savings schema assertions
2026-07-15 15:15:24 -05:00
test_savings_tracker_zero_price.py
fix(proxy/savings): don't bill fallback rate for free (0-priced) models ( #2024 )
2026-07-13 09:47:17 -04:00
test_search_compressor.py
fix: improve error handling and add comprehensive test coverage
2026-01-27 16:08:36 -08:00
test_search_compressor_cjk.py
fix(search-compressor): CJK-aware relevance + harden Rust/Python parity ( #1749 )
2026-07-09 17:00:30 -05:00
test_security_validations.py
Fix security vulnerabilities in memory and CCR systems
2026-02-04 12:05:50 -08:00
test_semantic_cache_key_policy.py
refactor(proxy): isolate semantic cache key policy ( #1964 )
2026-07-11 21:35:52 -05:00
test_semantic_canonicalize.py
feat(cache): provider-agnostic cache-mode delta + cc-agnostic prefix comparison ( #1868 )
2026-07-08 13:29:35 -07:00
test_session_probes.py
feat: probe-based retention scoring of recorded compression events ( #862 )
2026-06-11 13:02:36 -05:00
test_shared_context.py
fix(shared_context): don't evict an unrelated entry on an update at capacity ( #2136 )
2026-07-13 19:57:32 -04:00
test_signals_keyword_parity.py
chore(transforms): retire dead text_compressor module (Phase 3e.3)
2026-04-29 21:14:36 -07:00
test_smart_crusher_toin_attachment.py
fix(smart-crusher): honor enable_ccr_marker on the opaque-blob path ( #1130 )
2026-06-22 11:11:46 -05:00
test_sqlite_graph_store.py
Add SQLiteGraphStore for bounded, persistent graph storage
2026-02-01 20:48:57 -08:00
test_sqlite_vector_index.py
fix(memory): batch onnx embeddings and sqlite-vec ops
2026-04-24 09:49:28 +00:00
test_sse_byte_buffer_policy.py
Extract SSE byte buffer policy ( #1979 )
2026-07-12 11:46:36 -04:00
test_sse_thinking_blocks.py
fix: emit unknown Anthropic content blocks verbatim in buffered-to-SSE conversion ( #1825 )
2026-07-09 21:45:40 -05:00
test_sse_utf8_split.py
[codex] fix(proxy): parse CRLF SSE event terminators ( #649 )
2026-06-10 21:16:00 -05:00
test_ssl_context.py
fix(tls): add HEADROOM_TLS_STRICT=0 toggle for corporate SSL inspection ( #1308 ) ( #1341 )
2026-06-24 09:51:30 -05:00
test_stage_timer.py
feat(proxy): add per-stage timings for Codex WS and Anthropic HTTP paths
2026-04-20 22:01:41 +07:00
test_startup_log_noise.py
fix: suppress LiteLLM provider banner before import ( #874 )
2026-06-11 15:10:20 -05:00
test_stateless_toin.py
feat(security): pilot hardening — stateless guarantee, model pinning, CI security gate ( #1515 )
2026-06-27 17:44:10 -07:00
test_stateless_writers.py
feat(security): pilot hardening — stateless guarantee, model pinning, CI security gate ( #1515 )
2026-06-27 17:44:10 -07:00
test_stats_new_input_savings_rate.py
feat(proxy): report new-content-relative input savings rate in /stats ( #2058 )
2026-07-12 18:48:19 -04:00
test_storage_backends.py
test: apply linux ruff formatting
2026-04-23 08:49:50 -05:00
test_strands_tokenizer.py
Count Strands reasoningContent, image, document, video tokens ( #111 follow-up)
2026-04-08 17:31:00 -07:00
test_streaming_usage_parser.py
fix(content-router,proxy): cache-safe text-block compression and online streaming usage
2026-05-08 15:20:54 -07:00
test_subprocess_encoding.py
fix(windows): unwedge compression on degraded ONNX runtimes (every request timing out at 30s, 0% savings) ( #822 )
2026-07-15 09:23:44 -05:00
test_subscription_base.py
chore: renormalize line endings to LF
2026-04-24 15:33:30 +02:00
test_subscription_client.py
chore: renormalize line endings to LF
2026-04-24 15:33:30 +02:00
test_subscription_contribution.py
fix(subscription): keep efficiency_pct from exceeding 100% ( #2121 )
2026-07-14 11:53:13 -04:00
test_subscription_tracker.py
fix(subscription): only reset 5h contribution on real rollover, not API jitter ( #1255 )
2026-06-26 14:13:44 -05:00
test_subscription_tracker_rtk_wired.py
fix(proxy): stop rtk stat failures from corrupting session baseline ( #1693 )
2026-07-07 12:21:33 -05:00
test_subscription_window_render.py
fix: PR #281 — synthesize 5h subscription window after Anthropic reset
2026-05-04 08:17:25 -07:00
test_system_compaction.py
feat: 3-layer context compression pipeline (L1+L2+L3) ( #1405 )
2026-07-15 19:58:51 +00:00
test_tag_protection_integration.py
Fix API integration test: use tool output not user message for tags
2026-03-26 11:46:55 -07:00
test_tag_protector_invariant.py
fix: A9 — tag protector discards wrap on placeholder loss
2026-05-02 18:01:24 -07:00
test_telemetry.py
chore(telemetry): remove Supabase anonymous beacon; fix contact domain to headroomlabs.ai ( #1526 )
2026-06-27 22:48:26 -07:00
test_telemetry_context.py
refactor(telemetry): centralize stack slug validation + cardinality cap
2026-04-17 18:42:41 +02:00
test_telemetry_warning.py
chore(telemetry): remove Supabase anonymous beacon; fix contact domain to headroomlabs.ai ( #1526 )
2026-06-27 22:48:26 -07:00
test_text_compressors.py
chore(transforms): retire dead text_compressor module (Phase 3e.3)
2026-04-29 21:14:36 -07:00
test_toin.py
fix: align docs and prune dead compatibility surfaces
2026-05-09 14:07:59 -07:00
test_toin_feedback.py
fix(ccr): make headroom_retrieve a hash-only full-content lookup ( #1532 )
2026-06-28 10:32:43 -07:00
test_toin_fixes.py
fix: B5 — TOIN observation-only refactor + per-tenant aggregation key
2026-05-02 16:24:03 -07:00
test_toin_full_integration.py
fix: B5 — TOIN observation-only refactor + per-tenant aggregation key
2026-05-02 16:24:03 -07:00
test_toin_integration.py
feat(rust): retire python smart_crusher, ship rust-only via pyo3
2026-04-27 00:52:21 -07:00
test_toin_observation_only.py
fix: align docs and prune dead compatibility surfaces
2026-05-09 14:07:59 -07:00
test_toin_publish.py
fix(toin): publish skip compression recommendations ( #1782 )
2026-07-07 23:14:54 -05:00
test_token_headroom_mode.py
fix(cache): extract tool_result content from list-of-blocks format ( #2092 )
2026-07-13 23:51:01 -04:00
test_tokenizer.py
chore: renormalize line endings to LF
2026-04-24 15:33:30 +02:00
test_tokenizer_count_offload.py
fix(proxy): bound HF tokenizer load and offload token counting off event loop ( #1738 )
2026-07-07 12:46:26 -05:00
test_tokenizers.py
fix(tokenizers): use o200k_base for gpt-4.1/gpt-4.5/o4 families ( #2108 )
2026-07-13 10:54:05 -04:00
test_tool_definition_serialization.py
refactor(proxy): extract tool definition serialization ( #1998 )
2026-07-15 18:36:52 +00:00
test_tool_injection_config.py
refactor(proxy): extract tool injection config ( #2010 )
2026-07-11 00:03:15 -05:00
test_tool_injection_logging.py
refactor(proxy): extract tool injection logging ( #2009 )
2026-07-12 12:11:28 -04:00
test_tool_injection_policy.py
refactor(proxy): extract tool injection policy ( #1995 )
2026-07-12 12:09:07 -04:00
test_tool_injection_tracker.py
refactor(proxy): extract tool injection tracker ( #2002 )
2026-07-12 11:48:33 -04:00
test_tool_name_policy.py
refactor(proxy): extract tool name policy ( #2008 )
2026-07-12 11:54:09 -04:00
test_tool_result_interceptors.py
fix(proxy): register interceptor in explicit transforms list when HEADROOM_INTERCEPT_ENABLED ( #1376 )
2026-06-24 20:58:02 -05:00
test_tool_schema_compaction.py
feat: 3-layer context compression pipeline (L1+L2+L3) ( #1405 )
2026-07-15 19:58:51 +00:00
test_tool_schema_savings_policy.py
Extract tool schema savings policy ( #1971 )
2026-07-11 10:10:21 -05:00
test_transforms_config_compressor.py
feat(config): fold TOML array-of-tables to csv-schema via SmartCrusher ( #1799 )
2026-07-15 19:58:27 +00:00
test_transforms_content_detection.py
feat(cache): provider-agnostic cache-mode delta + cc-agnostic prefix comparison ( #1868 )
2026-07-08 13:29:35 -07:00
test_transforms_content_router.py
fix(transforms): guard Log fallback against invalid JSON + fix MIXED false-positive on source code ( #1347 )
2026-07-15 20:36:20 +00:00
test_transforms_log_compressor.py
feat(rust): port log_compressor to Rust + bug fixes (Phase 3e.5)
2026-04-29 20:47:49 -07:00
test_transforms_package.py
chore: renormalize line endings to LF
2026-04-24 15:33:30 +02:00
test_transforms_search_compressor.py
fix(ccr): key Rust search/diff/log markers with explicit_hash ( #852 )
2026-06-11 13:08:05 -05:00
test_transforms_stack_traces.py
feat(transforms): language-aware stack-trace collapse for Go/Rust/.NET/Java/Node ( #1791 )
2026-07-15 19:58:30 +00:00
test_transforms_tabular.py
fix(transforms): pass through ragged tables instead of misaligning columns ( #1713 )
2026-07-07 12:45:46 -05:00
test_turn_hooks.py
feat(proxy): add turn-hook extension point for buffered model turns ( #1891 )
2026-07-08 17:38:45 -07:00
test_update_check.py
feat(cli): add headroom update command and release banner ( #1088 )
2026-06-18 11:22:20 -05:00
test_update_helpers.py
fix(update): let Windows self-update replace headroom.exe ( #2016 )
2026-07-14 11:52:47 -04:00
test_usage_reporter_snapshot.py
fix(telemetry): only advance usage-report baseline after a 200 ( #2149 )
2026-07-14 12:19:43 -04:00
test_utils.py
test: add missing type hints to FakeProvider in test_utils ( #631 )
2026-06-10 21:15:16 -05:00
test_verbosity_controller.py
feat: output-token reduction — verbosity shaper, per-user learning, counterfactual savings ( #965 )
2026-06-16 21:06:43 -07:00
test_verbosity_learn.py
fix(learn): don't desync verbosity pairing on empty assistant turns ( #2123 )
2026-07-14 12:04:32 -04:00
test_vertex_claude_compression.py
fix(proxy/vertex): route google-publisher requests to the request region ( #2069 )
2026-07-13 00:46:25 -04:00
test_websearch_tool_result_protection.py
fix(proxy): protect WebSearch/WebFetch tool results from lossy compression ( #2115 )
2026-07-14 11:52:26 -04:00
test_wire_debug_format_policy.py
Extract wire debug format policy ( #1978 )
2026-07-12 12:17:18 -04:00
test_wire_debug_redaction_policy.py
Extract wire debug redaction policy ( #1972 )
2026-07-11 21:36:46 -05:00
test_ws_http_fallback.py
fix(proxy): restore Codex usage headers on WS and streaming SSE transports ( #577 ) ( #794 )
2026-06-09 15:55:53 -05:00
test_ws_memory_relay.py
Fix CI lint errors and test failures
2026-04-14 18:23:06 -07:00
test_ws_session_registry.py
feat(proxy): track Codex WS sessions and cancel relay tasks deterministically
2026-04-20 22:01:41 +07:00