Repository Analysis

rmyndharis/OpenWA

Free, Open Source, Self-Hosted WhatsApp API Gateway

4.2 Likely human-written View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of rmyndharis/OpenWA, a TypeScript project with 13,288 GitHub stars. SynthScan v2.0 examined 309,780 lines of code across 1467 source files, recording 717 pattern matches distributed across 14 syntactic categories. The overall adjusted score of 4.2 places this repository in the Likely human-written band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

4.2
Adjusted Score
4.2
Raw Score
100%
Time Factor
2026-08-24
Last Push
13.3K
Stars
TypeScript
Language
309.8K
Lines of Code
1.5K
Files
717
Pattern Hits
2026-08-29
Scan Date
0.01
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 14MEDIUM 233LOW 470

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 717 distinct pattern matches across 14 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Decorative Section Separators229 hits · 681 pts
SeverityFileLineSnippetContext
MEDIUMtest/webhooks.e2e-spec.ts131 // ── CRUD over the REST surface ────────────────────────────────────COMMENT
MEDIUMtest/webhooks.e2e-spec.ts232 // ── auth boundaries ───────────────────────────────────────────────COMMENT
MEDIUMtest/webhooks.e2e-spec.ts250 // ── registration validation ───────────────────────────────────────COMMENT
MEDIUMtest/webhooks.e2e-spec.ts286 // ── dispatch over real HTTP ───────────────────────────────────────COMMENT
MEDIUMtest/webhooks.e2e-spec.ts404 // ── payload bounds (per-session cap + inline-media shedding) ──────COMMENT
MEDIUMtest/webhooks.e2e-spec.ts466 // ── the test endpoint ─────────────────────────────────────────────COMMENT
MEDIUMdocs/10-devops-infrastructure.md392# ===========================================COMMENT
MEDIUMdocs/10-devops-infrastructure.md394# ===========================================COMMENT
MEDIUMdocs/10-devops-infrastructure.md401# ===========================================COMMENT
MEDIUMdocs/10-devops-infrastructure.md403# ===========================================COMMENT
MEDIUMdocs/10-devops-infrastructure.md419# ===========================================COMMENT
MEDIUMdocs/10-devops-infrastructure.md421# ===========================================COMMENT
MEDIUMdocs/10-devops-infrastructure.md443# ===========================================COMMENT
MEDIUMdocs/10-devops-infrastructure.md445# ===========================================COMMENT
MEDIUMdocs/10-devops-infrastructure.md457# ===========================================COMMENT
MEDIUMdocs/10-devops-infrastructure.md459# ===========================================COMMENT
MEDIUMdocs/10-devops-infrastructure.md470# ===========================================COMMENT
MEDIUMdocs/10-devops-infrastructure.md472# ===========================================COMMENT
MEDIUMdocs/10-devops-infrastructure.md478# ===========================================COMMENT
MEDIUMdocs/10-devops-infrastructure.md480# ===========================================COMMENT
MEDIUMdocs/10-devops-infrastructure.md487# ===========================================COMMENT
MEDIUMdocs/10-devops-infrastructure.md489# ===========================================COMMENT
MEDIUMdashboard/src/utils/authLifecycle.test.ts63// ── App-level auth flow: exactly one /auth/validate per sign-in ──────────────COMMENT
MEDIUMdashboard/src/utils/sessionActions.test.ts99// ── replaceSession ────────────────────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/utils/sessionActions.test.ts156// ── classifyUnlinkError ───────────────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/hooks/queries.ts20// ── Query Keys ────────────────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/hooks/queries.ts40// ── Session Queries ───────────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/hooks/queries.ts86// ── Webhook Queries ───────────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/hooks/queries.ts132// ── Template Queries ─────────────────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/hooks/queries.ts175// ── API Key Queries ───────────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/hooks/queries.ts221// ── Logs Queries ──────────────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/hooks/queries.ts236// ── Infrastructure Queries ────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/hooks/queries.ts254// ── Plugin Queries ────────────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/hooks/queries.ts330// ── Stats Queries ─────────────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/pages/Infrastructure.test.ts18// ── Fixtures + fetch stub ────────────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/pages/Infrastructure.test.ts175// ── DOM helpers ──────────────────────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/pages/Infrastructure.test.ts196// ── Harness bootstrap ────────────────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/pages/Infrastructure.test.ts242// ── Smoke tests ──────────────────────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/pages/Infrastructure.test.ts351// ── The engine radio's seed source (#1082) ───────────────────────────────────COMMENT
MEDIUMdashboard/src/pages/Infrastructure.test.ts351// ── The engine radio's seed source (#1082) ───────────────────────────────────COMMENT
MEDIUMdashboard/src/pages/Infrastructure.test.ts513// ── Restart-flow timer cleanup on unmount ────────────────────────────────────COMMENT
MEDIUMdashboard/src/pages/Plugins.tsx386 // ── Activation ────────────────────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/pages/Plugins.tsx404 // ── Per-session config override ───────────────────────────────────────────COMMENT
MEDIUMdashboard/src/pages/Sessions.test.ts22// ── Fixtures + fetch stub ────────────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/pages/Sessions.test.ts172// ── Harness bootstrap ────────────────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/pages/Sessions.test.ts223// ── Smoke tests ──────────────────────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/pages/Sessions.test.ts354// ── Auto-reject toggle ───────────────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/pages/Chats.test.ts21// ── Fixtures + fetch stub ────────────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/pages/Chats.test.ts218// ── Harness bootstrap ────────────────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/pages/Chats.test.ts272// ── Smoke tests ──────────────────────────────────────────────────────────────COMMENT
MEDIUMsdk/go/types_misc.go3// ── Health ──────────────────────────────────────────────COMMENT
MEDIUMsdk/go/types_misc.go25// ── Auth ─────────────────────────────────────────────────COMMENT
MEDIUMsdk/go/types_misc.go33// ── Template ───────────────────────────────────────────COMMENT
MEDIUMsdk/go/types_misc.go67// ── Label (WhatsApp Business) ────────────────────────────────COMMENT
MEDIUMsdk/python/tests/test_sdk.py16# ── Client core ────────────────────────────────────────────────────COMMENT
MEDIUMsdk/python/tests/test_sdk.py147# ── Messages (the critical send-text fix) ──────────────────────────COMMENT
MEDIUMsdk/python/tests/test_sdk.py849# ── Search ─────────────────────────────────────────────────────────COMMENT
MEDIUMsdk/python/tests/test_sdk.py311# ── Sessions ───────────────────────────────────────────────────────COMMENT
MEDIUMsdk/python/tests/test_sdk.py366# ── Groups, Contacts, Webhooks, Chats, Health ──────────────────────COMMENT
MEDIUMsdk/python/openwa/client.py101 # ── Resources ────────────────────────────────────────────────────COMMENT
169 more matches not shown…
Hyper-Verbose Identifiers171 hits · 172 pts
SeverityFileLineSnippetContext
LOWdashboard/src/utils/importRefusal.ts24export function shouldOfferStopOrphansRetry(CODE
LOWdashboard/src/hooks/queries.ts143export function useCreateTemplateMutation() {CODE
LOWdashboard/src/hooks/queries.ts154export function useUpdateTemplateMutation() {CODE
LOWdashboard/src/hooks/queries.ts165export function useDeleteTemplateMutation() {CODE
LOWdashboard/src/hooks/queries.ts273export function useCreateInstanceMutation(pluginId: string) {CODE
LOWdashboard/src/hooks/queries.ts283export function useRegenerateInstanceSecretMutation(pluginId: string) {CODE
LOWdashboard/src/hooks/queries.ts293export function useUpdateInstanceMutation(pluginId: string) {CODE
LOWdashboard/src/hooks/queries.ts304export function useDeleteInstanceMutation(pluginId: string) {CODE
LOWsdk/python/tests/test_sdk.py20 def test_requires_base_url_and_api_key(self):CODE
LOWsdk/python/tests/test_sdk.py26 def test_sends_api_key_header(self):CODE
LOWsdk/python/tests/test_sdk.py33 def test_default_headers_cannot_override_api_key(self):CODE
LOWsdk/python/tests/test_sdk.py57 def test_path_segments_are_encoded(self):CODE
LOWsdk/python/tests/test_sdk.py65 def test_raw_request_escape_hatch(self):CODE
LOWsdk/python/tests/test_sdk.py71 def test_treats_unfollowed_redirect_as_error(self):CODE
LOWsdk/python/tests/test_sdk.py91 def test_strips_trailing_slash(self):CODE
LOWsdk/python/tests/test_sdk.py97 def test_query_params_skip_none(self):CODE
LOWsdk/python/tests/test_sdk.py104 def test_build_url_omits_none_valued_params(self):CODE
LOWsdk/python/tests/test_sdk.py141 def test_exposes_all_resources(self):CODE
LOWsdk/python/tests/test_sdk.py151 def test_send_text_uses_send_text_path(self):CODE
LOWsdk/python/tests/test_sdk.py157 def test_send_text_forwards_mentions_verbatim(self):CODE
LOWsdk/python/tests/test_sdk.py162 def test_send_poll_uses_send_poll_path(self):CODE
LOWsdk/python/tests/test_sdk.py201 def test_send_template_accepts_template_name(self):CODE
LOWsdk/python/tests/test_sdk.py206 def test_list_returns_messages_total_wrapper(self):CODE
LOWsdk/python/tests/test_sdk.py212 def test_quoted_message_id_reaches_the_body_on_every_send(self):CODE
LOWsdk/python/tests/test_sdk.py624 def test_vote_poll_posts_option_texts(self):CODE
LOWsdk/python/tests/test_sdk.py630 def test_star_posts_the_boolean_through(self):CODE
LOWsdk/python/tests/test_sdk.py636 def test_pin_and_unpin_post_to_their_routes(self):CODE
LOWsdk/python/tests/test_sdk.py646 def test_message_media_fetches_archived_bytes(self):CODE
LOWsdk/python/tests/test_sdk.py654 def test_media_fetches_stored_status_bytes(self):CODE
LOWsdk/python/tests/test_sdk.py728 def test_chats_pin_reports_refusal(self):CODE
LOWsdk/python/tests/test_sdk.py732 def test_chats_mute_sends_epoch_milliseconds_unchanged(self):CODE
LOWsdk/python/tests/test_sdk.py740 def test_chats_mute_sends_explicit_null_to_unmute(self):CODE
LOWsdk/python/tests/test_sdk.py843 def test_client_exposes_all_resources(self):CODE
LOWsdk/python/tests/test_sdk.py853 def test_search_minimal_required_q(self):CODE
LOWsdk/python/tests/test_sdk.py862 def test_search_forwards_all_optional_filters(self):CODE
LOWsdk/python/tests/test_sdk.py186 def test_send_location_contact_template(self):CODE
LOWsdk/python/tests/test_sdk.py235 def test_ordinary_send_carries_no_quote_key(self):CODE
LOWsdk/python/tests/test_sdk.py265 def test_history_and_reactions_path(self):CODE
LOWsdk/python/tests/test_sdk.py276 def test_history_boolean_query_serializes_lowercase(self):CODE
LOWsdk/python/tests/test_sdk.py284 def test_bulk_and_batch_status(self):CODE
LOWsdk/python/tests/test_sdk.py399 def test_subject_description_invite(self):CODE
LOWsdk/python/tests/test_sdk.py425 def test_group_settings_get_and_update(self):CODE
LOWsdk/python/tests/test_sdk.py442 def test_set_profile_name_and_status(self):CODE
LOWsdk/python/tests/test_sdk.py466 def test_delete_profile_picture(self):CODE
LOWsdk/python/tests/test_sdk.py493 def test_convert_video_with_url(self):CODE
LOWsdk/python/tests/test_sdk.py546 def test_list_blocked_gets_session_wide_route(self):CODE
LOWsdk/python/tests/test_sdk.py557 def test_profile_pictures_batch_resolves_ids_query(self):CODE
LOWsdk/python/tests/test_sdk.py589 def test_create_forwards_polymorphic_filter_values_verbatim(self):CODE
LOWsdk/python/tests/test_sdk.py606 def test_send_image_video_forward_nested_media_body(self):CODE
LOWsdk/python/tests/test_sdk.py688 def test_chats_clear_messages(self):CODE
LOWsdk/python/tests/test_sdk.py706 def test_contacts_addressbook(self):CODE
LOWsdk/python/tests/test_sdk.py891 def test_search_returns_hits_shape(self):CODE
LOWsdk/python/tests/test_sdk.py909 def test_search_none_values_skipped_in_query(self):CODE
LOWsdk/python/openwa/resources/groups.py160 def approve_membership_requests(CODE
LOWsdk/python/openwa/resources/groups.py176 def reject_membership_requests(CODE
LOWsdk/php/tests/MessagesTest.php12 public function testSendTextUsesSendTextPath(): voidCODE
LOWsdk/php/tests/MessagesTest.php24 public function testSendTextForwardsMentionsVerbatim(): voidCODE
LOWsdk/php/tests/MessagesTest.php35 public function testSendPollUsesSendPollPath(): voidCODE
LOWsdk/php/tests/MessagesTest.php54 public function testListReturnsMessagesPageEnvelope(): voidCODE
LOWsdk/php/tests/MessagesTest.php86 public function testMediaSegmentsUseCorrectPaths(string $method, string $segment): voidCODE
111 more matches not shown…
Over-Commented Block153 hits · 152 pts
SeverityFileLineSnippetContext
LOWdocker-compose.dev.yml1# OpenWA - Local smoke / quick-start composeCOMMENT
LOWdocker-entrypoint.sh1#!/bin/shCOMMENT
LOWdocker-compose.yml21 # method gate for non-GET requests (haproxy.cfg: `deny unless METH_GET || env(POST)`).COMMENT
LOWdocker-compose.yml81 tmpfs:COMMENT
LOWdocker-compose.yml101 - NODE_ENV=${NODE_ENV:-production}COMMENT
LOWdocker-compose.yml121 - DATABASE_HOST=${DATABASE_HOST:-}COMMENT
LOWdocker-compose.yml141 - SESSION_DATA_PATH=${SESSION_DATA_PATH:-}COMMENT
LOWdocker-compose.yml161 - STATUS_SEED_ON_READY=${STATUS_SEED_ON_READY:-false}COMMENT
LOWtest/setup-e2e.ts1// e2e boot environment. Set BEFORE AppModule is imported (setupFiles phase) so theCOMMENT
LOWtest/setup-e2e.ts21// Restoring parallelism means giving each worker its own data root, not just its own database.COMMENT
LOWtest/mcp-auth.e2e-spec.ts161 // Triggering it in e2e needs > 60 same-key tool calls in 60s, making theCOMMENT
LOWcharts/openwa/values.yaml1# replicaCount MUST stay 1. A session lease now stops two pods from launching the sameCOMMENT
LOWcharts/openwa/values.yaml21# Any variable from .env.example is valid here — that file stays the canonical list.COMMENT
LOWcharts/openwa/values.yaml41# container. Pod annotations are readable by anyone with `get pods`, which is a wider setCOMMENT
LOWcharts/openwa/templates/statefulset.yaml41 containerPort: 2785COMMENT
LOWdocs/12-troubleshooting-faq.md681MEDIA_DOWNLOAD_MAX_BYTES=52428800COMMENT
LOWdocs/14-migration-guide.md681# upgrade.sh — same shape for a patch or a minorCOMMENT
LOWdocs/11-operational-runbooks.md541# - plugin-packages/ — installed plugin code from PLUGINS_DIRCOMMENT
LOWdocs/10-devops-infrastructure.md401# ===========================================COMMENT
LOWdocs/10-devops-infrastructure.md421# ===========================================COMMENT
LOWdocs/10-devops-infrastructure.md441# S3_SECRET_ACCESS_KEY=minioadminCOMMENT
LOWdashboard/src/a11y-controls.test.ts1import { test } from 'node:test';COMMENT
LOWdashboard/src/a11y-controls.test.ts21// `className="toggle-switch toggle-switch-sm"` modifier fell out of the sweep; `accept="image/*"`COMMENT
LOWdashboard/src/utils/sessionActions.ts1// Which lifecycle actions a session card offers, extracted for direct unit testing (dashboard testsCOMMENT
LOWdashboard/src/utils/sessionActions.ts21COMMENT
LOWdashboard/src/hooks/useWebSocket.ts141// Falls back to env var or localhost for developmentCOMMENT
LOWdashboard/src/hooks/useInfraConfigForm.ts201 }));COMMENT
LOWdashboard/src/test-helpers/register-hooks.ts1/// <reference types="node" />COMMENT
LOWdashboard/src/i18n/lazy-locales-rtl.test.ts1// The first load of a non-English, right-to-left visitor — the path where the lazy split actuallyCOMMENT
LOWdashboard/src/i18n/locales.test.ts221COMMENT
LOWdashboard/src/pages/Sessions.tsx161 // The badge renders from the server projection (`session.restriction`), and a restriction canCOMMENT
LOWdashboard/src/pages/Infrastructure.test.ts1// Render smoke test for the Infrastructure page under the bare `node --test` runner. MirrorsCOMMENT
LOWdashboard/src/pages/Sessions.test.ts1// Render smoke test for the Sessions page under the bare `node --test` runner. MirrorsCOMMENT
LOWdashboard/src/pages/Chats.test.ts1// Render smoke test for the Chats page under the bare `node --test` runner (no vitest/jest).COMMENT
LOWdashboard/src/services/api.ts1// API Service Layer for OpenWA DashboardCOMMENT
LOWsdk/go/transport.go21// of subclassing the client.COMMENT
LOWsdk/go/types.go1package openwaCOMMENT
LOWsdk/go/client.go1// Package openwa is the official Go client for the OpenWA WhatsApp API Gateway.COMMENT
LOWsdk/go/types_group.go41 AddedByID string `json:"addedById,omitempty"`COMMENT
LOWsdk/go/types_group.go101// JoinGroupRequest joins a group via an invite code (the token from aCOMMENT
LOWsdk/go/types_message.go21 // LinkPreview controls the URL preview. False suppresses it on both engines. Otherwise theCOMMENT
LOWsdk/go/types_session.go221// SessionConfig is a session's effective runtime configuration. A nil MaxReconnectAttempts meansCOMMENT
LOWsdk/go/retry.go21}COMMENT
LOWsdk/go/retry.go61// which prove the server declined the request before acting on it. ACOMMENT
LOWsdk/go/errors.go21 // ErrBadRequest is returned for a 400 (invalid request payload).COMMENT
LOWsdk/go/errors.go41 ErrServiceUnavailable = errors.New("openwa: service unavailable")COMMENT
LOWsdk/python/pyproject.toml41[tool.pytest.ini_options]COMMENT
LOWscripts/export-openapi.ts1// Generates the committed OpenAPI snapshot by bootstrapping the Nest app WITHOUT listening,COMMENT
LOWscripts/export-openapi.ts21// never calls init(), so onModuleInit / onApplicationBootstrap hooks — session autostart, theCOMMENT
LOWscripts/export-openapi.ts41COMMENT
LOWscripts/smoke-test-backup-restore.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/patch-wwebjs-201832.js41// Every normalization site the backport must land, so a hunk that fails to apply can never passCOMMENT
LOWscripts/patch-wwebjs-201832.js241 // whose hunks needed an offset or rejected — 328K of pre-patch sourceCOMMENT
LOWscripts/restore.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/restore.sh21# explicit env path wins, otherwise the fixed ./data default. They are NOTCOMMENT
LOWscripts/pg-uuid-smoke.js1/* eslint-disable */COMMENT
LOWscripts/backup.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/backup.sh21# MAIN_DATABASE_NAME auth/audit SQLite file (default: ./data/main.sqlite)COMMENT
LOWscripts/lib-env.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/postgres-init-schema.sh1#!/bin/bashCOMMENT
93 more matches not shown…
Magic Placeholder Names12 hits · 80 pts
SeverityFileLineSnippetContext
HIGHREADME.md280 -H "X-API-Key: YOUR_API_KEY" \CODE
HIGHREADME.md289 -H "X-API-Key: YOUR_API_KEY"CODE
HIGHREADME.md293 -H "X-API-Key: YOUR_API_KEY"CODE
HIGHREADME.md301 -H "X-API-Key: YOUR_API_KEY" \CODE
HIGHREADME.md313 -H "X-API-Key: YOUR_API_KEY" \CODE
HIGHREADME.md344 "headers": { "Authorization": "Bearer YOUR_API_KEY" }CODE
HIGHdocs/24-mcp-integration.md204 "headers": { "Authorization": "Bearer YOUR_API_KEY" }CODE
HIGHdocs/README.md138 -H "X-API-Key: your-api-key" \CODE
HIGHdocs/README.md144 -H "X-API-Key: your-api-key"CODE
HIGHdocs/README.md148 -H "X-API-Key: your-api-key"CODE
HIGHdocs/README.md152 -H "X-API-Key: your-api-key" \CODE
HIGHdocs/README.md163 extraHeaders: { 'X-API-Key': 'your-api-key' },CODE
Unused Imports71 hits · 70 pts
SeverityFileLineSnippetContext
LOWsdk/python/tests/conftest.py8CODE
LOWsdk/python/tests/test_sdk.py3CODE
LOWsdk/python/openwa/_http.py10CODE
LOWsdk/python/openwa/_http.py17CODE
LOWsdk/python/openwa/client.py24CODE
LOWsdk/python/openwa/client.py27CODE
LOWsdk/python/openwa/client.py33CODE
LOWsdk/python/openwa/__init__.py23CODE
LOWsdk/python/openwa/__init__.py25CODE
LOWsdk/python/openwa/__init__.py26CODE
LOWsdk/python/openwa/__init__.py26CODE
LOWsdk/python/openwa/__init__.py26CODE
LOWsdk/python/openwa/__init__.py26CODE
LOWsdk/python/openwa/__init__.py26CODE
LOWsdk/python/openwa/__init__.py26CODE
LOWsdk/python/openwa/__init__.py26CODE
LOWsdk/python/openwa/__init__.py26CODE
LOWsdk/python/openwa/__init__.py26CODE
LOWsdk/python/openwa/__init__.py26CODE
LOWsdk/python/openwa/types.py11CODE
LOWsdk/python/openwa/types.py13CODE
LOWsdk/python/openwa/errors.py11CODE
LOWsdk/python/openwa/resources/catalog.py10CODE
LOWsdk/python/openwa/resources/catalog.py25CODE
LOWsdk/python/openwa/resources/labels.py8CODE
LOWsdk/python/openwa/resources/labels.py16CODE
LOWsdk/python/openwa/resources/sessions.py6CODE
LOWsdk/python/openwa/resources/sessions.py25CODE
LOWsdk/python/openwa/resources/media.py6CODE
LOWsdk/python/openwa/resources/media.py14CODE
LOWsdk/python/openwa/resources/contacts.py6CODE
LOWsdk/python/openwa/resources/contacts.py22CODE
LOWsdk/python/openwa/resources/health.py6CODE
LOWsdk/python/openwa/resources/health.py13CODE
LOWsdk/python/openwa/resources/profile.py6CODE
LOWsdk/python/openwa/resources/profile.py19CODE
LOWsdk/python/openwa/resources/__init__.py7CODE
LOWsdk/python/openwa/resources/__init__.py9CODE
LOWsdk/python/openwa/resources/__init__.py10CODE
LOWsdk/python/openwa/resources/__init__.py11CODE
LOWsdk/python/openwa/resources/__init__.py12CODE
LOWsdk/python/openwa/resources/__init__.py13CODE
LOWsdk/python/openwa/resources/__init__.py14CODE
LOWsdk/python/openwa/resources/__init__.py15CODE
LOWsdk/python/openwa/resources/__init__.py16CODE
LOWsdk/python/openwa/resources/__init__.py17CODE
LOWsdk/python/openwa/resources/__init__.py18CODE
LOWsdk/python/openwa/resources/__init__.py19CODE
LOWsdk/python/openwa/resources/__init__.py20CODE
LOWsdk/python/openwa/resources/__init__.py21CODE
LOWsdk/python/openwa/resources/__init__.py22CODE
LOWsdk/python/openwa/resources/__init__.py23CODE
LOWsdk/python/openwa/resources/__init__.py24CODE
LOWsdk/python/openwa/resources/groups.py6CODE
LOWsdk/python/openwa/resources/groups.py27CODE
LOWsdk/python/openwa/resources/templates.py6CODE
LOWsdk/python/openwa/resources/templates.py14CODE
LOWsdk/python/openwa/resources/messages.py7CODE
LOWsdk/python/openwa/resources/messages.py43CODE
LOWsdk/python/openwa/resources/search.py8CODE
11 more matches not shown…
Fake / Example Data47 hits · 48 pts
SeverityFileLineSnippetContext
LOWopenapi.json675 "pushName": "John Doe",CODE
LOWopenapi.json10014 "example": "John Doe",CODE
LOWdocs/06-api-specification.md1835{ "chatId": "628123456789@c.us", "contactName": "John Doe", "contactNumber": "628987654321" }CODE
LOWdocs/06-api-specification.md2182 "name": "Jane Doe",CODE
LOWdocs/06-api-specification.md2218 "name": "Jane Doe",CODE
LOWdocs/06-api-specification.md2294 "name": "Jane Doe",CODE
LOWdocs/07-api-collection.md478 -d '{ "chatId": "628123456789@c.us", "contactName": "John Doe", "contactNumber": "628987654321" }'CODE
LOWdashboard/src/a11y-controls.test.ts371 attr(node, 'placeholder') !== undefined ||CODE
LOWdashboard/src/i18n/locales/tr.json262 "placeholder": "ör. pazarlama-botu",CODE
LOWdashboard/src/i18n/locales/tr.json964 "placeholder": "Mesajlarda ara…",CODE
LOWdashboard/src/i18n/locales/de.json262 "placeholder": "z. B. marketing-bot",CODE
LOWdashboard/src/i18n/locales/de.json964 "placeholder": "Nachrichten durchsuchen…",CODE
LOWdashboard/src/i18n/locales/zh-CN.json262 "placeholder": "例如:marketing-bot",CODE
LOWdashboard/src/i18n/locales/zh-CN.json964 "placeholder": "搜索消息…",CODE
LOWdashboard/src/i18n/locales/en.json262 "placeholder": "e.g., marketing-bot",CODE
LOWdashboard/src/i18n/locales/en.json635 "contactNamePlaceholder": "Jane Doe",CODE
LOWdashboard/src/i18n/locales/en.json964 "placeholder": "Search messages…",CODE
LOWdashboard/src/i18n/locales/zh-HK.json262 "placeholder": "例如:marketing-bot",CODE
LOWdashboard/src/i18n/locales/zh-HK.json964 "placeholder": "搜尋訊息…",CODE
LOWdashboard/src/i18n/locales/it.json262 "placeholder": "es., marketing-bot",CODE
LOWdashboard/src/i18n/locales/it.json635 "contactNamePlaceholder": "Jane Doe",CODE
LOWdashboard/src/i18n/locales/it.json964 "placeholder": "Cerca messaggi…",CODE
LOWdashboard/src/i18n/locales/fr.json262 "placeholder": "ex : marketing-bot",CODE
LOWdashboard/src/i18n/locales/fr.json635 "contactNamePlaceholder": "Jane Doe",CODE
LOWdashboard/src/i18n/locales/fr.json964 "placeholder": "Rechercher des messages…",CODE
LOWdashboard/src/i18n/locales/pt-BR.json262 "placeholder": "ex.: bot-marketing",CODE
LOWdashboard/src/i18n/locales/pt-BR.json589 "contactNamePlaceholder": "Jane Doe",CODE
LOWdashboard/src/i18n/locales/pt-BR.json964 "placeholder": "Pesquisar mensagens…",CODE
LOWdashboard/src/i18n/locales/ko.json262 "placeholder": "예: marketing-bot",CODE
LOWdashboard/src/i18n/locales/ko.json964 "placeholder": "메시지 검색…",CODE
LOWdashboard/src/i18n/locales/he.json269 "placeholder": "לדוגמה: marketing-bot",CODE
LOWdashboard/src/i18n/locales/he.json973 "placeholder": "חיפוש הודעות…",CODE
LOWdashboard/src/i18n/locales/te.json262 "placeholder": "ఉదాహరణకు, marketing-bot",CODE
LOWdashboard/src/i18n/locales/te.json635 "contactNamePlaceholder": "Jane Doe",CODE
LOWdashboard/src/i18n/locales/te.json964 "placeholder": "సందేశాలను శోధించండి…",CODE
LOWdashboard/src/i18n/locales/es.json262 "placeholder": "ej., bot-marketing",CODE
LOWdashboard/src/i18n/locales/es.json589 "contactNamePlaceholder": "Jane Doe",CODE
LOWdashboard/src/i18n/locales/es.json964 "placeholder": "Buscar mensajes…",CODE
LOWdashboard/src/i18n/locales/ar.json273 "placeholder": "مثال: marketing-bot",CODE
LOWdashboard/src/i18n/locales/ar.json650 "contactNamePlaceholder": "Jane Doe",CODE
LOWdashboard/src/i18n/locales/ar.json979 "placeholder": "ابحث في الرسائل…",CODE
LOWsrc/modules/message/message-send.service.spec.ts808 contactName: 'John Doe',CODE
LOWsrc/modules/message/message-send.service.spec.ts815 expect.objectContaining({ name: 'John Doe', number: '+628123456789' }),CODE
LOWsrc/modules/session/session.controller.ts293 pushName: 'John Doe',CODE
LOWsrc/modules/session/dto/session-response.dto.ts50 @ApiPropertyOptional({ type: String, example: 'John Doe', nullable: true })CODE
LOWsrc/engine/adapters/baileys.adapter.spec.ts1288 await adapter.sendContactMessage('628111@s.whatsapp.net', { name: 'John Doe', number: '+1 234-567' });CODE
LOWsrc/engine/adapters/baileys.adapter.spec.ts1293 expect(call.contacts.displayName).toBe('John Doe');CODE
Structural Annotation Overuse22 hits · 48 pts
SeverityFileLineSnippetContext
LOWdocs/14-migration-guide.md97# Step 1: Export all Data DB tablesCOMMENT
LOWdocs/14-migration-guide.md101# Step 2: Change database configuration in .env or DashboardCOMMENT
LOWdocs/14-migration-guide.md106# Step 3: Restart with new configurationCOMMENT
LOWdocs/14-migration-guide.md109# Step 4: Import data to new databaseCOMMENT
LOWdocs/14-migration-guide.md190# Step 1: Check current storage file countCOMMENT
LOWdocs/14-migration-guide.md195# Step 2: Export all files as tar.gzCOMMENT
LOWdocs/14-migration-guide.md202# Step 3: Change storage configurationCOMMENT
LOWdocs/14-migration-guide.md207# Step 4: Restart with new configurationCOMMENT
LOWdocs/14-migration-guide.md210# Step 5: Import files to new storageCOMMENT
LOWdocs/14-migration-guide.md263# Step 1: Check queue status via Bull BoardCOMMENT
LOWdocs/14-migration-guide.md266# Step 2: Wait until the webhook and ingress queues are empty (Bull Board shows webhook-queue and ingress-queue; there iCOMMENT
LOWdocs/14-migration-guide.md272# Step 3: Change Redis configurationCOMMENT
LOWdocs/14-migration-guide.md275# Step 4: Restart applicationCOMMENT
LOWdocs/14-migration-guide.md496# Step 1: Stop OpenWACOMMENT
LOWdocs/14-migration-guide.md499# Step 2: Backup current data (both databases + session auth + media)COMMENT
LOWdocs/14-migration-guide.md502# Step 3: Setup PostgreSQL (if not exists) — the built-in service lives behind a compose profileCOMMENT
LOWdocs/14-migration-guide.md505# Step 4: Run the migration — save the "Migration Script (Legacy)" example above asCOMMENT
LOWdocs/14-migration-guide.md509# Step 5: Update environmentCOMMENT
LOWdocs/14-migration-guide.md517# Step 6: Verify migrationCOMMENT
LOWdocs/14-migration-guide.md521# Step 7: Start with PostgreSQLCOMMENT
LOWdocs/14-migration-guide.md524# Step 8: Verify functionalityCOMMENT
LOWdashboard/src/utils/messageFormatter.ts41 // Step 1: peel off code segments, emit nodes between them.COMMENT
Cross-Language Confusion2 hits · 15 pts
SeverityFileLineSnippetContext
HIGHsdk/python/tests/test_sdk.py236 # Known-negative control: without it an implementation that always emitted the key — as null,COMMENT
HIGHsdk/python/openwa/types.py1293# provider returns waMessageId/snippet as "" when absent (always str, never null);COMMENT
Modern AI Meta-Vocabulary3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMdocker-compose.yml28 # datastore orchestration (Dashboard > Infrastructure built-in toggles), disableCOMMENT
MEDIUMdocker-compose.yml33 # DockerService then reports Docker unavailable and orchestration degrades gracefully.COMMENT
MEDIUMdocker-compose.yml507 # Pin explicit volume names so the compose path and the Docker-API orchestration path (which usesCOMMENT
Example Usage Blocks2 hits · 3 pts
SeverityFileLineSnippetContext
LOWscripts/restore.sh9# Usage:COMMENT
LOWscripts/backup.sh18# Usage:COMMENT
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMsrc/engine/adapters/baileys-events.ts812 // (Baileys integrity-checks content against the declared size, so this is a robust bound).COMMENT
Modern Structural Boilerplate2 hits · 2 pts
SeverityFileLineSnippetContext
LOWsdk/python/openwa/__init__.py39__all__ = [CODE
LOWsdk/python/openwa/resources/__init__.py26__all__ = [CODE
Verbosity Indicators1 hit · 2 pts
SeverityFileLineSnippetContext
LOWdashboard/src/utils/messageFormatter.ts41 // Step 1: peel off code segments, emit nodes between them.COMMENT
Excessive Try-Catch Wrapping1 hit · 1 pts
SeverityFileLineSnippetContext
LOWsdk/python/openwa/client.py74 except Exception:CODE