AI Slop Code Risk Monitor

screenpipe/screenpipe

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

YC (S26) | Open Computer History | Continuously record your company computer work, map your workflows, help you find work worth automating, and power your agents' context

3.8 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for screenpipe/screenpipe, a Rust project with 22,190 GitHub stars. SynthScan examined 1,383,899 lines of code across 4270 source files, recording 3636 pattern matches distributed across 23 syntactic categories. The legacy adjusted pattern signal is 3.8 (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.8
Adjusted Signal
3.8
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
22.2K
Stars
Rust
Language
1.4M
Lines of Code
4.3K
Files
3.6K
Pattern Hits
2026-10-31
Scan Date
0.00
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 10.5/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.5/100 · LOW

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

Agent Over-Engineering Ratio 10.1/100 · LOW

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

PR Review Velocity Impact 16.9/100 · LOW

Which changes need focused human review? 3636 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 1HIGH 20MEDIUM 683LOW 2932

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 3636 distinct pattern matches across 23 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.

Decorative Section Separators647 hits · 1968 pts
SeverityFileLineSnippetContext
MEDIUM…coding-agent/graders/chat-overlapping-load.fixture.tsx50// ── Mocks ──────────────────────────────────────────────────────────────COMMENT
MEDIUM…coding-agent/graders/chat-overlapping-load.fixture.tsx108// ── Import under test (after mocks) ───────────────────────────────────COMMENT
MEDIUM…s/screenpipe-core/assets/extensions/context-pruning.ts69// ── single-message clamp (issue #3852) ────────────────────────────────COMMENT
MEDIUM…s/screenpipe-core/assets/extensions/context-pruning.ts69// ── single-message clamp (issue #3852) ────────────────────────────────COMMENT
MEDIUM…s/screenpipe-core/assets/extensions/context-pruning.ts213 // ── 1. Feedback on oversized tool results ──────────────────────────COMMENT
MEDIUM…s/screenpipe-core/assets/extensions/context-pruning.ts271 // ── 2 + 3. Prune old tool results AND clamp oversized messages ─────COMMENT
MEDIUM⚡crates/screenpipe-core/assets/extensions/sub-agent.ts27// ── Constants ────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡crates/screenpipe-core/assets/extensions/sub-agent.ts33// ── State ────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡crates/screenpipe-core/assets/extensions/sub-agent.ts39// ── Cleanup ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-core/assets/extensions/sub-agent.ts52// ── Read pipe permissions for sub-agent inheritance ──────────────────────────COMMENT
MEDIUMcrates/screenpipe-core/assets/extensions/sub-agent.ts66// ── Sub-agent spawner ────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-core/assets/extensions/sub-agent.ts127// ── Extension entry point ────────────────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-core/src/sync/mod.rs25//! ┌─────────────┴─────────────┐COMMENT
MEDIUMcrates/screenpipe-gateway/e2e/run.sh173# ── Conformance suite, unauthenticated posture ──────────────────────────────COMMENT
MEDIUMcrates/screenpipe-gateway/e2e/run.sh187# ── Authenticated posture: the auth matrix ──────────────────────────────────COMMENT
MEDIUM…/screenpipe-gateway/e2e/conformance/enterprise-v1.yaml54 # ── Accepted. Ruled legitimate 2026-07-24; do not "converge" these. ────────COMMENT
MEDIUM…/screenpipe-gateway/e2e/conformance/enterprise-v1.yaml957 # ── The unit of response across /search and /records ────────────────────COMMENT
MEDIUMcrates/screenpipe-gateway/e2e/conformance/cases.ts55 // ── /devices ─────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-gateway/e2e/conformance/cases.ts146 // ── /search ──────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-gateway/e2e/conformance/cases.ts289 // ── /records ─────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-gateway/e2e/conformance/cases.ts392 // ── /files ───────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-gateway/e2e/conformance/cases.ts457 // ── /files/{key} ─────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-gateway/e2e/conformance/cases.ts473 // ── /frames ──────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-gateway/e2e/conformance/cases.ts488 // ── /rollups ─────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-gateway/e2e/conformance/cases.ts549 // ── Hosted-only ──────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-gateway/e2e/conformance/cases.ts579 // ── Gateway-only ─────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-gateway/e2e/conformance/spec.ts210// ── internals ──────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-gateway/src/control_plane.rs1110 // ── The hole the runtime golden CANNOT see ───────────────────────────COMMENT
MEDIUMcrates/screenpipe-gateway/src/control_plane.rs1232 // ─── SCR-295: the BOOT PATH, not just the client ────────────────────────COMMENT
MEDIUMcrates/screenpipe-gateway/src/api.rs223// ─── Time window (converged with v1-helpers.ts parseTimeWindow) ─────────────COMMENT
MEDIUMcrates/screenpipe-gateway/src/api.rs560// ─── Record queries (gateway-owned SQL over the FTS tables) ─────────────────COMMENT
MEDIUMcrates/screenpipe-gateway/src/api.rs1268// ─── GET /api/enterprise/v1/devices ─────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-gateway/src/api.rs1361// ─── GET /api/enterprise/v1/search ──────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-gateway/src/api.rs1476// ─── GET /api/enterprise/v1/records ─────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-gateway/src/api.rs1586// ─── GET /api/enterprise/v1/files ───────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-gateway/src/api.rs1725// ─── GET /api/enterprise/v1/files/[...key] ──────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-gateway/src/api.rs1756// ─── GET /api/enterprise/v1/frames/{device_id}/{frame_id} ───────────────────COMMENT
MEDIUMcrates/screenpipe-gateway/src/api.rs1815// ─── GET /api/enterprise/v1/rollups ─────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-engine/src/drm_detector.rs772 // ── pre_capture_drm_check unit tests ──────────────────────────────COMMENT
MEDIUMcrates/screenpipe-engine/src/drm_detector.rs821 // ── live integration tests ──────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-engine/src/drm_detector.rs979 // ── check_and_update_drm_state tests ─────────────────────────COMMENT
MEDIUMcrates/screenpipe-engine/src/calendar_speaker_id.rs37// ── Pure decision logic ──────────────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-engine/src/calendar_speaker_id.rs510// ── Background task ──────────────────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-engine/src/calendar_speaker_id.rs745// ── Tests ────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-engine/src/calendar_speaker_id.rs768 // ── names_match tests ─────────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-engine/src/calendar_speaker_id.rs855 // ── find_other_attendee tests ─────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-engine/src/calendar_speaker_id.rs922 // ── decide_speaker_names tests ────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-engine/src/calendar_speaker_id.rs1151 // ── Rule 4: Process-of-elimination tests ──────────────────────────COMMENT
MEDIUMcrates/screenpipe-engine/src/calendar_speaker_id.rs1251 // ── deduplicate_speaker_by_name integration tests ─────────────────────COMMENT
MEDIUM⚡crates/screenpipe-engine/src/focus_aware_controller.rs14//! ┌────────┐ lost focus ┌──────┐ cold_cutoff ┌──────┐COMMENT
MEDIUM⚡crates/screenpipe-engine/src/focus_aware_controller.rs15//! │ Active │────────────────►│ Warm │───────────────►│ Cold │COMMENT
MEDIUM⚡crates/screenpipe-engine/src/focus_aware_controller.rs16//! └────────┘ < warm_cutoff └──────┘ └──────┘COMMENT
MEDIUM⚡crates/screenpipe-engine/src/focus_aware_controller.rs19//! └──────────────┴───────────────────────────────────┘COMMENT
MEDIUMcrates/screenpipe-engine/src/focus_aware_controller.rs387 // ── Test helpers ──────────────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-engine/src/power/profile.rs69 // ── Vision: event-driven capture ────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-engine/src/power/profile.rs81 // ── Vision: adaptive FPS ─────────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-engine/src/power/profile.rs85 // ── Audio ────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-engine/src/power/profile.rs98 // ── Capture pause ────────────────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-engine/src/power/profile.rs104 // ── Video encoding ────────────────────────────────────────────────────COMMENT
MEDIUMcrates/screenpipe-engine/src/power/monitor.rs95// ─── macOS ──────────────────────────────────────────────────────────────────COMMENT
587 more matches not shown…
Over-Commented Block1787 hits · 1758 pts
SeverityFileLineSnippetContext
LOWCargo.toml181# resize 1080p->360p 5.38ms -> 2.13ms (-60.4%)COMMENT
LOWlefthook.yml1# screenpipe — AI that knows everything you've seen, said, or heardCOMMENT
LOWevals/coding-agent/graders/telemetry-ax.lib.rs1// screenpipe — AI that knows everything you've seen, said, or heardCOMMENT
LOWcrates/screenpipe-core/tests/no_console_flash.rs1// screenpipe — AI that knows everything you've seen, said, or heardCOMMENT
LOWcrates/screenpipe-core/tests/no_console_flash.rs241 let t = line.trim_end().trim_end_matches('{').trim_end();COMMENT
LOWcrates/screenpipe-core/examples/probe_accessibility.rs1// screenpipe — AI that knows everything you've seen, said, or heardCOMMENT
LOWcrates/screenpipe-core/assets/extensions/mcp-bridge.ts1// screenpipe — AI that knows everything you've seen, said, or heardCOMMENT
LOW…s/screenpipe-core/assets/extensions/context-pruning.ts41 * Proactive compaction and retained-history budgeting live in the managedCOMMENT
LOW…s/screenpipe-core/assets/extensions/context-pruning.ts61// Completed earlier requests may be pruned beyond this recent-message window.COMMENT
LOW…ates/screenpipe-core/assets/extensions/orphan-guard.ts1// screenpipe — AI that knows everything you've seen, said, or heardCOMMENT
LOWcrates/screenpipe-core/assets/extensions/sub-agent.ts1// screenpipe — AI that knows everything you've seen, said, or heardCOMMENT
LOWcrates/screenpipe-core/src/ffmpeg.rs21const EXECUTABLE_NAME: &str = "ffmpeg";COMMENT
LOWcrates/screenpipe-core/src/ffmpeg.rs261/// path with NO side effects — unlike `get_ffmpeg_install_dir`, which creates theCOMMENT
LOWcrates/screenpipe-core/src/ffmpeg.rs621 #[test]COMMENT
LOWcrates/screenpipe-core/src/lib.rs1// screenpipe — AI that knows everything you've seen, said, or heardCOMMENT
LOWcrates/screenpipe-core/src/lib.rs21//! - Pipes run untrusted-ish user content through a model. Treat pipe output asCOMMENT
LOWcrates/screenpipe-core/src/paths.rs41 // symlinks intentionally skippedCOMMENT
LOWcrates/screenpipe-core/src/strings.rs1// screenpipe — AI that knows everything you've seen, said, or heardCOMMENT
LOWcrates/screenpipe-core/src/video.rs41/// Map video quality preset to x265 encoding preset.COMMENT
LOWcrates/screenpipe-core/src/no_window.rs1// screenpipe — AI that knows everything you've seen, said, or heardCOMMENT
LOWcrates/screenpipe-core/src/no_window.rs21/// `CREATE_NO_WINDOW` — do not allocate a console for the child process.COMMENT
LOWcrates/screenpipe-core/src/permissions.rs1// screenpipe — AI that knows everything you've seen, said, or heardCOMMENT
LOWcrates/screenpipe-core/src/permissions.rs121 ))COMMENT
LOWcrates/screenpipe-core/src/permissions.rs161 image_option: u32,COMMENT
LOWcrates/screenpipe-core/src/permissions.rs341}COMMENT
LOWcrates/screenpipe-core/src/window_pattern.rs1// screenpipe — AI that knows everything you've seen, said, or heardCOMMENT
LOWcrates/screenpipe-core/src/window_pattern.rs21//! ```COMMENT
LOWcrates/screenpipe-core/src/window_pattern.rs101COMMENT
LOWcrates/screenpipe-core/src/display_topology.rs1// screenpipe — AI that knows everything you've seen, said, or heardCOMMENT
LOWcrates/screenpipe-core/src/display_topology.rs21//! - [`capture_ready_display_ids`] — "could screen capture actually produce aCOMMENT
LOWcrates/screenpipe-core/src/display_topology.rs141/// NOT infer "all displays gone / stream dead" from it (a CG error must not readCOMMENT
LOWcrates/screenpipe-core/src/thread_priority.rs1// screenpipe — AI that knows everything you've seen, said, or heardCOMMENT
LOWcrates/screenpipe-core/src/thread_priority.rs21//! - Never wrap sections that hold locks other Normal-priority threads blockCOMMENT
LOWcrates/screenpipe-core/src/agents/pi.rs101pub const TINFOIL_SDK_VERSION: &str = "1.2.1";COMMENT
LOWcrates/screenpipe-core/src/agents/pi.rs361struct RateLimitRetryDecision {COMMENT
LOWcrates/screenpipe-core/src/agents/pi.rs721 /// when the user is an admin with an active license, because exposing theCOMMENT
LOWcrates/screenpipe-core/src/agents/pi.rs761 }COMMENT
LOWcrates/screenpipe-core/src/agents/pi.rs901 Ok(())COMMENT
LOWcrates/screenpipe-core/src/agents/pi.rs921 "screenpipe-chats",COMMENT
LOWcrates/screenpipe-core/src/agents/pi.rs1361COMMENT
LOWcrates/screenpipe-core/src/agents/pi.rs1661 /// allowed model list returned by the gateway (`/v1/models`).COMMENT
LOWcrates/screenpipe-core/src/agents/pi.rs1761 // Confidential selection is a transport promise. An unavailable modelCOMMENT
LOWcrates/screenpipe-core/src/agents/pi.rs1781 // prefer "auto" (gateway chooses), else the first allowed model.COMMENT
LOWcrates/screenpipe-core/src/agents/pi.rs2541 // assistant error, so `output.success` is false with the payloadCOMMENT
LOWcrates/screenpipe-core/src/agents/pi.rs2681 fn screenpipe_api_url(&self) -> &str {COMMENT
LOWcrates/screenpipe-core/src/agents/pi.rs2881COMMENT
LOWcrates/screenpipe-core/src/agents/pi.rs2921///COMMENT
LOWcrates/screenpipe-core/src/agents/pi.rs3021 use std::os::unix::fs::PermissionsExt;COMMENT
LOWcrates/screenpipe-core/src/agents/pi.rs3101/// pi 0.83 rejects any stored credential it cannot tag. `resolveProviderAuth`COMMENT
LOWcrates/screenpipe-core/src/agents/pi.rs3301 );COMMENT
LOWcrates/screenpipe-core/src/agents/pi.rs3761COMMENT
LOWcrates/screenpipe-core/src/agents/pi.rs3901}COMMENT
LOWcrates/screenpipe-core/src/agents/cloud.rs81 #[serde(default, skip_serializing_if = "Option::is_none")]COMMENT
LOWcrates/screenpipe-core/src/agents/bash_env.rs1// screenpipe — AI that knows everything you've seen, said, or heardCOMMENT
LOWcrates/screenpipe-core/src/agents/bash_env.rs21//! model effort, no prompt changes, no new system-prompt lines.COMMENT
LOWcrates/screenpipe-core/src/agents/bash_env.rs41/// substrings in command arguments. If none match, `curl` runs unchanged.COMMENT
LOWcrates/screenpipe-core/src/agents/bash_env.rs121COMMENT
LOWcrates/screenpipe-core/src/agents/bash_env.rs201 #[test]COMMENT
LOWcrates/screenpipe-core/src/agents/cli_runtime.rs1// screenpipe — AI that knows everything you've seen, said, or heardCOMMENT
LOWcrates/screenpipe-core/src/agents/cli_runtime.rs21//!COMMENT
1727 more matches not shown…
Hyper-Verbose Identifiers863 hits · 886 pts
SeverityFileLineSnippetContext
LOWevals/coding-agent/calibrate-certificate-error.test.js27test('raw copy without recovery is rejected',()=>fails(grade('raw',replace(fixed,'export function buildCloudConnectionMeCODE
LOW…coding-agent/graders/chat-overlapping-load.fixture.tsx644async function finishOlderSettingsReadLast() {CODE
LOW…npipe-core/assets/extensions/screenpipe-permissions.ts151function hasContentTypeRestrictions(): boolean {CODE
LOW…s/screenpipe-core/assets/extensions/context-pruning.ts89export function normalizeContextOverflowError(message: any): any | undefined {CODE
LOW…s/screenpipe-core/assets/extensions/context-pruning.ts117export function resolveContextWindowTokens(ctx: any): number {CODE
LOW…/screenpipe-core/assets/extensions/lib/glm-protocol.ts124export function normalizeGlmToolCallStream(stream: ReadableStream, tools: unknown[]): ReadableStream {CODE
LOW…/screenpipe-core/assets/extensions/lib/glm-protocol.ts293function compactGlmToolResultMessage(message: GlmRequest['messages'][number]): GlmRequest['messages'][number] {CODE
LOW⚡scripts/eval-meeting-summary-retrieval.py56 def test_live_only_transcript_is_not_replaced_by_unrelated_search(self):CODE
LOW⚡scripts/eval-meeting-summary-retrieval.py66 def test_empty_transcript_uses_bounded_time_fallback(self):CODE
LOW⚡scripts/eval-meeting-summary-retrieval.py73 def test_silent_meeting_stays_empty(self):CODE
LOW⚡scripts/eval-meeting-summary-retrieval.py79 def test_permanent_failure_stops_and_is_not_called_silence(self):CODE
LOWscripts/test_attribution_carrier.py23 def test_signed_archive_metadata_and_overwrite_boundaries(self):CODE
LOWscripts/test_attribution_carrier.py50 def test_appimage_bytes_unchanged_and_metadata_bounded(self):CODE
LOWscripts/test_attribution_carrier.py75 def test_windows_bytes_metadata_architecture_and_overwrite_boundaries(self):CODE
LOWscripts/test_attribution_carrier.py105 def test_actual_nsis_filename_grant_fixture(self):CODE
LOWscripts/memory-leak/test_leak_hunt.py18 def test_default_search_pressure_never_includes_frames(self) -> None:CODE
LOWscripts/memory-leak/test_leak_hunt.py23 def test_opt_in_frame_pressure_uses_small_limits(self) -> None:CODE
LOWscripts/memory-leak/test_leak_hunt.py49 def test_recursive_descendants_are_included(self) -> None:CODE
LOWscripts/memory-leak/test_leak_hunt.py65 def test_root_selection_uses_whole_tree_memory(self) -> None:CODE
LOWscripts/memory-leak/test_leak_hunt.py81 def test_explicit_pid_selects_requested_tree(self) -> None:CODE
LOW⚡scripts/memory-leak/leak_probe.py422 def phase_search_all_q_no_frames(self, deadline: float) -> tuple[int, int, int]:CODE
LOW⚡scripts/memory-leak/leak_probe.py432 def phase_search_ocr_no_frames(self, deadline: float) -> tuple[int, int, int]:CODE
LOW⚡scripts/memory-leak/leak_probe.py441 def phase_search_audio_no_frames(self, deadline: float) -> tuple[int, int, int]:CODE
LOW⚡scripts/memory-leak/leak_probe.py450 def phase_search_recent_no_frames(self, deadline: float) -> tuple[int, int, int]:CODE
LOWscripts/memory-leak/leak_probe.py499 def phase_timeline_live_today(self, deadline: float) -> tuple[int, int, int]:CODE
LOWscripts/memory-leak/leak_hunt.py613def build_search_fanout_params(include_frame_images: bool) -> dict[str, Any]:CODE
LOWscripts/memory-leak/leak_hunt.py782def scenario_memory_artifact_lists(client: ApiClient, state: SharedState, duration_sec: float, concurrency: int) -> NoneCODE
LOWpackages/screenpipe-mcp/scripts/assert-pack-contents.js145function runtimeDependencyFailures(packageJson) {CODE
LOWpackages/screenpipe-mcp/src/activity-summary-tool.ts23export async function buildActivitySummaryResult(CODE
LOWpackages/screenpipe-mcp/src/qualified-value.ts52export function createMcpQualifiedValueReporter(CODE
LOWpackages/ai-gateway/scripts/required-bindings.ts47export function assertRequiredHostedAiSecretBindings(rawOutput: string): void {CODE
LOW…kages/ai-gateway/scripts/lib/experiential-migration.ts57export async function inspectExperientialAccount(key: string, sourceModels: string[], fetcher: Fetcher = fetch) {CODE
LOW…kages/ai-gateway/scripts/lib/experiential-migration.ts100export async function verifyExperientialCanonicalModel(managementKey: string, model: string, canonicalUuid: string, fetcCODE
LOW…kages/ai-gateway/scripts/lib/experiential-migration.ts110export async function verifyExperientialCustomerKey(key: string, orgId: string, identityId: string, model: string, fetchCODE
LOW…kages/ai-gateway/scripts/lib/experiential-migration.ts122export async function verifyExperientialCustomerPlan(key: string, orgId: string, identityId: string,CODE
LOWpackages/ai-gateway/scripts/lib/experiential-adapter.ts51export async function prepareExperientialProbeConnection(options: ExperientialAdapterOptions) {CODE
LOWpackages/ai-gateway/modal/screenpipe_qwen35.py140def filtered_response_headers(headers):CODE
LOWpackages/ai-gateway/src/index.ts108export function shouldEnableBackgroundFallback(CODE
LOWpackages/ai-gateway/src/index.ts115export function shouldEnableSafetyRefusalFallback(CODE
LOWpackages/ai-gateway/src/index.ts196async function handleMeteredTinfoilRequest(CODE
LOWpackages/ai-gateway/src/index.ts256async function handleMeteredVoiceAiRequest(CODE
LOW…i-gateway/src/test/maas-nameless-toolcall.unit.test.ts16function noNamelessAssistantToolCalls(formatted: any[]) {CODE
LOW…es/ai-gateway/src/test/transcription-cost.unit.test.ts21function estimateTranscriptionCost(contentLength: number): {CODE
LOWpackages/ai-gateway/src/providers/vertex-maas.ts65export async function parseVertexMaasJsonResponse(response: Response, model: string): Promise<any> {CODE
LOWpackages/ai-gateway/src/providers/vertex-maas.ts124export function promoteReasoningToContent(result: any): void {CODE
LOWpackages/ai-gateway/src/providers/anthropic.ts48function anthropicStopReasonToOpenAI(reason: unknown): string {CODE
LOWpackages/ai-gateway/src/providers/openai.ts58function clearPromptCacheBreakpoints(messages: ChatCompletionMessageParam[]): void {CODE
LOWpackages/ai-gateway/src/providers/openai.ts96function stripPromptCacheBreakpoints(message: ChatCompletionMessageParam): ChatCompletionMessageParam {CODE
LOWpackages/ai-gateway/src/utils/model-policy.ts8export function isGooglePolicyBlockedModel(model: string | null | undefined): boolean {CODE
LOWpackages/ai-gateway/src/utils/auth.ts285function billingPlanMatchesAccessPlan(CODE
LOWpackages/ai-gateway/src/utils/latency.ts29export function applyBackgroundReasoningDefault(CODE
LOW…ages/ai-gateway/src/handlers/realtime-transcription.ts53export async function handleRealtimeTranscriptionUpgrade(CODE
LOW…ages/ai-gateway/src/handlers/realtime-transcription.ts171async function connectDeepgramLiveWithRetry(CODE
LOW…ages/ai-gateway/src/handlers/realtime-transcription.ts208function isRetryableDeepgramLiveUpgradeStatus(status: number): boolean {CODE
LOW…ages/ai-gateway/src/handlers/realtime-transcription.ts263function translateLegacyClientMessage(data: string | ArrayBuffer | Blob): string | ArrayBuffer | null {CODE
LOW…ages/ai-gateway/src/handlers/realtime-transcription.ts285function translateLegacyDeepgramMessage(CODE
LOWpackages/ai-gateway/src/handlers/chat.ts644function streamEventHasAssistantOutput(value: unknown): boolean {CODE
LOWpackages/ai-gateway/src/handlers/chat.ts665function streamEventIsSafetyRefusal(value: unknown): boolean {CODE
LOWpackages/ai-gateway/src/handlers/chat.ts683function inspectSafetyRefusalPayload(payload: string): SafetyRefusalProbeResult | null {CODE
LOWpackages/ai-gateway/src/handlers/chat.ts711async function probeStreamingSafetyRefusal(response: Response): Promise<SafetyRefusalProbeResult> {CODE
803 more matches not shown…
Structural Annotation Overuse71 hits · 134 pts
SeverityFileLineSnippetContext
LOW…screenpipe-core/assets/pipes/ai-prompt-journal/pipe.md28## Step 1: Find AI tool framesCOMMENT
LOW…screenpipe-core/assets/pipes/ai-prompt-journal/pipe.md71## Step 2: Extract conversation textCOMMENT
LOW…screenpipe-core/assets/pipes/ai-prompt-journal/pipe.md112## Step 3: Identify user prompts vs AI responsesCOMMENT
LOW…screenpipe-core/assets/pipes/ai-prompt-journal/pipe.md139## Step 4: Classify each promptCOMMENT
LOW…screenpipe-core/assets/pipes/ai-prompt-journal/pipe.md147## Step 5: Save to journalCOMMENT
LOW…screenpipe-core/assets/pipes/ai-prompt-journal/pipe.md188## Step 6: NotificationCOMMENT
LOWcrates/screenpipe-engine/src/snapshot_compaction.rs735 // Step 2: Create video_chunk and update frame pointers in one transactionCOMMENT
LOWcrates/screenpipe-engine/src/snapshot_compaction.rs755 // Step 3: Delete source JPEGs — only for frames actually encoded intoCOMMENT
LOWcrates/screenpipe-engine/src/archive.rs872 // Step 1: Upload media files (MP4s + snapshots) before metadataCOMMENT
LOWcrates/screenpipe-engine/src/archive.rs902 // Step 2: Upload metadata in chunks: [watermark, cutoff]COMMENT
LOW⚡crates/screenpipe-engine/src/bin/screenpipe-engine.rs1357 // Step 1: prewarm-pending upgrade is universal.COMMENT
LOW⚡crates/screenpipe-engine/src/bin/screenpipe-engine.rs1360 // Step 2: auto-start only for Always mode AND only if theCOMMENT
LOW…screenpipe-engine/src/meeting_watcher/ui_scan/macos.rs634 // Step 1: find running meeting appsCOMMENT
LOW…screenpipe-engine/src/meeting_watcher/ui_scan/macos.rs696 // Step 2: scan for call controlsCOMMENT
LOW…reenpipe-engine/src/meeting_watcher/ui_scan/windows.rs712 // Step 1: find running meeting apps (includes Zoom)COMMENT
LOW…reenpipe-engine/src/meeting_watcher/ui_scan/windows.rs723 // Step 2: scan each found app for call controlsCOMMENT
LOW…reenpipe-engine/src/meeting_watcher/ui_scan/windows.rs742 // Step 3: check specifically for Zoom processesCOMMENT
LOW⚡crates/screenpipe-db/tests/ui_events_batch_test.rs139 // Step 1: row starts with frame_id = NULL.COMMENT
LOW⚡crates/screenpipe-db/tests/ui_events_batch_test.rs148 // Step 2: linker UPDATE populates it.COMMENT
LOWcrates/screenpipe-db/tests/ui_events_batch_test.rs160 // Step 3: a spurious duplicate UPDATE with a DIFFERENT frame_idCOMMENT
LOW⚡crates/screenpipe-audio/tests/onnx_model_test.rs159 // Step 1: Initialize SileroVad (first ONNX model loaded)COMMENT
LOW⚡crates/screenpipe-audio/tests/onnx_model_test.rs165 // Step 2: Download/load embedding modelCOMMENT
LOW⚡crates/screenpipe-audio/tests/onnx_model_test.rs172 // Step 3: Download/load segmentation modelCOMMENT
LOW⚡crates/screenpipe-screen/tests/url_timing_test.rs173 // Step 1: SCK screenshot (instant)COMMENT
LOW⚡crates/screenpipe-screen/tests/url_timing_test.rs176 // Step 2: AppleScript round-trip (simulated ~107ms)COMMENT
LOW⚡docs/EVENT_DRIVEN_CAPTURE_SPEC.md232### Step 1: DB migration + snapshot write pathCOMMENT
LOW⚡docs/EVENT_DRIVEN_CAPTURE_SPEC.md238### Step 2: Paired capture functionCOMMENT
LOW⚡docs/EVENT_DRIVEN_CAPTURE_SPEC.md243### Step 3: Event trigger systemCOMMENT
LOW⚡docs/EVENT_DRIVEN_CAPTURE_SPEC.md249### Step 4: New capture loopCOMMENT
LOW⚡docs/EVENT_DRIVEN_CAPTURE_SPEC.md255### Step 5: Search + timeline integrationCOMMENT
LOW⚡docs/EVENT_DRIVEN_CAPTURE_SPEC.md260### Step 6: CleanupCOMMENT
LOWscripts/update-openapi.sh35# Step 1: Fix oasgen quirk — path params need `required: true` per OpenAPI 3.0COMMENT
LOWscripts/update-openapi.sh52# Step 2: Fix empty title/versionCOMMENT
LOWscripts/update-openapi.sh66# Step 3: Enrich with tags, summaries, descriptions (requires PyYAML)COMMENT
LOWpackages/browser-extension/src/options.ts149 // Step 1: liveness.COMMENT
LOWpackages/browser-extension/src/options.ts162 // Step 2: auth probe.COMMENT
LOW…enpipe-app-tauri/components/settings/usage-section.tsx297 // Step 1: Load cache instantlyCOMMENT
LOW…enpipe-app-tauri/components/settings/usage-section.tsx310 // Step 2: Incremental updateCOMMENT
LOW…creenpipe-app-tauri/components/settings/ai-presets.tsx872 // Step 2: Auth checkCOMMENT
LOW…creenpipe-app-tauri/components/settings/ai-presets.tsx910 // Step 3: Parse API-key or local models.COMMENT
LOW…creenpipe-app-tauri/components/settings/ai-presets.tsx954 // Step 4: Test the actual chat endpoint. BYOK providers share one probe soCOMMENT
LOW…onents/settings/hooks/use-transcription-diagnostics.ts99 // Step 1: Endpoint connectivity — try root URL or /v1/modelsCOMMENT
LOW…onents/settings/hooks/use-transcription-diagnostics.ts179 // Step 4: the exact request "Test and enable" and production recordingCOMMENT
LOW…p-tauri/components/onboarding/first-run-guide.test.tsx61 // Step 0: no tour yet, no prompt card — just the invitation.COMMENT
LOW…/screenpipe-app-tauri/src-tauri/src/enterprise_sync.rs1059 // Step 1: ask /search for the most recent OCR frames. We request aCOMMENT
LOW…/screenpipe-app-tauri/src-tauri/src/enterprise_sync.rs1096 // Step 2: fetch the frame's image bytes. A non-success status isCOMMENT
LOW⚡…/screenpipe-app-tauri/lib/utils/notification-toggle.ts115 // Step 1: Remove the deny rule lineCOMMENT
LOW⚡…/screenpipe-app-tauri/lib/utils/notification-toggle.ts118 // Step 2: Remove empty "deny:" blocksCOMMENT
LOW⚡…/screenpipe-app-tauri/lib/utils/notification-toggle.ts121 // Step 3: Remove empty "permissions:" blocksCOMMENT
LOW⚡…/screenpipe-app-tauri/lib/utils/chat-test-body.test.ts153 // Step 1: send with max_tokensCOMMENT
LOW⚡…/screenpipe-app-tauri/lib/utils/chat-test-body.test.ts157 // Step 2: endpoint rejectsCOMMENT
LOW⚡…/screenpipe-app-tauri/lib/utils/chat-test-body.test.ts161 // Step 3: retry with max_completion_tokensCOMMENT
LOW⚡…pipe-app-tauri/lib/__tests__/team-api-contract.test.ts189 // Step 1: admin creates team and keyCOMMENT
LOW⚡…pipe-app-tauri/lib/__tests__/team-api-contract.test.ts192 // Step 2: admin pushes config (encrypted)COMMENT
LOW⚡…pipe-app-tauri/lib/__tests__/team-api-contract.test.ts200 // Step 3: admin wraps key with passphraseCOMMENT
LOW⚡…pipe-app-tauri/lib/__tests__/team-api-contract.test.ts204 // Step 4: admin uploads wrapped blob to server (POST /api/team/key-claim)COMMENT
LOW⚡…pipe-app-tauri/lib/__tests__/team-api-contract.test.ts208 // Step 5: invite link contains NO key materialCOMMENT
LOW⚡…pipe-app-tauri/lib/__tests__/team-api-contract.test.ts216 // Step 6: member fetches wrapped blob from server (GET /api/team/key-claim/:token)COMMENT
LOW⚡…pipe-app-tauri/lib/__tests__/team-api-contract.test.ts219 // Step 7: member unwraps with passphrase (shared out-of-band)COMMENT
LOW⚡…pipe-app-tauri/lib/__tests__/team-api-contract.test.ts227 // Step 8: member decrypts configsCOMMENT
11 more matches not shown…
Verbosity Indicators59 hits · 112 pts
SeverityFileLineSnippetContext
LOWcrates/screenpipe-engine/src/snapshot_compaction.rs735 // Step 2: Create video_chunk and update frame pointers in one transactionCOMMENT
LOWcrates/screenpipe-engine/src/snapshot_compaction.rs755 // Step 3: Delete source JPEGs — only for frames actually encoded intoCOMMENT
LOWcrates/screenpipe-engine/src/archive.rs872 // Step 1: Upload media files (MP4s + snapshots) before metadataCOMMENT
LOWcrates/screenpipe-engine/src/archive.rs902 // Step 2: Upload metadata in chunks: [watermark, cutoff]COMMENT
LOW⚡crates/screenpipe-engine/src/bin/screenpipe-engine.rs1357 // Step 1: prewarm-pending upgrade is universal.COMMENT
LOW⚡crates/screenpipe-engine/src/bin/screenpipe-engine.rs1360 // Step 2: auto-start only for Always mode AND only if theCOMMENT
LOW…screenpipe-engine/src/meeting_watcher/ui_scan/macos.rs634 // Step 1: find running meeting appsCOMMENT
LOW…screenpipe-engine/src/meeting_watcher/ui_scan/macos.rs696 // Step 2: scan for call controlsCOMMENT
LOW…reenpipe-engine/src/meeting_watcher/ui_scan/windows.rs712 // Step 1: find running meeting apps (includes Zoom)COMMENT
LOW…reenpipe-engine/src/meeting_watcher/ui_scan/windows.rs723 // Step 2: scan each found app for call controlsCOMMENT
LOW…reenpipe-engine/src/meeting_watcher/ui_scan/windows.rs742 // Step 3: check specifically for Zoom processesCOMMENT
LOW⚡crates/screenpipe-db/tests/ui_events_batch_test.rs139 // Step 1: row starts with frame_id = NULL.COMMENT
LOW⚡crates/screenpipe-db/tests/ui_events_batch_test.rs148 // Step 2: linker UPDATE populates it.COMMENT
LOWcrates/screenpipe-db/tests/ui_events_batch_test.rs160 // Step 3: a spurious duplicate UPDATE with a DIFFERENT frame_idCOMMENT
LOW⚡crates/screenpipe-audio/tests/onnx_model_test.rs159 // Step 1: Initialize SileroVad (first ONNX model loaded)COMMENT
LOW⚡crates/screenpipe-audio/tests/onnx_model_test.rs165 // Step 2: Download/load embedding modelCOMMENT
LOW⚡crates/screenpipe-audio/tests/onnx_model_test.rs172 // Step 3: Download/load segmentation modelCOMMENT
LOW⚡crates/screenpipe-screen/tests/url_timing_test.rs173 // Step 1: SCK screenshot (instant)COMMENT
LOW⚡crates/screenpipe-screen/tests/url_timing_test.rs176 // Step 2: AppleScript round-trip (simulated ~107ms)COMMENT
LOWscripts/update-openapi.sh35# Step 1: Fix oasgen quirk — path params need `required: true` per OpenAPI 3.0COMMENT
LOWscripts/update-openapi.sh52# Step 2: Fix empty title/versionCOMMENT
LOWscripts/update-openapi.sh66# Step 3: Enrich with tags, summaries, descriptions (requires PyYAML)COMMENT
LOWpackages/browser-extension/src/options.ts149 // Step 1: liveness.COMMENT
LOWpackages/browser-extension/src/options.ts162 // Step 2: auth probe.COMMENT
LOW…enpipe-app-tauri/components/settings/usage-section.tsx297 // Step 1: Load cache instantlyCOMMENT
LOW…enpipe-app-tauri/components/settings/usage-section.tsx310 // Step 2: Incremental updateCOMMENT
LOW…creenpipe-app-tauri/components/settings/ai-presets.tsx872 // Step 2: Auth checkCOMMENT
LOW…creenpipe-app-tauri/components/settings/ai-presets.tsx910 // Step 3: Parse API-key or local models.COMMENT
LOW…creenpipe-app-tauri/components/settings/ai-presets.tsx954 // Step 4: Test the actual chat endpoint. BYOK providers share one probe soCOMMENT
LOW…onents/settings/hooks/use-transcription-diagnostics.ts99 // Step 1: Endpoint connectivity — try root URL or /v1/modelsCOMMENT
LOW…onents/settings/hooks/use-transcription-diagnostics.ts179 // Step 4: the exact request "Test and enable" and production recordingCOMMENT
LOW…p-tauri/components/onboarding/first-run-guide.test.tsx61 // Step 0: no tour yet, no prompt card — just the invitation.COMMENT
LOW…/screenpipe-app-tauri/src-tauri/src/enterprise_sync.rs1059 // Step 1: ask /search for the most recent OCR frames. We request aCOMMENT
LOW…/screenpipe-app-tauri/src-tauri/src/enterprise_sync.rs1096 // Step 2: fetch the frame's image bytes. A non-success status isCOMMENT
LOW⚡…/screenpipe-app-tauri/lib/utils/notification-toggle.ts115 // Step 1: Remove the deny rule lineCOMMENT
LOW⚡…/screenpipe-app-tauri/lib/utils/notification-toggle.ts118 // Step 2: Remove empty "deny:" blocksCOMMENT
LOW⚡…/screenpipe-app-tauri/lib/utils/notification-toggle.ts121 // Step 3: Remove empty "permissions:" blocksCOMMENT
LOW⚡…/screenpipe-app-tauri/lib/utils/chat-test-body.test.ts153 // Step 1: send with max_tokensCOMMENT
LOW⚡…/screenpipe-app-tauri/lib/utils/chat-test-body.test.ts157 // Step 2: endpoint rejectsCOMMENT
LOW⚡…/screenpipe-app-tauri/lib/utils/chat-test-body.test.ts161 // Step 3: retry with max_completion_tokensCOMMENT
LOW⚡…pipe-app-tauri/lib/__tests__/team-api-contract.test.ts189 // Step 1: admin creates team and keyCOMMENT
LOW⚡…pipe-app-tauri/lib/__tests__/team-api-contract.test.ts192 // Step 2: admin pushes config (encrypted)COMMENT
LOW⚡…pipe-app-tauri/lib/__tests__/team-api-contract.test.ts200 // Step 3: admin wraps key with passphraseCOMMENT
LOW⚡…pipe-app-tauri/lib/__tests__/team-api-contract.test.ts204 // Step 4: admin uploads wrapped blob to server (POST /api/team/key-claim)COMMENT
LOW⚡…pipe-app-tauri/lib/__tests__/team-api-contract.test.ts208 // Step 5: invite link contains NO key materialCOMMENT
LOW⚡…pipe-app-tauri/lib/__tests__/team-api-contract.test.ts216 // Step 6: member fetches wrapped blob from server (GET /api/team/key-claim/:token)COMMENT
LOW⚡…pipe-app-tauri/lib/__tests__/team-api-contract.test.ts219 // Step 7: member unwraps with passphrase (shared out-of-band)COMMENT
LOW⚡…pipe-app-tauri/lib/__tests__/team-api-contract.test.ts227 // Step 8: member decrypts configsCOMMENT
LOW…/screenpipe-app-tauri/lib/hooks/use-frame-text-data.ts156 // Step 1: GET — check if text position data already exists in DBCOMMENT
LOW…/screenpipe-app-tauri/lib/hooks/use-frame-text-data.ts191 // Step 2: No bounding boxes — schedule on-demand OCR after dwell delay.COMMENT
LOW⚡…auri/lib/hooks/__tests__/timeline-reconnection.test.ts330 // Step 1: WebSocket disconnectsCOMMENT
LOW⚡…auri/lib/hooks/__tests__/timeline-reconnection.test.ts335 // Step 2: Reconnection initiated - should reset stateCOMMENT
LOW⚡…auri/lib/hooks/__tests__/timeline-reconnection.test.ts345 // Step 3: WebSocket connectsCOMMENT
LOW⚡…auri/lib/hooks/__tests__/timeline-reconnection.test.ts350 // Step 4: Request sent (should work because sentRequests is empty)COMMENT
LOW…tauri/lib/hooks/__tests__/window-focus-refresh.test.ts168 // Step 1: User opens timeline at 6:30COMMENT
LOW⚡…tauri/lib/hooks/__tests__/window-focus-refresh.test.ts180 // Step 2: User closes timeline (window hidden)COMMENT
LOW⚡…tauri/lib/hooks/__tests__/window-focus-refresh.test.ts183 // Step 3: User reopens at 7:00COMMENT
LOW⚡…tauri/lib/hooks/__tests__/window-focus-refresh.test.ts187 // Step 4: Window focus event fires, triggers onWindowFocusCOMMENT
LOW⚡…tauri/lib/hooks/__tests__/window-focus-refresh.test.ts194 // Step 5: fetchTimeRange is called (from onWindowFocus or useEffect)COMMENT
Fake / Example Data89 hits · 96 pts
SeverityFileLineSnippetContext
LOWcrates/screenpipe-engine/src/auth_key.rs461 && value.starts_with("e2e-fake-token-"))CODE
LOWcrates/screenpipe-engine/src/connections_api.rs5061 creds.insert("email".into(), json!("user@example.com"));CODE
LOWcrates/screenpipe-engine/src/connections_api.rs5065 assert_eq!(user, "user@example.com");CODE
LOWcrates/screenpipe-engine/src/connections_api.rs5178 creds.insert("email".into(), json!("user@example.com"));CODE
LOWcrates/screenpipe-engine/src/cli/team_pipes.rs722 args.member = vec!["admin@example.com".into()];CODE
LOW…ates/screenpipe-engine/src/browser_scripts/snapshot.js119 return el.getAttribute('placeholder') || labelText(el) || el.getAttribute('name') || ty || 'input';CODE
LOW…ates/screenpipe-engine/src/browser_scripts/snapshot.js121 if (formTags.has(tag)) return el.getAttribute('placeholder') || labelText(el) || el.getAttribute('name') || tag;CODE
LOWcrates/screenpipe-engine/src/routes/elements.rs450 return property_value(properties, element.id, "placeholder")CODE
LOWcrates/screenpipe-engine/src/routes/elements.rs460 .or_else(|| property_value(properties, element.id, "placeholder"))CODE
LOWcrates/screenpipe-engine/src/routes/elements.rs1154 r#"{"automation_id":"password","is_password":true,"value":"hunter2","placeholder":"Password"}"#,CODE
LOWcrates/screenpipe-engine/src/routes/frames.rs1489 "placeholder",CODE
LOWcrates/screenpipe-db/benches/new_db_benchmark.rs26 ("Long", "This is a long piece of text that simulates a more realistic OCR result. It contains multiple paragrapCODE
LOWcrates/screenpipe-db/benches/new_db_benchmark.rs26 ("Long", "This is a long piece of text that simulates a more realistic OCR result. It contains multiple paragrapCODE
LOWcrates/screenpipe-db/src/db/frames.rs595 props.insert("placeholder".into(), serde_json::Value::String(v.clone()));CODE
LOWcrates/screenpipe-connect/src/oauth.rs1585 let got = load_oauth_json(Some(&store), id, Some("user@example.com")).await;CODE
LOWcrates/screenpipe-connect/src/connections/imap.rs654 login_session(client, "user@example.com", "secret", "127.0.0.1")CODE
LOWcrates/screenpipe-connect/src/connections/imap.rs672 creds.insert("username".into(), json!("user@example.com"));CODE
LOWcrates/screenpipe-redact/tests/worker_integration.rs1146 let tree = r#"[{"role":"AXTextField","text":"hunter2","value":"hunter2","placeholder":"API key","depth":1,"bounds":{CODE
LOWcrates/screenpipe-redact/src/a11y_context.rs346 "placeholder",CODE
LOWcrates/screenpipe-redact/src/a11y_context.rs505 {"role":"AXTextField","value":"hunter2","placeholder":"API key"},CODE
LOWcrates/screenpipe-redact/src/a11y_context.rs541 "placeholder": "API key"CODE
LOWcrates/screenpipe-redact/src/a11y_context.rs555 Some(r#"[{"role":"AXTextField","value":"hunter2","placeholder":"API key"}]"#),CODE
LOWcrates/screenpipe-redact/src/tree_json.rs71 "placeholder",CODE
LOWcrates/screenpipe-redact/src/tree_json.rs402 "placeholder":"{s}",CODE
LOWcrates/screenpipe-redact/src/image/worker.rs755 let tree = r#"[{"role":"AXTextField","value":"opaque-value","placeholder":"API key","bounds":{"left":0.5,"top":0CODE
LOWcrates/screenpipe-redact/src/adapters/regex.rs2435 &"lorem ipsum dolor sit amet ".repeat(40),CODE
LOWcrates/screenpipe-redact/src/adapters/regex.rs2435 &"lorem ipsum dolor sit amet ".repeat(40),CODE
LOWcrates/screenpipe-redact/src/worker/columns.rs237 "placeholder",CODE
LOW…tes/screenpipe-a11y/examples/semantic_capture_probe.rs157 "placeholder",CODE
LOWcrates/screenpipe-a11y/src/tree/linux.rs762 &["placeholder-text", "placeholder", "html-placeholder"],CODE
LOWcrates/screenpipe-capture/src/paired_capture.rs1507 let json = r#"[{"text":"user@example.com","x":"0","y":"0"},{"text":"safe text","x":"1","y":"1"},{"text":"key: skCODE
LOWcrates/screenpipe-capture/src/paired_capture.rs1510 !result.contains("user@example.com"),CODE
LOW…es/screenpipe-semantic/tests/committed_data_privacy.rs74 || email.ends_with("@example.org")CODE
LOWcrates/screenpipe-semantic/src/messaging.rs805 "placeholder",CODE
LOWcrates/screenpipe-semantic/src/messaging.rs846 "placeholder",CODE
LOWpackages/ai-gateway/src/test/openai-models.unit.test.ts77 const ids = await listedModelIds({ OPENAI_API_KEY: 'placeholder' });CODE
LOWpackages/ai-gateway/src/test/openai-models.unit.test.ts481 createProvider('gpt-5.5', env({ OPENAI_API_KEY: 'placeholder' }));CODE
LOWpackages/ai-gateway/src/test/gemini-argon.unit.test.ts33 expect(argonVertexConfig({ ...env, WIF_SIGNING_KEY: 'placeholder' })).toBeUndefined();CODE
LOW⚡packages/ai-gateway/src/test/flex-tier.unit.test.ts87 provider.vertexProvider.getAccessToken = async () => 'fake-token';CODE
LOW⚡packages/ai-gateway/src/test/flex-tier.unit.test.ts91 expect(headers['Authorization']).toBe('Bearer fake-token');CODE
LOW⚡packages/ai-gateway/src/test/flex-tier.unit.test.ts96 provider.vertexProvider.getAccessToken = async () => 'fake-token';CODE
LOWpackages/ai-gateway/src/providers/gemini-argon.ts13 !['placeholder', 'changeme', 'change-me', 'todo', 'none', 'null', 'undefined'].includes(value.trim().toLowerCase());CODE
LOWpackages/ai-gateway/src/providers/index.ts135 return !['placeholder', 'changeme', 'change-me', 'todo', 'none', 'null', 'undefined'].includes(lower);CODE
LOWpackages/ai-gateway/src/utils/auth.test.ts805 email: 'test@test.com',CODE
LOWpackages/ai-gateway/src/utils/auth.test.ts817 email: 'test@test.com',CODE
LOWpackages/ai-gateway/src/utils/auth.test.ts828 email: 'test@test.com',CODE
LOWpackages/ai-gateway/src/handlers/models.ts63 return !['placeholder', 'changeme', 'change-me', 'todo', 'none', 'null', 'undefined'].includes(lower);CODE
LOW⚡…s/ai-gateway/src/services/background-limit-fallback.ts41 return normalized.length > 0 && !['placeholder', 'changeme', 'change-me', 'none', 'null', 'undefined'].includes(normaliCODE
LOWpackages/ai-gateway/src/services/usage-tracker.test.ts575 email: 'test@test.com',CODE
LOWpackages/sdk/examples/electron-app/renderer.js16const placeholder = $('placeholder');CODE
LOWpackages/sdk/examples/electron-app/index.html124 <span class="placeholder" id="placeholder">preview appears here</span>CODE
LOW…omponents/meeting-notes/meeting-chat-citations.test.ts204 const long = "lorem ipsum 3:34 ".repeat(4000);CODE
LOW⚡…i/components/meeting-notes/meeting-chat-panel.test.tsx278 "placeholder",CODE
LOW⚡…i/components/meeting-notes/meeting-chat-panel.test.tsx285 "placeholder",CODE
LOW⚡…i/components/meeting-notes/meeting-chat-panel.test.tsx295 "placeholder",CODE
LOW…i/components/meeting-notes/meeting-chat-panel.test.tsx318 expect(input).toHaveAttribute("placeholder", "Refreshing…");CODE
LOWapps/screenpipe-app-tauri/src-tauri/src/startup_auth.rs128 if token.starts_with("e2e-fake-token-")CODE
LOW…/screenpipe-app-tauri/src-tauri/src/feedback_redact.rs673 &["Zoë Martin", "zoe@example.org"],CODE
LOWapps/screenpipe-app-tauri/src-tauri/src/auth_token.rs290 looks_like_jwt(value) || (crate::config::is_e2e_mode() && value.starts_with("e2e-fake-token-"))CODE
LOWapps/screenpipe-app-tauri/src-tauri/src/e2e/seeds.rs55 let token = "e2e-fake-token-onboarding-background-ai-tools".to_string();CODE
29 more matches not shown…
AI Slop Vocabulary20 hits · 57 pts
SeverityFileLineSnippetContext
MEDIUMcrates/screenpipe-gateway/e2e/docker-compose.auth.yml5# AUTHENTICATED overlay for the compose harness (SCR-288 item 6).COMMENT
MEDIUMcrates/screenpipe-gateway/e2e/docker-compose.yml5# Compose harness for the M1 demo (SCR-287): MinIO plays the customer'sCOMMENT
MEDIUMcrates/screenpipe-engine/src/resource_monitor.rs93 /// Growth the *fit* predicts over the window — robust to endpoint noise,COMMENT
MEDIUMcrates/screenpipe-engine/src/focus_tracker/darwin.rs19//! is robust, permission-free, and correct in the common case — users glanceCOMMENT
MEDIUM…eenpipe-engine/src/meeting_watcher/ui_scan/pipeline.rs100 // (30s) provides enough buffer. A more robust approach would be to store the PIDCOMMENT
MEDIUM…eenpipe-engine/src/meeting_watcher/ui_scan/pipeline.rs103 // TODO: Store PID in MeetingState for robust browser tab-switch handling.COMMENT
MEDIUM…ates/screenpipe-db/tests/output_audio_liveness_test.rs200 // the test robust against sub-second skew between Rust's Utc::now() atCOMMENT
MEDIUMcrates/screenpipe-screen/src/frame_comparison.rs64 /// Histogram is faster and robust for detecting significant changes.COMMENT
MEDIUMcrates/screenpipe-redact/src/image/frame_redactor.rs9//! for an OCR-robust outcome — re-running OCR on the redacted outputCOMMENT
MEDIUM…s/screenpipe-semantic/evals/pipes/installed_cases.json20 "## Highest-leverage workflows",CODE
MEDIUM…s/screenpipe-semantic/evals/pipes/installed_cases.json56 "## Highest-leverage workflows",CODE
MEDIUM…s/screenpipe-semantic/evals/pipes/installed_cases.json90 "## Highest-leverage workflows",CODE
MEDIUMscripts/capture-wedge-repro.sh10# every counter freezes together by the time it fires. This harness samplesCOMMENT
MEDIUMscripts/build-gateway-container.sh33# signing seed), so it is for the compose harness and nothing else.COMMENT
MEDIUMpackages/ai-gateway/src/providers/openai.ts316 // blowing up — much more robust than chasing the prefix allowlist asCOMMENT
MEDIUM.github/dependabot.yml16 # manifest is a workspace member; livetext-stress is an unshipped harness.COMMENT
MEDIUM.github/workflows/ci.yml251 # harness starts. Stage both runtimes once for all release-dev tests.COMMENT
MEDIUMapps/screenpipe-app-tauri/src-tauri/Cargo.toml400# Maximum-speed local builds for updater e2e harness — no optimization, fastest compile.COMMENT
MEDIUM…ps/screenpipe-app-tauri/src-tauri/src/owned_browser.rs820 // into the panel — a seamless handoff.COMMENT
MEDIUM…ps/screenpipe-app-tauri/lib/owned-browser-ownership.ts100 // (robust to a lagging `conversationId` state or a non-matching spawn id).COMMENT
Empty Error Handlers11 hits · 55 pts
SeverityFileLineSnippetContext
HIGHscripts/memory-leak/leak_probe.py118except ValueError:CODE
HIGHscripts/memory-leak/leak_hunt.py259except Exception:CODE
HIGHscripts/memory-leak/leak_hunt.py1082except FileNotFoundError:CODE
HIGHscripts/memory-leak/leak_hunt.py875except Exception:CODE
HIGHscripts/memory-leak/leak_hunt.py1010except Exception:CODE
HIGHscripts/memory-leak/leak_hunt.py867except socket.timeout:CODE
HIGHscripts/memory-leak/leak_hunt.py694except Exception:CODE
HIGHscripts/memory-leak/leak_hunt.py753except Exception:CODE
HIGHpackages/ai-gateway/scripts/probe-studio-voice.py22except Exception: passCODE
HIGHpackages/ai-gateway/scripts/probe-studio-voice.py45except Exception: passCODE
HIGH.github/scripts/check-macos-builder-load.py58except ProcessLookupError:CODE
Synthetic Comment Markers5 hits · 38 pts
SeverityFileLineSnippetContext
HIGHcrates/screenpipe-engine/src/routes/artifacts.rs872/// GET /artifacts — unified listing of AI-generated artifacts.COMMENT
HIGHapps/screenpipe-app-tauri/src-tauri/src/suggestions.rs1670/// Store AI-generated tags on recent frames using the existing tags + vision_tags tables.COMMENT
HIGHapps/screenpipe-app-tauri/lib/chat-storage.ts560// timestamp. One copy usually wins the AI-generated title; the other is leftCOMMENT
HIGH…app-tauri/lib/__tests__/markdown-remote-images.test.ts8// Markdown, diagrams and notes in this app are often written by an AI or aCOMMENT
HIGH…tauri/lib/hooks/__tests__/timeline-store-logic.test.ts291 // Mark as requestedCOMMENT
Modern AI Meta-Vocabulary9 hits · 26 pts
SeverityFileLineSnippetContext
MEDIUM.claude/skills/screenpipe-api/SKILL.md488# Mark speaker as hallucination (false detection)COMMENT
MEDIUMdocs/VISION_PIPELINE_SPEC.md95### 3.2 Target Pipeline (decoupled, event-driven)COMMENT
MEDIUMpackages/sdk/Cargo.toml39# All orchestration lives here. The Tauri pluginCOMMENT
MEDIUMpackages/sdk/tauri/rust/Cargo.toml18# The pure-Rust recorder orchestration. Calling it in-process is whatCOMMENT
MEDIUM…ps/screenpipe-app-tauri/components/standalone-chat.tsx1940 // chat with an agentic loop (≥2 assistant messages with citations betweenCOMMENT
MEDIUM…ents/chat/standalone/hooks/use-pi-foreground-events.ts1400 // tiers at a few dozen requests/minute; a single agentic run can tripCOMMENT
MEDIUMapps/screenpipe-app-tauri/lib/source-citations.ts58// pipe-run chats where the whole transcript is one agentic loop and showingCOMMENT
MEDIUMapps/screenpipe-app-tauri/lib/source-citations.ts96// assistant of that turn — that's the agentic-loop pattern (Pi loopingCOMMENT
MEDIUM…npipe-app-tauri/lib/__tests__/source-citations.test.ts593 readState, // repeated step in the agentic loopCODE
Excessive Try-Catch Wrapping27 hits · 26 pts
SeverityFileLineSnippetContext
LOWcrates/screenpipe-screen/tests/custom_ocr_test.rs50 except Exception as e:CODE
LOWscripts/memory-leak/leak_probe.py335 except Exception:CODE
LOWscripts/memory-leak/leak_probe.py365 except Exception:CODE
LOWscripts/memory-leak/leak_probe.py382 except Exception:CODE
LOWscripts/memory-leak/leak_hunt.py104 except Exception:CODE
LOWscripts/memory-leak/leak_hunt.py150 except Exception:CODE
LOWscripts/memory-leak/leak_hunt.py159 except Exception:CODE
LOWscripts/memory-leak/leak_hunt.py259 except Exception:CODE
LOWscripts/memory-leak/leak_hunt.py269 except Exception:CODE
LOWscripts/memory-leak/leak_hunt.py285 except Exception as exc:CODE
LOWscripts/memory-leak/leak_hunt.py542 except Exception:CODE
LOWscripts/memory-leak/leak_hunt.py545 except Exception:CODE
LOWscripts/memory-leak/leak_hunt.py556 except Exception:CODE
LOWscripts/memory-leak/leak_hunt.py578 except Exception:CODE
LOWscripts/memory-leak/leak_hunt.py694 except Exception:CODE
LOWscripts/memory-leak/leak_hunt.py753 except Exception:CODE
LOWscripts/memory-leak/leak_hunt.py870 except Exception:CODE
LOWscripts/memory-leak/leak_hunt.py875 except Exception:CODE
LOWscripts/memory-leak/leak_hunt.py1010 except Exception:CODE
LOWscripts/memory-leak/leak_hunt.py1105 except Exception:CODE
LOWpackages/ai-gateway/scripts/probe-studio-voice.py22 except Exception: passCODE
LOWpackages/ai-gateway/scripts/probe-studio-voice.py45 except Exception: passCODE
LOWpackages/ai-gateway/scripts/probe-studio-voice.py70 except Exception:CODE
MEDIUMpackages/ai-gateway/scripts/probe-studio-voice.py40def message(data):CODE
LOWpackages/ai-gateway/scripts/inspect-studio-voice.py14 except Exception: payload = {}CODE
LOWpackages/ai-gateway/modal/screenpipe_qwen35.py79 except Exception:CODE
LOW.github/scripts/check-macos-builder-load.py91 except Exception as error:CODE
Self-Referential Comments5 hits · 15 pts
SeverityFileLineSnippetContext
MEDIUMcrates/screenpipe-screen/tests/custom_ocr_test.rs11# Create a simple FastAPI server (app.py) that uses EasyOCR to process images:COMMENT
MEDIUM.devcontainer/scripts/postCreateCommand.sh3# Define the aliasCOMMENT
MEDIUM.github/workflows/release-cli.yml829 # Create a symlink so the linker can find it.COMMENT
MEDIUM.github/workflows/release-app.yml597 # Create a symlink so the linker finds it, and set OPENBLAS_PATH with lib/ subdir.COMMENT
MEDIUM.github/scripts/install_dependencies.sh17# Create a symlink so the linker finds it, and set OPENBLAS_PATH with lib/ subdir.COMMENT
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippetContext
CRITICAL…-agent/graders/enterprise-policy-waits.fixture.tsx.txt175 expect(mocks.commands.setEnterpriseRecordingAuthorized.mock.calls.some(args => args[0] === true)).toBe(false);CODE
Magic Placeholder Names2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHcrates/screenpipe-engine/src/server.rs1700 r#"{"error":"unauthorized: API access requires authentication. Pass `AuthorizatiCODE
HIGH…pe-app-tauri/components/rewind/ai-presets-selector.tsx877 placeholder={ui("your-api-key")}CODE
Deep Nesting13 hits · 10 pts
SeverityFileLineSnippetContext
LOWscripts/package-attribution-carrier.py22CODE
LOWscripts/enrich-openapi.py469CODE
LOWscripts/test_attribution_carrier.py75CODE
LOWscripts/memory-leak/leak_probe.py147CODE
LOWscripts/memory-leak/leak_probe.py370CODE
LOWscripts/memory-leak/leak_hunt.py371CODE
LOWscripts/memory-leak/leak_hunt.py564CODE
LOWscripts/memory-leak/leak_hunt.py686CODE
LOWscripts/memory-leak/leak_hunt.py745CODE
LOWscripts/memory-leak/leak_hunt.py825CODE
LOWscripts/memory-leak/leak_hunt.py1088CODE
LOW…ipts/native-test-fixtures/macos/recorder-acceptance.py21CODE
LOWpackages/ai-gateway/scripts/probe-studio-voice.py8CODE
Cross-Language Confusion (JS/TS)2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHapps/screenpipe-app-tauri/e2e/helpers/spotlight.ts26 print(path)CODE
HIGHapps/screenpipe-app-tauri/e2e/helpers/spotlight.ts43 print("_MDSetExclusion removal failed with status \\(status)")CODE
Unused Imports8 hits · 7 pts
SeverityFileLineSnippetContext
LOWscripts/memory-leak/leak_probe.py16CODE
LOWscripts/memory-leak/leak_probe.py30CODE
LOWscripts/memory-leak/leak_hunt.py13CODE
LOWscripts/memory-leak/leak_hunt.py20CODE
LOWpackages/ai-gateway/scripts/probe-studio-voice.py4CODE
LOWpackages/ai-gateway/scripts/probe-studio-voice.py4CODE
LOWpackages/ai-gateway/scripts/probe-studio-voice.py4CODE
LOWpackages/ai-gateway/modal/screenpipe_qwen35.py7CODE
Example Usage Blocks4 hits · 6 pts
SeverityFileLineSnippetContext
LOWscripts/capture-wedge-repro.sh22# Usage:COMMENT
LOWscripts/regenerate-locks.sh15# Usage:COMMENT
LOWpackages/ai-gateway/test-vertex-local.sh4# Usage:COMMENT
LOWpackages/ai-gateway/scripts/deploy.sh16# Usage:COMMENT
Redundant / Tautological Comments4 hits · 6 pts
SeverityFileLineSnippetContext
LOW.github/workflows/release-app.yml1448 # Check if it's a transient signing/bundling failure (worth retrying)COMMENT
LOW.github/scripts/purge_crabnebula.sh8# Check if the CN_API_KEY is set or throw an errorCOMMENT
LOW.github/scripts/purge_crabnebula.sh23# Check if current_version is emptyCOMMENT
LOW.github/scripts/purge_crabnebula.sh34# Check if we got valid numbersCOMMENT
Slop Phrases4 hits · 5 pts
SeverityFileLineSnippetContext
LOWcrates/screenpipe-audio/tests/accuracy_test.rs39 r#"bro - got some good stuff from screenpipe here's the lowdown on your day, you productivity ninja: absolutCODE
LOWcrates/screenpipe-audio/examples/bench_quality2.rs439 reference: r#"bro - got some good stuff from screenpipe here's the lowdown on your day, you productivity ninCODE
LOWcrates/screenpipe-audio/examples/bench_quality.rs255 reference: r#"bro - got some good stuff from screenpipe here's the lowdown on your day, you productivity ninCODE
MEDIUM…ipe-app-tauri/src-tauri/gen/schemas/acl-manifests.json1{"autostart":{"default_permission":{"identifier":"default","description":"This permission set configures if your\napplicCODE
TODO Padding2 hits · 3 pts
SeverityFileLineSnippetContext
LOWpackages/ai-gateway/src/handlers/voice-ws.ts1// TODO: implementCOMMENT
LOWapps/screenpipe-app-tauri/src-tauri/src/tray.rs1454 // TODO: implement safely once we can reliably identify our NSStatusItem.COMMENT
Overly Generic Function Names2 hits · 2 pts
SeverityFileLineSnippetContext
LOWinfra/release-artifact-uploader/src/index.js112export async function handleRequest(request, env) {CODE
LOWpackages/ai-gateway/src/index.ts317export async function handleRequest(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {CODE
Modern Structural Boilerplate1 hit · 1 pts
SeverityFileLineSnippetContext
LOWscripts/memory-leak/leak_hunt.py51 def set_scenario(self, name: str) -> None:CODE