..
cli
Add Click-based CLI with memory management commands
2026-01-29 21:30:21 -08:00
fixtures /memory_tool_definitions
fix(memory): expose memory IDs in auto-tail + memory_list tool + ID-usage guidance
2026-05-19 22:10:42 -05:00
integrations /test_strands
feat: Add AWS Strands Agents SDK integration
2026-01-31 00:31:37 -08:00
parity
fix(proxy): restore Codex usage headers on WS and streaming SSE transports ( #577 ) ( #794 )
2026-06-09 15:55:53 -05:00
test_backends
fix(proxy): Strands MCP bundle + backend path fixes + Codex fail-closed protection
2026-05-21 11:00:14 -07:00
test_cache
fix(cache): name the missing piece in semantic detector guard ( #1018 )
2026-06-15 16:29:52 -05:00
test_cli
fix(unwrap): remove ANTHROPIC_BASE_URL + ENABLE_TOOL_SEARCH and init hooks on unwrap ( #992 )
2026-06-19 11:30:59 -05:00
test_compression
fix(compression): use thread-local tree-sitter parsers in code handler ( #893 )
2026-06-15 16:38:08 -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
fix(init): set ENABLE_TOOL_SEARCH=true so Claude Code keeps deferring tools ( #746 ) ( #995 )
2026-06-19 11:26:26 -05:00
test_integrations
fix: B1 — retire ICM, RollingWindow, scoring, relevance + dependents
2026-05-02 12:23:17 -07:00
test_learn
fix(learn): scan subagent and workflow transcripts ( #1045 )
2026-06-16 12:20:37 -07:00
test_live
feat: compression extraction — Rust knob exposure, CCR hardening, traffic audits ( #818 )
2026-06-16 20:21:13 -07:00
test_mcp_registry
fix(mcp): honor CLAUDE_CONFIG_DIR for Claude registrar ( #886 )
2026-06-15 22:07:31 -05:00
test_memory
feat(memory): add opt-in Apple-GPU (MPS) embedding runtime ( #766 )
2026-06-11 12:59:20 -05:00
test_providers
fix(providers): update DeepSeek V3 context limit from 128K to 1M ( #1038 ) ( #1137 )
2026-06-18 10:38:24 -07:00
test_proxy
feat(proxy): cc-switch reconciler — keep Headroom in the request path alongside cc-switch ( #1030 )
2026-06-17 08:41:16 -05: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
fix(kompress): never block the request path on the cold-cache model download ( #1161 )
2026-06-19 11:33:05 -05: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
conftest.py
fix: B1 — retire ICM, RollingWindow, scoring, relevance + dependents
2026-05-02 12:23:17 -07: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_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
Diversity-aware SmartCrusher: keep unique items, compress text within
2026-03-25 23:57:24 -07: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
feat: add dashboard agent usage stats ( #814 )
2026-06-12 14:12:22 -05: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_pre_upstream_backpressure.py
refactor(proxy): migrate Gemini + Anthropic non-streaming onto outcome funnel
2026-05-14 19:38:54 -07:00
test_anthropic_stage_timings.py
fix: B1 — retire ICM, RollingWindow, scoring, relevance + dependents
2026-05-02 12:23:17 -07:00
test_audit_codex.py
feat: compression extraction — Rust knob exposure, CCR hardening, traffic audits ( #818 )
2026-06-16 20:21:13 -07: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
feat: add dashboard agent usage stats ( #814 )
2026-06-12 14:12:22 -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(tests): stop module-level dotenv loaders from polluting os.environ during pytest collection
2026-04-26 09:15:37 -07: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_bedrock_region.py
fix(tests): stop module-level dotenv loaders from polluting os.environ during pytest collection
2026-04-26 09:15:37 -07: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_canonical_pipeline.py
fix: align docs and prune dead compatibility surfaces
2026-05-09 14:07:59 -07:00
test_ccr.py
feat: compression extraction — Rust knob exposure, CCR hardening, traffic audits ( #818 )
2026-06-16 20:21:13 -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): scope proactive expansion by workspace (cross-project leak)
2026-05-26 13:23:51 -07:00
test_ccr_feedback.py
Fix all ruff lint and format errors for CI
2026-01-10 15:33:44 -08:00
test_ccr_mcp_server.py
fix(ccr): use shared compression store ( #875 )
2026-06-11 18:41:39 -05:00
test_ccr_response_handler.py
fix(ccr): skip CCR when model calls headroom_retrieve alongside user tools ( #839 )
2026-06-10 21:12:26 -05:00
test_ccr_response_handler_extra.py
fix: B1 — retire ICM, RollingWindow, scoring, relevance + dependents
2026-05-02 12:23:17 -07:00
test_ccr_row_drop_store_bridge.py
feat: compression extraction — Rust knob exposure, CCR hardening, traffic audits ( #818 )
2026-06-16 20:21:13 -07: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_sqlite_backend.py
feat: compression extraction — Rust knob exposure, CCR hardening, traffic audits ( #818 )
2026-06-16 20:21:13 -07:00
test_ccr_tool_always_on.py
fix: B7 — CCR hardening: persistent backends + always-on tool
2026-05-02 16:52:33 -07:00
test_ccr_tool_injection.py
fix(ccr): accept 12-char SmartCrusher hashes in tool injection ( #1095 ) ( #1141 )
2026-06-18 22:56:53 -07: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_doctor.py
feat(cli): add headroom doctor setup diagnostics ( #926 )
2026-06-17 23:28:23 -05:00
test_cli_learn.py
fix(learn): scan subagent and workflow transcripts ( #1045 )
2026-06-16 12:20:37 -07: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_env.py
fix(proxy): make budget enforcement actually work ( #885 )
2026-06-15 10:22:27 -05:00
test_cli_proxy_improvements.py
feat(cli): comprehensive help text, validation, and exception handling improvements ( #640 )
2026-06-10 20:53:18 -05:00
test_cli_tools.py
test: apply linux ruff formatting
2026-04-23 08:49:50 -05:00
test_cli_update.py
feat(cli): add headroom update command and release banner ( #1088 )
2026-06-18 11:22:20 -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_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
test(codex): de-flake semaphore-tail ratio check on fast runners
2026-06-03 23:57:31 -07: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
chore: renormalize line endings to LF
2026-04-24 15:33:30 +02:00
test_compress_failure.py
chore: renormalize line endings to LF
2026-04-24 15:33:30 +02: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_observability.py
fix: expose compression latency bottlenecks
2026-05-12 13:34:08 -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
feat: compression extraction — Rust knob exposure, CCR hardening, traffic audits ( #818 )
2026-06-16 20:21:13 -07: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
Compress Codex Responses payloads
2026-05-10 17:27:47 -07: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_copilot_auth.py
fix: support Copilot Business subscription auth ( #641 )
2026-06-12 20:46:38 -05: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
chore: renormalize line endings to LF
2026-04-24 15:33:30 +02: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_cost_tracker_counterfactual.py
fix(proxy): make budget enforcement actually work ( #885 )
2026-06-15 10:22:27 -05: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: B5 — TOIN observation-only refactor + per-tenant aggregation key
2026-05-02 16:24:03 -07:00
test_dashboard_agent_usage.py
feat: add dashboard agent usage stats ( #814 )
2026-06-12 14:12:22 -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
ci: run dashboard playwright tests in a dedicated job ( #921 )
2026-06-12 10:20:37 -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_exceptions.py
chore: renormalize line endings to LF
2026-04-24 15:33:30 +02:00
test_forwarded_headers.py
fix(proxy): F4 — trust X-Forwarded-* only behind allow-listed gateway
2026-05-06 14:37:09 -07: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_google_multimodal.py
fix: correct preserved-entry index mapping in Gemini content round-trip ( #836 )
2026-06-10 21:10:56 -05: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_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: A5 — strip x-headroom-* from upstream-bound headers (P5-49)
2026-05-02 09:35:27 -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_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_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_issue_728_empty_tools_injection.py
fix: don't inject empty tools:[] when client omitted the tools field ( #772 )
2026-06-08 21:55:59 -08:00
test_issue_746_tool_search.py
fix: preserve Claude Code tool-search deferral through the proxy ( #746 ) ( #753 )
2026-06-08 11:20:48 -07:00
test_kompress_preload_deferral.py
fix(proxy): make Kompress eager preload cache-only so a cold cache can't block startup ( #783 )
2026-06-11 12:53:03 -05:00
test_kompress_request_nonblocking.py
fix(kompress): never block the request path on the cold-cache model download ( #1161 )
2026-06-19 11:33:05 -05:00
test_lean_ctx_installer.py
feat: add lean-ctx context tool support
2026-05-11 17:54:17 -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_log_compressor.py
fix: improve error handling and add comprehensive test coverage
2026-01-27 16:08:36 -08: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
Add Memory Bridge: bidirectional sync between markdown files and Headroom memory
2026-02-23 22:45:38 -08: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_eval.py
Add hierarchical memory system with graph + vector storage
2026-01-26 21:58:47 -08:00
test_memory_handler_concurrent_init.py
fix: add anthropic pre-upstream timeouts
2026-04-21 09:48:32 +07:00
test_memory_handler_native_ops.py
fix(memory): expose memory IDs in auto-tail + memory_list tool + ID-usage guidance
2026-05-19 22:10:42 -05: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_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_ranker.py
Merge remote-tracking branch 'origin/main' into refactor/memory-tool-handles
2026-05-19 22:17:20 -05:00
test_memory_storage_router.py
fix(memory): READ-ONLY framing + fail-closed unresolved-project fallback
2026-05-26 14:32:08 -07:00
test_memory_sync.py
fix: harden learn path handling across platforms
2026-05-09 15:45:26 -07: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_ml_model_registry_lifecycle.py
fix: release image router models after compression
2026-04-29 01:45:27 -04:00
test_models.py
Fix pricing lookup for retired Claude models
2026-03-12 21:11:18 -07: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_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
feat: add OTEL observability core
2026-04-09 21:20:34 -05:00
test_observability_tracing.py
feat: add OTEL observability core
2026-04-09 21:20:34 -05:00
test_onnx_runtime.py
fix(onnx): reduce retained cpu memory
2026-04-20 22:31:48 +00: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_codex_routing.py
feat: add dashboard agent usage stats ( #814 )
2026-06-12 14:12:22 -05:00
test_openai_codex_ws_lifecycle.py
fix(proxy): stamp X-Client: codex on Responses endpoint for unidentified callers ( #1036 )
2026-06-17 11:45:20 -05:00
test_openai_codex_ws_timings.py
fix(proxy): restore Codex usage headers on WS and streaming SSE transports ( #577 ) ( #794 )
2026-06-09 15:55:53 -05:00
test_openai_responses_compression_units.py
fix(proxy): honor HEADROOM_EXCLUDE_TOOLS for Codex /v1/responses tool outputs ( #940 ) ( #1053 )
2026-06-19 08:54:02 -05:00
test_openai_responses_context_compaction.py
fix: schema compaction must not drop property names that match DROP_KEYS ( #785 )
2026-06-09 16:29:18 -05:00
test_openai_responses_t3_replay_regression.py
Rename tool output compression parallelism env
2026-06-04 14:54:21 +10:00
test_openai_streaming_backend.py
Commit message:
2026-03-13 16:49:18 -07:00
test_output_savings.py
feat: output-token reduction — verbosity shaper, per-user learning, counterfactual savings ( #965 )
2026-06-16 21:06:43 -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_shaper.py
feat: output-token reduction — verbosity shaper, per-user learning, counterfactual savings ( #965 )
2026-06-16 21:06:43 -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
chore(imports): lazy-load dynamic detector ML imports ( #597 )
2026-06-13 10:50:42 -05:00
test_parser.py
feat(parser): detect re-issued identical tool calls as reread waste ( #909 )
2026-06-12 17:16:56 -05:00
test_paths.py
feat: add lean-ctx context tool support
2026-05-11 17:54:17 -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_pipeline.py
test: apply linux ruff formatting
2026-04-23 08:49:50 -05:00
test_plugin_manifests.py
chore: renormalize line endings to LF
2026-04-24 15:33:30 +02:00
test_plugins_hermes_retrieve.py
feat(plugins): Hermes agent headroom_retrieve plugin ( #824 )
2026-06-11 18:43:10 -05: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
chore: renormalize line endings to LF
2026-04-24 15:33:30 +02:00
test_pricing_litellm.py
chore: renormalize line endings to LF
2026-04-24 15:33:30 +02:00
test_probe_recorder.py
feat: probe-based retention scoring of recorded compression events ( #862 )
2026-06-11 13:02:36 -05: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_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_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): retag thread providers so history menu stays whole across the proxy boundary ( #1034 )
2026-06-16 15:13:21 -05:00
test_provider_copilot_wrap.py
feat: add Copilot BYOK provider wrapper utilities and CLI support ( #1041 )
2026-06-16 12:07:10 -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_model_fallback.py
Fix CI regressions for cache benchmark work
2026-04-04 22:33:44 -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
fix: route v1internal code assist requests to cloudcode-pa.googleapis… ( #821 )
2026-06-16 14:58:44 -05:00
test_provider_registry.py
feat: add Vertex AI proxy routing ( #793 )
2026-06-09 23:05:30 -07:00
test_provider_registry_extended.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_proxy_anthropic_cache_stability.py
fix: integrate B6+B7 — fix cross-test contamination + injector mock parity
2026-05-02 17:05:58 -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_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
fix: A3 — byte-faithful Python forwarders; serialize canonical only when mutated
2026-05-02 09:02:10 -07:00
test_proxy_cache_ttl_metrics.py
feat: expose proxy OTEL metrics and Langfuse status
2026-04-09 21:20:46 -05:00
test_proxy_ccr.py
feat: compression extraction — Rust knob exposure, CCR hardening, traffic audits ( #818 )
2026-06-16 20:21:13 -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
Add TypeScript SDK (headroom-ai npm package)
2026-03-26 15:41:56 -07:00
test_proxy_compression_executor.py
fix: expose compression latency bottlenecks
2026-05-12 13:34:08 -07:00
test_proxy_compression_headers.py
fix: strip accept-encoding from forwarded proxy headers
2026-04-15 11:40:11 -07:00
test_proxy_copilot_auth_hooks.py
fix(proxy): thread tags into 13 outcome sites + synth /v1/models + free-fn _extract_tags
2026-05-15 19:15:48 -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
feat: measure and surface token throughput (tokens/sec) through the proxy ( #983 )
2026-06-17 09:42:38 -05: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
fix: --disable-kompress should not override fallback_strategy to PASSTHROUGH ( #1046 )
2026-06-16 14:47:45 -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(codex): poll /wham/usage for subscription limits (handshake no longer sends x-codex-* headers) ( #924 )
2026-06-12 17:03:14 -05:00
test_proxy_handlers_batch.py
fix(proxy): thread tags into 13 outcome sites + synth /v1/models + free-fn _extract_tags
2026-05-15 19:15:48 -07:00
test_proxy_healthchecks.py
feat(proxy): add agent-90 savings profile ( #830 )
2026-06-11 18:58:06 -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_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_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_stability.py
fix: A3 — byte-faithful Python forwarders; serialize canonical only when mutated
2026-05-02 09:02:10 -07: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_package_init.py
fix(proxy): lazy-import server to avoid fastapi crash ( #442 )
2026-06-10 12:44:23 -05:00
test_proxy_passthrough_integration.py
fix: B1 — retire ICM, RollingWindow, scoring, relevance + dependents
2026-05-02 12:23:17 -07:00
test_proxy_pipeline_lifecycle.py
feat: probe-based retention scoring of recorded compression events ( #862 )
2026-06-11 13:02:36 -05:00
test_proxy_project_savings.py
fix(wrap): percent-encode non-ASCII cwd names in X-Headroom-Project header ( #1071 )
2026-06-18 11:19:43 -05:00
test_proxy_savings_history.py
feat(dashboard): per-model savings breakdown and expected-vs-actual cost on historical charts ( #807 )
2026-06-10 23:53:57 -05:00
test_proxy_scalability.py
feat: compression extraction — Rust knob exposure, CCR hardening, traffic audits ( #818 )
2026-06-16 20:21:13 -07:00
test_proxy_stats_recent_requests.py
feat: add dashboard agent usage stats ( #814 )
2026-06-12 14:12:22 -05:00
test_proxy_streaming_ratelimit_headers.py
fix(proxy): restore Codex usage headers on WS and streaming SSE transports ( #577 ) ( #794 )
2026-06-09 15:55:53 -05:00
test_proxy_streaming_request_logger.py
feat(proxy): log compressed messages alongside original request ( #261 )
2026-06-11 19:02:54 -05: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
feat: allow overriding proxy telemetry sdk via HEADROOM_SDK
2026-03-27 14:23:32 +01:00
test_proxy_warmup.py
fix: align docs and prune dead compatibility surfaces
2026-05-09 14:07:59 -07:00
test_quality_retention.py
feat(rust): SmartCrusher PR4 — lossless-first default + CCR-Dropped restoration
2026-04-27 16:30:22 -07:00
test_quota_registry.py
chore: renormalize line endings to LF
2026-04-24 15:33:30 +02: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
chore: renormalize line endings to LF
2026-04-24 15:33:30 +02:00
test_release_workflows.py
feat: add dashboard agent usage stats ( #814 )
2026-06-12 14:12:22 -05: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_reporting.py
feat: detect re-served tool results as over-compression waste signal ( #854 )
2026-06-11 13:07:04 -05: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_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_rtk_installer.py
feat(cli): add Docker-native install flow and parity docs
2026-04-10 23:27:24 -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_search_compressor.py
fix: improve error handling and add comprehensive test coverage
2026-01-27 16:08:36 -08:00
test_security_validations.py
Fix security vulnerabilities in memory and CCR systems
2026-02-04 12:05:50 -08: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
Add SharedContext for multi-agent, rewrite README, fix proxy cleanup
2026-03-17 16:31:04 -07: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): re-land orphaned audit close-out — CCR knob + scorer fail-loud
2026-04-28 18:37:52 -07: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_thinking_blocks.py
fix: A8 — SSE delta arms, UTF-8 buffer, phase preservation, request-id, 413
2026-05-02 10:35:11 -07: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(proxy): treat NODE_EXTRA_CA_CERTS as additive, not replacement ( #998 ) ( #1031 )
2026-06-17 11:41:49 -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_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_strategy_stats_supabase.py
feat(telemetry): surface per-strategy compression counters
2026-04-29 14:14:09 -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_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_tracker.py
fix(subscription): wire tokens_saved_rtk from RTK stats endpoint
2026-05-22 13:48:42 -07:00
test_subscription_tracker_rtk_wired.py
fix(proxy): read RTK gain stats globally by default ( #957 )
2026-06-13 21:21:38 -07: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_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
fix(telemetry): honour HEADROOM_TELEMETRY=off in /v1/telemetry collector ( #390 )
2026-05-05 11:30:10 -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
feat: add lean-ctx context tool support
2026-05-11 17:54:17 -04: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: log Codex ws cancellations safely
2026-05-10 09:06:07 -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: B5 — TOIN observation-only refactor + per-tenant aggregation key
2026-05-02 16:24:03 -07:00
test_token_headroom_mode.py
fix: complete /v1/responses compression telemetry, multi-frame WS, frozen-count cap
2026-05-07 14:50:03 -07:00
test_tokenizer.py
chore: renormalize line endings to LF
2026-04-24 15:33:30 +02:00
test_tokenizers.py
fix: correct tiktoken encoding for unknown gpt-4 model snapshots ( #552 )
2026-06-03 13:12:16 -07:00
test_tool_result_interceptors.py
fix(review-3): address third-pass PR #210 feedback
2026-04-20 20:24:47 -07:00
test_transforms_content_detection.py
test: align test_error_detection with Phase 3e.1 bug fixes
2026-04-29 16:10:08 -07:00
test_transforms_content_router.py
fix: pure-Python content detector default on Windows (clean) ( #1063 )
2026-06-16 20:48:48 -05: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_tabular.py
feat(transforms): tabular + spreadsheet (.xlsx/.xls) compression ( #1128 )
2026-06-19 11:30:20 -05: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
feat(cli): add headroom update command and release banner ( #1088 )
2026-06-18 11:22:20 -05: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
feat: output-token reduction — verbosity shaper, per-user learning, counterfactual savings ( #965 )
2026-06-16 21:06:43 -07:00
test_vertex_claude_compression.py
feat(vertex): turnkey Claude Code + Vertex compression (+ fixes from the Vertex review) ( #1113 )
2026-06-18 00:56:23 -07: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