AI Slop Code Risk Monitor

KnockOutEZ/wigolo

SlopCodeMonitor badge for KnockOutEZ/wigolo Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

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.

3.7 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for KnockOutEZ/wigolo, a TypeScript project with 5,512 GitHub stars. SynthScan examined 275,812 lines of code across 1482 source files, recording 635 pattern matches distributed across 16 syntactic categories. The legacy adjusted pattern signal is 3.7 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

3.7
Adjusted Signal
3.7
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
5.5K
Stars
TypeScript
Language
275.8K
Lines of Code
1.5K
Files
635
Pattern Hits
2026-10-31
Scan Date
0.03
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 7.4/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 375 finding(s).

Hallucinated Dependency & Supply Chain Risk 4.5/100 · LOW

Are imports declared and package/API names verified? 135 finding(s).

Agent Over-Engineering Ratio 9.5/100 · LOW

Are wrappers, guards, and repeated structures necessary? 323 finding(s).

PR Review Velocity Impact 16.2/100 · LOW

Which changes need focused human review? 635 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 39MEDIUM 73LOW 523

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 635 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers179 hits · 205 pts
SeverityFileLineSnippetContext
LOWsdks/python/tests/test_package_build.py29def test_wheel_contains_py_typed_and_modules():CODE
LOWsdks/python/tests/test_unit_async.py51def test_async_cancellation_returns_promptly(slow_server):CODE
LOWsdks/python/tests/test_unit_async.py76def test_async_basic_dispatch(slow_server):CODE
LOWsdks/python/tests/test_integration_local.py67def test_cold_spawn_owned_and_close_kills(dist_cli):CODE
LOWsdks/python/tests/test_integration_local.py88def test_warm_reuse_leaves_running(dist_cli, shared_data_dir):CODE
LOWsdks/python/tests/test_integration_local.py109def test_close_during_in_flight_escalates(dist_cli):CODE
LOWsdks/python/tests/test_unit_env_and_surface.py26def test_surface_parity_identical():CODE
LOW⚡sdks/python/tests/test_unit_env_and_surface.py45def test_sdk_local_kwargs_never_in_manifest():CODE
LOW⚡sdks/python/tests/test_unit_env_and_surface.py51def test_base_url_explicit_beats_env(monkeypatch):CODE
LOW⚡sdks/python/tests/test_unit_env_and_surface.py57def test_base_url_env_used_when_no_arg(monkeypatch):CODE
LOW⚡sdks/python/tests/test_unit_env_and_surface.py63def test_base_url_default_when_nothing():CODE
LOW⚡sdks/python/tests/test_unit_env_and_surface.py68def test_token_explicit_beats_env(monkeypatch):CODE
LOW⚡sdks/python/tests/test_unit_env_and_surface.py74def test_token_env_not_read_when_arg_given(monkeypatch):CODE
LOW⚡sdks/python/tests/test_unit_env_and_surface.py83def test_token_env_used_when_no_arg(monkeypatch):CODE
LOW⚡sdks/python/tests/test_unit_env_and_surface.py89def test_wigolo_local_env_triggers_embedded(monkeypatch):CODE
LOWsdks/python/tests/test_unit_env_and_surface.py110def test_local_false_explicit_disables_even_with_env(monkeypatch):CODE
LOWsdks/python/tests/test_unit_env_and_surface.py117def test_local_mode_ignores_base_url(monkeypatch):CODE
LOWsdks/python/tests/test_runtime_drift.py19def test_resolved_command_inside_checkout():CODE
LOWsdks/python/tests/test_runtime_drift.py45def test_manifest_paths_match_server(openapi):CODE
LOWsdks/python/tests/test_runtime_drift.py79def test_manifest_params_and_required_match(openapi):CODE
LOWsdks/python/tests/test_runtime_drift.py95def test_response_keys_subset_of_server(openapi):CODE
LOW⚡sdks/python/tests/test_unit_transport.py86def test_auth_header_present_when_token(server):CODE
LOW⚡sdks/python/tests/test_unit_transport.py94def test_auth_header_absent_when_no_token(server):CODE
LOW⚡sdks/python/tests/test_unit_transport.py102def test_none_values_omitted_from_body(server):CODE
LOW⚡sdks/python/tests/test_unit_transport.py110def test_error_mapping_with_envelope(server):CODE
LOWsdks/python/tests/test_unit_transport.py129def test_error_mapping_retry_after_header(server):CODE
LOWsdks/python/tests/test_unit_transport.py141def test_error_mapping_unparseable_body(server):CODE
LOWsdks/python/tests/test_unit_transport.py164def test_connection_refused_names_local_client():CODE
LOWsdks/python/tests/test_unit_transport.py172def test_per_tool_default_timeouts(server, monkeypatch):CODE
LOWsdks/python/tests/test_unit_transport.py193def test_per_call_timeout_overrides_default(server, monkeypatch):CODE
LOWsdks/python/tests/test_unit_transport.py209def test_client_timeout_overrides_manifest_default(server, monkeypatch):CODE
LOWsdks/python/tests/test_unit_transport.py225def test_health_returns_verbatim(server):CODE
LOWsdks/python/tests/test_unit_transport.py269def test_crawl_map_response_verbatim(server):CODE
LOWsdks/python/tests/test_unit_transport.py277def test_loopback_bypasses_ambient_http_proxy(server, monkeypatch):CODE
LOW⚡sdks/python/tests/test_unit_local.py32def test_wigolo_cli_json_list_parsed(monkeypatch):CODE
LOW⚡sdks/python/tests/test_unit_local.py37def test_wigolo_cli_single_path_with_spaces(monkeypatch):CODE
LOW⚡sdks/python/tests/test_unit_local.py42def test_wigolo_cli_invalid_json_list_raises(monkeypatch):CODE
LOW⚡sdks/python/tests/test_unit_local.py48def test_cli_not_found_actionable(monkeypatch):CODE
LOW⚡sdks/python/tests/test_unit_local.py56def test_spawn_and_reuse_owned(monkeypatch):CODE
LOWsdks/python/tests/test_unit_local.py90def test_stale_daemon_predates_rest(monkeypatch):CODE
LOWsdks/python/tests/test_unit_local.py118def test_child_exit_immediately_actionable(monkeypatch):CODE
LOW⚡sdks/python/tests/test_unit_local.py129def test_file_not_found_mapping(monkeypatch):CODE
LOW⚡sdks/python/tests/test_unit_local.py138def test_client_local_true_uses_daemon(monkeypatch):CODE
LOW⚡sdks/python/tests/test_unit_local.py148def test_bad_env_port_non_numeric_raises(monkeypatch):CODE
LOW⚡sdks/python/tests/test_unit_local.py157def test_bad_port_out_of_range_raises(monkeypatch):CODE
LOW⚡sdks/python/tests/test_unit_local.py165def test_spawn_error_stderr_redacts_token(monkeypatch):CODE
LOWsdks/python/src/wigolo/_client.py281 def _health_report_from_error(exc: WigoloAPIError) -> Optional[dict[str, Any]]:CODE
LOWtests/unit/search/engine-telemetry.test.ts220function makeHttpStatusFailingEntry(name: string, status: number): EngineEntry {CODE
LOWbenchmarks/agent/report.ts6export function generateAgentMarkdownReport(report: AgentBenchmarkReport): string {CODE
LOWbenchmarks/search/report.ts109export function generateSearchMarkdownReport(report: SearchBenchmarkReport): string {CODE
LOWbenchmarks/search/metrics.ts125export function computeLatencyPercentiles(latencies: number[]): LatencyPercentiles {CODE
LOWpackages/wigolo-crewai/tests/test_core.py17def test_run_search_maps_args_and_returns_json(mock_client):CODE
LOWpackages/wigolo-crewai/tests/test_core.py37def test_run_search_drops_none_so_sdk_defaults_apply(mock_client):CODE
LOWpackages/wigolo-crewai/tests/test_core.py56def test_run_research_maps_args(mock_client):CODE
LOWpackages/wigolo-crewai/tests/test_core.py78def test_run_extract_maps_args(mock_client):CODE
LOWpackages/wigolo-crewai/tests/test_core.py101def test_wigolo_error_becomes_clean_json_string(mock_client, runner, method, args):CODE
LOWpackages/wigolo-crewai/tests/test_core.py114def test_build_client_constructs_wigolo_client(monkeypatch):CODE
LOW⚡packages/wigolo-crewai/tests/test_tools.py36def test_tool_instantiates_with_expected_metadata(cls, name, schema, mock_client):CODE
LOW⚡packages/wigolo-crewai/tests/test_tools.py43def test_search_tool_delegates_to_core(mock_client):CODE
LOW⚡packages/wigolo-crewai/tests/test_tools.py53def test_fetch_tool_delegates_to_core(mock_client):CODE
119 more matches not shown…
Decorative Section Separators63 hits · 195 pts
SeverityFileLineSnippetContext
MEDIUM⚡packaging/install.sh28# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packaging/install.sh30# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packaging/install.sh40# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packaging/install.sh42# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packaging/install.sh49# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packaging/install.sh51# ---------------------------------------------------------------------------COMMENT
MEDIUMpackaging/install.sh67# ---------------------------------------------------------------------------COMMENT
MEDIUMpackaging/install.sh70# ---------------------------------------------------------------------------COMMENT
MEDIUMpackaging/install.sh94# ---------------------------------------------------------------------------COMMENT
MEDIUMpackaging/install.sh96# ---------------------------------------------------------------------------COMMENT
MEDIUMpackaging/install.sh121# ---------------------------------------------------------------------------COMMENT
MEDIUMpackaging/install.sh123# ---------------------------------------------------------------------------COMMENT
MEDIUMpackaging/install.sh200# ---------------------------------------------------------------------------COMMENT
MEDIUMpackaging/install.sh203# ---------------------------------------------------------------------------COMMENT
MEDIUMpackaging/install.sh244# ---------------------------------------------------------------------------COMMENT
MEDIUMpackaging/install.sh247# ---------------------------------------------------------------------------COMMENT
MEDIUMpackaging/install.sh267# ---------------------------------------------------------------------------COMMENT
MEDIUMpackaging/install.sh270# ---------------------------------------------------------------------------COMMENT
MEDIUMpackaging/install.sh300# ---------------------------------------------------------------------------COMMENT
MEDIUMpackaging/install.sh304# ---------------------------------------------------------------------------COMMENT
MEDIUMpackaging/install.sh320# ---------------------------------------------------------------------------COMMENT
MEDIUMpackaging/install.sh322# ---------------------------------------------------------------------------COMMENT
MEDIUMpackaging/install.sh333# ---------------------------------------------------------------------------COMMENT
MEDIUMpackaging/install.sh335# ---------------------------------------------------------------------------COMMENT
MEDIUMpackaging/install.sh361# ---------------------------------------------------------------------------COMMENT
MEDIUMpackaging/install.sh363# ---------------------------------------------------------------------------COMMENT
MEDIUMbenchmarks/embedding/runner.ts38// ── Math helpers ─────────────────────────────────────────────────────────────COMMENT
MEDIUMbenchmarks/embedding/runner.ts69// ── Fixture types ─────────────────────────────────────────────────────────────COMMENT
MEDIUMbenchmarks/embedding/runner.ts91// ── Result types ──────────────────────────────────────────────────────────────COMMENT
MEDIUMbenchmarks/embedding/runner.ts126// ── Main ──────────────────────────────────────────────────────────────────────COMMENT
MEDIUMbenchmarks/search/rerank-quality.ts39// ── Math helpers ─────────────────────────────────────────────────────────────COMMENT
MEDIUMbenchmarks/search/rerank-quality.ts59// ── Fixture types ─────────────────────────────────────────────────────────────COMMENT
MEDIUMbenchmarks/search/rerank-quality.ts81// ── Result types ──────────────────────────────────────────────────────────────COMMENT
MEDIUMbenchmarks/search/rerank-quality.ts115// ── Main ──────────────────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/verify-channel-rest.sh179# ── build ────────────────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/verify-channel-rest.sh185# ── instance 1: open loopback mode ─────────────────────────────────────────────COMMENT
MEDIUMscripts/verify-channel-rest.sh269# ── instance 2: token mode + shim on ───────────────────────────────────────────COMMENT
MEDIUM⚡scripts/verify-channel-docker.sh264# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/verify-channel-docker.sh266# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/verify-channel-docker.sh270# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/verify-channel-docker.sh272# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/verify-channel-docker.sh63# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/verify-channel-docker.sh65# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/verify-channel-docker.sh83# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/verify-channel-docker.sh85# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/verify-channel-docker.sh102# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/verify-channel-docker.sh104# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/verify-channel-docker.sh116# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/verify-channel-docker.sh119# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/verify-channel-docker.sh149# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/verify-channel-docker.sh155# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/verify-channel-docker.sh183# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/verify-channel-docker.sh186# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/verify-channel-docker.sh209# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/verify-channel-docker.sh211# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/verify-channel-docker.sh244# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/verify-channel-docker.sh246# ---------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/release.yml84 # ---------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/release.yml95 # ---------------------------------------------------------------------COMMENT
MEDIUMsrc/daemon/rest/errors.ts110// ── StageResult status mapping ──────────────────────────────────────────────COMMENT
3 more matches not shown…
Over-Commented Block144 hits · 143 pts
SeverityFileLineSnippetContext
LOWpackaging/install.sh1#!/bin/shCOMMENT
LOWpackaging/compose.serve.yml1# wigolo in HTTP serve mode (StreamableHTTP + SSE MCP transport).COMMENT
LOWpackaging/compose.serve.yml41 #COMMENT
LOWpackaging/homebrew/wigolo.rb1# Homebrew formula for wigolo.COMMENT
LOWpackaging/homebrew/wigolo.rb21 # Optional: uncomment once the npm dist-tag is stable to auto-detect newCOMMENT
LOWpackaging/binary/pack.sh1#!/usr/bin/env bashCOMMENT
LOWtests/setup.ts41// optionalDependency, and `stealthDriver` defaults to 'auto' — so the dedicatedCOMMENT
LOWtests/unit/package-deps.test.ts41//COMMENT
LOWtests/unit/research/pipeline-score-floor.test.ts141 // WHY (C1 breadth wobble): the cross-encoder scores a *moderately*-relevantCOMMENT
LOWtests/unit/research/pipeline-score-floor.test.ts181 // So any fixed absolute floor (0 or -0.35) collapses breadth.COMMENT
LOWtests/unit/research/pipeline-breadth.test.ts81 it('keeps a wide on-topic set at the larger window while url-shape junk is still dropped', async () => {COMMENT
LOWtests/unit/tools/fetch.silent-failures.test.ts141COMMENT
LOWtests/unit/tools/extract.test.ts701 });COMMENT
LOWtests/unit/tools/extract.test.ts741COMMENT
LOWtests/unit/tools/search.images.test.ts1// Integration test at the MCP tool boundary for theCOMMENT
LOWtests/unit/tools/search-filtering.test.ts1// Search filtering at the MCP tool boundary, exercised against the CORECOMMENT
LOWtests/unit/cache/diff-engine.test.ts201 // Words far from the change must not appear in hunks.COMMENT
LOWtests/unit/cli/doctor-isolated.test.ts1// Unit coverage for the doctor subprocess-isolation wrapper added in P4.COMMENT
LOWtests/unit/cli/doctor-isolated.test.ts181// ---------------------------------------------------------------------------COMMENT
LOWtests/unit/cli/doctor-isolated.test.ts281 // so we cannot synthesize a realistic throw through the public surfaceCOMMENT
LOWtests/unit/search/find-similar.test.ts441 // widget framework" returned 5 cache hits with normalized relevance_scoreCOMMENT
LOWtests/unit/search/mojeek-probe-only.test.ts1// Mojeek probe-only by default (burst-load resilience, fix d).COMMENT
LOWtests/unit/search/burst-cascade.test.ts1// Burst-load engine-pool resilience: failure-class breaker cooldowns +COMMENT
LOWtests/unit/search/engine-throttle.test.ts1// Throttle-as-skip: a per-engine minimum inter-request interval.COMMENT
LOWtests/unit/search/engine-soft-deadline.test.ts1// Soft-deadline on parallel engine dispatch + session-scoped adaptiveCOMMENT
LOWtests/unit/search/degraded-recovery.test.ts1// Degraded-dispatch recovery wave (burst-load resilience, fix a + d).COMMENT
LOWtests/unit/search/v1/orchestrator.test.ts1161});COMMENT
LOWtests/unit/search/core/rerank-fold.test.ts221// it cannot ride a gamed cross-encoder logit into the confidently-relevantCOMMENT
LOWtests/unit/search/engines/ddg-image.test.ts1// DDG Image search adapter.COMMENT
LOWtests/unit/fetch/playwright-tier.hydration-gate.test.ts1import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';COMMENT
LOWtests/unit/fetch/browser-pool.challenge.test.ts1import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';COMMENT
LOWtests/unit/fetch/browser-pool.challenge.test.ts21 widgetBox: { x: number; y: number; width: number; height: number } | null;COMMENT
LOWtests/unit/fetch/browser-pool.challenge.test.ts141});COMMENT
LOWtests/unit/extraction/brand-palette.test.ts281 it('only decodes frame 1 of a multi-frame GIF — frame 2 pixels must not leak into palette', async () => {COMMENT
LOWtests/unit/extraction/v1/routed.test.ts201 // but classifyContent should not be the gate.COMMENT
LOWtests/unit/extraction/v1/pdf.test.ts1// arxiv PDF fetch error'd out and killed paper retrieval. Root cause:COMMENT
LOWtests/integration/extract-pipeline-v1.test.ts21// the hand-built shell above, this carries react.dev's real layout: <main> and theCOMMENT
LOWtests/integration/search-adapter-quality.test.ts1// Integration coverage for the adapter quality push at theCOMMENT
LOWtests/integration/extract-wikipedia-chrome.test.ts1// Integration test at the tool boundary for Wikipedia chrome filtering:COMMENT
LOWtests/integration/fetch-site-data.test.ts1// Integration test for P1: site-extractor structured-JSON passthrough on fetch().COMMENT
LOWtests/integration/setup-roundtrip.test.ts241COMMENT
LOWtests/integration/search-rerank-fold.test.ts101// D4 mechanism fixture (the live incident, deterministic): all-but-one engineCOMMENT
LOWtests/integration/search-filtering-pipeline.test.ts1// Search filtering pipeline integration at the MCP tool boundary, exercisedCOMMENT
LOWtests/e2e/doctor-clean-exit.e2e.test.ts1// E2E regression for the doctor exit-134 (libc++ mutex) crash.COMMENT
LOWexamples/vercel-ai-sdk-tools/tools.ts41// import { generateText } from 'ai';COMMENT
LOWexamples/watch-changelog-webhook/watch.sh1#!/usr/bin/env bashCOMMENT
LOWexamples/rest-curl/demo.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/verify-channel-brew.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/verify-channel-sh.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/verify-channel-binary.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/verify-channel-rest.sh1#!/bin/shCOMMENT
LOWscripts/verify-channel-rest.sh21# flag off -> POST /compat/firecrawl/v1/scrape -> 404COMMENT
LOWscripts/verify-channel-npm.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/verify-channel-docker.sh1#!/usr/bin/env bashCOMMENT
LOW.github/FUNDING.yml1# Ways to support wigolo, for the repo's "Sponsor this project" sidebar.COMMENT
LOW.github/workflows/release.yml81 fiCOMMENT
LOW.github/workflows/binary-build.yml1# Single-file binary channel (spec D1, slice S-P1-BIN).COMMENT
LOW.github/workflows/ci.yml61 - run: npm run buildCOMMENT
LOWsrc/server.ts321 // call needs a permission prompt, so each one describes the WIDEST behaviourCOMMENT
LOWsrc/research/render-brief.ts1import type { ResearchBrief, ResearchSource, CrossReference } from '../types.js';COMMENT
84 more matches not shown…
Cross-Language Confusion (JS/TS)22 hits · 142 pts
SeverityFileLineSnippetContext
HIGH…s/unit/extraction/site-extractors/docs-generic.test.ts137 print("Hello, world!")</code></pre>CODE
HIGHsrc/cli/doctor.ts298 print('');CODE
HIGHsrc/cli/doctor.ts299 print('[wigolo doctor] Engine probes (live):');CODE
HIGHsrc/cli/doctor.ts311 print(` ${name.padEnd(15)} ok (${Date.now() - t0}ms, ${results.length} results)`);CODE
HIGHsrc/cli/doctor.ts313 print(` ${name.padEnd(15)} error (${errorLine(err)})`);CODE
HIGHsrc/cli/init.ts153 print(`Component setup failed: ${message}`);CODE
HIGHsrc/cli/init.ts154 print('Fix: re-run `wigolo warmup --all` — components also lazy-retry on first use.');CODE
HIGH⚡src/cli/init.ts180 print('');CODE
HIGH⚡src/cli/init.ts181 print(' Component setup:');CODE
HIGH⚡src/cli/init.ts185 print(` ✓ ${label[key]}: ready`);CODE
HIGH⚡src/cli/init.ts189 print(` ○ ${label[key]}: skipped (${detail})`);CODE
HIGH⚡src/cli/init.ts194 print(` ✗ ${label[key]}: failed${err ? ` — ${err}` : ''}`);CODE
HIGH⚡src/cli/init.ts195 print(` Fix: ${fix[key]}`);CODE
HIGH⚡src/cli/init.ts201 print('');CODE
HIGH⚡src/cli/init.ts202 print(' Diagnostics (doctor cold checks):');CODE
HIGH⚡src/cli/init.ts206 print(` ${glyph} ${c.name}: ${c.status}${c.detail ? ` — ${c.detail}` : ''}`);CODE
HIGH⚡src/cli/init.ts241 print(` ${ok(`Skills installed (${written} file${written === 1 ? '' : 's'} written)`)}`);CODE
HIGH⚡src/cli/init.ts243 print(` ${ok('Skills up to date (no changes)')}`);CODE
HIGH⚡src/cli/init.ts246 print(` ${warn(`${refused} skill path(s) left untouched (modified or protected)`)}`);CODE
HIGH⚡src/cli/init.ts250 print(` ${warn(`Skills skipped: ${message}`)}`);CODE
HIGHsrc/cli/init.ts420 print(PRECACHE_HINT);CODE
HIGHsrc/cli/init.ts532 print(PRECACHE_HINT);CODE
Empty Error Handlers17 hits · 85 pts
SeverityFileLineSnippetContext
HIGHsdks/python/tests/conftest.py67except Exception:CODE
HIGHsdks/python/tests/test_integration_local.py148except Exception:CODE
HIGHsdks/python/tests/test_integration_local.py59except Exception:CODE
HIGHsdks/python/tests/test_integration_local.py133except Exception:CODE
HIGHsdks/python/tests/test_integration.py35except Exception:CODE
HIGHsdks/python/src/wigolo/_local.py186except Exception:CODE
HIGHsdks/python/src/wigolo/_local.py226except subprocess.TimeoutExpired:CODE
HIGHsdks/python/src/wigolo/_local.py234except Exception:CODE
HIGHsdks/python/src/wigolo/_local.py248except Exception:CODE
HIGHsdks/python/src/wigolo/_local.py210except Exception:CODE
HIGHsdks/python/src/wigolo/_local.py214except Exception:CODE
HIGHpackages/wigolo-llamaindex/wigolo_llamaindex/client.py101except ProcessLookupError:CODE
HIGHpackages/wigolo-llamaindex/wigolo_llamaindex/client.py194except asyncio.CancelledError:CODE
HIGHpackages/wigolo-llamaindex/wigolo_llamaindex/client.py205except ProcessLookupError:CODE
HIGHpackages/wigolo-langchain/wigolo_langchain/client.py104except ProcessLookupError:CODE
HIGHpackages/wigolo-langchain/wigolo_langchain/client.py208except asyncio.CancelledError:CODE
HIGHpackages/wigolo-langchain/wigolo_langchain/client.py219except ProcessLookupError:CODE
Unused Imports81 hits · 81 pts
SeverityFileLineSnippetContext
LOWsdks/python/tests/conftest.py8CODE
LOWsdks/python/tests/conftest.py14CODE
LOWsdks/python/tests/test_package_build.py7CODE
LOWsdks/python/tests/test_package_build.py22CODE
LOWsdks/python/tests/_fake_serve.py15CODE
LOWsdks/python/tests/test_unit_async.py3CODE
LOWsdks/python/tests/test_integration_local.py10CODE
LOWsdks/python/tests/test_unit_env_and_surface.py3CODE
LOWsdks/python/tests/test_integration.py7CODE
LOWsdks/python/tests/test_runtime_drift.py8CODE
LOWsdks/python/tests/test_unit_transport.py8CODE
LOWsdks/python/tests/test_unit_local.py3CODE
LOWsdks/python/src/wigolo/_manifest.py14CODE
LOWsdks/python/src/wigolo/_local.py11CODE
LOWsdks/python/src/wigolo/_errors.py10CODE
LOWsdks/python/src/wigolo/__init__.py9CODE
LOWsdks/python/src/wigolo/__init__.py11CODE
LOWsdks/python/src/wigolo/__init__.py12CODE
LOWsdks/python/src/wigolo/__init__.py13CODE
LOWsdks/python/src/wigolo/__init__.py13CODE
LOWsdks/python/src/wigolo/__init__.py13CODE
LOWsdks/python/src/wigolo/__init__.py14CODE
LOWsdks/python/src/wigolo/_aio.py14CODE
LOWsdks/python/src/wigolo/_client.py8CODE
LOWsdks/python/src/wigolo/_client.py21CODE
LOWpackages/wigolo-crewai/tests/conftest.py8CODE
LOWpackages/wigolo-crewai/tests/test_core.py3CODE
LOWpackages/wigolo-crewai/tests/test_tools.py8CODE
LOWpackages/wigolo-crewai/wigolo_crewai/tools.py7CODE
LOWpackages/wigolo-crewai/wigolo_crewai/__init__.py10CODE
LOWpackages/wigolo-crewai/wigolo_crewai/__init__.py14CODE
LOWpackages/wigolo-crewai/wigolo_crewai/__init__.py14CODE
LOWpackages/wigolo-crewai/wigolo_crewai/__init__.py14CODE
LOWpackages/wigolo-crewai/wigolo_crewai/__init__.py14CODE
LOWpackages/wigolo-crewai/wigolo_crewai/__init__.py14CODE
LOWpackages/wigolo-crewai/wigolo_crewai/__init__.py14CODE
LOWpackages/wigolo-crewai/wigolo_crewai/__init__.py22CODE
LOWpackages/wigolo-crewai/wigolo_crewai/__init__.py22CODE
LOWpackages/wigolo-crewai/wigolo_crewai/__init__.py22CODE
LOWpackages/wigolo-crewai/wigolo_crewai/__init__.py22CODE
LOWpackages/wigolo-crewai/wigolo_crewai/__init__.py22CODE
LOWpackages/wigolo-crewai/wigolo_crewai/__init__.py31CODE
LOWpackages/wigolo-crewai/wigolo_crewai/__init__.py31CODE
LOWpackages/wigolo-crewai/wigolo_crewai/__init__.py31CODE
LOWpackages/wigolo-crewai/wigolo_crewai/__init__.py31CODE
LOWpackages/wigolo-crewai/wigolo_crewai/__init__.py31CODE
LOWpackages/wigolo-crewai/wigolo_crewai/__init__.py31CODE
LOWpackages/wigolo-crewai/wigolo_crewai/types.py8CODE
LOWpackages/wigolo-crewai/wigolo_crewai/_core.py9CODE
LOWpackages/wigolo-llamaindex/tests/test_reader.py3CODE
LOWpackages/wigolo-llamaindex/tests/test_reader.py5CODE
LOWpackages/wigolo-llamaindex/tests/test_reader.py6CODE
LOWpackages/wigolo-llamaindex/tests/conftest.py3CODE
LOWpackages/wigolo-llamaindex/tests/test_client.py3CODE
LOWpackages/wigolo-llamaindex/wigolo_llamaindex/client.py3CODE
LOW…ckages/wigolo-llamaindex/wigolo_llamaindex/__init__.py3CODE
LOW…ckages/wigolo-llamaindex/wigolo_llamaindex/__init__.py4CODE
LOW…ckages/wigolo-llamaindex/wigolo_llamaindex/__init__.py4CODE
LOWpackages/wigolo-llamaindex/wigolo_llamaindex/types.py3CODE
LOWpackages/wigolo-llamaindex/wigolo_llamaindex/reader.py3CODE
21 more matches not shown…
Excessive Try-Catch Wrapping33 hits · 36 pts
SeverityFileLineSnippetContext
LOWsdks/python/tests/conftest.py67 except Exception:CODE
LOWsdks/python/tests/conftest.py79 except Exception:CODE
LOWsdks/python/tests/conftest.py142 except Exception:CODE
LOWsdks/python/tests/test_package_build.py25 except Exception:CODE
MEDIUMsdks/python/tests/test_package_build.py20def _have_build() -> bool:CODE
LOWsdks/python/tests/test_integration_local.py41 except Exception:CODE
LOWsdks/python/tests/test_integration_local.py59 except Exception:CODE
LOWsdks/python/tests/test_integration_local.py133 except Exception:CODE
LOWsdks/python/tests/test_integration_local.py148 except Exception:CODE
MEDIUMsdks/python/tests/test_integration_local.py145def _fetch():CODE
LOWsdks/python/tests/test_integration.py32 except Exception:CODE
LOWsdks/python/tests/test_integration.py35 except Exception:CODE
LOWsdks/python/src/wigolo/_local.py186 except Exception:CODE
LOWsdks/python/src/wigolo/_local.py210 except Exception:CODE
LOWsdks/python/src/wigolo/_local.py214 except Exception:CODE
LOWsdks/python/src/wigolo/_local.py234 except Exception:CODE
LOWsdks/python/src/wigolo/_local.py248 except Exception:CODE
MEDIUMsdks/python/src/wigolo/_local.py183def _atexit_close(self) -> None:CODE
LOWsdks/python/src/wigolo/_client.py218 except Exception: # pragma: no cover - defensiveCODE
LOWpackages/wigolo-llamaindex/wigolo_llamaindex/client.py83 except Exception as exc:CODE
LOWpackages/wigolo-llamaindex/wigolo_llamaindex/client.py103 except Exception as exc:CODE
LOWpackages/wigolo-llamaindex/wigolo_llamaindex/client.py122 except Exception as exc:CODE
LOWpackages/wigolo-llamaindex/wigolo_llamaindex/client.py196 except Exception as exc:CODE
LOWpackages/wigolo-llamaindex/wigolo_llamaindex/reader.py66 except Exception as exc:CODE
LOWpackages/wigolo-llamaindex/wigolo_llamaindex/reader.py78 except Exception as exc:CODE
LOWpackages/wigolo-llamaindex/wigolo_llamaindex/reader.py186 except Exception as exc:CODE
LOW…ckages/wigolo-langchain/wigolo_langchain/retrievers.py86 except Exception as exc:CODE
LOWpackages/wigolo-langchain/wigolo_langchain/client.py86 except Exception as exc:CODE
LOWpackages/wigolo-langchain/wigolo_langchain/client.py106 except Exception as exc:CODE
LOWpackages/wigolo-langchain/wigolo_langchain/client.py125 except Exception as exc:CODE
LOWpackages/wigolo-langchain/wigolo_langchain/client.py210 except Exception as exc:CODE
LOWpackages/wigolo-langchain/wigolo_langchain/tools.py118 except Exception as exc:CODE
LOWpackages/wigolo-langchain/wigolo_langchain/tools.py210 except Exception as exc:CODE
Fake / Example Data32 hits · 32 pts
SeverityFileLineSnippetContext
LOWtests/unit/research/source-validation.test.ts201 const longOffTopic = Array.from({ length: 120 }, () => 'lorem ipsum dolor sit amet').join(' ');CODE
LOWtests/unit/research/source-validation.test.ts201 const longOffTopic = Array.from({ length: 120 }, () => 'lorem ipsum dolor sit amet').join(' ');CODE
LOWtests/unit/tools/extract.test.ts570 const filler = 'lorem ipsum dolor sit amet '.repeat(8).trim();CODE
LOWtests/unit/tools/extract.test.ts570 const filler = 'lorem ipsum dolor sit amet '.repeat(8).trim();CODE
LOWtests/unit/tools/agent.test.ts336 const longMarkdown = '# Heading\n\n' + 'Lorem ipsum dolor sit amet. '.repeat(80);CODE
LOWtests/unit/tools/agent.test.ts336 const longMarkdown = '# Heading\n\n' + 'Lorem ipsum dolor sit amet. '.repeat(80);CODE
LOWtests/unit/tools/fetch.test.ts593 const fullBody = '# Big\n\n' + 'lorem ipsum dolor sit amet '.repeat(4000);CODE
LOWtests/unit/tools/fetch.test.ts593 const fullBody = '# Big\n\n' + 'lorem ipsum dolor sit amet '.repeat(4000);CODE
LOWtests/unit/search/core/lexical-alignment.test.ts41 const a = lexicalAlignment('', 'pgvector docs', 'lorem ipsum');CODE
LOWtests/unit/fetch/challenge-classify.test.ts98 <p>${'Lorem ipsum dolor sit amet, consectetur adipiscing elit. '.repeat(40)}</p>CODE
LOWtests/unit/fetch/challenge-classify.test.ts98 <p>${'Lorem ipsum dolor sit amet, consectetur adipiscing elit. '.repeat(40)}</p>CODE
LOWtests/unit/extraction/schema.test.ts145 expect(result.brand).toBe('Acme Corp');CODE
LOWtests/unit/extraction/extract.test.ts113 <meta name="author" content="John Doe">CODE
LOWtests/unit/extraction/extract.test.ts122 author: 'John Doe',CODE
LOWtests/unit/extraction/brand-honesty.test.ts69 <body><header><a href="/"><img src="/logo.svg" alt="Acme Corp"></a></header></body></html>`;CODE
LOWtests/unit/extraction/brand-honesty.test.ts71 expect(out.name).toBe('Acme Corp');CODE
LOWtests/unit/extraction/jsonld.test.ts27 expect(author.name).toBe('Jane Doe');CODE
LOWtests/unit/extraction/schema-truth-perf.test.ts86 const sourceText = ('lorem ipsum dolor sit amet, consectetur adipiscing elit. ' as string).repeat(CODE
LOWtests/unit/extraction/schema-truth-perf.test.ts86 const sourceText = ('lorem ipsum dolor sit amet, consectetur adipiscing elit. ' as string).repeat(CODE
LOWtests/unit/extraction/v1/schemas/JobPosting.test.ts20 name: 'Acme Corp',CODE
LOWtests/unit/extraction/v1/schemas/JobPosting.test.ts46 expect(result!.hiringOrganization).toBe('Acme Corp');CODE
LOWtests/unit/extraction/v1/schemas/JobPosting.test.ts63 <meta property="job:hiring_organization" content="Acme Corp">CODE
LOWtests/unit/extraction/v1/schemas/JobPosting.test.ts69 expect(result!.hiringOrganization).toBe('Acme Corp');CODE
LOWtests/integration/search-pipeline.test.ts16 const filler = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut laborCODE
LOWtests/integration/search-pipeline.test.ts16 const filler = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut laborCODE
LOWtests/integration/fetch/spa-settle-corpus/fixtures.ts8 Array.from({ length: 6 }, (_, i) => `<p>${ARTICLE_MARKER} paragraph ${i} ${'lorem ipsum dolor sit amet '.repeat(8)}</pCODE
LOWtests/integration/fetch/spa-settle-corpus/fixtures.ts8 Array.from({ length: 6 }, (_, i) => `<p>${ARTICLE_MARKER} paragraph ${i} ${'lorem ipsum dolor sit amet '.repeat(8)}</pCODE
LOWtests/perf/embedding.bench.ts21const LONG = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. '.repeat(60);CODE
LOWtests/perf/embedding.bench.ts21const LONG = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. '.repeat(60);CODE
LOWbenchmarks/perf/tool-latency.ts111<body><article><h1>Headline</h1><p>${'Lorem ipsum dolor sit amet. '.repeat(40)}</p>CODE
LOWbenchmarks/perf/tool-latency.ts111<body><article><h1>Headline</h1><p>${'Lorem ipsum dolor sit amet. '.repeat(40)}</p>CODE
LOWbenchmarks/perf/tool-latency.ts122 ['paragraph: ' + 'lorem ipsum '.repeat(30)],CODE
Structural Annotation Overuse14 hits · 22 pts
SeverityFileLineSnippetContext
LOWsdks/python/src/wigolo/_local.py336 # Step 2: probe existing daemon.COMMENT
LOWsdks/python/src/wigolo/_local.py354 # Step 3: connection refused -> spawn.COMMENT
LOWsdks/typescript/src/local.ts283 // Step 2: probe an existing daemon.COMMENT
LOWsdks/typescript/src/local.ts297 // Step 3: connection refused → spawn our own.COMMENT
LOW⚡sdks/typescript/src/local.ts382 // Step 4: poll /health until 200 within budget.COMMENT
LOW⚡sdks/typescript/src/local.ts386 // Step 5: concurrent-spawn race — a rival may have won the port bind.COMMENT
LOW…/unit/cli/tui/components/WizardSteps.ceremony.test.tsx64 // Step 2: system check resolves; Enter on Continue row → Step 3COMMENT
LOWbenchmarks/agent/task-executor.ts61 // Step 1: SearchCOMMENT
LOWskills/wigolo-find-similar/SKILL.md77// Step 1: crawl to populate cache with embeddingsCOMMENT
LOWskills/wigolo-find-similar/SKILL.md80// Step 2: now find_similar has real semantic signalCOMMENT
LOWskills/wigolo/rules/cache-first.md36// Step 1: check cacheCOMMENT
LOWskills/wigolo/rules/cache-first.md39// Step 2: if empty, searchCOMMENT
LOWsrc/search/language-filter.ts77 // Step 1: drop invalid URLs firstCOMMENT
LOWsrc/search/language-filter.ts89 // Step 2: per-engine batch language checkCOMMENT
AI Structural Patterns19 hits · 19 pts
SeverityFileLineSnippetContext
LOWsdks/python/src/wigolo/_aio.py108CODE
LOWsdks/python/src/wigolo/_aio.py175CODE
LOWsdks/python/src/wigolo/_aio.py216CODE
LOWsdks/python/src/wigolo/_aio.py251CODE
LOWsdks/python/src/wigolo/_aio.py280CODE
LOWsdks/python/src/wigolo/_aio.py307CODE
LOWsdks/python/src/wigolo/_aio.py344CODE
LOWsdks/python/src/wigolo/_aio.py375CODE
LOWsdks/python/src/wigolo/_client.py302CODE
LOWsdks/python/src/wigolo/_client.py371CODE
LOWsdks/python/src/wigolo/_client.py414CODE
LOWsdks/python/src/wigolo/_client.py452CODE
LOWsdks/python/src/wigolo/_client.py483CODE
LOWsdks/python/src/wigolo/_client.py512CODE
LOWsdks/python/src/wigolo/_client.py551CODE
LOWsdks/python/src/wigolo/_client.py587CODE
LOWpackages/wigolo-llamaindex/wigolo_llamaindex/reader.py126CODE
LOWpackages/wigolo-langchain/wigolo_langchain/tools.py41CODE
LOWpackages/wigolo-langchain/wigolo_langchain/tools.py81CODE
Verbosity Indicators10 hits · 16 pts
SeverityFileLineSnippetContext
LOWsdks/python/src/wigolo/_local.py336 # Step 2: probe existing daemon.COMMENT
LOWsdks/python/src/wigolo/_local.py354 # Step 3: connection refused -> spawn.COMMENT
LOWsdks/typescript/src/local.ts283 // Step 2: probe an existing daemon.COMMENT
LOWsdks/typescript/src/local.ts297 // Step 3: connection refused → spawn our own.COMMENT
LOW⚡sdks/typescript/src/local.ts382 // Step 4: poll /health until 200 within budget.COMMENT
LOW⚡sdks/typescript/src/local.ts386 // Step 5: concurrent-spawn race — a rival may have won the port bind.COMMENT
LOW…/unit/cli/tui/components/WizardSteps.ceremony.test.tsx64 // Step 2: system check resolves; Enter on Continue row → Step 3COMMENT
LOWbenchmarks/agent/task-executor.ts61 // Step 1: SearchCOMMENT
LOWsrc/search/language-filter.ts77 // Step 1: drop invalid URLs firstCOMMENT
LOWsrc/search/language-filter.ts89 // Step 2: per-engine batch language checkCOMMENT
Modern AI Meta-Vocabulary5 hits · 13 pts
SeverityFileLineSnippetContext
MEDIUMREADME.md421<sub>**[TestMu AI](https://wigolo.app/go/testmu/?ref=readme)** (formerly LambdaTest) is the world's first full-stack ageCODE
MEDIUMtests/unit/cli/warmup-setup-json-contract.test.ts11// --- warmup mock scaffold (mirrors tests/unit/cli/warmup.test.ts) so theCOMMENT
MEDIUMtests/unit/cli/warmup-setup-json-contract.test.ts47// --- setup-mcp mock scaffold (mirrors setup-mcp-non-interactive.test.ts). ---COMMENT
MEDIUMtests/unit/search/find-similar.test.ts572 `# Retrieval augmented generation explainer ${i}\n\nA primer on retrieval augmented generation systems and patteCODE
MEDIUMpackages/wigolo-llamaindex/README.md50### Use in a RAG PipelineCOMMENT
Modern Structural Boilerplate12 hits · 12 pts
SeverityFileLineSnippetContext
LOWsdks/python/src/wigolo/_local.py31__all__ = ["LocalDaemon", "ensure_local_daemon", "local_client"]CODE
LOWsdks/python/src/wigolo/__init__.py18__all__ = [CODE
LOWsdks/python/src/wigolo/_aio.py22__all__ = ["AsyncClient"]CODE
LOWsdks/python/src/wigolo/_client.py23__all__ = ["Client"]CODE
LOWpackages/wigolo-crewai/wigolo_crewai/__init__.py49__all__ = [CODE
LOWpackages/wigolo-llamaindex/wigolo_llamaindex/client.py10logger = logging.getLogger(__name__)CODE
LOW…ckages/wigolo-llamaindex/wigolo_llamaindex/__init__.py6__all__ = [CODE
LOWpackages/wigolo-llamaindex/wigolo_llamaindex/reader.py14logger = logging.getLogger(__name__)CODE
LOW…ckages/wigolo-langchain/wigolo_langchain/retrievers.py16logger = logging.getLogger(__name__)CODE
LOWpackages/wigolo-langchain/wigolo_langchain/client.py10logger = logging.getLogger(__name__)CODE
LOWpackages/wigolo-langchain/wigolo_langchain/tools.py19logger = logging.getLogger(__name__)CODE
LOWpackages/wigolo-langchain/wigolo_langchain/__init__.py8__all__ = [CODE
AI Slop Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit/search/v1/orchestrator.test.ts310 // being months old. The robust parse must drop it.COMMENT
MEDIUMtests/unit/search/core/date-window.test.ts4// isDatedOutOfWindow is the robust per-result window predicate that replaced aCOMMENT
Deep Nesting1 hit · 1 pts
SeverityFileLineSnippetContext
LOWsdks/python/tests/test_integration.py22CODE
Example Usage Blocks1 hit · 1 pts
SeverityFileLineSnippetContext
LOWpackaging/install.sh4# Usage:COMMENT