The go-to web for your AI coding agent — local-first search, fetch, crawl & research over MCP. No API keys, no cloud, $0/query. Public beta.
This report presents the forensic synthetic code analysis of KnockOutEZ/wigolo, a TypeScript project with 4,065 GitHub stars. SynthScan v2.0 examined 262,798 lines of code across 1417 source files, recording 608 pattern matches distributed across 15 syntactic categories. The overall adjusted score of 3.5 places this repository in the Likely human-written 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).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
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 608 distinct pattern matches across 15 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 |
|---|---|---|---|---|
| LOW | sdks/python/tests/test_package_build.py | 29 | def test_wheel_contains_py_typed_and_modules(): | CODE |
| LOW | sdks/python/tests/test_unit_async.py | 51 | def test_async_cancellation_returns_promptly(slow_server): | CODE |
| LOW | sdks/python/tests/test_unit_async.py | 76 | def test_async_basic_dispatch(slow_server): | CODE |
| LOW | sdks/python/tests/test_integration_local.py | 67 | def test_cold_spawn_owned_and_close_kills(dist_cli): | CODE |
| LOW | sdks/python/tests/test_integration_local.py | 88 | def test_warm_reuse_leaves_running(dist_cli, shared_data_dir): | CODE |
| LOW | sdks/python/tests/test_integration_local.py | 109 | def test_close_during_in_flight_escalates(dist_cli): | CODE |
| LOW | sdks/python/tests/test_unit_env_and_surface.py | 26 | def test_surface_parity_identical(): | CODE |
| LOW⚡ | sdks/python/tests/test_unit_env_and_surface.py | 45 | def test_sdk_local_kwargs_never_in_manifest(): | CODE |
| LOW⚡ | sdks/python/tests/test_unit_env_and_surface.py | 51 | def test_base_url_explicit_beats_env(monkeypatch): | CODE |
| LOW⚡ | sdks/python/tests/test_unit_env_and_surface.py | 57 | def test_base_url_env_used_when_no_arg(monkeypatch): | CODE |
| LOW⚡ | sdks/python/tests/test_unit_env_and_surface.py | 63 | def test_base_url_default_when_nothing(): | CODE |
| LOW⚡ | sdks/python/tests/test_unit_env_and_surface.py | 68 | def test_token_explicit_beats_env(monkeypatch): | CODE |
| LOW⚡ | sdks/python/tests/test_unit_env_and_surface.py | 74 | def test_token_env_not_read_when_arg_given(monkeypatch): | CODE |
| LOW⚡ | sdks/python/tests/test_unit_env_and_surface.py | 83 | def test_token_env_used_when_no_arg(monkeypatch): | CODE |
| LOW⚡ | sdks/python/tests/test_unit_env_and_surface.py | 89 | def test_wigolo_local_env_triggers_embedded(monkeypatch): | CODE |
| LOW | sdks/python/tests/test_unit_env_and_surface.py | 110 | def test_local_false_explicit_disables_even_with_env(monkeypatch): | CODE |
| LOW | sdks/python/tests/test_unit_env_and_surface.py | 117 | def test_local_mode_ignores_base_url(monkeypatch): | CODE |
| LOW | sdks/python/tests/test_runtime_drift.py | 19 | def test_resolved_command_inside_checkout(): | CODE |
| LOW | sdks/python/tests/test_runtime_drift.py | 45 | def test_manifest_paths_match_server(openapi): | CODE |
| LOW | sdks/python/tests/test_runtime_drift.py | 79 | def test_manifest_params_and_required_match(openapi): | CODE |
| LOW | sdks/python/tests/test_runtime_drift.py | 95 | def test_response_keys_subset_of_server(openapi): | CODE |
| LOW⚡ | sdks/python/tests/test_unit_transport.py | 86 | def test_auth_header_present_when_token(server): | CODE |
| LOW⚡ | sdks/python/tests/test_unit_transport.py | 94 | def test_auth_header_absent_when_no_token(server): | CODE |
| LOW⚡ | sdks/python/tests/test_unit_transport.py | 102 | def test_none_values_omitted_from_body(server): | CODE |
| LOW⚡ | sdks/python/tests/test_unit_transport.py | 110 | def test_error_mapping_with_envelope(server): | CODE |
| LOW | sdks/python/tests/test_unit_transport.py | 129 | def test_error_mapping_retry_after_header(server): | CODE |
| LOW | sdks/python/tests/test_unit_transport.py | 141 | def test_error_mapping_unparseable_body(server): | CODE |
| LOW | sdks/python/tests/test_unit_transport.py | 164 | def test_connection_refused_names_local_client(): | CODE |
| LOW | sdks/python/tests/test_unit_transport.py | 172 | def test_per_tool_default_timeouts(server, monkeypatch): | CODE |
| LOW | sdks/python/tests/test_unit_transport.py | 193 | def test_per_call_timeout_overrides_default(server, monkeypatch): | CODE |
| LOW | sdks/python/tests/test_unit_transport.py | 209 | def test_client_timeout_overrides_manifest_default(server, monkeypatch): | CODE |
| LOW | sdks/python/tests/test_unit_transport.py | 225 | def test_health_returns_verbatim(server): | CODE |
| LOW | sdks/python/tests/test_unit_transport.py | 269 | def test_crawl_map_response_verbatim(server): | CODE |
| LOW | sdks/python/tests/test_unit_transport.py | 277 | def test_loopback_bypasses_ambient_http_proxy(server, monkeypatch): | CODE |
| LOW⚡ | sdks/python/tests/test_unit_local.py | 32 | def test_wigolo_cli_json_list_parsed(monkeypatch): | CODE |
| LOW⚡ | sdks/python/tests/test_unit_local.py | 37 | def test_wigolo_cli_single_path_with_spaces(monkeypatch): | CODE |
| LOW⚡ | sdks/python/tests/test_unit_local.py | 42 | def test_wigolo_cli_invalid_json_list_raises(monkeypatch): | CODE |
| LOW⚡ | sdks/python/tests/test_unit_local.py | 48 | def test_cli_not_found_actionable(monkeypatch): | CODE |
| LOW⚡ | sdks/python/tests/test_unit_local.py | 56 | def test_spawn_and_reuse_owned(monkeypatch): | CODE |
| LOW | sdks/python/tests/test_unit_local.py | 90 | def test_stale_daemon_predates_rest(monkeypatch): | CODE |
| LOW | sdks/python/tests/test_unit_local.py | 118 | def test_child_exit_immediately_actionable(monkeypatch): | CODE |
| LOW⚡ | sdks/python/tests/test_unit_local.py | 129 | def test_file_not_found_mapping(monkeypatch): | CODE |
| LOW⚡ | sdks/python/tests/test_unit_local.py | 138 | def test_client_local_true_uses_daemon(monkeypatch): | CODE |
| LOW⚡ | sdks/python/tests/test_unit_local.py | 148 | def test_bad_env_port_non_numeric_raises(monkeypatch): | CODE |
| LOW⚡ | sdks/python/tests/test_unit_local.py | 157 | def test_bad_port_out_of_range_raises(monkeypatch): | CODE |
| LOW⚡ | sdks/python/tests/test_unit_local.py | 165 | def test_spawn_error_stderr_redacts_token(monkeypatch): | CODE |
| LOW | sdks/python/src/wigolo/_client.py | 281 | def _health_report_from_error(exc: WigoloAPIError) -> Optional[dict[str, Any]]: | CODE |
| LOW | tests/unit/search/engine-telemetry.test.ts | 220 | function makeHttpStatusFailingEntry(name: string, status: number): EngineEntry { | CODE |
| LOW | benchmarks/agent/report.ts | 6 | export function generateAgentMarkdownReport(report: AgentBenchmarkReport): string { | CODE |
| LOW | benchmarks/search/report.ts | 109 | export function generateSearchMarkdownReport(report: SearchBenchmarkReport): string { | CODE |
| LOW | benchmarks/search/metrics.ts | 125 | export function computeLatencyPercentiles(latencies: number[]): LatencyPercentiles { | CODE |
| LOW | packages/wigolo-crewai/tests/test_core.py | 17 | def test_run_search_maps_args_and_returns_json(mock_client): | CODE |
| LOW | packages/wigolo-crewai/tests/test_core.py | 37 | def test_run_search_drops_none_so_sdk_defaults_apply(mock_client): | CODE |
| LOW | packages/wigolo-crewai/tests/test_core.py | 56 | def test_run_research_maps_args(mock_client): | CODE |
| LOW | packages/wigolo-crewai/tests/test_core.py | 78 | def test_run_extract_maps_args(mock_client): | CODE |
| LOW | packages/wigolo-crewai/tests/test_core.py | 101 | def test_wigolo_error_becomes_clean_json_string(mock_client, runner, method, args): | CODE |
| LOW | packages/wigolo-crewai/tests/test_core.py | 114 | def test_build_client_constructs_wigolo_client(monkeypatch): | CODE |
| LOW⚡ | packages/wigolo-crewai/tests/test_tools.py | 36 | def test_tool_instantiates_with_expected_metadata(cls, name, schema, mock_client): | CODE |
| LOW⚡ | packages/wigolo-crewai/tests/test_tools.py | 43 | def test_search_tool_delegates_to_core(mock_client): | CODE |
| LOW⚡ | packages/wigolo-crewai/tests/test_tools.py | 53 | def test_fetch_tool_delegates_to_core(mock_client): | CODE |
| 118 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | packaging/install.sh | 28 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | packaging/install.sh | 30 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | packaging/install.sh | 40 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | packaging/install.sh | 42 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | packaging/install.sh | 49 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | packaging/install.sh | 51 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | packaging/install.sh | 67 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | packaging/install.sh | 70 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | packaging/install.sh | 94 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | packaging/install.sh | 96 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | packaging/install.sh | 121 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | packaging/install.sh | 123 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | packaging/install.sh | 200 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | packaging/install.sh | 203 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | packaging/install.sh | 244 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | packaging/install.sh | 247 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | packaging/install.sh | 267 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | packaging/install.sh | 270 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | packaging/install.sh | 300 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | packaging/install.sh | 304 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | packaging/install.sh | 320 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | packaging/install.sh | 322 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | packaging/install.sh | 333 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | packaging/install.sh | 335 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | packaging/install.sh | 361 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | packaging/install.sh | 363 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmarks/embedding/runner.ts | 38 | // ── Math helpers ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | benchmarks/embedding/runner.ts | 69 | // ── Fixture types ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | benchmarks/embedding/runner.ts | 91 | // ── Result types ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | benchmarks/embedding/runner.ts | 126 | // ── Main ────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | benchmarks/search/rerank-quality.ts | 39 | // ── Math helpers ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | benchmarks/search/rerank-quality.ts | 59 | // ── Fixture types ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | benchmarks/search/rerank-quality.ts | 81 | // ── Result types ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | benchmarks/search/rerank-quality.ts | 115 | // ── Main ────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/verify-channel-rest.sh | 179 | # ── build ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/verify-channel-rest.sh | 185 | # ── instance 1: open loopback mode ───────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/verify-channel-rest.sh | 269 | # ── instance 2: token mode + shim on ─────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/verify-channel-docker.sh | 264 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | scripts/verify-channel-docker.sh | 266 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | scripts/verify-channel-docker.sh | 270 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | scripts/verify-channel-docker.sh | 272 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/verify-channel-docker.sh | 63 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/verify-channel-docker.sh | 65 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/verify-channel-docker.sh | 83 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/verify-channel-docker.sh | 85 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/verify-channel-docker.sh | 102 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/verify-channel-docker.sh | 104 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/verify-channel-docker.sh | 116 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/verify-channel-docker.sh | 119 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/verify-channel-docker.sh | 149 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/verify-channel-docker.sh | 155 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/verify-channel-docker.sh | 183 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/verify-channel-docker.sh | 186 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/verify-channel-docker.sh | 209 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/verify-channel-docker.sh | 211 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/verify-channel-docker.sh | 244 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/verify-channel-docker.sh | 246 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/release.yml | 77 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/release.yml | 88 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/daemon/rest/errors.ts | 110 | // ── StageResult status mapping ────────────────────────────────────────────── | COMMENT |
| 3 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …s/unit/extraction/site-extractors/docs-generic.test.ts | 137 | print("Hello, world!")</code></pre> | CODE |
| HIGH | src/cli/doctor.ts | 274 | print(''); | CODE |
| HIGH | src/cli/doctor.ts | 275 | print('[wigolo doctor] Engine probes (live):'); | CODE |
| HIGH | src/cli/doctor.ts | 287 | print(` ${name.padEnd(15)} ok (${Date.now() - t0}ms, ${results.length} results)`); | CODE |
| HIGH | src/cli/doctor.ts | 290 | print(` ${name.padEnd(15)} error (${msg.slice(0, 80)})`); | CODE |
| HIGH | src/cli/init.ts | 152 | print(`Component setup failed: ${message}`); | CODE |
| HIGH | src/cli/init.ts | 153 | print('Fix: re-run `wigolo warmup --all` — components also lazy-retry on first use.'); | CODE |
| HIGH⚡ | src/cli/init.ts | 179 | print(''); | CODE |
| HIGH⚡ | src/cli/init.ts | 180 | print(' Component setup:'); | CODE |
| HIGH⚡ | src/cli/init.ts | 184 | print(` ✓ ${label[key]}: ready`); | CODE |
| HIGH⚡ | src/cli/init.ts | 186 | print(` ○ ${label[key]}: skipped (lazy — downloads on first use)`); | CODE |
| HIGH⚡ | src/cli/init.ts | 191 | print(` ✗ ${label[key]}: failed${err ? ` — ${err}` : ''}`); | CODE |
| HIGH⚡ | src/cli/init.ts | 192 | print(` Fix: ${fix[key]}`); | CODE |
| HIGH⚡ | src/cli/init.ts | 198 | print(''); | CODE |
| HIGH⚡ | src/cli/init.ts | 199 | print(' Diagnostics (doctor cold checks):'); | CODE |
| HIGH⚡ | src/cli/init.ts | 203 | print(` ${glyph} ${c.name}: ${c.status}${c.detail ? ` — ${c.detail}` : ''}`); | CODE |
| HIGH⚡ | src/cli/init.ts | 238 | print(` ${ok(`Skills installed (${written} file${written === 1 ? '' : 's'} written)`)}`); | CODE |
| HIGH⚡ | src/cli/init.ts | 240 | print(` ${ok('Skills up to date (no changes)')}`); | CODE |
| HIGH⚡ | src/cli/init.ts | 243 | print(` ${warn(`${refused} skill path(s) left untouched (modified or protected)`)}`); | CODE |
| HIGH⚡ | src/cli/init.ts | 247 | print(` ${warn(`Skills skipped: ${message}`)}`); | CODE |
| HIGH | src/cli/init.ts | 417 | print(PRECACHE_HINT); | CODE |
| HIGH | src/cli/init.ts | 529 | print(PRECACHE_HINT); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packaging/install.sh | 1 | #!/bin/sh | COMMENT |
| LOW | packaging/compose.serve.yml | 1 | # wigolo in HTTP serve mode (StreamableHTTP + SSE MCP transport). | COMMENT |
| LOW | packaging/compose.serve.yml | 41 | # | COMMENT |
| LOW | packaging/homebrew/wigolo.rb | 1 | # Homebrew formula for wigolo. | COMMENT |
| LOW | packaging/homebrew/wigolo.rb | 21 | # Optional: uncomment once the npm dist-tag is stable to auto-detect new | COMMENT |
| LOW | packaging/binary/pack.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tests/setup.ts | 41 | // optionalDependency, and `stealthDriver` defaults to 'auto' — so the dedicated | COMMENT |
| LOW | tests/unit/package-deps.test.ts | 41 | // | COMMENT |
| LOW | tests/unit/research/pipeline-score-floor.test.ts | 141 | // WHY (C1 breadth wobble): the cross-encoder scores a *moderately*-relevant | COMMENT |
| LOW | tests/unit/research/pipeline-score-floor.test.ts | 181 | // So any fixed absolute floor (0 or -0.35) collapses breadth. | COMMENT |
| LOW | tests/unit/research/pipeline-breadth.test.ts | 81 | it('keeps a wide on-topic set at the larger window while url-shape junk is still dropped', async () => { | COMMENT |
| LOW | tests/unit/tools/fetch.silent-failures.test.ts | 141 | COMMENT | |
| LOW | tests/unit/tools/extract.test.ts | 701 | }); | COMMENT |
| LOW | tests/unit/tools/extract.test.ts | 741 | COMMENT | |
| LOW | tests/unit/tools/search.images.test.ts | 1 | // Integration test at the MCP tool boundary for the | COMMENT |
| LOW | tests/unit/tools/search-filtering.test.ts | 1 | // Search filtering at the MCP tool boundary, exercised against the CORE | COMMENT |
| LOW | tests/unit/cache/diff-engine.test.ts | 201 | // Words far from the change must not appear in hunks. | COMMENT |
| LOW | tests/unit/cli/doctor-isolated.test.ts | 1 | // Unit coverage for the doctor subprocess-isolation wrapper added in P4. | COMMENT |
| LOW | tests/unit/cli/doctor-isolated.test.ts | 181 | // --------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/cli/doctor-isolated.test.ts | 281 | // so we cannot synthesize a realistic throw through the public surface | COMMENT |
| LOW | tests/unit/search/find-similar.test.ts | 441 | // widget framework" returned 5 cache hits with normalized relevance_score | COMMENT |
| LOW | tests/unit/search/mojeek-probe-only.test.ts | 1 | // Mojeek probe-only by default (burst-load resilience, fix d). | COMMENT |
| LOW | tests/unit/search/burst-cascade.test.ts | 1 | // Burst-load engine-pool resilience: failure-class breaker cooldowns + | COMMENT |
| LOW | tests/unit/search/engine-throttle.test.ts | 1 | // Throttle-as-skip: a per-engine minimum inter-request interval. | COMMENT |
| LOW | tests/unit/search/engine-soft-deadline.test.ts | 1 | // Soft-deadline on parallel engine dispatch + session-scoped adaptive | COMMENT |
| LOW | tests/unit/search/degraded-recovery.test.ts | 1 | // Degraded-dispatch recovery wave (burst-load resilience, fix a + d). | COMMENT |
| LOW | tests/unit/search/v1/orchestrator.test.ts | 1081 | // Only duckduckgo returned this URL, across two waves — counted once. | COMMENT |
| LOW | tests/unit/search/core/rerank-fold.test.ts | 221 | // it cannot ride a gamed cross-encoder logit into the confidently-relevant | COMMENT |
| LOW | tests/unit/search/engines/ddg-image.test.ts | 1 | // DDG Image search adapter. | COMMENT |
| LOW | tests/unit/fetch/playwright-tier.hydration-gate.test.ts | 1 | import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'; | COMMENT |
| LOW | tests/unit/fetch/browser-pool.challenge.test.ts | 1 | import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'; | COMMENT |
| LOW | tests/unit/fetch/browser-pool.challenge.test.ts | 21 | widgetBox: { x: number; y: number; width: number; height: number } | null; | COMMENT |
| LOW | tests/unit/fetch/browser-pool.challenge.test.ts | 141 | }); | COMMENT |
| LOW | tests/unit/extraction/brand-palette.test.ts | 281 | it('only decodes frame 1 of a multi-frame GIF — frame 2 pixels must not leak into palette', async () => { | COMMENT |
| LOW | tests/unit/extraction/v1/routed.test.ts | 201 | // but classifyContent should not be the gate. | COMMENT |
| LOW | tests/unit/extraction/v1/pdf.test.ts | 1 | // arxiv PDF fetch error'd out and killed paper retrieval. Root cause: | COMMENT |
| LOW | tests/integration/extract-pipeline-v1.test.ts | 21 | // the hand-built shell above, this carries react.dev's real layout: <main> and the | COMMENT |
| LOW | tests/integration/search-adapter-quality.test.ts | 1 | // Integration coverage for the adapter quality push at the | COMMENT |
| LOW | tests/integration/extract-wikipedia-chrome.test.ts | 1 | // Integration test at the tool boundary for Wikipedia chrome filtering: | COMMENT |
| LOW | tests/integration/fetch-site-data.test.ts | 1 | // Integration test for P1: site-extractor structured-JSON passthrough on fetch(). | COMMENT |
| LOW | tests/integration/setup-roundtrip.test.ts | 241 | COMMENT | |
| LOW | tests/integration/search-rerank-fold.test.ts | 101 | // D4 mechanism fixture (the live incident, deterministic): all-but-one engine | COMMENT |
| LOW | tests/integration/search-filtering-pipeline.test.ts | 1 | // Search filtering pipeline integration at the MCP tool boundary, exercised | COMMENT |
| LOW | tests/e2e/doctor-clean-exit.e2e.test.ts | 1 | // E2E regression for the doctor exit-134 (libc++ mutex) crash. | COMMENT |
| LOW | examples/vercel-ai-sdk-tools/tools.ts | 41 | // import { generateText } from 'ai'; | COMMENT |
| LOW | examples/watch-changelog-webhook/watch.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | examples/rest-curl/demo.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/verify-channel-brew.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/verify-channel-sh.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/verify-channel-binary.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/verify-channel-rest.sh | 1 | #!/bin/sh | COMMENT |
| LOW | scripts/verify-channel-rest.sh | 21 | # flag off -> POST /compat/firecrawl/v1/scrape -> 404 | COMMENT |
| LOW | scripts/verify-channel-npm.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/verify-channel-docker.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | .github/workflows/binary-build.yml | 1 | # Single-file binary channel (spec D1, slice S-P1-BIN). | COMMENT |
| LOW | .github/workflows/ci.yml | 61 | - run: npm run build | COMMENT |
| LOW | src/research/render-brief.ts | 1 | import type { ResearchBrief, ResearchSource, CrossReference } from '../types.js'; | COMMENT |
| LOW | src/research/pipeline.ts | 161 | merged = applyAllFilters(merged, { | COMMENT |
| LOW | src/research/brief.ts | 401 | return false; | COMMENT |
| LOW | src/research/brief.ts | 421 | // the `(url)` half of a well-formed link. Catches relative URLs the bare-http | COMMENT |
| 76 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sdks/python/tests/conftest.py | 8 | CODE | |
| LOW | sdks/python/tests/conftest.py | 14 | CODE | |
| LOW | sdks/python/tests/test_package_build.py | 7 | CODE | |
| LOW | sdks/python/tests/test_package_build.py | 22 | CODE | |
| LOW | sdks/python/tests/_fake_serve.py | 15 | CODE | |
| LOW | sdks/python/tests/test_unit_async.py | 3 | CODE | |
| LOW | sdks/python/tests/test_integration_local.py | 10 | CODE | |
| LOW | sdks/python/tests/test_unit_env_and_surface.py | 3 | CODE | |
| LOW | sdks/python/tests/test_integration.py | 7 | CODE | |
| LOW | sdks/python/tests/test_runtime_drift.py | 8 | CODE | |
| LOW | sdks/python/tests/test_unit_transport.py | 8 | CODE | |
| LOW | sdks/python/tests/test_unit_local.py | 3 | CODE | |
| LOW | sdks/python/src/wigolo/_manifest.py | 14 | CODE | |
| LOW | sdks/python/src/wigolo/_local.py | 11 | CODE | |
| LOW | sdks/python/src/wigolo/_errors.py | 10 | CODE | |
| LOW | sdks/python/src/wigolo/__init__.py | 9 | CODE | |
| LOW | sdks/python/src/wigolo/__init__.py | 11 | CODE | |
| LOW | sdks/python/src/wigolo/__init__.py | 12 | CODE | |
| LOW | sdks/python/src/wigolo/__init__.py | 13 | CODE | |
| LOW | sdks/python/src/wigolo/__init__.py | 13 | CODE | |
| LOW | sdks/python/src/wigolo/__init__.py | 13 | CODE | |
| LOW | sdks/python/src/wigolo/__init__.py | 14 | CODE | |
| LOW | sdks/python/src/wigolo/_aio.py | 14 | CODE | |
| LOW | sdks/python/src/wigolo/_client.py | 8 | CODE | |
| LOW | sdks/python/src/wigolo/_client.py | 21 | CODE | |
| LOW | packages/wigolo-crewai/tests/conftest.py | 8 | CODE | |
| LOW | packages/wigolo-crewai/tests/test_core.py | 3 | CODE | |
| LOW | packages/wigolo-crewai/tests/test_tools.py | 8 | CODE | |
| LOW | packages/wigolo-crewai/wigolo_crewai/tools.py | 7 | CODE | |
| LOW | packages/wigolo-crewai/wigolo_crewai/__init__.py | 10 | CODE | |
| LOW | packages/wigolo-crewai/wigolo_crewai/__init__.py | 14 | CODE | |
| LOW | packages/wigolo-crewai/wigolo_crewai/__init__.py | 14 | CODE | |
| LOW | packages/wigolo-crewai/wigolo_crewai/__init__.py | 14 | CODE | |
| LOW | packages/wigolo-crewai/wigolo_crewai/__init__.py | 14 | CODE | |
| LOW | packages/wigolo-crewai/wigolo_crewai/__init__.py | 14 | CODE | |
| LOW | packages/wigolo-crewai/wigolo_crewai/__init__.py | 14 | CODE | |
| LOW | packages/wigolo-crewai/wigolo_crewai/__init__.py | 22 | CODE | |
| LOW | packages/wigolo-crewai/wigolo_crewai/__init__.py | 22 | CODE | |
| LOW | packages/wigolo-crewai/wigolo_crewai/__init__.py | 22 | CODE | |
| LOW | packages/wigolo-crewai/wigolo_crewai/__init__.py | 22 | CODE | |
| LOW | packages/wigolo-crewai/wigolo_crewai/__init__.py | 22 | CODE | |
| LOW | packages/wigolo-crewai/wigolo_crewai/__init__.py | 31 | CODE | |
| LOW | packages/wigolo-crewai/wigolo_crewai/__init__.py | 31 | CODE | |
| LOW | packages/wigolo-crewai/wigolo_crewai/__init__.py | 31 | CODE | |
| LOW | packages/wigolo-crewai/wigolo_crewai/__init__.py | 31 | CODE | |
| LOW | packages/wigolo-crewai/wigolo_crewai/__init__.py | 31 | CODE | |
| LOW | packages/wigolo-crewai/wigolo_crewai/__init__.py | 31 | CODE | |
| LOW | packages/wigolo-crewai/wigolo_crewai/types.py | 8 | CODE | |
| LOW | packages/wigolo-crewai/wigolo_crewai/_core.py | 9 | CODE | |
| LOW | packages/wigolo-llamaindex/tests/test_reader.py | 3 | CODE | |
| LOW | packages/wigolo-llamaindex/tests/test_reader.py | 5 | CODE | |
| LOW | packages/wigolo-llamaindex/tests/test_reader.py | 6 | CODE | |
| LOW | packages/wigolo-llamaindex/tests/conftest.py | 3 | CODE | |
| LOW | packages/wigolo-llamaindex/tests/test_client.py | 3 | CODE | |
| LOW | packages/wigolo-llamaindex/wigolo_llamaindex/client.py | 3 | CODE | |
| LOW | …ckages/wigolo-llamaindex/wigolo_llamaindex/__init__.py | 3 | CODE | |
| LOW | …ckages/wigolo-llamaindex/wigolo_llamaindex/__init__.py | 4 | CODE | |
| LOW | …ckages/wigolo-llamaindex/wigolo_llamaindex/__init__.py | 4 | CODE | |
| LOW | packages/wigolo-llamaindex/wigolo_llamaindex/types.py | 3 | CODE | |
| LOW | packages/wigolo-llamaindex/wigolo_llamaindex/reader.py | 3 | CODE | |
| 21 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sdks/python/tests/conftest.py | 67 | except Exception: | CODE |
| LOW | sdks/python/tests/conftest.py | 79 | except Exception: | CODE |
| LOW | sdks/python/tests/conftest.py | 142 | except Exception: | CODE |
| LOW | sdks/python/tests/test_package_build.py | 25 | except Exception: | CODE |
| MEDIUM | sdks/python/tests/test_package_build.py | 20 | def _have_build() -> bool: | CODE |
| LOW | sdks/python/tests/test_integration_local.py | 41 | except Exception: | CODE |
| LOW | sdks/python/tests/test_integration_local.py | 59 | except Exception: | CODE |
| LOW | sdks/python/tests/test_integration_local.py | 133 | except Exception: | CODE |
| LOW | sdks/python/tests/test_integration_local.py | 148 | except Exception: | CODE |
| MEDIUM | sdks/python/tests/test_integration_local.py | 145 | def _fetch(): | CODE |
| LOW | sdks/python/tests/test_integration.py | 32 | except Exception: | CODE |
| LOW | sdks/python/tests/test_integration.py | 35 | except Exception: | CODE |
| LOW | sdks/python/src/wigolo/_local.py | 186 | except Exception: | CODE |
| LOW | sdks/python/src/wigolo/_local.py | 210 | except Exception: | CODE |
| LOW | sdks/python/src/wigolo/_local.py | 214 | except Exception: | CODE |
| LOW | sdks/python/src/wigolo/_local.py | 234 | except Exception: | CODE |
| LOW | sdks/python/src/wigolo/_local.py | 248 | except Exception: | CODE |
| MEDIUM | sdks/python/src/wigolo/_local.py | 183 | def _atexit_close(self) -> None: | CODE |
| LOW | sdks/python/src/wigolo/_client.py | 218 | except Exception: # pragma: no cover - defensive | CODE |
| LOW | packages/wigolo-llamaindex/wigolo_llamaindex/client.py | 83 | except Exception as exc: | CODE |
| LOW | packages/wigolo-llamaindex/wigolo_llamaindex/client.py | 103 | except Exception as exc: | CODE |
| LOW | packages/wigolo-llamaindex/wigolo_llamaindex/client.py | 122 | except Exception as exc: | CODE |
| LOW | packages/wigolo-llamaindex/wigolo_llamaindex/client.py | 196 | except Exception as exc: | CODE |
| LOW | packages/wigolo-llamaindex/wigolo_llamaindex/reader.py | 66 | except Exception as exc: | CODE |
| LOW | packages/wigolo-llamaindex/wigolo_llamaindex/reader.py | 78 | except Exception as exc: | CODE |
| LOW | packages/wigolo-llamaindex/wigolo_llamaindex/reader.py | 186 | except Exception as exc: | CODE |
| LOW | …ckages/wigolo-langchain/wigolo_langchain/retrievers.py | 86 | except Exception as exc: | CODE |
| LOW | packages/wigolo-langchain/wigolo_langchain/client.py | 86 | except Exception as exc: | CODE |
| LOW | packages/wigolo-langchain/wigolo_langchain/client.py | 106 | except Exception as exc: | CODE |
| LOW | packages/wigolo-langchain/wigolo_langchain/client.py | 125 | except Exception as exc: | CODE |
| LOW | packages/wigolo-langchain/wigolo_langchain/client.py | 210 | except Exception as exc: | CODE |
| LOW | packages/wigolo-langchain/wigolo_langchain/tools.py | 118 | except Exception as exc: | CODE |
| LOW | packages/wigolo-langchain/wigolo_langchain/tools.py | 210 | except Exception as exc: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/unit/research/source-validation.test.ts | 201 | const longOffTopic = Array.from({ length: 120 }, () => 'lorem ipsum dolor sit amet').join(' '); | CODE |
| LOW | tests/unit/research/source-validation.test.ts | 201 | const longOffTopic = Array.from({ length: 120 }, () => 'lorem ipsum dolor sit amet').join(' '); | CODE |
| LOW | tests/unit/tools/extract.test.ts | 570 | const filler = 'lorem ipsum dolor sit amet '.repeat(8).trim(); | CODE |
| LOW | tests/unit/tools/extract.test.ts | 570 | const filler = 'lorem ipsum dolor sit amet '.repeat(8).trim(); | CODE |
| LOW | tests/unit/tools/agent.test.ts | 336 | const longMarkdown = '# Heading\n\n' + 'Lorem ipsum dolor sit amet. '.repeat(80); | CODE |
| LOW | tests/unit/tools/agent.test.ts | 336 | const longMarkdown = '# Heading\n\n' + 'Lorem ipsum dolor sit amet. '.repeat(80); | CODE |
| LOW | tests/unit/tools/fetch.test.ts | 593 | const fullBody = '# Big\n\n' + 'lorem ipsum dolor sit amet '.repeat(4000); | CODE |
| LOW | tests/unit/tools/fetch.test.ts | 593 | const fullBody = '# Big\n\n' + 'lorem ipsum dolor sit amet '.repeat(4000); | CODE |
| LOW | tests/unit/search/core/lexical-alignment.test.ts | 41 | const a = lexicalAlignment('', 'pgvector docs', 'lorem ipsum'); | CODE |
| LOW | tests/unit/fetch/challenge-classify.test.ts | 98 | <p>${'Lorem ipsum dolor sit amet, consectetur adipiscing elit. '.repeat(40)}</p> | CODE |
| LOW | tests/unit/fetch/challenge-classify.test.ts | 98 | <p>${'Lorem ipsum dolor sit amet, consectetur adipiscing elit. '.repeat(40)}</p> | CODE |
| LOW | tests/unit/extraction/schema.test.ts | 145 | expect(result.brand).toBe('Acme Corp'); | CODE |
| LOW | tests/unit/extraction/extract.test.ts | 113 | <meta name="author" content="John Doe"> | CODE |
| LOW | tests/unit/extraction/extract.test.ts | 122 | author: 'John Doe', | CODE |
| LOW | tests/unit/extraction/brand-honesty.test.ts | 69 | <body><header><a href="/"><img src="/logo.svg" alt="Acme Corp"></a></header></body></html>`; | CODE |
| LOW | tests/unit/extraction/brand-honesty.test.ts | 71 | expect(out.name).toBe('Acme Corp'); | CODE |
| LOW | tests/unit/extraction/jsonld.test.ts | 27 | expect(author.name).toBe('Jane Doe'); | CODE |
| LOW | tests/unit/extraction/schema-truth-perf.test.ts | 86 | const sourceText = ('lorem ipsum dolor sit amet, consectetur adipiscing elit. ' as string).repeat( | CODE |
| LOW | tests/unit/extraction/schema-truth-perf.test.ts | 86 | const sourceText = ('lorem ipsum dolor sit amet, consectetur adipiscing elit. ' as string).repeat( | CODE |
| LOW | tests/unit/extraction/v1/schemas/JobPosting.test.ts | 20 | name: 'Acme Corp', | CODE |
| LOW | tests/unit/extraction/v1/schemas/JobPosting.test.ts | 46 | expect(result!.hiringOrganization).toBe('Acme Corp'); | CODE |
| LOW | tests/unit/extraction/v1/schemas/JobPosting.test.ts | 63 | <meta property="job:hiring_organization" content="Acme Corp"> | CODE |
| LOW | tests/unit/extraction/v1/schemas/JobPosting.test.ts | 69 | expect(result!.hiringOrganization).toBe('Acme Corp'); | CODE |
| LOW | tests/integration/search-pipeline.test.ts | 16 | const filler = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labor | CODE |
| LOW | tests/integration/search-pipeline.test.ts | 16 | const filler = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labor | CODE |
| LOW | tests/integration/fetch/spa-settle-corpus/fixtures.ts | 8 | Array.from({ length: 6 }, (_, i) => `<p>${ARTICLE_MARKER} paragraph ${i} ${'lorem ipsum dolor sit amet '.repeat(8)}</p | CODE |
| LOW | tests/integration/fetch/spa-settle-corpus/fixtures.ts | 8 | Array.from({ length: 6 }, (_, i) => `<p>${ARTICLE_MARKER} paragraph ${i} ${'lorem ipsum dolor sit amet '.repeat(8)}</p | CODE |
| LOW | tests/perf/embedding.bench.ts | 21 | const LONG = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. '.repeat(60); | CODE |
| LOW | tests/perf/embedding.bench.ts | 21 | const LONG = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. '.repeat(60); | CODE |
| LOW | benchmarks/perf/tool-latency.ts | 111 | <body><article><h1>Headline</h1><p>${'Lorem ipsum dolor sit amet. '.repeat(40)}</p> | CODE |
| LOW | benchmarks/perf/tool-latency.ts | 111 | <body><article><h1>Headline</h1><p>${'Lorem ipsum dolor sit amet. '.repeat(40)}</p> | CODE |
| LOW | benchmarks/perf/tool-latency.ts | 122 | ['paragraph: ' + 'lorem ipsum '.repeat(30)], | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sdks/python/src/wigolo/_local.py | 336 | # Step 2: probe existing daemon. | COMMENT |
| LOW | sdks/python/src/wigolo/_local.py | 354 | # Step 3: connection refused -> spawn. | COMMENT |
| LOW | sdks/typescript/src/local.ts | 283 | // Step 2: probe an existing daemon. | COMMENT |
| LOW | sdks/typescript/src/local.ts | 297 | // Step 3: connection refused → spawn our own. | COMMENT |
| LOW⚡ | sdks/typescript/src/local.ts | 382 | // Step 4: poll /health until 200 within budget. | COMMENT |
| LOW⚡ | sdks/typescript/src/local.ts | 386 | // Step 5: concurrent-spawn race — a rival may have won the port bind. | COMMENT |
| LOW | …/unit/cli/tui/components/WizardSteps.ceremony.test.tsx | 64 | // Step 2: system check resolves; Enter on Continue row → Step 3 | COMMENT |
| LOW | benchmarks/agent/task-executor.ts | 61 | // Step 1: Search | COMMENT |
| LOW | skills/wigolo-find-similar/SKILL.md | 77 | // Step 1: crawl to populate cache with embeddings | COMMENT |
| LOW | skills/wigolo-find-similar/SKILL.md | 80 | // Step 2: now find_similar has real semantic signal | COMMENT |
| LOW | skills/wigolo/rules/cache-first.md | 36 | // Step 1: check cache | COMMENT |
| LOW | skills/wigolo/rules/cache-first.md | 39 | // Step 2: if empty, search | COMMENT |
| LOW | src/search/language-filter.ts | 77 | // Step 1: drop invalid URLs first | COMMENT |
| LOW | src/search/language-filter.ts | 89 | // Step 2: per-engine batch language check | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sdks/python/src/wigolo/_aio.py | 108 | CODE | |
| LOW | sdks/python/src/wigolo/_aio.py | 175 | CODE | |
| LOW | sdks/python/src/wigolo/_aio.py | 216 | CODE | |
| LOW | sdks/python/src/wigolo/_aio.py | 251 | CODE | |
| LOW | sdks/python/src/wigolo/_aio.py | 280 | CODE | |
| LOW | sdks/python/src/wigolo/_aio.py | 307 | CODE | |
| LOW | sdks/python/src/wigolo/_aio.py | 344 | CODE | |
| LOW | sdks/python/src/wigolo/_aio.py | 375 | CODE | |
| LOW | sdks/python/src/wigolo/_client.py | 302 | CODE | |
| LOW | sdks/python/src/wigolo/_client.py | 371 | CODE | |
| LOW | sdks/python/src/wigolo/_client.py | 414 | CODE | |
| LOW | sdks/python/src/wigolo/_client.py | 452 | CODE | |
| LOW | sdks/python/src/wigolo/_client.py | 483 | CODE | |
| LOW | sdks/python/src/wigolo/_client.py | 512 | CODE | |
| LOW | sdks/python/src/wigolo/_client.py | 551 | CODE | |
| LOW | sdks/python/src/wigolo/_client.py | 587 | CODE | |
| LOW | packages/wigolo-llamaindex/wigolo_llamaindex/reader.py | 126 | CODE | |
| LOW | packages/wigolo-langchain/wigolo_langchain/tools.py | 41 | CODE | |
| LOW | packages/wigolo-langchain/wigolo_langchain/tools.py | 81 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sdks/python/src/wigolo/_local.py | 336 | # Step 2: probe existing daemon. | COMMENT |
| LOW | sdks/python/src/wigolo/_local.py | 354 | # Step 3: connection refused -> spawn. | COMMENT |
| LOW | sdks/typescript/src/local.ts | 283 | // Step 2: probe an existing daemon. | COMMENT |
| LOW | sdks/typescript/src/local.ts | 297 | // Step 3: connection refused → spawn our own. | COMMENT |
| LOW⚡ | sdks/typescript/src/local.ts | 382 | // Step 4: poll /health until 200 within budget. | COMMENT |
| LOW⚡ | sdks/typescript/src/local.ts | 386 | // Step 5: concurrent-spawn race — a rival may have won the port bind. | COMMENT |
| LOW | …/unit/cli/tui/components/WizardSteps.ceremony.test.tsx | 64 | // Step 2: system check resolves; Enter on Continue row → Step 3 | COMMENT |
| LOW | benchmarks/agent/task-executor.ts | 61 | // Step 1: Search | COMMENT |
| LOW | src/search/language-filter.ts | 77 | // Step 1: drop invalid URLs first | COMMENT |
| LOW | src/search/language-filter.ts | 89 | // Step 2: per-engine batch language check | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sdks/python/src/wigolo/_local.py | 31 | __all__ = ["LocalDaemon", "ensure_local_daemon", "local_client"] | CODE |
| LOW | sdks/python/src/wigolo/__init__.py | 18 | __all__ = [ | CODE |
| LOW | sdks/python/src/wigolo/_aio.py | 22 | __all__ = ["AsyncClient"] | CODE |
| LOW | sdks/python/src/wigolo/_client.py | 23 | __all__ = ["Client"] | CODE |
| LOW | packages/wigolo-crewai/wigolo_crewai/__init__.py | 49 | __all__ = [ | CODE |
| LOW | packages/wigolo-llamaindex/wigolo_llamaindex/client.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ckages/wigolo-llamaindex/wigolo_llamaindex/__init__.py | 6 | __all__ = [ | CODE |
| LOW | packages/wigolo-llamaindex/wigolo_llamaindex/reader.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ckages/wigolo-langchain/wigolo_langchain/retrievers.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | packages/wigolo-langchain/wigolo_langchain/client.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | packages/wigolo-langchain/wigolo_langchain/tools.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | packages/wigolo-langchain/wigolo_langchain/__init__.py | 8 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/unit/cli/warmup-setup-json-contract.test.ts | 11 | // --- warmup mock scaffold (mirrors tests/unit/cli/warmup.test.ts) so the | COMMENT |
| MEDIUM | tests/unit/cli/warmup-setup-json-contract.test.ts | 47 | // --- setup-mcp mock scaffold (mirrors setup-mcp-non-interactive.test.ts). --- | COMMENT |
| MEDIUM | tests/unit/search/find-similar.test.ts | 572 | `# Retrieval augmented generation explainer ${i}\n\nA primer on retrieval augmented generation systems and patte | CODE |
| MEDIUM | packages/wigolo-llamaindex/README.md | 50 | ### Use in a RAG Pipeline | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/unit/search/v1/orchestrator.test.ts | 309 | // being months old. The robust parse must drop it. | COMMENT |
| MEDIUM | tests/unit/search/core/date-window.test.ts | 4 | // isDatedOutOfWindow is the robust per-result window predicate that replaced a | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sdks/python/tests/test_integration.py | 22 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packaging/install.sh | 4 | # Usage: | COMMENT |