Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
This report presents the forensic synthetic code analysis of headroomlabs-ai/headroom, a Python project with 59,070 GitHub stars. SynthScan v2.0 examined 551,102 lines of code across 1703 source files, recording 15064 pattern matches distributed across 26 syntactic categories. The overall adjusted score of 39.5 places this repository in the Strong AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 15064 distinct pattern matches across 26 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | Cargo.toml | 89 | # ── Release profile — wheel size optimization ─────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/config/pipeline.toml | 35 | # ─── Per-domain bloat estimator config ────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/config/pipeline.toml | 79 | # ─── Reformat configs ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/config/pipeline.toml | 106 | # ─── JSON-array offload config (SmartCrusher wrapper) ───────────── | COMMENT |
| MEDIUM | crates/headroom-core/config/pipeline.toml | 122 | # ─── Diff-noise offload config ───────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/tests/ccr_backends.rs | 155 | // ─── Redis-feature-gated tests ───────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/tests/auth_mode.rs | 27 | // ── Required matrix ────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/tests/auth_mode.rs | 96 | // ── Bonus matrix ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/tests/auth_mode.rs | 152 | // ── Performance ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/tests/live_zone_dispatch.rs | 81 | // ─── Routing tests ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/tests/live_zone_dispatch.rs | 343 | // ─── Cache-safety invariant ──────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/tests/ccr_roundtrip.rs | 226 | // ─── PR8 additions: marker injection + walker unification ────────── | COMMENT |
| MEDIUM | crates/headroom-core/tests/ccr_roundtrip.rs | 364 | // ─── helpers ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/tests/cache_control.rs | 199 | // ─── Property tests ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/benches/ccr_store.rs | 26 | // ─── Baseline: the old single-Mutex<HashMap> design ──────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/auth_mode.rs | 122 | // ── User-Agent ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/auth_mode.rs | 147 | // ── Authorization header ───────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/auth_mode.rs | 193 | // ── Vendor-specific API-key headers ────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/auth_mode.rs | 204 | // ── Default ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/unidiff_detector.rs | 100 | // ─── Tests ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/diff_compressor.rs | 47 | // ─── Score-weight constants ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/diff_compressor.rs | 74 | // ─── Public API ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/diff_compressor.rs | 530 | // ─── Internal types ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/diff_compressor.rs | 580 | // ─── Parser ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/diff_compressor.rs | 826 | // ─── Scoring ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/diff_compressor.rs | 879 | // ─── Hunk selection (max_hunks_per_file cap) ─────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/diff_compressor.rs | 962 | // ─── Context trimming ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/diff_compressor.rs | 1045 | // ─── Output formatter ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/diff_compressor.rs | 1115 | // ─── Helpers ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/diff_compressor.rs | 1179 | // ─── Tests ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/diff_compressor.rs | 1277 | // ─── Lossy-path tests ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/diff_compressor.rs | 1477 | // ─── Bug-fix tests (rename/combined-diff/no-newline/pre-diff) ────────── | COMMENT |
| MEDIUM⚡ | crates/headroom-core/src/transforms/magika_detector.rs | 487 | // ── JSON ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | crates/headroom-core/src/transforms/magika_detector.rs | 494 | // ── Diffs ────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | crates/headroom-core/src/transforms/magika_detector.rs | 497 | // ── HTML ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | crates/headroom-core/src/transforms/magika_detector.rs | 500 | // ── Source code ──────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | crates/headroom-core/src/transforms/magika_detector.rs | 511 | // ── Plain text-ish ───────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | crates/headroom-core/src/transforms/magika_detector.rs | 519 | // ── Default: passthrough ─────────────────────────────────── | COMMENT |
| MEDIUM⚡ | crates/headroom-core/src/transforms/magika_detector.rs | 524 | // ─── Tests ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/live_zone.rs | 112 | // ─── Tunable constants (no magic numbers in the dispatch logic) ──────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/live_zone.rs | 140 | // ─── Per-content-type byte thresholds ────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/live_zone.rs | 188 | // ─── Public types ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/live_zone.rs | 524 | // ─── Compressor singletons ───────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/live_zone.rs | 552 | // ─── Public entry point ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/live_zone.rs | 808 | // ─── Internal helpers ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/live_zone.rs | 1730 | // ─── Manifest accessor helpers (consumed by PyO3 binding) ───────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/live_zone.rs | 1836 | // ─── OpenAI Chat Completions live-zone dispatcher (Phase C PR-C2) ──────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/live_zone.rs | 2269 | // ─── OpenAI Responses live-zone dispatcher (Phase C PR-C3) ──────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/detection.rs | 63 | // ── Tier 1: Magika ────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/detection.rs | 83 | // ── Tier 2: unidiff parser ────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/detection.rs | 88 | // ── Tier 3: fallthrough ───────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/content_detector.rs | 83 | // ─── Regex patterns (compiled once, shared) ─────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/content_detector.rs | 108 | // ─── Code patterns by language ───────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/content_detector.rs | 170 | // ─── Log / build output patterns ─────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/content_detector.rs | 191 | // ─── HTML patterns ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/content_detector.rs | 207 | // ─── Public entry point ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/content_detector.rs | 272 | // ─── Per-type detection helpers ──────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/tag_protector.rs | 738 | // ─── Tiny byte-search helper ────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/tag_protector.rs | 945 | // ─── Bug-fix tests (fixed_in_3e4) ───────────────────────────────── | COMMENT |
| MEDIUM | crates/headroom-core/src/transforms/tag_protector.rs | 1017 | // ─── Edge-case correctness ──────────────────────────────────────── | COMMENT |
| 2330 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ates/headroom-core/src/transforms/search_compressor.rs | 13 | //! src/models.py:15:class DataProcessor: | COMMENT |
| LOW⚡ | plugins/headroom-oauth2/tests/test_oauth2.py | 288 | def test_install_noop_when_unset(monkeypatch): | CODE |
| LOW⚡ | plugins/headroom-oauth2/tests/test_oauth2.py | 298 | def test_install_fail_closed_on_bad_config(monkeypatch): | CODE |
| LOW⚡ | plugins/headroom-oauth2/tests/test_oauth2.py | 305 | def test_install_warns_for_envauth_backend(monkeypatch, caplog): | CODE |
| LOW | plugins/headroom-oauth2/tests/test_oauth2.py | 142 | def test_concurrent_single_flight(idp): | CODE |
| LOW | plugins/headroom-oauth2/tests/test_oauth2.py | 156 | def test_error_on_bad_status_hides_body(idp): | CODE |
| LOW | plugins/headroom-oauth2/tests/test_oauth2.py | 171 | def test_unreachable_token_url(): | CODE |
| LOW | plugins/headroom-oauth2/tests/test_oauth2.py | 219 | def test_parse_headers_rejects_control_chars(): | CODE |
| LOW | plugins/headroom-oauth2/tests/test_oauth2.py | 225 | def test_provider_from_env_wires_knobs(idp): | CODE |
| LOW | plugins/headroom-oauth2/tests/test_oauth2.py | 242 | def test_provider_from_env_none_when_unset(): | CODE |
| LOW | plugins/headroom-oauth2/tests/test_oauth2.py | 247 | def test_middleware_injects_bearer(idp): | CODE |
| LOW | plugins/headroom-oauth2/tests/test_oauth2.py | 258 | def test_middleware_non_http_passthrough(): | CODE |
| LOW | plugins/headroom-oauth2/tests/test_oauth2.py | 322 | def test_install_fail_closed_on_bad_timeout(monkeypatch): | CODE |
| LOW | plugins/headroom-oauth2/tests/test_oauth2.py | 331 | def test_parse_headers_rejects_bad_keys(): | CODE |
| LOW | plugins/headroom-oauth2/tests/test_oauth2.py | 343 | def test_middleware_handles_missing_headers_key(idp): | CODE |
| LOW | plugins/headroom-oauth2/tests/test_oauth2.py | 384 | def test_allow_insecure_env_permits_nonloopback_http(): | CODE |
| LOW | plugins/headroom-oauth2/tests/test_oauth2.py | 397 | def test_extra_params_cannot_override_canonical(idp): | CODE |
| LOW | plugins/headroom-oauth2/tests/test_oauth2.py | 413 | def test_auth_style_basic_via_env(idp): | CODE |
| LOW | plugins/headroom-oauth2/tests/test_oauth2.py | 427 | def test_scopes_comma_separated_via_env(idp): | CODE |
| LOW | plugins/headroom-oauth2/tests/test_oauth2.py | 440 | def test_expires_in_missing_falls_back(idp): | CODE |
| LOW | plugins/headroom-oauth2/tests/test_oauth2.py | 447 | def test_expires_in_non_numeric_falls_back(idp): | CODE |
| LOW | plugins/headroom-oauth2/tests/test_oauth2.py | 463 | def test_single_flight_on_refresh(idp): | CODE |
| LOW | plugins/headroom-oauth2/tests/test_oauth2.py | 477 | def test_install_sets_static_headers(monkeypatch): | CODE |
| LOW | plugins/openclaw/src/proxy-manager.ts | 413 | export function normalizeAndValidateProxyUrl(proxyUrl: string): string { | CODE |
| LOW | plugins/openclaw/src/gateway-config.ts | 18 | export function resolveGatewayProviderIds(config: Record<string, unknown> | undefined): string[] { | CODE |
| LOW | plugins/openclaw/src/gateway-config.ts | 31 | function normalizeGatewayProviderIds(value: unknown): string[] { | CODE |
| LOW | plugins/openclaw/src/gateway-config.ts | 67 | export function applyGatewayProviderBaseUrlsInPlace( | CODE |
| LOW | plugins/openclaw/src/convert.ts | 297 | function normalizeAssistantMessage(message: Record<string, any>): Record<string, any> { | CODE |
| LOW | plugins/openclaw/src/convert.ts | 321 | function normalizeToolResultMessage(message: Record<string, any>): Record<string, any> { | CODE |
| LOW | plugins/openclaw/src/convert.ts | 345 | function normalizeAssistantContent(content: unknown): any[] { | CODE |
| LOW | plugins/openclaw/src/convert.ts | 385 | function normalizeToolResultContent(content: unknown): any[] { | CODE |
| LOW | plugins/openclaw/src/tools/headroom-retrieve.ts | 15 | export function createHeadroomRetrieveTool(config: RetrieveToolConfig) { | CODE |
| LOW | plugins/hermes/headroom_retrieve/__init__.py | 47 | def _handle_headroom_retrieve(args: dict, **kw) -> str: | CODE |
| LOW | plugins/opencode/src/retrieve.ts | 18 | export function createHeadroomRetrieveTool(config: RetrieveToolConfig) { | CODE |
| LOW | plugins/opencode/src/transport.ts | 182 | function normalizedOpenAiProxyPath(pathname: string): string | undefined { | CODE |
| LOW | plugins/opencode/src/transport.ts | 456 | export function uninstallHeadroomTransport(): void { | CODE |
| LOW | plugins/opencode/src/provider.ts | 73 | export function buildOpencodeConfigContent( | CODE |
| LOW | plugins/opencode/src/provider.ts | 85 | export function buildOpencodeConfigContentJson( | CODE |
| LOW⚡ | tests/test_quota_registry.py | 88 | def test_register_single_tracker(): | CODE |
| LOW⚡ | tests/test_quota_registry.py | 95 | def test_register_multiple_trackers(): | CODE |
| LOW⚡ | tests/test_quota_registry.py | 104 | def test_duplicate_key_raises(): | CODE |
| LOW⚡ | tests/test_quota_registry.py | 111 | def test_get_unknown_key_returns_none(): | CODE |
| LOW⚡ | tests/test_quota_registry.py | 116 | def test_trackers_property_is_snapshot(): | CODE |
| LOW⚡ | tests/test_quota_registry.py | 131 | def test_start_all_calls_available_trackers(): | CODE |
| LOW⚡ | tests/test_quota_registry.py | 139 | def test_start_all_skips_unavailable_trackers(): | CODE |
| LOW⚡ | tests/test_quota_registry.py | 183 | def test_passive_tracker_start_stop_are_noops(): | CODE |
| LOW⚡ | tests/test_quota_registry.py | 197 | def test_get_all_stats_includes_available_with_data(): | CODE |
| LOW⚡ | tests/test_quota_registry.py | 205 | def test_get_all_stats_excludes_unavailable(): | CODE |
| LOW⚡ | tests/test_quota_registry.py | 212 | def test_get_all_stats_excludes_none_data(): | CODE |
| LOW⚡ | tests/test_quota_registry.py | 228 | def test_get_stats_single_key(): | CODE |
| LOW⚡ | tests/test_quota_registry.py | 234 | def test_get_stats_missing_key_returns_none(): | CODE |
| LOW⚡ | tests/test_quota_registry.py | 244 | def test_get_quota_registry_returns_same_instance(): | CODE |
| LOW⚡ | tests/test_quota_registry.py | 250 | def test_reset_quota_registry_gives_fresh_instance(): | CODE |
| LOW⚡ | tests/test_quota_registry.py | 259 | def test_reset_quota_registry_clears_registrations(): | CODE |
| LOW | tests/test_quota_registry.py | 155 | def test_stop_all_calls_stop_on_all_registered(): | CODE |
| LOW | tests/test_quota_registry.py | 165 | def test_stop_all_continues_on_exception(): | CODE |
| LOW | tests/test_sse_thinking_blocks.py | 52 | def test_thinking_delta_accumulated() -> None: | CODE |
| LOW | tests/test_sse_thinking_blocks.py | 82 | def test_signature_delta_preserved() -> None: | CODE |
| LOW | tests/test_sse_thinking_blocks.py | 124 | def test_citations_delta_accumulated() -> None: | CODE |
| LOW | tests/test_sse_thinking_blocks.py | 174 | def test_redacted_thinking_data_preserved() -> None: | CODE |
| 8078 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker/differential-network-capture/mitm_capture.py | 3 | CODE | |
| LOW | plugins/headroom-oauth2/src/headroom_oauth2/provider.py | 8 | CODE | |
| LOW | plugins/headroom-oauth2/src/headroom_oauth2/__init__.py | 7 | CODE | |
| LOW | plugins/headroom-oauth2/src/headroom_oauth2/__init__.py | 14 | CODE | |
| LOW | …gins/headroom-oauth2/src/headroom_oauth2/middleware.py | 8 | CODE | |
| LOW | plugins/hermes/headroom_retrieve/__init__.py | 13 | CODE | |
| LOW | tests/test_quota_registry.py | 3 | CODE | |
| LOW | tests/test_sse_thinking_blocks.py | 21 | CODE | |
| LOW | tests/test_paths_backward_compat.py | 16 | CODE | |
| LOW | tests/test_provider_codex_install.py | 1 | CODE | |
| LOW | tests/test_memory_decision.py | 27 | CODE | |
| LOW | tests/e2e_cortex_savings.py | 30 | CODE | |
| LOW | tests/e2e_cortex_savings.py | 45 | CODE | |
| LOW | tests/test_openai_responses_t3_replay_regression.py | 1 | CODE | |
| LOW | tests/test_h2_stream_reset_retry.py | 11 | CODE | |
| LOW | tests/test_memory_wrapper.py | 1 | CODE | |
| LOW | tests/test_codex_responses_passthrough_bytes.py | 11 | CODE | |
| LOW | tests/test_tool_name_policy.py | 1 | CODE | |
| LOW | tests/test_proxy_pipeline_lifecycle.py | 1 | CODE | |
| LOW | tests/test_tool_injection_config.py | 1 | CODE | |
| LOW | tests/test_codex_ws_per_frame_memory.py | 1 | CODE | |
| LOW | tests/test_rtk_docker_availability.py | 3 | CODE | |
| LOW | tests/test_memory_rank_policy.py | 3 | CODE | |
| LOW | tests/test_hermes_passthrough_compression.py | 15 | CODE | |
| LOW | tests/test_openai_responses_context_compaction.py | 1 | CODE | |
| LOW | tests/test_perf_cli_filtering.py | 10 | CODE | |
| LOW | tests/test_image_compression_offload.py | 12 | CODE | |
| LOW | tests/test_turn_hooks.py | 10 | CODE | |
| LOW | tests/test_proxy_loop_exception_health.py | 3 | CODE | |
| LOW | tests/test_provider_registry_extended.py | 1 | CODE | |
| LOW | tests/test_stats_new_input_savings_rate.py | 10 | CODE | |
| LOW | tests/test_utils.py | 1 | CODE | |
| LOW | tests/test_proxy_cache_ttl_metrics.py | 3 | CODE | |
| LOW | tests/test_storage_backends.py | 1 | CODE | |
| LOW | tests/test_provider_route_specs.py | 1 | CODE | |
| LOW | tests/test_codex_rate_limits.py | 3 | CODE | |
| LOW | tests/test_stateless_writers.py | 8 | CODE | |
| LOW | tests/test_update_helpers.py | 3 | CODE | |
| LOW | tests/test_stateless_toin.py | 7 | CODE | |
| LOW | tests/test_proxy_per_provider_kompress.py | 9 | CODE | |
| LOW | tests/test_proxy_byte_faithful_forwarding.py | 19 | CODE | |
| LOW | tests/test_request_outcome.py | 12 | CODE | |
| LOW | tests/test_proxy_cors.py | 12 | CODE | |
| LOW | tests/test_subscription_tracker.py | 1 | CODE | |
| LOW | tests/test_custom_base_passthrough_telemetry.py | 1 | CODE | |
| LOW | tests/test_codex_ws_compression_scheduler.py | 23 | CODE | |
| LOW | tests/test_proxy_savings_history.py | 3 | CODE | |
| LOW | tests/test_proxy_anthropic_compression_diagnostics.py | 16 | CODE | |
| LOW | tests/test_ccr_batch_store.py | 1 | CODE | |
| LOW | tests/test_codex_client_stamp.py | 9 | CODE | |
| LOW | tests/test_memory_tool_mode.py | 14 | CODE | |
| LOW | tests/test_copilot_linux_secret.py | 1 | CODE | |
| LOW | tests/test_fsutil.py | 3 | CODE | |
| LOW | tests/test_ccr_response_handler_extra.py | 1 | CODE | |
| LOW | tests/test_proxy_warmup.py | 13 | CODE | |
| LOW | tests/test_tokenizers.py | 3 | CODE | |
| LOW | tests/test_image_compression.py | 7 | CODE | |
| LOW | tests/test_image_compression.py | 26 | CODE | |
| LOW | tests/test_image_compression.py | 222 | CODE | |
| LOW | tests/test_image_compression.py | 223 | CODE | |
| 1658 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | claude_analysis_ttl.py | 55 | except Exception: | CODE |
| LOW | claude_analysis_ttl.py | 65 | except Exception: | CODE |
| LOW | claude_analysis_ttl.py | 108 | except Exception: | CODE |
| LOW | docker/differential-network-capture/mitm_capture.py | 52 | except Exception: | CODE |
| LOW | plugins/headroom-oauth2/src/headroom_oauth2/provider.py | 133 | except Exception: | CODE |
| LOW | plugins/headroom-oauth2/src/headroom_oauth2/__init__.py | 119 | except Exception as e: # pragma: no cover | CODE |
| LOW | tests/e2e_cortex_savings.py | 382 | except Exception as e: | CODE |
| LOW | tests/test_stateless_writers.py | 32 | except Exception: | CODE |
| LOW | tests/e2e_real_compression.py | 86 | except Exception: | CODE |
| LOW | tests/e2e_real_compression.py | 124 | except Exception: | CODE |
| MEDIUM | tests/test_compression_cache.py | 477 | def reader() -> None: | CODE |
| MEDIUM | tests/test_compression_cache.py | 484 | def writer() -> None: | CODE |
| LOW | tests/test_compression_cache.py | 481 | except Exception as e: # pragma: no cover | CODE |
| LOW | tests/test_compression_cache.py | 489 | except Exception as e: # pragma: no cover | CODE |
| LOW | tests/test_compression_cache.py | 590 | except Exception as e: # pragma: no cover | CODE |
| LOW | tests/test_compression_cache.py | 630 | except Exception as e: # pragma: no cover | CODE |
| LOW | tests/test_startup_log_noise.py | 40 | except Exception: | CODE |
| LOW | tests/test_startup_log_noise.py | 60 | except Exception: | CODE |
| MEDIUM | tests/test_compression_store.py | 1056 | def retrieve_item() -> None: | CODE |
| LOW | tests/test_compression_store.py | 1036 | except Exception as e: | CODE |
| LOW | tests/test_compression_store.py | 1061 | except Exception as e: | CODE |
| LOW | tests/test_compression_store.py | 1096 | except Exception as e: | CODE |
| LOW | tests/e2e_cortex_mcp.py | 336 | except Exception as e: | CODE |
| LOW | tests/e2e_cortex_quality.py | 371 | except Exception as exc: | CODE |
| MEDIUM | tests/test_memory_bridge.py | 73 | def wrapper(*args, **kwargs): | CODE |
| LOW⚡ | tests/test_memory_bridge.py | 76 | except Exception as exc: | CODE |
| LOW | tests/test_critical_gaps.py | 364 | except Exception as e: | CODE |
| LOW | tests/test_critical_gaps.py | 476 | except Exception as e: | CODE |
| LOW | tests/test_critical_gaps.py | 490 | except Exception as e: | CODE |
| LOW | tests/test_critical_gaps.py | 501 | except Exception as e: | CODE |
| MEDIUM | tests/test_memory_handler_concurrent_init.py | 34 | def wrapper(*args, **kwargs): | CODE |
| LOW⚡ | tests/test_memory_handler_concurrent_init.py | 37 | except Exception as exc: | CODE |
| LOW⚡ | tests/test_memory_handler_concurrent_init.py | 256 | except Exception: | CODE |
| LOW⚡ | tests/test_memory_handler_concurrent_init.py | 259 | except Exception: # pragma: no cover - env-dependent | CODE |
| LOW | tests/e2e_cortex_latency.py | 434 | except Exception as exc: | CODE |
| LOW | tests/e2e_cortex_proxy_mcp.py | 107 | except Exception: | CODE |
| LOW | tests/e2e_cortex_proxy_mcp.py | 360 | except Exception as e: | CODE |
| LOW⚡ | tests/e2e_cortex_proxy.py | 116 | except Exception: | CODE |
| LOW | tests/e2e_cortex_proxy.py | 217 | except Exception as e: | CODE |
| LOW⚡ | tests/e2e_cortex_proxy.py | 274 | except Exception as e: | CODE |
| LOW⚡ | tests/e2e_cortex_proxy.py | 288 | except Exception as e: | CODE |
| LOW | tests/test_provider_codex_runtime.py | 207 | except Exception: # pragma: no cover - best effort poll | CODE |
| LOW | tests/e2e_ws_responses_compression.py | 55 | except Exception: | CODE |
| LOW | tests/test_ccr.py | 351 | except Exception as e: | CODE |
| MEDIUM | tests/test_ccr.py | 336 | def store_and_retrieve(i): | CODE |
| MEDIUM | tests/test_google_multimodal_e2e.py | 59 | print(f"Error: {response.text[:200]}") | CODE |
| MEDIUM | tests/test_google_multimodal_e2e.py | 100 | print(f"Error: {response.text[:200]}") | CODE |
| MEDIUM | tests/test_google_multimodal_e2e.py | 159 | print(f"Error: {response.text[:200]}") | CODE |
| MEDIUM | tests/test_google_multimodal_e2e.py | 223 | print(f"Error: {response.text[:300]}") | CODE |
| MEDIUM | tests/test_google_multimodal_e2e.py | 268 | print(f"Error: {response.text[:200]}") | CODE |
| MEDIUM | tests/test_google_multimodal_e2e.py | 315 | print(f"Error: {response.text[:300]}") | CODE |
| LOW | tests/e2e_ws_codex_usage_headers.py | 72 | except Exception: | CODE |
| LOW | tests/e2e_ws_codex_usage_headers.py | 220 | except Exception as exc: # noqa: BLE001 - best-effort secondary check | CODE |
| MEDIUM | tests/e2e_ws_codex_usage_headers.py | 88 | def _handler(self, ws): | CODE |
| LOW | tests/test_proxy_streaming_resilience.py | 376 | except Exception as e: | CODE |
| MEDIUM | tests/test_cache/test_backends.py | 263 | def setter() -> None: | CODE |
| MEDIUM | tests/test_cache/test_backends.py | 270 | def getter() -> None: | CODE |
| MEDIUM | tests/test_cache/test_backends.py | 277 | def deleter() -> None: | CODE |
| LOW⚡ | tests/test_cache/test_backends.py | 267 | except Exception as e: | CODE |
| LOW⚡ | tests/test_cache/test_backends.py | 274 | except Exception as e: | CODE |
| 678 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Cargo.toml | 41 | # I1 (byte-faithful passthrough on unmutated bytes; see REALIGNMENT/02- | COMMENT |
| LOW | Cargo.toml | 61 | axum = "0.7" | COMMENT |
| LOW | Cargo.toml | 81 | # (ADC) → bearer token for the `Authorization: Bearer <token>` header. | COMMENT |
| LOW | Cargo.toml | 101 | # * Single codegen unit (better inlining + dead-code elim, at the | COMMENT |
| LOW | pyproject.toml | 101 | # ML-based compression with Kompress (ModernBERT). | COMMENT |
| LOW | pyproject.toml | 141 | "sentence-transformers>=2.2.0; sys_platform == 'darwin'", | COMMENT |
| LOW | pyproject.toml | 161 | # * rapidocr 3.x — engine-agnostic core, supports Python 3.13+. | COMMENT |
| LOW | pyproject.toml | 281 | "respx>=0.20.0", # HTTP mock transport for passthrough handler tests | COMMENT |
| LOW | pyproject.toml | 301 | # - ml (torch — the PyTorch Kompress backend; ONNX path in [proxy] still | COMMENT |
| LOW | pyproject.toml | 321 | Documentation = "https://headroom-docs.vercel.app/docs" | COMMENT |
| LOW | pyproject.toml | 361 | # `pypi.netflix.net/simple` — and bakes those URLs into uv.lock, which | COMMENT |
| LOW | .gitguardian.yaml | 1 | # GitGuardian configuration — secret-detection allowlist | COMMENT |
| LOW | rust-toolchain.toml | 1 | [toolchain] | COMMENT |
| LOW | claude_analysis_ttl.py | 181 | f" Median post-idle write (5-60min gap) : {med_5_60:>10,} tokens " | COMMENT |
| LOW | RUST_DEV.md | 101 | # Top compressors by invocation count (last process lifetime) | COMMENT |
| LOW | crates/headroom-parity/src/lib.rs | 421 | "was_modified": result.was_modified, | COMMENT |
| LOW | crates/headroom-core/Cargo.toml | 21 | # `hf-hub` is the HuggingFace Hub client. We use the blocking `ureq` transport | COMMENT |
| LOW | crates/headroom-core/Cargo.toml | 41 | # sizing pipeline uses `zlib.compress(..., level=1)` to validate the chosen | COMMENT |
| LOW | crates/headroom-core/Cargo.toml | 61 | # (release matrix, e2e/wrap, e2e/init, devcontainer, ci.yml) needs | COMMENT |
| LOW | crates/headroom-core/Cargo.toml | 81 | # in a line in O(n + m) — orders of magnitude faster than running N | COMMENT |
| LOW | crates/headroom-core/Cargo.toml | 101 | # `<<ccr:HASH>>` marker. Pinning the algorithm + truncation length here | COMMENT |
| LOW | …core/proptest-regressions/transforms/tag_protector.txt | 1 | # Seeds for failure cases proptest has generated in the past. It is | COMMENT |
| LOW | crates/headroom-core/config/pipeline.toml | 1 | # Compression pipeline default configuration. | COMMENT |
| LOW | crates/headroom-core/config/pipeline.toml | 21 | COMMENT | |
| LOW | crates/headroom-core/config/pipeline.toml | 41 | COMMENT | |
| LOW | crates/headroom-core/config/pipeline.toml | 81 | # Reformats pack input denser without losing information. Configs here | COMMENT |
| LOW | crates/headroom-core/config/pipeline.toml | 101 | # Floor on the number of constant tokens a template must have. A | COMMENT |
| LOW | crates/headroom-core/config/pipeline.toml | 121 | COMMENT | |
| LOW | crates/headroom-core/tests/recommendations_loader.rs | 1 | //! Integration tests for `transforms::recommendations` (PR-B5). | COMMENT |
| LOW | crates/headroom-core/tests/auth_mode.rs | 1 | //! Integration tests for `headroom_core::auth_mode::classify`. | COMMENT |
| LOW | …ates/headroom-core/tests/live_zone_token_validation.rs | 61 | let s = std::str::from_utf8(bytes).expect("body is UTF-8 JSON"); | COMMENT |
| LOW | …ates/headroom-core/tests/live_zone_token_validation.rs | 81 | // tokenize into many short BPE pieces post-rewrite. | COMMENT |
| LOW | …ates/headroom-core/tests/live_zone_token_validation.rs | 201 | proptest! { | COMMENT |
| LOW | crates/headroom-core/tests/tokenizer_proptest.rs | 41 | let est = EstimatingCounter::default(); | COMMENT |
| LOW | crates/headroom-core/tests/live_zone_dispatch.rs | 1 | //! Integration tests for the PR-B3 live-zone dispatcher. | COMMENT |
| LOW | crates/headroom-core/tests/cache_control.rs | 1 | //! Unit + property tests for the `cache_control` walker (PR-A4). | COMMENT |
| LOW | crates/headroom-core/tests/cache_control.rs | 61 | }); | COMMENT |
| LOW | crates/headroom-core/tests/cache_control.rs | 201 | proptest! { | COMMENT |
| LOW | crates/headroom-core/benches/auth_mode.rs | 1 | //! Criterion benchmark for the auth-mode classifier (Phase F PR-F1). | COMMENT |
| LOW | crates/headroom-core/benches/ccr_store.rs | 1 | //! CCR store throughput benchmark — single-threaded and multi-threaded. | COMMENT |
| LOW | crates/headroom-core/src/compression_policy.rs | 1 | //! Per-auth-mode compression policy — Phase F PR-F2.1, extended in F2.2. | COMMENT |
| LOW | crates/headroom-core/src/compression_policy.rs | 21 | //! 2. **Test surface.** `for_mode(AuthMode) -> CompressionPolicy` is | COMMENT |
| LOW | crates/headroom-core/src/compression_policy.rs | 41 | //! `CacheAligner` transform's `should_apply` MUST return `False`. | COMMENT |
| LOW | crates/headroom-core/src/compression_policy.rs | 61 | //! | COMMENT |
| LOW | crates/headroom-core/src/compression_policy.rs | 81 | //! | COMMENT |
| LOW | crates/headroom-core/src/compression_policy.rs | 101 | use crate::auth_mode::AuthMode; | COMMENT |
| LOW | crates/headroom-core/src/compression_policy.rs | 121 | /// Subscription: conservative — flag volatile content earlier (32 | COMMENT |
| LOW | crates/headroom-core/src/compression_policy.rs | 141 | pub const CACHE_READ_MULTIPLIER: f32 = 0.1; | COMMENT |
| LOW | crates/headroom-core/src/compression_policy.rs | 161 | /// | COMMENT |
| LOW | crates/headroom-core/src/compression_policy.rs | 241 | /// | COMMENT |
| LOW | crates/headroom-core/src/compression_policy.rs | 301 | ) -> bool { | COMMENT |
| LOW | crates/headroom-core/src/auth_mode.rs | 1 | //! Auth-mode classifier — Phase F PR-F1. | COMMENT |
| LOW | crates/headroom-core/src/auth_mode.rs | 21 | //! | COMMENT |
| LOW | crates/headroom-core/src/auth_mode.rs | 61 | AuthMode::OAuth => "oauth", | COMMENT |
| LOW | crates/headroom-core/src/auth_mode.rs | 81 | "codex-cli/", | COMMENT |
| LOW | crates/headroom-core/src/auth_mode.rs | 101 | /// [`AuthMode::Payg`] (Anthropic / OpenAI API key). | COMMENT |
| LOW | crates/headroom-core/src/auth_mode.rs | 181 | // Unknown bearer shape — fall through to header-based | COMMENT |
| LOW | crates/headroom-core/src/onnx_cpu.rs | 1 | //! Shared CPU-capability guard for the precompiled ONNX Runtime binary. | COMMENT |
| LOW | crates/headroom-core/src/cache_control.rs | 1 | //! Customer `cache_control` marker walker for Anthropic `/v1/messages` | COMMENT |
| LOW | crates/headroom-core/src/cache_control.rs | 21 | //! For an Anthropic request body parsed into `serde_json::Value`, | COMMENT |
| 665 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_proxy_savings_history.py | 1334 | assert "if (this.historySelectedSeriesKey === 'history') return null;" in html | CODE |
| HIGH⚡ | tests/test_cortex_code_compression.py | 13 | cd headroom && uv run python tests/test_cortex_code_compression.py | STRING |
| HIGH⚡ | tests/test_cortex_code_compression.py | 16 | cd headroom && uv run --with pytest pytest tests/test_cortex_code_compression.py -v -s | STRING |
| HIGH⚡ | tests/test_observed_wire_shapes.py | 305 | "cd /x && cat a.py", | CODE |
| HIGH⚡ | tests/test_observed_wire_shapes.py | 306 | "cd /x && cat -A a.py | head -60", | CODE |
| HIGH⚡ | tests/test_observed_wire_shapes.py | 358 | "cd /tmp/core && rg -l safe_math --type py", | CODE |
| HIGH⚡ | tests/test_observed_wire_shapes.py | 359 | "cd /tmp/core && grep -rn foo suma/", | CODE |
| HIGH⚡ | tests/test_observed_wire_shapes.py | 361 | "cd /a && cd b && rg pat", # chained cds | CODE |
| HIGH⚡ | tests/test_observed_wire_shapes.py | 367 | for cmd in ["cd /x && cat a.py", "cd /x && python -c 'x'", "cd /x && ls -la"]: | CODE |
| HIGH⚡ | tests/test_observed_wire_shapes.py | 372 | assert _stripcd("cd /tmp/core && rg x") == "rg x" | CODE |
| HIGH⚡ | tests/test_observed_wire_shapes.py | 374 | assert _stripcd("cd a && cd b && grep x") == "grep x" | CODE |
| HIGH⚡ | tests/test_observed_wire_shapes.py | 480 | anthropic_input = {"command": "cd /tmp/core && cat suma/x.py"} # Anthropic: dict | CODE |
| HIGH⚡ | tests/test_observed_wire_shapes.py | 481 | openai_args = json.dumps({"command": "cd /tmp/core && cat suma/x.py"}) # OpenAI: JSON string | CODE |
| HIGH⚡ | tests/test_observed_wire_shapes.py | 486 | assert not _isread2(_cmdtext({"command": "cd /x && rg pat"})) | CODE |
| HIGH | tests/test_observed_wire_shapes.py | 51 | "input": {"command": 'cd /tmp/core && rg -l "safe_math" --type py | head'}, | CODE |
| HIGH | tests/test_observed_wire_shapes.py | 394 | "content": "THOUGHT: look\n```bash\ncd /r && cat x.py\n```", | CODE |
| HIGH | tests/test_observed_wire_shapes.py | 423 | _fenced_shell_command("T\n```mswea_bash_command\ncd /r && cat x.py\n```") | CODE |
| HIGH | tests/test_observed_wire_shapes.py | 424 | == "cd /r && cat x.py" | CODE |
| HIGH | tests/test_observed_wire_shapes.py | 435 | "content": "T\n```mswea_bash_command\ncd /r && cat a.py\n```", | CODE |
| HIGH | tests/test_observed_wire_shapes.py | 444 | "content": "T\n```mswea_bash_command\ncd /r && grep -rn foo .\n```", | CODE |
| HIGH | tests/test_observed_wire_shapes.py | 557 | {"role": "assistant", "content": "", "tool_calls": [tc("c_read", "cd /r && cat a.py")]}, | CODE |
| HIGH | tests/test_observed_wire_shapes.py | 562 | "tool_calls": [tc("c_grep", "cd /r && grep -rn foo .")], | CODE |
| HIGH | tests/test_toin_feedback.py | 413 | 'data: {"type":"message_start","message":{"id":"msg_01","model":"claude-3-5-sonnet-20241022","role":"assista | CODE |
| HIGH | tests/test_openai_codex_ws_timings.py | 230 | with ``upstream_first_event`` absent (null).""" | STRING |
| HIGH | tests/test_code_aware_brace_comment_regressions.py | 61 | this.users.push(user); | CODE |
| HIGH | tests/test_proxy_streaming_request_logger.py | 260 | b'"content":[],"stop_reason":null,"usage":{' | CODE |
| HIGH | tests/test_cache_prefix_overlay.py | 112 | cmd = "cd /tmp/core && cat suma/apps/underwriting/followup/service.py" | CODE |
| HIGH⚡ | tests/test_cache_prefix_overlay.py | 138 | _openai_asst("cd /tmp/core && rg -n foo ."), | CODE |
| HIGH⚡ | tests/test_cache_prefix_overlay.py | 140 | _openai_asst("cd /tmp/core && cat foo.py"), # NEW delta (assistant) | CODE |
| HIGH | …sts/test_integrations/langchain/test_langchain_live.py | 6 | set -a && source .env && set +a && pytest tests/test_integrations/langchain/test_langchain_live.py -v -s | STRING |
| HIGH | tests/test_memory/test_budget.py | 83 | "Use source .venv/bin/activate && pytest for running tests", importance=0.5 | CODE |
| HIGH | tests/test_memory/test_budget.py | 86 | "Use source .venv/bin/activate && pytest for running tests", importance=0.8 | CODE |
| HIGH⚡ | tests/test_memory/test_traffic_learner.py | 199 | assert _bash_first_binary("source .venv/bin/activate && pytest -x") == "pytest" | CODE |
| HIGH⚡ | tests/test_memory/test_traffic_learner.py | 303 | tool_input={"command": "source /project/.venv/bin/activate && pytest"}, | CODE |
| HIGH⚡ | tests/test_memory/test_traffic_learner.py | 1672 | assert _normalize_bash_for_hash("cd /tmp && ls") == "cd /tmp" | CODE |
| HIGH | tests/test_memory/test_traffic_learner.py | 269 | tool_input={"command": "source .venv/bin/activate && ruff check ."}, | CODE |
| HIGH | tests/parity/recorder.py | 667 | "type Maybe<T> = T | null;\n" | CODE |
| HIGH | tests/test_compression/test_json_handler.py | 78 | content = '{"value": null}' | CODE |
| HIGH | tests/test_compression/test_json_handler.py | 333 | content = '{"a": true, "b": false, "c": null}' | CODE |
| HIGH | tests/test_compression/test_json_handler.py | 376 | content = '{"str": "hello", "num": 1.5, "bool": true, "null": null}' | CODE |
| HIGH | tests/test_compression/test_evals.py | 438 | private socket: Socket | null = null; | STRING |
| HIGH | tests/test_compression/test_evals.py | 444 | private heartbeatTimer: NodeJS.Timer | null = null; | STRING |
| HIGH | tests/test_compression/test_evals.py | 507 | this.socket = null; | STRING |
| HIGH | tests/test_compression/test_evals.py | 542 | this.pendingOperations.push(operation); | STRING |
| HIGH | tests/test_compression/test_evals.py | 638 | this.heartbeatTimer = null; | STRING |
| HIGH | tests/test_compression/test_evals.py | 643 | if (this.pendingOperations.length > 0 && this.socket?.connected) { | STRING |
| HIGH | benchmarks/adversarial_ccr_tests.py | 565 | '[{"id": 1}, null, {"id": 2}]', # Null in array | CODE |
| HIGH | benchmarks/prefix_cache_benchmark.py | 701 | print(" source .env && python benchmarks/prefix_cache_benchmark.py") | CODE |
| HIGH⚡ | benchmarks/prefix_cache_benchmark.py | 16 | source .env && python benchmarks/prefix_cache_benchmark.py | STRING |
| HIGH⚡ | benchmarks/prefix_cache_benchmark.py | 19 | source .env && python benchmarks/prefix_cache_benchmark.py --turns 5 | STRING |
| HIGH⚡ | benchmarks/prefix_cache_benchmark.py | 22 | source .env && python benchmarks/prefix_cache_benchmark.py --model claude-sonnet-4-6 | STRING |
| HIGH⚡ | benchmarks/comprehensive_eval.py | 263 | data: null, | STRING |
| HIGH⚡ | benchmarks/comprehensive_eval.py | 264 | error: null, | STRING |
| HIGH⚡ | benchmarks/comprehensive_eval.py | 274 | setState(prev => ({ ...prev, loading: true, error: null })); | STRING |
| HIGH⚡ | benchmarks/comprehensive_eval.py | 278 | if (mountedRef.current && callId === lastCallId.current) { | STRING |
| HIGH⚡ | benchmarks/comprehensive_eval.py | 279 | setState({ data: result, error: null, loading: false }); | STRING |
| HIGH⚡ | benchmarks/comprehensive_eval.py | 284 | if (mountedRef.current && callId === lastCallId.current) { | STRING |
| HIGH⚡ | benchmarks/comprehensive_eval.py | 286 | setState({ data: null, error: err, loading: false }); | STRING |
| HIGH | benchmarks/comprehensive_eval.py | 246 | data: T | null; | STRING |
| HIGH | benchmarks/comprehensive_eval.py | 247 | error: Error | null; | STRING |
| 14 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | claude_analysis_ttl.py | 45 | CODE | |
| LOW | claude_analysis_ttl.py | 98 | CODE | |
| LOW | plugins/headroom-oauth2/src/headroom_oauth2/__init__.py | 95 | CODE | |
| LOW | tests/test_output_only_request_blocks.py | 42 | CODE | |
| LOW | tests/e2e_real_compression.py | 79 | CODE | |
| LOW | tests/e2e_real_compression.py | 252 | CODE | |
| LOW | tests/test_read_maturation_handler_nobust.py | 135 | CODE | |
| LOW | tests/test_handler_outcome_tag_invariant.py | 38 | CODE | |
| LOW | tests/test_lean_ctx_installer.py | 115 | CODE | |
| LOW | tests/test_lean_ctx_installer.py | 159 | CODE | |
| LOW | tests/test_proxy_system_prompt_immutable.py | 371 | CODE | |
| LOW | tests/test_memory_integration.py | 280 | CODE | |
| LOW | tests/test_critical_gaps.py | 163 | CODE | |
| LOW | tests/test_critical_gaps.py | 340 | CODE | |
| LOW | tests/test_critical_gaps.py | 355 | CODE | |
| LOW | tests/test_realignment_live_multi_turn.py | 558 | CODE | |
| LOW | tests/test_realignment_live_multi_turn.py | 861 | CODE | |
| LOW | tests/test_tag_protector_invariant.py | 121 | CODE | |
| LOW | tests/_mcp_stub.py | 58 | CODE | |
| LOW | tests/e2e_cortex_proxy_mcp.py | 148 | CODE | |
| LOW | tests/test_proxy_anthropic_cache_stability.py | 1351 | CODE | |
| LOW | tests/test_anthropic_pre_upstream_backpressure.py | 877 | CODE | |
| LOW | tests/test_anthropic_pre_upstream_backpressure.py | 882 | CODE | |
| LOW | tests/test_tool_result_interceptors.py | 28 | CODE | |
| LOW | tests/e2e_ws_responses_compression.py | 48 | CODE | |
| LOW | tests/test_claude_session_mode_benchmark.py | 429 | CODE | |
| LOW | tests/test_claude_session_mode_benchmark.py | 437 | CODE | |
| LOW | tests/test_release_workflows.py | 354 | CODE | |
| LOW | tests/e2e_ws_codex_usage_headers.py | 65 | CODE | |
| LOW | tests/test_cache/test_client_integration.py | 38 | CODE | |
| LOW | tests/test_integrations/langchain/test_chat_model.py | 1041 | CODE | |
| LOW | tests/test_integrations/agno/test_model.py | 1042 | CODE | |
| LOW | tests/test_cli/test_wrap_copilot.py | 47 | CODE | |
| LOW | tests/test_cli/test_wrap_copilot.py | 245 | CODE | |
| LOW | tests/test_cli/test_wrap_codex.py | 1518 | CODE | |
| LOW | tests/test_cli/test_wrap_codex.py | 1673 | CODE | |
| LOW | tests/test_cli/test_wrap_codex.py | 1730 | CODE | |
| LOW | tests/test_cli/test_main_help_version.py | 50 | CODE | |
| LOW | tests/integrations/test_strands/test_hooks.py | 161 | CODE | |
| LOW | tests/test_transforms/test_code_compressor.py | 1334 | CODE | |
| LOW | tests/test_transforms/test_read_lifecycle.py | 619 | CODE | |
| LOW | examples/strands_mcp_dispatch_test.py | 66 | CODE | |
| LOW | examples/strands_mcp_dispatch_test.py | 122 | CODE | |
| LOW | examples/strands_bundle_demo.py | 76 | CODE | |
| LOW | examples/strands_via_proxy_demo.py | 122 | CODE | |
| LOW | examples/strands_via_proxy_demo.py | 275 | CODE | |
| LOW | examples/langchain_demo/run_comparison.py | 154 | CODE | |
| LOW | examples/langchain_demo/run_comparison.py | 241 | CODE | |
| LOW | examples/langchain_demo/show_compression.py | 35 | CODE | |
| LOW | benchmarks/conftest.py | 52 | CODE | |
| LOW | benchmarks/adversarial_ccr_tests.py | 1177 | CODE | |
| LOW | benchmarks/adversarial_ccr_tests.py | 1582 | CODE | |
| LOW | benchmarks/adversarial_ccr_tests.py | 1765 | CODE | |
| LOW | benchmarks/adversarial_ccr_tests.py | 1838 | CODE | |
| LOW | benchmarks/adversarial_ccr_tests.py | 1787 | CODE | |
| LOW | benchmarks/agent_cost_benchmark.py | 133 | CODE | |
| LOW | benchmarks/agent_cost_benchmark.py | 352 | CODE | |
| LOW | benchmarks/agent_cost_benchmark.py | 421 | CODE | |
| LOW | benchmarks/agent_cost_benchmark.py | 597 | CODE | |
| LOW | benchmarks/cache_validation_bundle.py | 49 | CODE | |
| 372 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | plugins/headroom-oauth2/src/headroom_oauth2/__init__.py | 16 | __all__ = ["install", "OAuth2ClientCredentials", "OAuth2Error", "OAuth2Middleware", "parse_headers"] | CODE |
| LOW⚡ | tests/test_providers_opencode_config.py | 22 | def _set_test_home(monkeypatch: pytest.MonkeyPatch, tmp_path: Path) -> None: | CODE |
| LOW | tests/test_cli_learn.py | 405 | def set_context_target(self, target: str | None) -> None: | CODE |
| LOW⚡ | tests/test_ssl_context.py | 82 | def set_alpn_protocols(self, protocols: list[str]) -> None: | CODE |
| LOW | …ts/test_proxy/test_anthropic_ccr_deferred_injection.py | 64 | def update_from_result(self, originals, compressed) -> None: # noqa: ARG002 | CODE |
| LOW | tests/parity/recorder.py | 845 | __all__ = [ | CODE |
| LOW | tests/test_cli/test_wrap_codex.py | 28 | def _set_test_home(monkeypatch: pytest.MonkeyPatch, tmp_path: Path) -> None: | CODE |
| LOW⚡ | tests/test_cli/test_wrap_opencode.py | 21 | def _set_test_home(monkeypatch: pytest.MonkeyPatch, tmp_path: Path) -> None: | CODE |
| LOW | tests/test_cli/test_wrap_bridge.py | 24 | def _set_test_home(monkeypatch, tmp_path: Path) -> None: | CODE |
| LOW | tests/test_compression/test_evals.py | 132 | logger = logging.getLogger(__name__) | STRING |
| LOW | benchmarks/__init__.py | 36 | __all__ = [ | CODE |
| LOW | benchmarks/scenarios/__init__.py | 22 | __all__ = [ | CODE |
| LOW⚡ | scripts/version-sync.py | 40 | def update_package_json(file_path: Path, version: str) -> None: | CODE |
| LOW⚡ | scripts/version-sync.py | 50 | def update_plugin_manifest(file_path: Path, version: str) -> None: | CODE |
| LOW⚡ | scripts/version-sync.py | 60 | def update_marketplace_manifest(file_path: Path, version: str) -> None: | CODE |
| LOW | scripts/version-sync.py | 77 | def update_plugin_versions(root: Path, version: str) -> None: | CODE |
| LOW | scripts/version-sync.py | 90 | def update_openclaw_package_json(file_path: Path, version: str, sdk_version: str) -> None: | CODE |
| LOW | scripts/version-sync.py | 102 | def update_pyproject_version(root: Path, version: str) -> None: | CODE |
| LOW | e2e/_lib/harness.py | 327 | __all__ = [ | CODE |
| LOW | e2e/_lib/__init__.py | 23 | __all__ = [ | CODE |
| LOW⚡ | headroom/paths.py | 108 | def set_process_stateless(value: bool) -> None: | CODE |
| LOW | headroom/paths.py | 408 | __all__ = [ | CODE |
| LOW | headroom/binaries.py | 42 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/binaries.py | 44 | __all__ = [ | CODE |
| LOW | headroom/update_check.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/update_check.py | 297 | __all__ = [ | CODE |
| LOW | headroom/savings_ledger.py | 393 | __all__ = [ | CODE |
| LOW | headroom/client.py | 38 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/__init__.py | 91 | __all__ = [ | CODE |
| LOW | headroom/copilot_linux_secret.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/shared_context.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/compress.py | 69 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/_ort.py | 54 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/copilot_auth.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/copilot_auth.py | 733 | def _set_header_default(headers: dict[str, str], name: str, value: str) -> None: | CODE |
| LOW | headroom/agent_savings.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/copilot_macos_keychain.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/mcp_registry/codex.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/mcp_registry/claude.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/mcp_registry/__init__.py | 30 | __all__ = [ | CODE |
| LOW | headroom/mcp_registry/opencode.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/relevance/embedding.py | 58 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/relevance/__init__.py | 57 | __all__ = [ | CODE |
| LOW | headroom/tokenizers/mistral.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/tokenizers/registry.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/tokenizers/__init__.py | 58 | __all__ = [ | CODE |
| LOW | headroom/tokenizers/huggingface.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/tokenizers/tiktoken_counter.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/reporting/__init__.py | 5 | __all__ = ["generate_report"] | CODE |
| LOW | headroom/capture/__init__.py | 11 | __all__ = [ | CODE |
| LOW | headroom/capture/network_diff.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/evals/suite_runner.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/evals/prompt_comparison.py | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/evals/cost_tracker.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/evals/__init__.py | 83 | __all__ = [ | CODE |
| LOW⚡ | headroom/evals/html_oss_benchmarks.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/evals/comprehensive_benchmark.py | 42 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | headroom/evals/batch_compression_eval.py | 51 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/evals/html_extraction.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | headroom/evals/memory/runner.py | 34 | logger = logging.getLogger(__name__) | CODE |
| 206 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_integrations/langchain/test_streaming.py | 0 | tests for behavior when langchain is not available. | STRING |
| HIGH | tests/test_integrations/langchain/test_memory.py | 0 | tests for behavior when langchain is not available. | STRING |
| HIGH | tests/test_integrations/langchain/test_retriever.py | 0 | tests for behavior when langchain is not available. | STRING |
| HIGH | tests/test_integrations/langchain/test_agents.py | 0 | tests for behavior when langchain is not available. | STRING |
| HIGH | tests/test_integrations/langchain/test_streaming.py | 0 | _check_langchain_available raises importerror when not available. | STRING |
| HIGH | tests/test_integrations/langchain/test_memory.py | 0 | _check_langchain_available raises importerror when not available. | STRING |
| HIGH | tests/test_integrations/langchain/test_retriever.py | 0 | _check_langchain_available raises importerror when not available. | STRING |
| HIGH | tests/test_integrations/langchain/test_agents.py | 0 | _check_langchain_available raises importerror when not available. | STRING |
| HIGH | tests/test_cli/test_wrap_goose.py | 0 | if the openhands binary is missing the command must fail with a clear error. | STRING |
| HIGH | tests/test_cli/test_wrap_opencode.py | 0 | if the openhands binary is missing the command must fail with a clear error. | STRING |
| HIGH | tests/test_cli/test_wrap_openhands.py | 0 | if the openhands binary is missing the command must fail with a clear error. | STRING |
| HIGH | headroom/memory/system.py | 0 | retrieve a specific memory by id. args: memory_id: the memory identifier. returns: memory if found, none otherwise. | STRING |
| HIGH | headroom/memory/backends/mem0_system_adapter.py | 0 | retrieve a specific memory by id. args: memory_id: the memory identifier. returns: memory if found, none otherwise. | STRING |
| HIGH | headroom/memory/backends/direct_mem0.py | 0 | retrieve a specific memory by id. args: memory_id: the memory identifier. returns: memory if found, none otherwise. | STRING |
| HIGH | headroom/memory/ports.py | 0 | get a memory by id. args: memory_id: the unique identifier of the memory. returns: the memory if found, none otherwise. | STRING |
| HIGH | headroom/memory/adapters/sqlite.py | 0 | get a memory by id. args: memory_id: the unique identifier of the memory. returns: the memory if found, none otherwise. | STRING |
| HIGH | headroom/memory/backends/local.py | 0 | get a memory by id. args: memory_id: the unique identifier of the memory. returns: the memory if found, none otherwise. | STRING |
| HIGH | headroom/memory/ports.py | 0 | get the full history chain for a memory. follows supersession links to return all versions of a memory. args: memory_id: | STRING |
| HIGH | headroom/memory/adapters/sqlite.py | 0 | get the full history chain for a memory. follows supersession links to return all versions of a memory. args: memory_id: | STRING |
| HIGH | headroom/memory/core.py | 0 | get the full history chain for a memory. follows supersession links to return all versions of a memory. args: memory_id: | STRING |
| HIGH | headroom/memory/ports.py | 0 | clear all memories at or below a scope level. args: user_id: required user scope. session_id: if provided, clear session | STRING |
| HIGH | headroom/memory/core.py | 0 | clear all memories at or below a scope level. args: user_id: required user scope. session_id: if provided, clear session | STRING |
| HIGH | headroom/memory/adapters/sqlite.py | 0 | clear all memories at or below a scope level. args: user_id: required user scope. session_id: if provided, clear session | STRING |
| HIGH | headroom/memory/ports.py | 0 | remove multiple memories from the text index (protocol-compliant). args: memory_ids: list of memory ids to remove. retur | STRING |
| HIGH | headroom/memory/adapters/hnsw.py | 0 | remove multiple memories from the text index (protocol-compliant). args: memory_ids: list of memory ids to remove. retur | STRING |
| HIGH | headroom/memory/adapters/fts5.py | 0 | remove multiple memories from the text index (protocol-compliant). args: memory_ids: list of memory ids to remove. retur | STRING |
| HIGH | headroom/memory/adapters/sqlite_vector.py | 0 | remove multiple memories from the text index (protocol-compliant). args: memory_ids: list of memory ids to remove. retur | STRING |
| HIGH | headroom/memory/ports.py | 0 | retrieve an entity by id. args: entity_id: the unique identifier of the entity. returns: the entity if found, none other | STRING |
| HIGH | headroom/memory/adapters/sqlite_graph.py | 0 | retrieve an entity by id. args: entity_id: the unique identifier of the entity. returns: the entity if found, none other | STRING |
| HIGH | headroom/memory/adapters/graph.py | 0 | retrieve an entity by id. args: entity_id: the unique identifier of the entity. returns: the entity if found, none other | STRING |
| HIGH | headroom/memory/ports.py | 0 | delete a single relationship. args: relationship_id: the unique identifier of the relationship. returns: true if the rel | STRING |
| HIGH | headroom/memory/adapters/sqlite_graph.py | 0 | delete a single relationship. args: relationship_id: the unique identifier of the relationship. returns: true if the rel | STRING |
| HIGH | headroom/memory/adapters/graph.py | 0 | delete a single relationship. args: relationship_id: the unique identifier of the relationship. returns: true if the rel | STRING |
| HIGH | headroom/memory/adapters/fts5.py | 0 | get a new database connection (thread-safe pattern). returns: a new sqlite connection with row factory configured. | STRING |
| HIGH | headroom/memory/adapters/sqlite_graph.py | 0 | get a new database connection (thread-safe pattern). returns: a new sqlite connection with row factory configured. | STRING |
| HIGH | headroom/memory/adapters/sqlite.py | 0 | get a new database connection (thread-safe pattern). returns: a new sqlite connection with row factory configured. | STRING |
| HIGH | headroom/memory/adapters/graph.py | 0 | get memory statistics for the memorytracker. returns: componentstats with current memory usage. | STRING |
| HIGH | headroom/memory/adapters/hnsw.py | 0 | get memory statistics for the memorytracker. returns: componentstats with current memory usage. | STRING |
| HIGH | headroom/proxy/request_logger.py | 0 | get memory statistics for the memorytracker. returns: componentstats with current memory usage. | STRING |
| HIGH | headroom/proxy/semantic_cache.py | 0 | get memory statistics for the memorytracker. returns: componentstats with current memory usage. | STRING |
| HIGH | headroom/cache/compression_store.py | 0 | get memory statistics for the memorytracker. returns: componentstats with current memory usage. | STRING |
| HIGH | headroom/proxy/memory_tool_adapter.py | 0 | extract tool calls from response based on provider format. | STRING |
| HIGH | headroom/proxy/memory_handler.py | 0 | extract tool calls from response based on provider format. | STRING |
| HIGH | headroom/ccr/response_handler.py | 0 | extract tool calls from response based on provider format. | STRING |
| HIGH | headroom/cache/compression_feedback.py | 0 | fraction of retrievals that were full (not search). | STRING |
| HIGH | headroom/telemetry/toin.py | 0 | fraction of retrievals that were full (not search). | STRING |
| HIGH | headroom/telemetry/models.py | 0 | fraction of retrievals that were full (not search). | STRING |
| HIGH | headroom/integrations/strands/hooks.py | 0 | reset all tracked metrics (thread-safe). clears the metrics history and resets the total tokens saved counter. useful fo | STRING |
| HIGH | headroom/integrations/strands/model.py | 0 | reset all tracked metrics (thread-safe). clears the metrics history and resets the total tokens saved counter. useful fo | STRING |
| HIGH | headroom/integrations/agno/model.py | 0 | reset all tracked metrics (thread-safe). clears the metrics history and resets the total tokens saved counter. useful fo | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_compression/test_evals.py | 116 | """Authentication middleware for FastAPI applications. This module provides JWT-based authentication with role-based ac | STRING |
| HIGH | headroom/onnx_runtime.py | 42 | Download a file from HuggingFace Hub, preferring the local cache. Tries ``local_files_only=True`` first to avoid a | STRING |
| HIGH | headroom/compress.py | 171 | Compress messages using Headroom's full compression pipeline. This is the simplest way to use Headroom. No proxy, n | STRING |
| HIGH | headroom/relevance/__init__.py | 76 | Factory function to create a relevance scorer. Args: tier: Scorer tier to create: - "hybrid": H | STRING |
| HIGH | headroom/tokenizers/registry.py | 134 | Get tokenizer for a model. Args: model: Model name (e.g., 'gpt-4o', 'claude-3-sonnet'). | STRING |
| HIGH | headroom/tokenizers/huggingface.py | 325 | Encode text to token IDs. Args: text: Text to encode. Returns: List of token I | STRING |
| HIGH | headroom/tokenizers/huggingface.py | 344 | Decode token IDs to text. Args: tokens: List of token IDs. Returns: Decoded te | STRING |
| HIGH | headroom/tokenizers/base.py | 330 | Encode text to token IDs. Optional method - not all backends support encoding. Default implementation r | STRING |
| HIGH | headroom/tokenizers/base.py | 347 | Decode token IDs to text. Optional method - not all backends support decoding. Default implementation r | STRING |
| HIGH | headroom/evals/prompt_comparison.py | 220 | Compare two prompts using an LLM judge to verify semantic equivalence. This function sends both prompts to GPT-4o ( | STRING |
| HIGH | headroom/evals/prompt_comparison.py | 594 | Verify that Headroom preserves the semantic meaning of a request. This is the main entry point for verifying Headro | STRING |
| HIGH | headroom/learn/analyzer.py | 471 | Strip optional markdown fences and parse JSON. Handles raw JSON and fenced code blocks (e.g. ```json ... ```), in | STRING |
| HIGH | headroom/learn/analyzer.py | 522 | Call a locally installed CLI tool as the LLM backend. Enables keyless usage for subscription-based CLI tools that h | STRING |
| HIGH | headroom/memory/system.py | 99 | Update an existing memory with new content. Creates a new version while preserving history (supersession). | STRING |
| HIGH | headroom/memory/core.py | 517 | Supersede an existing memory with a new version. Creates a temporal chain where the old memory's validity ends | STRING |
| HIGH | headroom/memory/factory.py | 69 | Create a complete memory system from configuration. This factory function creates and initializes all memory system | STRING |
| HIGH | headroom/memory/factory.py | 117 | Create a memory store backend. Args: config: Memory system configuration. Returns: A MemorySto | STRING |
| HIGH | headroom/memory/factory.py | 145 | Create or return a cached embedder backend. The embedder is shared across every ``LocalBackend`` instance that | STRING |
| HIGH | headroom/memory/factory.py | 231 | Create a vector index backend. Args: config: Memory system configuration. Returns: A VectorInd | STRING |
| HIGH | headroom/memory/factory.py | 324 | Create a text index backend. Args: config: Memory system configuration. Returns: A TextIndex i | STRING |
| HIGH | headroom/memory/backends/local.py | 532 | Update a memory with new content (creates versioned history). Uses HierarchicalMemory.supersede() to create a n | STRING |
| HIGH | headroom/memory/backends/mem0_system_adapter.py | 231 | Update an existing memory with new content. Creates a new version while preserving history (supersession). | STRING |
| HIGH | headroom/memory/adapters/embedders.py | 663 | Call OpenAI API with retry logic for transient failures. Args: texts: List of texts to embed. | STRING |
| HIGH | headroom/memory/adapters/embedders.py | 707 | Generate an embedding for a single text. Args: text: The text to embed. Returns: | STRING |
| HIGH | headroom/memory/adapters/embedders.py | 726 | Generate embeddings for multiple texts. Automatically handles batching for large inputs. Args: | STRING |
| HIGH | headroom/memory/adapters/embedders.py | 885 | Call Ollama API with retry logic for a single text. Args: text: Text to embed. Returns: | STRING |
| HIGH | headroom/memory/adapters/embedders.py | 940 | Generate an embedding for a single text. Args: text: The text to embed. Returns: | STRING |
| HIGH | headroom/memory/adapters/embedders.py | 959 | Generate embeddings for multiple texts. Ollama API doesn't support batch embedding natively, so we make | STRING |
| HIGH | headroom/memory/adapters/sqlite.py | 632 | Supersede an existing memory with a new version. This creates a temporal chain: the old memory's valid_until is | STRING |
| HIGH | headroom/memory/adapters/hnsw.py | 575 | Search for similar memories using vector similarity. Args: filter: Vector search filter with query | STRING |
| HIGH | headroom/proxy/server.py | 1197 | Run a synchronous compression callable on the bounded executor with cancel-aware metrics. Replaces ``as | STRING |
| HIGH | headroom/cache/registry.py | 83 | Get a cache optimizer for a provider. Args: provider: Provider name (e.g., "anthropic", "o | STRING |
| HIGH | headroom/providers/base.py | 54 | Get a token counter for a specific model. Args: model: The model name. Returns: | STRING |
| HIGH | headroom/providers/base.py | 70 | Get the context window limit for a model. Args: model: The model name. Returns: | STRING |
| HIGH | headroom/backends/base.py | 125 | Send an OpenAI-format message request. Unlike send_message(), this takes OpenAI-format input and returns | STRING |
| HIGH | headroom/backends/base.py | 148 | Stream an OpenAI-format chat completion. Yields SSE-formatted strings: 'data: {...}\\n\\n' for each chunk, | STRING |
| HIGH | headroom/cli/_utils/parsers.py | 10 | Parse a duration string into a timedelta. Supported formats: - "7d" - 7 days - "2w" - 2 weeks | STRING |
| HIGH | headroom/transforms/spreadsheet_ingest.py | 74 | Load a spreadsheet file into ``{sheet_name: csv_text}``. Args: path: Path to a ``.xlsx`` or ``.xls`` file. | STRING |
| HIGH | headroom/transforms/code_compressor.py | 106 | Get a tree-sitter parser for the given language. Returns a **thread-local** ``tree_sitter.Parser`` instance. t | STRING |
| HIGH | headroom/transforms/kompress_compressor.py | 1223 | Compress multiple texts. Uses batched inference on GPU, sequential on CPU. On GPU (PyTorch + CUDA / MPS), runs | STRING |
| HIGH | headroom/compression/masks.py | 88 | Combine masks - preserve if EITHER mask says preserve. Useful when combining multiple structure detection strat | STRING |
| HIGH | headroom/compression/masks.py | 111 | Combine masks - preserve only if BOTH masks say preserve. Useful for being more aggressive with compression. | STRING |
| HIGH | headroom/rtk/installer.py | 76 | Download rtk binary from GitHub releases. Args: version: Version to download (e.g., "v0.42.4"). Defaults to | STRING |
| HIGH | headroom/pricing/registry.py | 103 | Estimate the cost for a given token usage. Args: model: The model name/identifier. inpu | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | codecov.yml | 6 | # Gate on the comprehensive unit suite (`python` flag from ci.yml's 4 test | COMMENT |
| MEDIUM | pyproject.toml | 286 | # EleutherAI lm-evaluation-harness (lm-eval), which headroom invokes as an | COMMENT |
| MEDIUM | pyproject.toml | 291 | # need the accuracy harness opt in explicitly with `pip install | COMMENT |
| MEDIUM | pyproject.toml | 306 | # ML weight a sandbox avoids; evals is a dev/test harness, not a | COMMENT |
| MEDIUM | pyproject.toml | 476 | # test-teardown thread; this is a test-harness artifact, not a production issue | COMMENT |
| MEDIUM | crates/headroom-parity/src/lib.rs | 53 | /// differing by 1 ULP). To make comparisons robust we round-trip the | COMMENT |
| MEDIUM | crates/headroom-py/Cargo.toml | 23 | # Disable the default test harness — Rust `cargo test` can't run a cdylib that | COMMENT |
| MEDIUM | tests/test_openai_responses_t3_replay_regression.py | 173 | # Simulate a harness that changed/trimmed the ancient envelope. | COMMENT |
| MEDIUM⚡ | tests/test_request_outcome.py | 146 | # ── classify_client — the harness ID source ───────────────────────── | COMMENT |
| MEDIUM⚡ | tests/test_request_outcome.py | 169 | # X-Client wins even when UA matches a different harness | COMMENT |
| MEDIUM⚡ | tests/test_request_outcome.py | 107 | assert o.client is None # unidentified harness | CODE |
| MEDIUM | tests/test_request_outcome.py | 214 | # Bind the real method to this harness. | COMMENT |
| MEDIUM⚡ | tests/test_google_multimodal.py | 557 | # Parametrized tests for comprehensive coverage | COMMENT |
| MEDIUM | tests/test_dashboard_cache_net_playwright.py | 54 | # escapes the harness to the real network. | COMMENT |
| LOW | tests/test_image_compressor.py | 613 | # URL images should just pass through since we can't extract data | COMMENT |
| MEDIUM | tests/test_ccr_feedback.py | 304 | """get_stats returns comprehensive overview.""" | STRING |
| MEDIUM | …test_dashboard_context_tool_availability_playwright.py | 127 | # escapes the harness to the real network. | COMMENT |
| MEDIUM⚡ | tests/test_observed_wire_shapes.py | 289 | # HEADROOM_LOG_MESSAGES trace of the `inspect` non-litellm harness); | COMMENT |
| MEDIUM⚡ | tests/test_observed_wire_shapes.py | 332 | # Section 5 — command classification is harness-agnostic (Bug A + Bug B) | COMMENT |
| MEDIUM⚡ | tests/test_observed_wire_shapes.py | 474 | # The SAME read action, as each provider/harness serializes its tool call. | COMMENT |
| MEDIUM⚡ | tests/test_observed_wire_shapes.py | 511 | # object — raw and harness-wrapped — is RELEASED (not protected) for compression | COMMENT |
| MEDIUM⚡ | tests/test_observed_wire_shapes.py | 534 | # whatever role the harness stamps on it. | COMMENT |
| MEDIUM | tests/test_observed_wire_shapes.py | 411 | # command* so cat/sed code reads are passed verbatim on ANY model/harness. | COMMENT |
| MEDIUM⚡ | tests/test_cross_turn_dedup.py | 253 | # — role:tool, role:function, or a text-harness role:user string — keyed off the | COMMENT |
| MEDIUM | tests/test_cross_turn_dedup.py | 270 | # Text-harness shape: the read output arrives as a role:user STRING after an | COMMENT |
| LOW | tests/test_bedrock_region.py | 162 | # We need to actually test the function, so let's just use the | COMMENT |
| MEDIUM | tests/test_proxy_hooks_regression.py | 46 | # from that same tokenizer so the test stays robust to any future | COMMENT |
| MEDIUM | tests/test_savings_ledger.py | 255 | # identified harness -> recorded as that client | COMMENT |
| MEDIUM | tests/test_savings_ledger.py | 267 | # unidentified harness -> falls back to "proxy" | COMMENT |
| MEDIUM | tests/test_dashboard_cache_ttl_playwright.py | 167 | # escapes the harness to the real network. | COMMENT |
| LOW | tests/test_evals/test_html_extraction_eval.py | 308 | # These should not fail (just create the evaluator) | COMMENT |
| MEDIUM | tests/test_evals/test_html_oss_benchmarks.py | 279 | # Print comprehensive results | COMMENT |
| MEDIUM | examples/strands_via_proxy_demo.py | 9 | Fix #4 Strands harness label in CLIENT_UA_MAP | STRING |
| MEDIUM | benchmarks/conftest.py | 241 | "\n\n## Guidelines\n1. Always explain your reasoning\n2. Provide code examples when helpful\n3. Consider edge ca | CODE |
| MEDIUM | benchmarks/comprehensive_eval.py | 708 | """Run comprehensive evaluation.""" | STRING |
| MEDIUM | e2e/init/run.py | 33 | # Add repo root to sys.path so the harness import works whether the file is | COMMENT |
| MEDIUM | e2e/init/run.py | 56 | # The harness restores PATH before assertions, but `headroom init` ran with a | COMMENT |
| MEDIUM⚡ | headroom/evals/suite_runner.py | 60 | # Standard benchmarks via lm-eval harness (through Headroom proxy) | COMMENT |
| MEDIUM | headroom/evals/comprehensive_benchmark.py | 63 | "mmlu", # 57 subjects - comprehensive but slow | CODE |
| MEDIUM | headroom/evals/comprehensive_benchmark.py | 467 | """Run comprehensive benchmark suite. | STRING |
| MEDIUM | headroom/learn/verbosity.py | 273 | # Backfill has_tools (a session-level property of the harness). | COMMENT |
| MEDIUM⚡ | headroom/memory/extraction.py | 39 | FACT_EXTRACTION_PROMPT = """You are a comprehensive fact extractor. Your goal is to capture ALL meaningful information f | CODE |
| MEDIUM | headroom/proxy/server.py | 3643 | """Get comprehensive proxy statistics. | STRING |
| MEDIUM | headroom/proxy/prometheus_metrics.py | 702 | # client is the harness classified from the User-Agent / X-Client | COMMENT |
| MEDIUM | headroom/proxy/prometheus_metrics.py | 704 | # when the harness is unidentified. | COMMENT |
| MEDIUM⚡ | headroom/proxy/outcome.py | 120 | # client: identified harness driving the request (codex / | COMMENT |
| MEDIUM⚡ | headroom/proxy/outcome.py | 123 | # User-Agent matched a known harness. Populated by handlers | COMMENT |
| MEDIUM⚡ | headroom/proxy/outcome.py | 127 | # can slice by harness without a separate column. This is the | COMMENT |
| MEDIUM⚡ | headroom/proxy/outcome.py | 129 | # harness visibility appears across EVERY handler with zero | COMMENT |
| MEDIUM | headroom/proxy/outcome.py | 412 | # tag-based filtering surfaces per-harness slicing for free — | COMMENT |
| MEDIUM | headroom/proxy/outcome.py | 446 | # a harness was identified — keeps the unidentified-traffic | COMMENT |
| MEDIUM | headroom/proxy/handlers/openai.py | 4825 | # Identify the WS harness before downstream auth/header rewrites. | COMMENT |
| MEDIUM | headroom/proxy/handlers/anthropic.py | 791 | # Identify the harness (codex / claude-code / aider / etc.) | COMMENT |
| MEDIUM | headroom/proxy/handlers/streaming.py | 1065 | # Identify the harness (codex / claude-code / aider / cursor / | COMMENT |
| MEDIUM | headroom/cache/prefix_tracker.py | 321 | # stripping) so it is robust to ALL per-turn transport / annotation churn — | COMMENT |
| LOW | headroom/backends/litellm.py | 339 | # Provider Registry - to add a new provider, just add an entry here! | COMMENT |
| MEDIUM | headroom/subscription/tracker.py | 382 | # PR-G2 remediation (H1): elevate to ERROR — this is config | COMMENT |
| MEDIUM | headroom/transforms/content_detector.py | 195 | # WRAPPED payload to still count as JSON: a small structural wrapper (a harness | COMMENT |
| MEDIUM⚡ | headroom/transforms/content_router.py | 3608 | # keeps exact bytes to patch — regardless of how THIS harness labels | COMMENT |
| MEDIUM⚡ | headroom/transforms/content_router.py | 3610 | # harnesses (Anthropic tool_use, OpenAI/Kimi `role:tool`, text-harness | COMMENT |
| 6 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_memory_system.py | 26 | # Check if hnswlib is available for LocalBackend tests | COMMENT |
| LOW | tests/test_proxy_memory_integration.py | 221 | # Check if response indicates tool was used | COMMENT |
| LOW | tests/test_proxy_memory_integration.py | 281 | # Check if response mentions the saved info | COMMENT |
| LOW⚡ | tests/test_memory_integration.py | 264 | # Check if memory tool was called | COMMENT |
| LOW⚡ | tests/test_memory_integration.py | 271 | # Check if auto-handled | COMMENT |
| LOW | tests/test_memory_integration.py | 310 | # Check if memory tool was called with pre-extraction | COMMENT |
| LOW | tests/test_memory_integration.py | 558 | # Check if search was invoked | COMMENT |
| LOW | tests/test_critical_gaps.py | 830 | # Set _last_save_time to past so elapsed > interval | COMMENT |
| LOW | tests/test_proxy_ccr.py | 445 | # Check if compression was actually performed (not skipped) | COMMENT |
| LOW | tests/test_hnsw_only.py | 16 | # Check if hnswlib is available (use lazy check to avoid SIGILL on incompatible CPUs) | COMMENT |
| LOW | tests/test_sqlite_vector_index.py | 22 | # Check if sqlite-vec is available | COMMENT |
| LOW | tests/test_google_multimodal_e2e.py | 145 | # Check if model made a function call | COMMENT |
| LOW | tests/test_cache/test_anthropic.py | 70 | # Check if cache_control was inserted | COMMENT |
| LOW | tests/test_evals/test_html_oss_benchmarks.py | 70 | # Print results | COMMENT |
| LOW⚡ | tests/test_integrations/langchain/test_chat_model.py | 1021 | # Check if Ollama server is running on default port | COMMENT |
| LOW | tests/test_integrations/langchain/test_chat_model.py | 18 | # Check if LangChain is available | COMMENT |
| LOW | tests/test_integrations/langchain/test_extended.py | 17 | # Check if LangChain is available | COMMENT |
| LOW | tests/test_integrations/langchain/test_streaming.py | 16 | # Check if LangChain is available | COMMENT |
| LOW | tests/test_integrations/langchain/test_langgraph.py | 15 | # Check if LangChain is available | COMMENT |
| LOW | tests/test_integrations/langchain/test_memory.py | 15 | # Check if LangChain is available | COMMENT |
| LOW | tests/test_integrations/langchain/test_retriever.py | 15 | # Check if LangChain is available | COMMENT |
| LOW | tests/test_integrations/langchain/test_agents.py | 16 | # Check if LangChain is available | COMMENT |
| LOW | tests/test_integrations/agno/test_model.py | 15 | # Check if Agno is available | COMMENT |
| LOW | tests/test_integrations/agno/test_model.py | 1032 | # Check if Ollama server is running on default port | COMMENT |
| LOW | tests/test_integrations/agno/test_hooks.py | 14 | # Check if Agno is available | COMMENT |
| LOW⚡ | tests/test_memory/test_factory.py | 29 | # Check if hnswlib is available (most factory tests require it) | COMMENT |
| LOW⚡ | tests/test_memory/test_hierarchical.py | 659 | # Check if hnswlib is available (use lazy check to avoid SIGILL on incompatible CPUs) | COMMENT |
| LOW | tests/test_memory/test_easy.py | 29 | # Check if hnswlib is available (local backend requires it) | COMMENT |
| LOW | tests/test_memory/test_core_operations.py | 36 | # Check if hnswlib is available (HierarchicalMemory requires it) | COMMENT |
| LOW | tests/test_cli/test_mcp.py | 24 | # Check if MCP SDK is available | COMMENT |
| LOW | tests/integrations/test_strands/test_model.py | 23 | # Check if strands-agents is installed | COMMENT |
| LOW | tests/integrations/test_strands/test_model_unit.py | 16 | # Check if strands-agents is installed for proper skip handling | COMMENT |
| LOW | tests/integrations/test_strands/test_hooks.py | 23 | # Check if strands-agents is installed | COMMENT |
| LOW | tests/integrations/test_strands/test_hooks_unit.py | 18 | # Check if strands-agents is installed for proper skip handling | COMMENT |
| LOW | examples/strands_bedrock_demo.py | 646 | # Display results | COMMENT |
| LOW | examples/strands_bedrock_demo.py | 816 | # Display results | COMMENT |
| LOW | examples/langchain_demo/run_comparison.py | 195 | # Check if done | COMMENT |
| LOW | examples/langchain_demo/run_comparison.py | 299 | # Check if done | COMMENT |
| LOW⚡ | examples/deployment/macos-launchagent/uninstall.sh | 67 | # Check if we're on macOS | COMMENT |
| LOW⚡ | examples/deployment/macos-launchagent/uninstall.sh | 74 | # Check if LaunchAgent is installed | COMMENT |
| LOW⚡ | examples/deployment/macos-launchagent/uninstall.sh | 81 | # Check if service is running and stop it | COMMENT |
| LOW | examples/deployment/macos-launchagent/install.sh | 75 | # Check if we're on macOS | COMMENT |
| LOW | examples/deployment/macos-launchagent/install.sh | 81 | # Check if headroom is installed | COMMENT |
| LOW | examples/deployment/macos-launchagent/install.sh | 96 | # Check if service is already installed | COMMENT |
| LOW | examples/deployment/macos-launchagent/install.sh | 100 | # Check if service is running | COMMENT |
| LOW | examples/deployment/macos-launchagent/install.sh | 130 | # Check if port is in use | COMMENT |
| LOW | examples/deployment/macos-launchagent/install.sh | 189 | # Check if port is listening | COMMENT |
| LOW | …ples/deployment/macos-launchagent/shell-integration.sh | 32 | # Check if proxy is running (fast path using lsof) | COMMENT |
| LOW | …ples/deployment/macos-launchagent/shell-integration.sh | 41 | # Check if LaunchAgent is installed | COMMENT |
| LOW⚡ | benchmarks/adversarial_ccr_tests.py | 658 | # Check if error items with unicode were preserved | COMMENT |
| LOW⚡ | benchmarks/adversarial_ccr_tests.py | 1505 | # Check if we kept the TARGET item | COMMENT |
| LOW⚡ | benchmarks/adversarial_ccr_tests.py | 1614 | # Check if null-byte items were preserved (they have status=error) | COMMENT |
| LOW | benchmarks/adversarial_ccr_tests.py | 332 | # Check if anomaly was preserved | COMMENT |
| LOW | benchmarks/adversarial_ccr_tests.py | 618 | # Check if our compression worked despite fake markers | COMMENT |
| LOW | benchmarks/adversarial_ccr_tests.py | 1001 | # Check if the nested error was preserved | COMMENT |
| LOW | benchmarks/adversarial_ccr_tests.py | 1121 | # Check if future timestamp was preserved | COMMENT |
| LOW | benchmarks/compression_benchmark.py | 537 | # Check if most key terms appear in answer | COMMENT |
| LOW | benchmarks/run_benchmarks.py | 260 | # Write file | COMMENT |
| LOW | benchmarks/ccr_regression_benchmark.py | 150 | # Check if ALL errors were retained | COMMENT |
| LOW | benchmarks/ccr_regression_benchmark.py | 225 | # Check if target UUID was found | COMMENT |
| 56 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | CHANGELOG.md | 115 | * **wrap/doctor:** make the Claude Remote Control gate warning accurate and stop it firing for users who never had the f | COMMENT |
| MEDIUM | crates/headroom-core/src/ccr/mod.rs | 63 | /// (`CCRConfig.store_ttl_seconds`). Session-scale: agentic sessions | COMMENT |
| MEDIUM | REALIGNMENT/04-phase-B-live-zone.md | 88 | - **MessageScorer Rust port retirement:** PR #338 and #343 (April 2026) ported MessageScorer to Rust. That work becomes | CODE |
| MEDIUM | REALIGNMENT/12-decisions-needed.md | 35 | The PR #338 / #343 port (April 2026) was investment in the wrong abstraction (per Agent G's audit: scoring's only consum | CODE |
| MEDIUM⚡ | tests/test_proxy_warmup.py | 102 | # Startup orchestration tests — use HeadroomProxy + stubbed transforms | COMMENT |
| MEDIUM | tests/test_openai_codex_ws_lifecycle.py | 768 | # out is a cancel from the handler's orchestration. | COMMENT |
| MEDIUM | tests/test_memory_handler_native_ops.py | 848 | # handles its own context window. See ``MemoryQuery``. | COMMENT |
| MEDIUM⚡ | tests/test_relevance_split.py | 202 | # the embedding model on the request thread (the swap happens later, in the | COMMENT |
| MEDIUM⚡ | tests/test_memory/test_traffic_learner.py | 2105 | # Malformed input — we'd rather drop than persist scaffolding. | COMMENT |
| MEDIUM⚡ | tests/test_cli/test_wrap_helpers.py | 840 | # _resolve_1m_model — 1M context window suffix logic (#1158). | COMMENT |
| MEDIUM | wiki/langchain.md | 396 | ### Example 2: RAG Pipeline with Document Filtering | COMMENT |
| MEDIUM⚡ | benchmarks/agent_cost_benchmark.py | 348 | # SCENARIO 3: RAG Context Scaling | COMMENT |
| MEDIUM | benchmarks/agent_cost_benchmark.py | 362 | # Generate RAG conversation with ~50K tokens of context | COMMENT |
| MEDIUM⚡ | benchmarks/bench_latency.py | 114 | content_type: str # json, code, text, logs, agentic, rag | CODE |
| MEDIUM | benchmarks/bench_latency.py | 589 | # Set a model_limit large enough to exercise compression on big agentic contexts | COMMENT |
| MEDIUM | benchmarks/bench_latency.py | 601 | # --- RAG conversations --- | COMMENT |
| MEDIUM | benchmarks/bench_latency.py | 864 | # --- Per-Transform Breakdown (for agentic/rag scenarios) --- | COMMENT |
| MEDIUM | .github/workflows/ci.yml | 7 | # prefetch-model — download the embedding model ONCE (authenticated), warm shared cache | COMMENT |
| MEDIUM | headroom/config.py | 540 | # Session-scale TTL. The original 5-minute default predates agentic | COMMENT |
| MEDIUM | headroom/__init__.py | 189 | # Shared context for multi-agent workflows | COMMENT |
| MEDIUM | headroom/parser.py | 39 | # Patterns for RAG detection (best effort) | COMMENT |
| MEDIUM | headroom/parser.py | 260 | # Check if this looks like RAG content | COMMENT |
| MEDIUM⚡ | headroom/evals/datasets.py | 49 | # RAG / RETRIEVAL DATASETS | COMMENT |
| MEDIUM⚡ | headroom/evals/datasets.py | 1148 | # RAG/Retrieval | COMMENT |
| MEDIUM | headroom/evals/README.md | 176 | ### RAG / Retrieval | COMMENT |
| MEDIUM | headroom/evals/__main__.py | 389 | python -m headroom.evals benchmark --dataset rag # Run all RAG datasets | CODE |
| MEDIUM | headroom/learn/models.py | 162 | # guards against a detected repeated pattern. Loop guardrails are ranked | COMMENT |
| MEDIUM⚡ | headroom/learn/analyzer.py | 200 | # Weight loop guardrails above one-off rules using MEASURED waste. | COMMENT |
| MEDIUM⚡ | headroom/memory/traffic_learner.py | 958 | # implementation matched scaffolding ("don't mention this | COMMENT |
| MEDIUM | headroom/proxy/server.py | 775 | # code/RAG context — see issue #454). | COMMENT |
| MEDIUM | headroom/proxy/server.py | 2848 | # remain the unauthenticated probes for orchestration health. | COMMENT |
| MEDIUM | headroom/proxy/models.py | 219 | # of input lives in user messages (pasted code/text, RAG context) and the | COMMENT |
| MEDIUM⚡ | headroom/proxy/helpers.py | 2612 | # local context window — tens of K tokens. That decision is made client-side | COMMENT |
| MEDIUM⚡ | headroom/proxy/helpers.py | 2724 | # Anthropic then excludes deferred tools from the context window (they stop | COMMENT |
| MEDIUM | headroom/proxy/handlers/anthropic.py | 2256 | # them from the context window — they stop counting as input tokens until | COMMENT |
| MEDIUM | headroom/providers/openai.py | 72 | # OpenAI context window limits | COMMENT |
| MEDIUM | headroom/providers/anthropic.py | 96 | # Claude Sonnet 4.6 - 1M context window | COMMENT |
| MEDIUM | headroom/providers/claude/runtime.py | 12 | # every one into its context window) when ANTHROPIC_BASE_URL is a custom host | COMMENT |
| MEDIUM | headroom/providers/claude/runtime.py | 30 | # family as #746 (on-demand tool loading) and #1158 (1M context window), both of | COMMENT |
| MEDIUM | headroom/providers/claude/install.py | 20 | # its context window (GH #746) — breaking sub-agents and forcing compaction. | COMMENT |
| MEDIUM | headroom/cli/init.py | 170 | # all into its context window — overflowing it (breaks sub-agent spawns, | COMMENT |
| MEDIUM | headroom/cli/wrap.py | 169 | # inflates the local context window by tens of K tokens. Setting the env var | COMMENT |
| MEDIUM | headroom/cli/wrap.py | 179 | # 1M context window for `wrap claude` (#1158). Claude Code only sends the | COMMENT |
| MEDIUM | headroom/cli/wrap.py | 4208 | # Issue #1158: opt-in 1M context window. Claude Code only sends the | COMMENT |
| MEDIUM | headroom/cli/wrap.py | 3932 | headroom wrap claude --1m # Preserve the 1M context window | STRING |
| MEDIUM | headroom/transforms/content_router.py | 1144 | # embedding model is pre-warmed in the background (BM25 scores until it's | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | crates/headroom-core/config/pipeline.toml | 3 | # This file is embedded into the headroom-core binary via `include_str!` | COMMENT |
| MEDIUM | tests/test_security_validations.py | 109 | # Create a memory with safe metadata | COMMENT |
| MEDIUM⚡ | tests/test_memory_system.py | 642 | # Create a simple graph: e1 -> e2 -> e3 | COMMENT |
| MEDIUM⚡ | tests/test_memory_system.py | 802 | # Create a chain longer than max_depth | COMMENT |
| MEDIUM | tests/test_memory_system.py | 665 | # Create a chain: e1 -> e2 -> e3 -> e4 | COMMENT |
| MEDIUM | tests/test_memory_system.py | 1688 | # Create a graph structure | COMMENT |
| MEDIUM⚡ | tests/test_image_compression.py | 256 | # Create a simple test image | COMMENT |
| MEDIUM⚡ | tests/test_image_compressor.py | 61 | # Create a simple 100x100 red image | COMMENT |
| MEDIUM | tests/test_image_compressor.py | 74 | # Create a 1024x1024 image with some pattern | COMMENT |
| MEDIUM | tests/test_critical_fixes.py | 110 | # Create a signature using the correct factory method | COMMENT |
| MEDIUM | tests/test_critical_gaps.py | 69 | # Create a pattern | COMMENT |
| MEDIUM | tests/test_toin_feedback.py | 338 | # Create a minimal proxy to test the method | COMMENT |
| MEDIUM | tests/test_proxy_batch_integration.py | 76 | # Create a list of items that will be compressible | COMMENT |
| MEDIUM⚡ | tests/test_backend_bugs.py | 617 | # Create an async iterator for the mock streaming response | COMMENT |
| MEDIUM | tests/test_acceptance.py | 16 | # Create a shared provider for tests | COMMENT |
| MEDIUM | tests/repro_unsendable_panic.py | 41 | # Create the parser on the main thread | COMMENT |
| MEDIUM | tests/test_memory_tracker_integration.py | 414 | # Create a component that reports large size | COMMENT |
| MEDIUM | tests/test_memory_sync.py | 232 | # Create an existing MEMORY.md | COMMENT |
| MEDIUM⚡ | tests/test_adapter_hooks.py | 213 | # Create a new TOIN instance with same backend — should load patterns | COMMENT |
| MEDIUM | tests/test_cli_update.py | 247 | # Create a fake .pyd file | COMMENT |
| MEDIUM | tests/test_proxy_streaming_resilience.py | 247 | # Create a realistic HTTP 429 error | COMMENT |
| MEDIUM | tests/test_proxy_compress_endpoint.py | 175 | # Create a large repetitive tool output that should be compressible | COMMENT |
| MEDIUM | tests/test_cache/test_client_integration.py | 294 | # Create a spy optimizer to track calls | COMMENT |
| MEDIUM | tests/test_cache/test_client_integration.py | 618 | # Create a conversation that will trigger some optimization | COMMENT |
| MEDIUM | tests/test_integrations/langchain/test_chat_model.py | 1213 | # Create a conversation with repetitive content that should be compressed | COMMENT |
| MEDIUM⚡ | tests/test_integrations/agno/test_model.py | 877 | # Create a real OpenAIChat model (doesn't need API key for instantiation) | COMMENT |
| MEDIUM | tests/test_integrations/agno/test_model.py | 55 | # Create a proper ModelResponse that Agno's response() can process | COMMENT |
| MEDIUM | tests/test_memory/test_hierarchical.py | 344 | # Create a chain: v1 -> v2 -> v3 | COMMENT |
| MEDIUM | tests/test_memory/test_hierarchical.py | 594 | # Create a supersession chain | COMMENT |
| MEDIUM | tests/test_memory/test_budget.py | 124 | # Create a manager with git check disabled but file-exists check active | COMMENT |
| MEDIUM | tests/test_memory/test_budget.py | 147 | # Create the referenced file | COMMENT |
| MEDIUM | tests/test_transforms/test_diff_compressor.py | 124 | # Create a diff with many hunks | COMMENT |
| MEDIUM | e2e/_lib/make_shim.sh | 2 | # Create a noop executable shim at $2/$1 suitable for use in PATH during | COMMENT |
| MEDIUM | headroom/evals/batch_compression_eval.py | 737 | # Create a long document | COMMENT |
| MEDIUM | headroom/evals/runners/compression_only.py | 294 | # Create a document with specific facts embedded | COMMENT |
| MEDIUM | headroom/memory/backends/direct_mem0.py | 587 | # Create the background task | STRING |
| MEDIUM | headroom/memory/adapters/fts5.py | 412 | # Create a minimal Memory object from FTS data | COMMENT |
| MEDIUM | headroom/cache/compression_store.py | 765 | # Create a synthetic "success" event that we'll process later | COMMENT |
| MEDIUM | headroom/backends/anyllm.py | 49 | # Create the AnyLLM instance once and reuse. api_key/api_base are only | COMMENT |
| MEDIUM | headroom/integrations/asgi.py | 164 | # Create a new receive that returns the (possibly modified) body | COMMENT |
| MEDIUM | headroom/integrations/strands/hooks.py | 10 | # Create the hook provider | STRING |
| MEDIUM | headroom/transforms/content_router.py | 639 | # Create a deterministic structure hash based on content type | COMMENT |
| MEDIUM | headroom/transforms/content_router.py | 1444 | # Create a content-type signature | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | crates/headroom-core/tests/ccr_backends.rs | 136 | // Step 1: same payload yields byte-equal keys. | COMMENT |
| LOW⚡ | crates/headroom-core/tests/ccr_backends.rs | 139 | // Step 2: store in sqlite, mirror to in-memory under the same | COMMENT |
| LOW⚡ | tests/test_proxy_count_tokens_integration.py | 464 | # Step 1: Count tokens with large content | STRING |
| LOW⚡ | tests/test_proxy_count_tokens_integration.py | 470 | # Step 2: Make countTokens request | STRING |
| LOW⚡ | tests/test_proxy_count_tokens_integration.py | 479 | # Step 3: Verify stats updated | STRING |
| LOW⚡ | tests/test_proxy_count_tokens_integration.py | 483 | # Step 4: Verify tokens saved is tracked (may be negative for small overhead) | STRING |
| LOW⚡ | tests/test_proxy_batch_integration.py | 150 | # Step 1: Create JSONL content with compressible messages | COMMENT |
| LOW | tests/test_proxy_batch_integration.py | 169 | # Step 2: Upload the JSONL file directly to OpenAI | COMMENT |
| LOW | tests/test_proxy_batch_integration.py | 183 | # Step 3: Create batch through proxy with compression | COMMENT |
| LOW | tests/test_proxy_batch_integration.py | 221 | # Step 4: Cancel the batch to avoid costs | COMMENT |
| LOW⚡ | tests/test_proxy_ccr.py | 599 | # Step 2: Retrieve through proxy endpoint (by hash → full content) | COMMENT |
| LOW⚡ | tests/test_proxy_ccr.py | 609 | # Step 3: Verify TOIN learned | COMMENT |
| LOW⚡ | tests/test_proxy_ccr.py | 620 | # Step 4: Verify field semantics were learned | COMMENT |
| LOW⚡ | tests/test_proxy_ccr.py | 627 | # Step 5: PR-B5 retired the request-time recommendation API in favor of | COMMENT |
| LOW | wiki/ARCHITECTURE.md | 304 | ### Step 1: You call the API | COMMENT |
| LOW | wiki/ARCHITECTURE.md | 319 | ### Step 2: HeadroomClient intercepts | COMMENT |
| LOW | wiki/ARCHITECTURE.md | 331 | ### Step 3: Transform Pipeline runs | COMMENT |
| LOW | wiki/ARCHITECTURE.md | 362 | ### Step 4: Call real API | COMMENT |
| LOW | wiki/ARCHITECTURE.md | 371 | ### Step 5: Log metrics and return | COMMENT |
| LOW⚡ | wiki/quickstart.md | 50 | ### Step 1: Start the Proxy | COMMENT |
| LOW⚡ | wiki/quickstart.md | 56 | ### Step 2: Verify It's Running | COMMENT |
| LOW⚡ | wiki/quickstart.md | 63 | ### Step 3: Point Your Client | COMMENT |
| LOW | wiki/quickstart.md | 80 | ### Step 4: Check Savings | COMMENT |
| LOW | wiki/macos-deployment.md | 106 | ### Step 1: Create Log Directory | COMMENT |
| LOW | wiki/macos-deployment.md | 112 | ### Step 2: Generate LaunchAgent Plist | COMMENT |
| LOW | wiki/macos-deployment.md | 139 | ### Step 3: Load the LaunchAgent | COMMENT |
| LOW | wiki/macos-deployment.md | 145 | ### Step 4: Verify Service | COMMENT |
| LOW⚡ | benchmarks/ccr_regression_benchmark.py | 642 | # Step 1: Compress | COMMENT |
| LOW⚡ | benchmarks/ccr_regression_benchmark.py | 647 | # Step 2: Cache | COMMENT |
| LOW⚡ | benchmarks/ccr_regression_benchmark.py | 656 | # Step 3: Record compression in feedback | COMMENT |
| LOW⚡ | benchmarks/ccr_regression_benchmark.py | 659 | # Step 4: Retrieve and search | COMMENT |
| LOW⚡ | benchmarks/ccr_regression_benchmark.py | 663 | # Step 5: Process feedback | COMMENT |
| LOW⚡ | benchmarks/scenarios/conversations.py | 502 | ### Step 1: Setup | COMMENT |
| LOW⚡ | benchmarks/scenarios/conversations.py | 508 | ### Step 2: Implementation | COMMENT |
| LOW | benchmarks/scenarios/conversations.py | 523 | ### Step 3: Testing | COMMENT |
| LOW⚡ | headroom/memory/budget.py | 107 | # Step 1: Apply temporal decay to importance scores | COMMENT |
| LOW⚡ | headroom/memory/budget.py | 110 | # Step 2: Detect and flag stale memories | COMMENT |
| LOW⚡ | headroom/memory/budget.py | 114 | # Step 3: Merge similar memories | COMMENT |
| LOW⚡ | headroom/memory/budget.py | 118 | # Step 4: Rank by score and apply budget | COMMENT |
| LOW⚡ | headroom/proxy/handlers/batch.py | 893 | # Step 3: Create compressed JSONL content | COMMENT |
| LOW⚡ | headroom/proxy/handlers/batch.py | 896 | # Step 4: Upload compressed file to OpenAI | COMMENT |
| LOW | headroom/proxy/handlers/batch.py | 861 | # Step 1: Download the input file from OpenAI | COMMENT |
| LOW | headroom/proxy/handlers/batch.py | 877 | # Step 2: Parse and compress each line | COMMENT |
| LOW | headroom/proxy/handlers/batch.py | 914 | # Step 5: Create batch with compressed file | COMMENT |
| LOW⚡ | headroom/cache/anthropic.py | 135 | # Step 1: Analyze content sections | COMMENT |
| LOW⚡ | headroom/cache/anthropic.py | 138 | # Step 2: Stabilize prefix | COMMENT |
| LOW⚡ | headroom/cache/anthropic.py | 144 | # Step 3: Plan breakpoint placement | COMMENT |
| LOW⚡ | headroom/cache/anthropic.py | 148 | # Step 4: Insert cache_control blocks | COMMENT |
| LOW⚡ | headroom/cache/anthropic.py | 153 | # Step 5: Compute metrics | COMMENT |
| LOW⚡ | headroom/image/trained_router.py | 346 | # Step 1: Classify query with trained model | COMMENT |
| LOW⚡ | headroom/image/trained_router.py | 349 | # Step 2: Analyze image with SigLIP (if enabled) | COMMENT |
| LOW⚡ | headroom/image/trained_router.py | 355 | # Step 3: Combine signals for final decision | COMMENT |
| LOW⚡ | headroom/image/tile_optimizer.py | 60 | # Step 1: scale so max dimension ≤ 2048 | COMMENT |
| LOW⚡ | headroom/image/tile_optimizer.py | 67 | # Step 2: scale so shortest side ≤ 768 | COMMENT |
| LOW⚡ | headroom/image/tile_optimizer.py | 74 | # Step 3: count 512×512 tiles | COMMENT |
| LOW⚡ | headroom/image/compressor.py | 649 | # Step 2: ML-based technique routing | COMMENT |
| LOW⚡ | headroom/image/compressor.py | 699 | # Step 3: Apply compression technique | COMMENT |
| LOW | headroom/image/compressor.py | 634 | # Step 1: Tile-boundary optimization (always safe, pure math) | COMMENT |
| LOW⚡ | headroom/telemetry/toin.py | 1438 | # Step 1: Serialize under lock (fast in-memory operation) | COMMENT |
| LOW⚡ | headroom/telemetry/toin.py | 1442 | # Step 2: Write outside lock (slow I/O operation) | COMMENT |
| 1 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | tests/test_proxy_savings_history.py | 1162 | client.app.state.proxy.metrics.savings_tracker.flush() | CODE |
| CRITICAL | tests/test_openai_chat_turn_hooks.py | 207 | logs = client.app.state.proxy.logger.get_recent(10) | CODE |
| CRITICAL | tests/test_compression/test_evals.py | 357 | at com.example.app.client.InventoryClient.updateStock(InventoryClient.java:87) | STRING |
| CRITICAL | tests/test_compression/test_evals.py | 358 | at com.example.app.service.InventoryService.decrementStock(InventoryService.java:156) | STRING |
| CRITICAL | benchmarks/headroom_worst_case_benchmark.py | 290 | at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:897) | CODE |
| CRITICAL⚡ | benchmarks/comprehensive_eval.py | 139 | at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82) | CODE |
| CRITICAL⚡ | benchmarks/comprehensive_eval.py | 140 | at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:376) | CODE |
| CRITICAL⚡ | benchmarks/comprehensive_eval.py | 143 | at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1421) | CODE |
| CRITICAL | headroom/memory/wrapper.py | 243 | response = self._wrapper._client.chat.completions.create(**kwargs) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | crates/headroom-core/tests/ccr_backends.rs | 136 | // Step 1: same payload yields byte-equal keys. | COMMENT |
| LOW⚡ | crates/headroom-core/tests/ccr_backends.rs | 139 | // Step 2: store in sqlite, mirror to in-memory under the same | COMMENT |
| LOW⚡ | tests/test_proxy_count_tokens_integration.py | 464 | # Step 1: Count tokens with large content | STRING |
| LOW⚡ | tests/test_proxy_count_tokens_integration.py | 470 | # Step 2: Make countTokens request | STRING |
| LOW⚡ | tests/test_proxy_count_tokens_integration.py | 479 | # Step 3: Verify stats updated | STRING |
| LOW⚡ | tests/test_proxy_count_tokens_integration.py | 483 | # Step 4: Verify tokens saved is tracked (may be negative for small overhead) | STRING |
| LOW⚡ | tests/test_proxy_batch_integration.py | 150 | # Step 1: Create JSONL content with compressible messages | COMMENT |
| LOW | tests/test_proxy_batch_integration.py | 169 | # Step 2: Upload the JSONL file directly to OpenAI | COMMENT |
| LOW | tests/test_proxy_batch_integration.py | 183 | # Step 3: Create batch through proxy with compression | COMMENT |
| LOW | tests/test_proxy_batch_integration.py | 221 | # Step 4: Cancel the batch to avoid costs | COMMENT |
| LOW⚡ | tests/test_proxy_ccr.py | 599 | # Step 2: Retrieve through proxy endpoint (by hash → full content) | COMMENT |
| LOW⚡ | tests/test_proxy_ccr.py | 609 | # Step 3: Verify TOIN learned | COMMENT |
| LOW⚡ | tests/test_proxy_ccr.py | 620 | # Step 4: Verify field semantics were learned | COMMENT |
| LOW⚡ | tests/test_proxy_ccr.py | 627 | # Step 5: PR-B5 retired the request-time recommendation API in favor of | COMMENT |
| LOW⚡ | benchmarks/ccr_regression_benchmark.py | 642 | # Step 1: Compress | COMMENT |
| LOW⚡ | benchmarks/ccr_regression_benchmark.py | 647 | # Step 2: Cache | COMMENT |
| LOW⚡ | benchmarks/ccr_regression_benchmark.py | 656 | # Step 3: Record compression in feedback | COMMENT |
| LOW⚡ | benchmarks/ccr_regression_benchmark.py | 659 | # Step 4: Retrieve and search | COMMENT |
| LOW⚡ | benchmarks/ccr_regression_benchmark.py | 663 | # Step 5: Process feedback | COMMENT |
| LOW⚡ | benchmarks/scenarios/conversations.py | 502 | ### Step 1: Setup | COMMENT |
| LOW⚡ | benchmarks/scenarios/conversations.py | 508 | ### Step 2: Implementation | COMMENT |
| LOW | benchmarks/scenarios/conversations.py | 523 | ### Step 3: Testing | COMMENT |
| LOW⚡ | headroom/memory/budget.py | 107 | # Step 1: Apply temporal decay to importance scores | COMMENT |
| LOW⚡ | headroom/memory/budget.py | 110 | # Step 2: Detect and flag stale memories | COMMENT |
| LOW⚡ | headroom/memory/budget.py | 114 | # Step 3: Merge similar memories | COMMENT |
| LOW⚡ | headroom/memory/budget.py | 118 | # Step 4: Rank by score and apply budget | COMMENT |
| LOW⚡ | headroom/proxy/handlers/batch.py | 893 | # Step 3: Create compressed JSONL content | COMMENT |
| LOW⚡ | headroom/proxy/handlers/batch.py | 896 | # Step 4: Upload compressed file to OpenAI | COMMENT |
| LOW | headroom/proxy/handlers/batch.py | 861 | # Step 1: Download the input file from OpenAI | COMMENT |
| LOW | headroom/proxy/handlers/batch.py | 877 | # Step 2: Parse and compress each line | COMMENT |
| LOW | headroom/proxy/handlers/batch.py | 914 | # Step 5: Create batch with compressed file | COMMENT |
| LOW⚡ | headroom/cache/anthropic.py | 135 | # Step 1: Analyze content sections | COMMENT |
| LOW⚡ | headroom/cache/anthropic.py | 138 | # Step 2: Stabilize prefix | COMMENT |
| LOW⚡ | headroom/cache/anthropic.py | 144 | # Step 3: Plan breakpoint placement | COMMENT |
| LOW⚡ | headroom/cache/anthropic.py | 148 | # Step 4: Insert cache_control blocks | COMMENT |
| LOW⚡ | headroom/cache/anthropic.py | 153 | # Step 5: Compute metrics | COMMENT |
| LOW⚡ | headroom/image/trained_router.py | 346 | # Step 1: Classify query with trained model | COMMENT |
| LOW⚡ | headroom/image/trained_router.py | 349 | # Step 2: Analyze image with SigLIP (if enabled) | COMMENT |
| LOW⚡ | headroom/image/trained_router.py | 355 | # Step 3: Combine signals for final decision | COMMENT |
| LOW⚡ | headroom/image/tile_optimizer.py | 60 | # Step 1: scale so max dimension ≤ 2048 | COMMENT |
| LOW⚡ | headroom/image/tile_optimizer.py | 67 | # Step 2: scale so shortest side ≤ 768 | COMMENT |
| LOW⚡ | headroom/image/tile_optimizer.py | 74 | # Step 3: count 512×512 tiles | COMMENT |
| LOW⚡ | headroom/image/compressor.py | 649 | # Step 2: ML-based technique routing | COMMENT |
| LOW⚡ | headroom/image/compressor.py | 699 | # Step 3: Apply compression technique | COMMENT |
| LOW | headroom/image/compressor.py | 634 | # Step 1: Tile-boundary optimization (always safe, pure math) | COMMENT |
| LOW⚡ | headroom/telemetry/toin.py | 1438 | # Step 1: Serialize under lock (fast in-memory operation) | COMMENT |
| LOW⚡ | headroom/telemetry/toin.py | 1442 | # Step 2: Write outside lock (slow I/O operation) | COMMENT |
| LOW⚡ | headroom/telemetry/toin.py | 1446 | # Step 3: Update state under lock (fast) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_transforms/test_html_extractor.py | 466 | <pre><code>Authorization: Bearer YOUR_API_KEY</code></pre> | CODE |
| HIGH | wiki/typescript-sdk.md | 59 | apiKey: 'your-api-key', // optional, for authenticated endpoints | CODE |
| HIGH | wiki/typescript-sdk.md | 92 | apiKey: 'your-api-key', | CODE |
| HIGH | wiki/configuration.md | 431 | export HEADROOM_API_KEY=your-api-key | CODE |
| HIGH | wiki/configuration.md | 443 | apiKey: 'your-api-key', | CODE |
| HIGH | wiki/proxy.md | 317 | api_key="your-api-key", # Still needed for upstream | CODE |
| HIGH | sdk/typescript/README.md | 363 | apiKey: 'your-api-key', // optional, for authenticated endpoints | CODE |
| HIGH | benchmarks/scenarios/conversations.py | 542 | Authorization: Bearer <your-api-key> | CODE |
| HIGH | headroom/evals/html_extraction.py | 557 | <pre><code>Authorization: Bearer YOUR_API_KEY</code></pre> | CODE |
| HIGH | headroom/providers/google.py | 14 | genai.configure(api_key="your-api-key") | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/headroom-core/tests/live_zone_ccr.rs | 27 | "notes": "lorem ipsum dolor sit amet, consectetur adipiscing elit", | CODE |
| LOW | crates/headroom-core/tests/live_zone_ccr.rs | 27 | "notes": "lorem ipsum dolor sit amet, consectetur adipiscing elit", | CODE |
| LOW | …/headroom-core/src/transforms/smart_crusher/anchors.rs | 295 | assert!(anchors.contains("user@example.com")); | CODE |
| LOW | …-proxy/tests/integration_e3_anthropic_cache_control.rs | 84 | .header("x-api-key", "sk-ant-api01-fake-key") | CODE |
| LOW | …-proxy/tests/integration_e3_anthropic_cache_control.rs | 174 | .header("x-api-key", "sk-ant-api01-fake-key") | CODE |
| LOW | …-proxy/tests/integration_e3_anthropic_cache_control.rs | 278 | .header("x-api-key", "sk-ant-api01-fake-key") | CODE |
| LOW | …-proxy/tests/integration_e3_anthropic_cache_control.rs | 374 | .header("x-api-key", "sk-ant-api01-fake-key") | CODE |
| LOW⚡ | tests/test_memory_system.py | 1424 | entities=["Alice", "Acme Corp"], | CODE |
| LOW⚡ | tests/test_memory_system.py | 1428 | assert "Acme Corp" in memory.entity_refs | CODE |
| LOW⚡ | tests/test_memory_system.py | 1433 | acme_entity = await graph.get_entity_by_name("alice", "Acme Corp") | CODE |
| LOW⚡ | tests/test_memory_system.py | 1445 | entities=["Alice", "Acme Corp"], | CODE |
| LOW⚡ | tests/test_memory_system.py | 1446 | relationships=[{"source": "Alice", "target": "Acme Corp", "type": "works_at"}], | CODE |
| LOW⚡ | tests/test_memory_integration.py | 412 | entities=["Alice", "Acme Corp"], | CODE |
| LOW⚡ | tests/test_memory_integration.py | 415 | {"entity": "Acme Corp", "entity_type": "organization"}, | CODE |
| LOW⚡ | tests/test_memory_integration.py | 421 | "destination": "Acme Corp", | CODE |
| LOW⚡ | tests/test_memory_integration.py | 430 | entities=["Acme Corp", "San Francisco"], | CODE |
| LOW⚡ | tests/test_memory_integration.py | 432 | {"entity": "Acme Corp", "entity_type": "organization"}, | CODE |
| LOW | tests/test_quality_retention.py | 325 | "snippet": "Lorem ipsum " * 20, | CODE |
| LOW⚡ | tests/test_backend_bugs.py | 778 | "x-api-key": "sk-ant-dummy-key", | CODE |
| LOW⚡ | tests/test_backend_bugs.py | 779 | "authorization": "Bearer sk-ant-dummy-key", | CODE |
| LOW | tests/parity/recorder.py | 571 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", | STRING |
| LOW | tests/parity/recorder.py | 571 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", | STRING |
| LOW | tests/test_transforms/test_html_extractor.py | 218 | <meta name="author" content="John Doe"> | CODE |
| LOW | tests/test_compression/test_llm_eval.py | 201 | email="admin@example.com", | CODE |
| LOW | wiki/langchain.md | 525 | ("placeholder", "{agent_scratchpad}"), | CODE |
| LOW | examples/mcp_demo/run_agent_eval.py | 180 | "email": "test@test.com", | CODE |
| LOW | examples/mcp_demo/mock_mcp_servers.py | 179 | "body": "Lorem ipsum dolor sit amet..." if random.random() > 0.5 else "", | CODE |
| LOW | examples/mcp_demo/mock_mcp_servers.py | 179 | "body": "Lorem ipsum dolor sit amet..." if random.random() > 0.5 else "", | CODE |
| LOW⚡ | scripts/replay_codex_ws_load.py | 126 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " | CODE |
| LOW⚡ | scripts/replay_codex_ws_load.py | 126 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " | CODE |
| LOW | scripts/replay_codex_ws_load.py | 154 | # plain_text_like / unknown / jsonl_like → lorem ipsum is fine as a | COMMENT |
| LOW | headroom/evals/datasets.py | 1040 | "name": "Acme Corp", | CODE |
| LOW | headroom/memory/tools.py | 326 | Example: [{"source": "user", "relationship": "works_at", "destination": "Acme Corp"}] | CODE |
| LOW⚡ | headroom/memory/extraction.py | 106 | {"entity": "Acme Corp", "entity_type": "organization"}, | CODE |
| LOW | headroom/memory/backends/local.py | 98 | entities=["Alice", "Acme Corp"], | STRING |
| LOW | headroom/memory/backends/local.py | 99 | relationships=[{"source": "Alice", "target": "Acme Corp", "type": "works_at"}], | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | plugins/headroom-oauth2/src/headroom_oauth2/provider.py | 41 | CODE | |
| LOW | tests/test_memory_system.py | 898 | CODE | |
| LOW | tests/test_proxy_compression_executor.py | 114 | CODE | |
| LOW | headroom/pipeline.py | 132 | CODE | |
| LOW | headroom/evals/prompt_comparison.py | 537 | CODE | |
| LOW | headroom/memory/core.py | 131 | CODE | |
| LOW | headroom/memory/easy.py | 108 | CODE | |
| LOW | headroom/memory/backends/direct_mem0.py | 531 | CODE | |
| LOW | headroom/memory/backends/local.py | 231 | CODE | |
| LOW | headroom/memory/adapters/embedders.py | 155 | CODE | |
| LOW | headroom/memory/adapters/hnsw.py | 223 | CODE | |
| LOW | headroom/proxy/savings_tracker.py | 615 | CODE | |
| LOW | headroom/proxy/server.py | 1769 | CODE | |
| LOW | headroom/proxy/prometheus_metrics.py | 570 | CODE | |
| LOW | headroom/proxy/outcome.py | 190 | CODE | |
| LOW | headroom/proxy/helpers.py | 167 | CODE | |
| LOW | headroom/proxy/handlers/streaming.py | 787 | CODE | |
| LOW | headroom/proxy/handlers/streaming.py | 958 | CODE | |
| LOW | headroom/cache/semantic.py | 412 | CODE | |
| LOW | headroom/cache/compression_store.py | 253 | CODE | |
| LOW | headroom/prediction/feature_extractor.py | 2298 | CODE | |
| LOW | headroom/cli/wrap.py | 423 | CODE | |
| LOW | headroom/cli/wrap.py | 2992 | CODE | |
| LOW | headroom/cli/wrap.py | 3501 | CODE | |
| LOW | headroom/observability/metrics.py | 324 | CODE | |
| LOW | headroom/transforms/smart_crusher.py | 255 | CODE | |
| LOW | headroom/transforms/content_router.py | 4278 | CODE | |
| LOW | headroom/telemetry/collector.py | 101 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test_openai_responses_context_compaction.py | 357 | CODE | |
| MEDIUM | tests/test_openai_responses_context_compaction.py | 358 | CODE | |
| MEDIUM | tests/test_openai_responses_context_compaction.py | 369 | CODE | |
| MEDIUM | tests/test_openai_responses_context_compaction.py | 373 | CODE | |
| MEDIUM | tests/test_openai_responses_context_compaction.py | 378 | CODE | |
| MEDIUM | tests/test_openai_responses_context_compaction.py | 381 | CODE | |
| MEDIUM | tests/test_bedrock_region.py | 549 | CODE | |
| MEDIUM | tests/test_integrations/langchain/test_streaming.py | 609 | CODE | |
| MEDIUM | headroom/backends/base.py | 165 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test_search_compressor.py | 39 | src/main.py:42:def process_data(items): | CODE |
| LOW | tests/test_search_compressor.py | 24 | content = """src/main.py:42:def process_data(items): | CODE |
| LOW | tests/test_search_compressor.py | 66 | C:\\Users\\dev\\src\\utils.py:20:def helper(): | CODE |
| LOW | tests/test_search_compressor.py | 176 | content = """src/main.py:10:def process_data(): | CODE |
| LOW⚡ | tests/test_ccr_rust_marker_hash_bridge.py | 65 | original = "src/app.py:12: def handle_request(payload):\n" * 40 | CODE |
| LOW | tests/test_compression_summary.py | 101 | ("function handleRequest(req, res) {", " res.send('ok');", 5), | CODE |
| LOW⚡ | tests/test_text_compressors.py | 36 | content = """src/main.py:42:def process_data(items): | CODE |
| LOW | tests/test_text_compressors.py | 90 | def process_data(items: list[dict]) -> dict[str, Any]: | CODE |
| LOW | tests/test_transforms/test_content_router.py | 97 | lines.append(f"src/module{i}.py:42: def process_data(input: str) -> str:") | CODE |
| LOW | headroom/evals/batch_compression_eval.py | 716 | function processData(items) { | CODE |
| LOW | headroom/transforms/code_compressor.py | 805 | ... def process_data(items: List[str]) -> List[str]: | STRING |
| LOW | headroom/transforms/code_compressor.py | 821 | def process_data(items: List[str]) -> List[str]: | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | sdk/typescript/test/parity.test.ts | 73 | print(json.dumps({ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .serena/project.yml | 74 | # Same syntax as gitignore, so you can use * and **. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_proxy_count_tokens_integration.py | 300 | # Example usage | COMMENT |
| LOW | …ples/deployment/macos-launchagent/shell-integration.sh | 8 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_search_compressor.py | 226 | src/main.py:30:# TODO: implement later | CODE |