Repository Analysis

PostHog/posthog

🦔 PostHog is an all-in-one developer platform for building successful products. We offer product analytics, web analytics, session replay, error tracking, feature flags, experimentation, surveys, data warehouse, a CDP, and an AI product assistant to help debug your code, ship features faster, and keep all your usage and customer data in one stack.

14.8 Low AI signal View on GitHub
14.8
Adjusted Score
14.8
Raw Score
100%
Time Factor
2026-05-30
Last Push
34,770
Stars
Python
Language
4,199,740
Lines of Code
18330
Files
51333
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 95HIGH 1888MEDIUM 2428LOW 46922

Pattern Findings

51333 matches across 22 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers38317 hits · 35326 pts
SeverityFileLineSnippet
LOWnodejs/bin/migrate-minio-to-seaweedfs.js265function ensureLocalDevelopmentOnly(minioEndpoint, seaweedfsEndpoint) {
LOWnodejs/bin/migrate-minio-to-seaweedfs.js434async function listAllObjectsWithMetadata(client, bucket, prefix) {
LOW…dejs/tests/worker/ingestion/person-state-batch.test.ts79function createIngestionWarningsOutputs(kafkaProducer: KafkaProducerWrapper) {
LOW…dejs/tests/worker/ingestion/person-state-batch.test.ts329 async function fetchOverridesForDistinctId(distinctId: string) {
LOW…dejs/tests/worker/ingestion/person-state-batch.test.ts334 async function fetchPersonsRowsWithVersionHigerEqualThan(version = 1) {
LOW…dejs/tests/worker/ingestion/person-state-batch.test.ts339 async function fetchDistinctIdsClickhouse(person: InternalPerson) {
LOW…dejs/tests/worker/ingestion/person-state-batch.test.ts4301 function createPersonEventProcessor(mergeMode: any, event: Partial<PluginEvent>) {
LOWnodejs/tests/worker/ingestion/postgres-parity.test.ts44async function waitForClickHousePersonConsumer(clickhouse: Clickhouse): Promise<void> {
LOWnodejs/tests/helpers/sql.ts204export async function createUserTeamAndOrganization(
LOWnodejs/tests/helpers/sql.ts500export async function fetchPostgresDistinctIdsForPerson(postgres: PostgresRouter, personId: string): Promise<string[]> {
LOWnodejs/tests/helpers/sql.ts507export async function resetBehavioralCohortsDatabase(postgres: PostgresRouter): Promise<void> {
LOWnodejs/tests/helpers/raw-event.ts18export function createTestRawClickHouseEvent(overrides: Partial<RawClickHouseEvent> = {}): RawClickHouseEvent {
LOWnodejs/tests/helpers/cdp.ts23function buildTestCdpProducerRegistry(
LOWnodejs/tests/helpers/cdp.ts50export function createCdpLegacyEventsConsumerDeps(
LOWnodejs/tests/helpers/ingestion-outputs.ts41export function createTestMonitoringOutputs(kafkaProducer: KafkaProducerWrapper) {
LOWnodejs/tests/helpers/ingestion-outputs.ts48export function createTestIngestionOutputs(kafkaProducer: KafkaProducerWrapper) {
LOWnodejs/src/capabilities.ts68export function getPluginServerCapabilities(
LOWnodejs/src/cdp/cdp-services.ts231export function createCdpValkeyShadowPools(
LOWnodejs/src/cdp/utils.ts34export function convertToHogFunctionInvocationGlobals(
LOWnodejs/src/cdp/utils.ts90export function convertBatchHogFlowRequestToHogFunctionInvocationGlobals({
LOWnodejs/src/cdp/utils.ts129export function convertInternalEventToHogFunctionInvocationGlobals(
LOWnodejs/src/cdp/utils.ts235export function isLegacyPluginHogFunction(hogFunction: Pick<HogFunctionType, 'template_id'>): boolean {
LOWnodejs/src/cdp/utils.ts239export function isSegmentPluginHogFunction(hogFunction: Pick<HogFunctionType, 'template_id'>): boolean {
LOWnodejs/src/cdp/utils.ts247export function isInternalErrorTrackingEvent(event: CdpInternalEvent['event']): boolean {
LOWnodejs/src/cdp/async-function-registry.ts39export function getRegisteredAsyncFunctionNames(): string[] {
LOWnodejs/src/cdp/utils/hog-function-filtering.ts101export function convertClickhouseRawEventToFilterGlobals(event: RawClickHouseEvent): HogFunctionFilterGlobals {
LOWnodejs/src/cdp/utils/hog-function-filtering.ts225export function convertToHogFunctionFilterGlobal(
LOWnodejs/src/cdp/utils/hog-function-filtering.ts345export async function filterFunctionInstrumented(options: {
LOWnodejs/src/cdp/consumers/quota-limiting-helper.ts24export async function shouldBlockInvocationDueToQuota(
LOW…rc/cdp/consumers/cdp-data-warehouse-events.consumer.ts138function convertDataWarehouseEventToHogFunctionInvocationGlobals(
LOWnodejs/src/cdp/consumers/cdp-person-updates-consumer.ts136function convertClickhousePersonToInvocationGlobals(
LOW…src/cdp/hog-transformations/hog-transformer.service.ts452export function createHogTransformerService(
LOWnodejs/src/cdp/templates/test/test-helpers.ts36export function propagateTemplatingFromSchema(template: any, input: any): any {
LOW…src/cdp/legacy-plugins/_destinations/sendgrid/index.ts105function getEmailFromIdentifyEvent(event: any): string {
LOW…src/cdp/legacy-plugins/_destinations/intercom/index.ts56async function searchForContactInIntercom(meta: IntercomMeta, url: string, apiKey: string, email: string) {
LOW…ins/_transformations/first-time-event-tracker/index.ts9export async function firstTimeEventTrackerPluginProcessEventAsync(
LOW…ations/posthog-plugin-snowplow-referer-parser/index.ts149function getMediumAndSourceFromReferrer(domain: string) {
LOW…ations/posthog-plugin-snowplow-referer-parser/index.ts184function isReferrerFromDirectDomain(referrer: string) {
LOW…ransformations/plugin-netdata-event-processing/dist.js713function getInteractionDetailAgent(event) {
LOW…ransformations/plugin-netdata-event-processing/dist.js954function processElementsAgentInstaller(event) {
LOW…ransformations/plugin-netdata-event-processing/dist.js960function processPropertiesAgentInstaller(event) {
LOW…ransformations/plugin-netdata-event-processing/dist.js1785function processPropertiesCommunity(event) {
LOW…ugins/_transformations/property-filter-plugin/index.ts9function recursiveRemoveFilterObject(properties: Record<string, any>, propertyToFilterParts: string[]) {
LOW…formations/posthog-url-normalizer-plugin/index.test.ts27function buildEventWithoutCurrentUrl(): PluginEvent {
LOWnodejs/src/cdp/outputs/producer-registry.ts27export function createCdpProducerRegistry(kafkaClientRack: string | undefined) {
LOWnodejs/src/cdp/outputs/producers.ts90export function getDefaultKafkaWarpstreamIngestionProducerEnvConfig(): KafkaWarpstreamIngestionProducerEnvConfig {
LOWnodejs/src/cdp/outputs/producers.ts167export function getDefaultKafkaWarehouseProducerEnvConfig(): KafkaWarehouseProducerEnvConfig {
LOWnodejs/src/cdp/outputs/producers.ts237export function getDefaultKafkaWarpstreamCalculatedEventsProducerEnvConfig(): KafkaWarpstreamCalculatedEventsProducerEnv
LOWnodejs/src/cdp/outputs/producers.ts303export function getDefaultKafkaWarpstreamCyclotronProducerEnvConfig(): KafkaWarpstreamCyclotronProducerEnvConfig {
LOWnodejs/src/cdp/services/job-queue/job-queue-kafka.ts207export function migrateKafkaCyclotronInvocation(invocation: CyclotronJobInvocation): CyclotronJobInvocation {
LOWnodejs/src/cdp/services/job-queue/job-queue-postgres.ts259function invocationToCyclotronJobInitial(invocation: CyclotronJobInvocation): CyclotronJobInit {
LOWnodejs/src/cdp/services/job-queue/job-queue-postgres.ts296function invocationToCyclotronJobUpdate(invocation: CyclotronJobInvocation): CyclotronJobUpdate {
LOWnodejs/src/cdp/services/job-queue/shared.ts61export function sanitizeInvocationForPersistence(
LOWnodejs/src/cdp/services/job-queue/shared.ts97export function createInvocationSanitizer(config: Pick<CdpConfig, 'CDP_CYCLOTRON_STRIP_PERSON_FROM_STATE_TEAMS'>) {
LOW…js/src/cdp/services/hogflows/hogflow-quota-limiting.ts62export async function shouldBlockHogFlowDueToQuota(
LOWnodejs/src/cdp/legacy-webhooks/utils.ts6export async function addGroupPropertiesToPostIngestionEvent(
LOWnodejs/src/cdp/legacy-webhooks/utils.ts60export async function addGroupPropertiesToPostIngestionEventsBatch(
LOW…dejs/src/cdp/legacy-webhooks/legacy-webhook-service.ts150function convertToPostIngestionEvent(event: RawKafkaEvent): PostIngestionEvent {
LOWnodejs/src/cdp/legacy-webhooks/action-manager.ts130export async function fetchAllActionsGroupedByTeam(
LOWnodejs/src/ingestion/config.ts213export function getDefaultIngestionConsumerConfig(): IngestionConsumerConfig {
38257 more matches not shown…
Cross-Language Confusion (JS/TS)790 hits · 4706 pts
SeverityFileLineSnippet
HIGHnodejs/bin/migrate-minio-to-seaweedfs.js179 print() {
HIGHnodejs/src/cdp/workflows-e2e.test.ts108 print('Fetch result:', res.status);
HIGHnodejs/src/cdp/cdp-e2e.test.ts94 print('Fetch response:', res);
HIGHnodejs/src/cdp/rerun/rerun-e2e.test.ts200 print('Fetch response:', res);
HIGHnodejs/src/cdp/utils/hog-exec.test.ts37 print('I AM FIBONACCI. ')
HIGHnodejs/src/cdp/utils/hog-exec.test.ts44 print(f'fib {fibonacci(64)}');
HIGHnodejs/src/cdp/consumers/cdp-cyclotron-worker.test.ts441 print('I AM FIBONACCI. ')
HIGHnodejs/src/cdp/consumers/cdp-cyclotron-worker.test.ts448 print(f'fib {fibonacci(64)}');`
HIGH…dp/templates/_destinations/webhook/webhook.template.ts21 print('Request', inputs.url, payload)
HIGH…dp/templates/_destinations/webhook/webhook.template.ts31 print('Response', res.status, res.body);
HIGH…rc/cdp/templates/_destinations/unify/unify.template.ts19 print(f'Skipping unsupported event type: {event.event}')
HIGH…/templates/_destinations/google_ads/google.template.ts82 print('Empty \`gclid\`. Skipping...')
HIGH…dp/templates/_destinations/hubspot/hubspot.template.ts29 print('\`companyId\` input is empty. Skipping...')
HIGH…dp/templates/_destinations/hubspot/hubspot.template.ts75 print(f'Successfully created company {data.properties['posthog_group_id']}')
HIGH…dp/templates/_destinations/hubspot/hubspot.template.ts83 print(f'Successfully updated company {data.properties['posthog_group_id']}')
HIGH…rc/cdp/templates/_destinations/klime/klime.template.ts57 print('No user ID set. Skipping as user ID is required for identify events.')
HIGH…rc/cdp/templates/_destinations/klime/klime.template.ts86 print('No group ID set. Skipping as group ID is required for group events.')
HIGH…/_destinations/firebase_push/firebase_push.template.ts53 print('Sending push notification', url, payload)
HIGH…/_destinations/firebase_push/firebase_push.template.ts63 print('Push notification sent', res)
HIGH…/templates/_destinations/whatsapp/whatsapp.template.ts73 print('Sending WhatsApp message', url, payload)
HIGH…/templates/_destinations/whatsapp/whatsapp.template.ts83 print('WhatsApp message sent', res)
HIGH…/cdp/templates/_destinations/twilio/twilio.template.ts44 print('Sending SMS', url, payload)
HIGH…/cdp/templates/_destinations/twilio/twilio.template.ts55 print('SMS sent', res)
HIGH…emplates/_sources/webhook/incoming_webhook.template.ts15 print('Incoming request:', request.body)
HIGH…emplates/_sources/webhook/incoming_webhook.template.ts28 print('Incoming request denied due to bad authorization header')
HIGH…templates/_sources/vercel/vercel_log_drain.template.ts15 print('Incoming headers:', request.headers)
HIGH…templates/_sources/vercel/vercel_log_drain.template.ts16 print('Incoming body:', request.body)
HIGH…templates/_sources/vercel/vercel_log_drain.template.ts29 print('Denied: bad Authorization header')
HIGH…templates/_sources/vercel/vercel_log_drain.template.ts102 print(f'Warning: Dropped {droppedCount} additional log(s). Hog functions can only emit one event per invocation.')
HIGH…templates/_sources/vercel/vercel_log_drain.template.ts189 print('vercel log drain: custom_template empty, falling back to rotating_salt')
HIGH…templates/_sources/vercel/vercel_log_drain.template.ts205 print('vercel log drain: custom_template substituted to empty, falling back to rotating_salt')
HIGH…ejs/src/cdp/templates/_sources/pixel/pixel.template.ts16 print('Incoming request:', request.query)
HIGH…s/_transformations/url-masking/url-masking.template.ts77 print('Error masking URL parameters:', error)
HIGH…cdp/templates/_transformations/geoip/geoip.template.ts34 print('geoip disabled or no ip.')
HIGH…cdp/templates/_transformations/geoip/geoip.template.ts40 print('spoofing ip for local development', ip)
HIGH…cdp/templates/_transformations/geoip/geoip.template.ts45 print('geoip lookup failed for ip', ip)
HIGH…cdp/templates/_transformations/geoip/geoip.template.ts75print('geoip location data for ip:', location)
HIGH…rmations/ip-anonymization/ip-anonymization.template.ts17 print('No IP address found in event')
HIGH…rmations/ip-anonymization/ip-anonymization.template.ts26 print('Invalid IP address format: wrong number of octets')
HIGH…rmations/ip-anonymization/ip-anonymization.template.ts34 print('Invalid IP address: octets must be numbers between 0 and 255')
HIGH…ations/url-normalization/url-normalization.template.ts48 print('keyValue', keyValue)
HIGH…ations/url-normalization/url-normalization.template.ts65 print('normalizedParams', normalizedParams)
HIGHnodejs/src/cdp/services/hog-executor.service.test.ts946 print('after produce')`
HIGH…cdp/services/hogflows/hogflow-executor.service.test.ts117 print(f'Hello, {inputs.name}!')
HIGH…cdp/services/hogflows/hogflow-executor.service.test.ts118 print('Fetch 1', fetch('https://posthog.com').status)
HIGH…cdp/services/hogflows/hogflow-executor.service.test.ts119 print('Fetch 2', fetch('https://posthog.com').status)
HIGH…cdp/services/hogflows/hogflow-executor.service.test.ts120 print('Fetch 3', fetch('https://posthog.com').status)
HIGH…cdp/services/hogflows/hogflow-executor.service.test.ts121 print('All fetches done!')`,
HIGH…cdp/services/hogflows/hogflow-executor.service.test.ts102 print(f'Hello, {inputs.name}!')
HIGH…cdp/services/hogflows/hogflow-executor.service.test.ts103 print('Fetch 1', fetch('https://posthog.com').status)`,
HIGH…ndpoints/frontend/endpoint-tabs/EndpointPlayground.tsx109print(response.json())`
HIGH…ndpoints/frontend/endpoint-tabs/EndpointPlayground.tsx130print(response.json())`
HIGH…servability/frontend/evaluations/llmEvaluationLogic.ts40 print('Output is empty')
HIGH…cts/ai_observability/frontend/evaluations/templates.ts60 print(concat('Cost $', toString(cost), ' exceeds budget $', toString(max_cost)))
HIGH…cts/ai_observability/frontend/evaluations/templates.ts64 print(concat('Latency ', toString(latency), 's exceeds limit ', toString(max_latency), 's'))
HIGH…cts/ai_observability/frontend/evaluations/templates.ts67print(concat('OK — cost: $', toString(cost), ', latency: ', toString(latency), 's'))
HIGH…ts/ai_observability/frontend/tags/hogTaggerExamples.ts21print(concat('Found ', toString(length(result)), ' tags'))
HIGH…ts/ai_observability/frontend/tags/hogTaggerExamples.ts39 print(concat('Matched "', pair.1, '" -> ', pair.2))
HIGH…ts/ai_observability/frontend/tags/hogTaggerExamples.ts49 print('Empty response')
HIGH…ts/ai_observability/frontend/tags/hogTaggerExamples.ts52 print(concat('Short: ', toString(len), ' chars'))
730 more matches not shown…
Decorative Section Separators1393 hits · 4609 pts
SeverityFileLineSnippet
MEDIUMpyproject.toml463# ---------------------------------------------------------------------------
MEDIUMpyproject.toml465# ---------------------------------------------------------------------------
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf2 # ===========================================================================
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf6 # ===========================================================================
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf46 # ---------------------------------------------------------------------------
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf48 # ---------------------------------------------------------------------------
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf70 # ---------------------------------------------------------------------------
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf73 # ---------------------------------------------------------------------------
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf184 # ---------------------------------------------------------------------------
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf187 # ---------------------------------------------------------------------------
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf234# ---------------------------------------------------------------------------
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf236# ---------------------------------------------------------------------------
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf282# ---------------------------------------------------------------------------
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf284# ---------------------------------------------------------------------------
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf324# ---------------------------------------------------------------------------
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf326# ---------------------------------------------------------------------------
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf420# ---------------------------------------------------------------------------
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf422# ---------------------------------------------------------------------------
MEDIUM…m-analytics-platform/dashboard-key-metrics/insights.tf1# =============================================================================
MEDIUM…m-analytics-platform/dashboard-key-metrics/insights.tf3# =============================================================================
MEDIUM…m-analytics-platform/dashboard-key-metrics/insights.tf10# =============================================================================
MEDIUM…analytics-platform/dashboard-key-metrics/dashboards.tf1# =============================================================================
MEDIUM…analytics-platform/dashboard-key-metrics/dashboards.tf3# =============================================================================
MEDIUM…analytics-platform/dashboard-key-metrics/dashboards.tf9# =============================================================================
MEDIUM…eam-analytics-platform/dashboard-key-metrics/alerts.tf1# =============================================================================
MEDIUM…eam-analytics-platform/dashboard-key-metrics/alerts.tf3# =============================================================================
MEDIUM…eam-analytics-platform/dashboard-key-metrics/alerts.tf14# =============================================================================
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf2 # ---------------------------------------------------------------------------
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf5 # ---------------------------------------------------------------------------
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf49 # ---------------------------------------------------------------------------
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf51 # ---------------------------------------------------------------------------
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf80 # ---------------------------------------------------------------------------
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf82 # ---------------------------------------------------------------------------
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf94 # ---------------------------------------------------------------------------
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf96 # ---------------------------------------------------------------------------
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf232 # ---------------------------------------------------------------------------
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf234 # ---------------------------------------------------------------------------
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf252 # ---------------------------------------------------------------------------
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf254 # ---------------------------------------------------------------------------
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf283# ---------------------------------------------------------------------------
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf285# ---------------------------------------------------------------------------
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf325# ---------------------------------------------------------------------------
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf327# ---------------------------------------------------------------------------
MEDIUMnodejs/src/cdp/workflows-e2e.test.ts155 // ── Helpers ──────────────────────────────────────────────────────
MEDIUMnodejs/src/cdp/rerun/rerun-e2e.test.ts260 // ── 1. Original invocation succeeds ─────────────────────────────────
MEDIUMnodejs/src/cdp/rerun/rerun-e2e.test.ts301 // ── 2. Mimic Django POST /rerun — only the request itself is faked ──────
MEDIUMnodejs/src/cdp/rerun/rerun-e2e.test.ts324 // ── 3. Rerun worker drains the wrapper job ────────────────────────────────
MEDIUMnodejs/src/cdp/rerun/rerun-e2e.test.ts332 // ── 4. Wait for the wrapper job to complete ────────────────────────────────
MEDIUMnodejs/src/cdp/rerun/rerun-e2e.test.ts339 // ── 5. Reruned invocation flows through the real cyclotron worker ─────────
MEDIUM…ejs/src/cdp/services/cyclotron-v2/cyclotron-v2.test.ts12// ── Helpers ──────────────────────────────────────────────────────────
MEDIUM…ejs/src/cdp/services/cyclotron-v2/cyclotron-v2.test.ts113// ── Tests ────────────────────────────────────────────────────────────
MEDIUM…ejs/src/cdp/services/cyclotron-v2/cyclotron-v2.test.ts144 // ── Manager ──────────────────────────────────────────────────────
MEDIUM…ejs/src/cdp/services/cyclotron-v2/cyclotron-v2.test.ts443 // ── Worker ───────────────────────────────────────────────────────
MEDIUM…ejs/src/cdp/services/cyclotron-v2/cyclotron-v2.test.ts682 // ── Janitor ──────────────────────────────────────────────────────
MEDIUMtools/snob_backend_test_selection_shadow.py408 # ── 1. Changed test files themselves ─────────────────────────────
MEDIUMtools/snob_backend_test_selection_shadow.py447 # ── 4. Product API client tests (URL dispatch heuristic) ───────���─
MEDIUMtools/snob_backend_test_selection_shadow.py479 # ── 5. Temporal / ClickHouse broad matching ──────────────────────
MEDIUMtools/snob_backend_test_selection_shadow.py494 # ── 6. Signal handler expansion ──────────────────────────────────
MEDIUMtools/snob_backend_test_selection_shadow.py510 # ── 7. Middleware expansion ───────────────────────────────────────
MEDIUMtools/snob_backend_test_selection_shadow.py517 # ── 8. DB router expansion ───────────────────────────────────────
1333 more matches not shown…
Cross-Language Confusion705 hits · 3013 pts
SeverityFileLineSnippet
HIGHtools/hogli/tests/test_command_types.py20 cmd = DirectCommand("test", {"cmd": "echo foo && echo bar"})
HIGHtools/hogli/tests/test_command_types.py27 assert call_args[0][0] == "echo foo && echo bar"
HIGHtools/hogli/tests/test_command_types.py46 cmd = DirectCommand("test", {"cmd": "echo foo && echo bar"})
HIGHtools/hogli/tests/test_command_types.py19 """Test commands with && or || use shell=True."""
HIGHtools/hogli/tests/test_command_types.py19 """Test commands with && or || use shell=True."""
HIGHtools/hogli-commands/hogli_commands/devenv/generator.py232_news=$(curl -sf --max-time 2 '{news_url}' 2>/dev/null || cat {news_local} 2>/dev/null || true)
HIGH…li-commands/hogli_commands/tests/test_workflow_lint.py268 group: build-${{ github.head_ref || github.ref }}
HIGH…li-commands/hogli_commands/tests/test_workflow_lint.py276 group: test-${{ github.head_ref || github.ref }}
HIGH…li-commands/hogli_commands/tests/test_workflow_lint.py203 concurrency: "${{ github.workflow }}-${{ github.head_ref || github.ref }}"
HIGH…li-commands/hogli_commands/tests/test_workflow_lint.py241 group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
HIGH…li-commands/hogli_commands/tests/test_workflow_lint.py297 group: build-${{ github.head_ref || github.ref }}
HIGH…ogli-commands/hogli_commands/tests/test_ci_insights.py106@pytest.mark.parametrize("payload", ["", "not json{", '{"actions": [null]}'])
HIGH…ols/hogli-commands/hogli_commands/tests/test_checks.py311 scripts={"backend:test": "pytest -c ../../pytest.ini --rootdir ../.. backend/ -v --tb=short || true"},
HIGH…ols/hogli-commands/hogli_commands/tests/test_checks.py321 scripts={"backend:test": "pytest -c ../../pytest.ini --rootdir ../.. backend/ -v --tb=short || exit 0"},
HIGH…ols/hogli-commands/hogli_commands/tests/test_checks.py374 "backend:test": "pytest -c ../../pytest.ini --rootdir ../.. backend/nonexistent -v --tb=short || true",
HIGHtools/hogli-commands/hogli_commands/devbox/cli.py1355 hogli devbox:exec -n api -- bash -lc 'cd ~/posthog && git status'
HIGH…/hogli_commands/workflow_lint/checks/pr_concurrency.py7 group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
HIGH…/hogli_commands/workflow_lint/checks/pr_concurrency.py57 " group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}\n"
HIGH…/hogli_commands/workflow_lint/checks/pr_concurrency.py77 "concurrency group uses `github.head_ref || github.run_id`; use "
HIGH…/hogli_commands/workflow_lint/checks/pr_concurrency.py78 "`github.head_ref || github.ref` so push runs deduplicate"
HIGHtools/traffic-sim/cli.py63 let snippetLocation = null;
HIGHtools/traffic-sim/cli.py67 snippetLocation = s.parentElement ? s.parentElement.tagName.toLowerCase() : null;
HIGHtools/traffic-sim/cli.py71 let initConfig = null;
HIGHtools/traffic-sim/cli.py81 api_host: p.api_host || null,
HIGHtools/traffic-sim/cli.py81 api_host: p.api_host || null,
HIGHtools/traffic-sim/cli.py82 person_profiles: p.person_profiles || null,
HIGHtools/traffic-sim/cli.py82 person_profiles: p.person_profiles || null,
HIGHtools/traffic-sim/cli.py90 if (!initConfig && window.posthog && window.posthog.config) {
HIGHtools/traffic-sim/cli.py93 api_key: c.token || null,
HIGHtools/traffic-sim/cli.py93 api_key: c.token || null,
HIGHtools/traffic-sim/cli.py94 api_host: c.api_host || null,
HIGHtools/traffic-sim/cli.py94 api_host: c.api_host || null,
HIGHtools/traffic-sim/cli.py95 person_profiles: c.person_profiles || null,
HIGHtools/traffic-sim/cli.py95 person_profiles: c.person_profiles || null,
HIGHtools/traffic-sim/cli.py98 const arrScript = posthogScripts.find(s => s.src && s.src.includes('array'));
HIGHtools/traffic-sim/cli.py100 const runtimeState = defined && window.posthog
HIGHtools/traffic-sim/cli.py104 distinct_id: window.posthog.get_distinct_id ? window.posthog.get_distinct_id() : null,
HIGHtools/traffic-sim/cli.py105 config_api_host: window.posthog.config ? window.posthog.config.api_host : null,
HIGHtools/traffic-sim/cli.py109 if (runtimeState.loaded && hasPosthogInitId) loadMethod = 'head_snippet';
HIGHtools/traffic-sim/cli.py110 else if (runtimeState.loaded && hasWebSnippet) loadMethod = 'snippet';
HIGHtools/traffic-sim/cli.py111 else if (runtimeState.loaded && arrScript) loadMethod = 'array_js_only';
HIGHtools/traffic-sim/cli.py119 array_js_src: arrScript ? arrScript.src : null,
HIGHtools/traffic-sim/cli.py368 await context.add_init_script("Object.defineProperty(navigator, 'webdriver', { get: () => undefined });")
HIGH…ts/backend/tests/temporal/pipeline/test_transformer.py55 b'{"timestamp": "2023-01-01T12:00:00Z", "nested": {"array": [1, 2, 3], "big_num": 12345678901234567890987654
HIGHproducts/cdp/backend/test_max_tools.py20 "if (a && b) { print(a) }",
HIGHproducts/feature_flags/backend/max_tools.py166 "groups": [{"properties": [], "rollout_percentage": null}]
HIGHproducts/feature_flags/backend/test/test_flags_cache.py733 # If the fixture declares a field as null, the serializer must also return null.
HIGH…gs/backend/models/team_feature_flag_defaults_config.py16 # [{"properties": [...], "rollout_percentage": N, "variant": null}, ...]
HIGHproducts/feature_flags/backend/api/feature_flag.py1061 raise serializers.ValidationError(f"{path} must be an integer or null, got {type(value).__name__}")
HIGHproducts/feature_flags/backend/api/feature_flag.py1084 f"groups[{group_index}].variant must be a string or null, got {type(variant).__name__}"
HIGH…ts/feature_flags/backend/api/test/test_feature_flag.py5252 # Other valid JSON types (number, boolean, null, array) should be accepted
HIGH…ackend/hogql_queries/test_conversion_goal_processor.py4080 Tests handling of null, empty, and missing UTM parameters
HIGHproducts/error_tracking/backend/models.py260 # If not null, the rule is disabled, for the reason listed
HIGHproducts/error_tracking/backend/models.py290 # If not null, the rule is disabled, for the reason listed
HIGH…error_tracking/backend/api/test/test_grouping_rules.py288 band by sending `{"assignee": null}` alongside an unrelated filter edit.
HIGHproducts/tasks/backend/models.py607 environment creator. If either created_by is null, private environments
HIGH…/temporal/process_task/activities/read_sandbox_logs.py34 f"tail -c {MAX_LOG_SIZE} /tmp/agent-server.log 2>/dev/null || echo 'No log file found'",
HIGH…/temporal/process_task/activities/read_sandbox_logs.py43 "cat /var/log/agentsh/agentsh.log 2>/dev/null || true",
HIGH…temporal/process_task/activities/start_agent_server.py31 result = sandbox.execute("tail -n 20 /var/log/agentsh/agentsh.log 2>/dev/null || true", timeout_seconds=5)
HIGH…temporal/process_task/activities/start_agent_server.py43 result = sandbox.execute("tail -n 40 /tmp/agent-server.log 2>/dev/null || true", timeout_seconds=5)
645 more matches not shown…
Excessive Try-Catch Wrapping2710 hits · 2719 pts
SeverityFileLineSnippet
MEDIUM…s/_transformations/url-masking/url-masking.template.ts77 print('Error masking URL parameters:', error)
LOWtools/snob_backend_test_selection_shadow.py560 except Exception as exc:
LOWtools/infra-scripts/clitools/toolbox/user.py57 except Exception as k8s_error:
MEDIUMtools/infra-scripts/clitools/toolbox/user.py58 print(f"Error: Failed to get user identity: {k8s_error}") # noqa: T201
MEDIUMtools/infra-scripts/clitools/toolbox/user.py59 print(f"Error type: {type(k8s_error)}") # noqa: T201
LOWtools/infra-scripts/clitools/toolbox/user.py97 except Exception as e:
LOWtools/infra-scripts/clitools/toolbox/pod.py136 except Exception as e:
MEDIUMtools/infra-scripts/clitools/toolbox/pod.py198 print(f"Error stripping labels: {e.stderr or e}") # noqa: T201
MEDIUMtools/infra-scripts/clitools/toolbox/pod.py215 print(f"Error annotating pod: {e.stderr or e}") # noqa: T201
LOWtools/infra-scripts/clitools/toolbox/pod.py244 except Exception as e:
MEDIUMtools/infra-scripts/clitools/toolbox/pod.py245 print(f"Error claiming pod: {e}") # noqa: T201
MEDIUMtools/infra-scripts/clitools/toolbox/kubernetes.py33 print(f"Error getting kubernetes contexts: {e}") # noqa: T201
MEDIUMtools/infra-scripts/clitools/toolbox/kubernetes.py43 print(f"Error getting current kubernetes context: {e}") # noqa: T201
MEDIUMtools/infra-scripts/clitools/toolbox/kubernetes.py59 print(f"Error switching kubernetes context: {e}") # noqa: T201
LOWtools/hogli/src/hogli/lazy_commands.py72 except Exception as exc:
LOWtools/hogli/src/hogli/telemetry.py71 except Exception:
LOWtools/hogli/src/hogli/telemetry.py80 except Exception:
LOWtools/hogli/src/hogli/telemetry.py224 except Exception as exc:
MEDIUMtools/hogli/src/hogli/telemetry.py68def _load_config() -> TelemetryConfig:
LOWtools/hogli/src/hogli/cli.py78 except Exception:
LOWtools/hogli/src/hogli/cli.py529 except Exception:
LOWtools/hogli/src/hogli/cli.py583 except Exception:
LOWtools/hogli/src/hogli/cli.py592 except Exception:
LOWtools/pr-approval-agent/dismiss_check.py220 except Exception as e:
MEDIUMtools/pr-approval-agent/dismiss_check.py211def main() -> None:
LOWtools/pr-approval-agent/review_pr.py363 except Exception as e:
LOWtools/hogli-commands/hogli_commands/metabase.py119 except Exception as exc:
LOWtools/hogli-commands/hogli_commands/db_schema.py136 except Exception:
LOWtools/hogli-commands/hogli_commands/db_schema.py197 except Exception as exc:
LOWtools/hogli-commands/hogli_commands/db_schema.py201 except Exception as cleanup_exc:
LOWtools/hogli-commands/hogli_commands/db_schema.py503 except Exception:
LOWtools/hogli-commands/hogli_commands/db_schema.py564 except Exception as exc:
LOWtools/hogli-commands/hogli_commands/db_schema.py571 except Exception as exc:
LOWtools/hogli-commands/hogli_commands/db_schema.py604 except Exception as exc:
LOWtools/hogli-commands/hogli_commands/db_schema.py622 except Exception as exc:
MEDIUMtools/hogli-commands/hogli_commands/db_schema.py568def _recreate_test_db() -> None:
LOWtools/hogli-commands/hogli_commands/telemetry_props.py42 except Exception:
LOWtools/hogli-commands/hogli_commands/telemetry_props.py55 except Exception:
LOWtools/hogli-commands/hogli_commands/migrations.py329 except Exception as e:
LOWtools/hogli-commands/hogli_commands/migrations.py457 except Exception as e:
LOWtools/hogli-commands/hogli_commands/migrations.py541 except Exception as e:
LOWtools/hogli-commands/hogli_commands/hints.py73 except Exception:
LOWtools/hogli-commands/hogli_commands/hints.py82 except Exception:
LOWtools/hogli-commands/hogli_commands/hints.py104 except Exception:
MEDIUMtools/hogli-commands/hogli_commands/hints.py70def _load_state() -> HintsState:
LOWtools/hogli-commands/hogli_commands/doctor.py1688 except Exception as e:
LOWtools/hogli-commands/hogli_commands/doctor.py1741 except Exception as e:
LOWtools/hogli-commands/hogli_commands/prechecks.py43 except Exception as e:
LOWtools/hogli-commands/hogli_commands/devbox/config.py29 except Exception:
LOWtools/hogli-commands/hogli_commands/devbox/coder.py174 except Exception:
LOWtools/traffic-sim/cli.py490 except Exception as exc:
LOWtools/traffic-sim/cli.py496 except Exception:
LOWtools/traffic-sim/cli.py502 except Exception:
LOWtools/traffic-sim/cli.py507 except Exception:
LOWtools/traffic-sim/cli.py309 except Exception:
LOWtools/traffic-sim/cli.py550 except Exception as exc:
LOWproducts/mcp_store/backend/proxy.py319 except Exception:
LOWproducts/mcp_store/backend/admin.py118 except Exception as e:
LOWproducts/mcp_store/backend/facade/api.py44 except Exception as e:
LOWproducts/mcp_store/backend/presentation/views.py418 except Exception as e:
2650 more matches not shown…
Self-Referential Comments839 hits · 2693 pts
SeverityFileLineSnippet
MEDIUMdocker-compose.dev-full.yml3# This file is the same as `docker-compose.dev.yml` except it boots the services in containers instead of you running th
MEDIUM…rm/us/project-2/team-analytics-platform/terragrunt.hcl2# This file is NOT directly runnable - it provides shared config for child modules.
MEDIUMtools/phrocs/Formula/phrocs.rb4# This file is auto-updated by CI on semver releases. DO NOT EDIT.
MEDIUMtools/hogli-commands/hogli_commands/devenv/generator.py267 # Create a friendly message with config hint
MEDIUMdevenv/intent-map.yaml3# This file defines the domain model for developer environments:
MEDIUM…backend/tests/temporal/destinations/snowflake/utils.py217 # Create a crude mock of the Snowflake API that just stores the queries
MEDIUM…tinations/file_download/test_file_download_activity.py189 # Create a batch export in the DB since BatchExportFileDownload has a FK to it.
MEDIUMproducts/cdp/backend/models/hog_function_template.py93 # Create a SHA256 hash of the content
MEDIUM…ducts/cdp/backend/models/hog_functions/hog_function.py341 # Create a serializer data dictionary from the template
MEDIUM…ducts/cdp/backend/models/hog_functions/hog_function.py353 # Create a mock request with the user
MEDIUMproducts/cdp/backend/api/hog_function.py392 # Create the function with the execution_order
MEDIUMproducts/cdp/backend/api/test/test_plugin.py696 # Create the plugin
MEDIUMproducts/cdp/backend/api/test/test_hog_function.py197 # Create the action referenced in EXAMPLE_FULL
MEDIUMproducts/cdp/backend/api/test/test_hog_function.py1596 # Create a non-transformation function - should not get execution_order
MEDIUMproducts/cdp/backend/api/test/test_hog_function.py2089 # Create a third function
MEDIUMproducts/cdp/backend/api/test/test_hog_function.py2174 # Create a third function
MEDIUMproducts/cdp/backend/api/test/test_hog_function.py2337 # Create a template in the DB
MEDIUMproducts/cdp/backend/api/test/test_hog_function.py2351 # Create a HogFunction with template_id
MEDIUMproducts/cdp/backend/api/test/test_hog_function.py2368 # Create a HogFunction without template_id
MEDIUMproducts/cdp/backend/api/test/test_hog_function.py2450 # Create a hog function
MEDIUM…ts/cdp/backend/api/test/test_hog_function_templates.py48 # Create a webhook template
MEDIUM…ts/cdp/backend/api/test/test_hog_function_templates.py63 # Create a deprecated template
MEDIUM…ts/cdp/backend/api/test/test_hog_function_templates.py94 # Create a site_destination template for filtering tests
MEDIUM…ts/cdp/backend/api/test/test_hog_function_templates.py205 # Create a modified sha of the template
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py608 # Create a new team
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py2527 # Create a flag for testing
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py367 # Create a flag
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py386 # Create a flag
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py653 # Create a flag
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py1307 # Create a team that will be deleted
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py1344 # Create a flag so batch loading succeeds
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py1425 # Create a real flag for the team
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py1448 # Create a real flag for the team
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py1724 # Create a real flag for the team
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py1747 # Create a real flag for the team
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py1782 # Create a real flag for the team
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py1828 # Create a real flag for the team
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py1855 # Create a real flag
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py2105 # Create a real flag
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py2158 # Create a real flag
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py2210 # Create a flag for the team
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py2239 # Create a flag for the team
MEDIUM…ts/feature_flags/backend/test/test_local_evaluation.py231 # Create the context first (this will fire a signal for EvaluationContext.post_save)
MEDIUM…ts/feature_flags/backend/test/test_local_evaluation.py236 # Creating the association should fire the signal
MEDIUM…ts/feature_flags/backend/test/test_local_evaluation.py1004 # Create the circular reference: A -> B -> A
MEDIUM…/api/test/test_feature_flag_require_evaluation_tags.py104 # Create a flag first without the requirement
MEDIUM…/api/test/test_feature_flag_require_evaluation_tags.py175 # Create a flag with evaluation tags
MEDIUM…/api/test/test_feature_flag_require_evaluation_tags.py207 # Create a flag with multiple evaluation tags
MEDIUM…/api/test/test_feature_flag_require_evaluation_tags.py242 # Create a flag without evaluation tags (before requirement was enabled)
MEDIUM…/api/test/test_feature_flag_require_evaluation_tags.py273 # Create a flag with evaluation tags
MEDIUM…eature_flags/backend/api/test/test_scheduled_change.py16 # Create a feature flag to schedule changes for
MEDIUM…eature_flags/backend/api/test/test_scheduled_change.py47 # Create a feature flag
MEDIUM…eature_flags/backend/api/test/test_scheduled_change.py77 # Create a feature flag
MEDIUM…ags/backend/api/test/test_organization_feature_flag.py892 # Create a flag with encrypted payloads
MEDIUM…ags/backend/api/test/test_organization_feature_flag.py946 # Create a flag with encrypted payloads
MEDIUM…ags/backend/api/test/test_organization_feature_flag.py1210 # Create a pending schedule
MEDIUM…ags/backend/api/test/test_organization_feature_flag.py1221 # Create an already executed schedule
MEDIUM…kend/api/test/test_feature_flag_dependency_deletion.py229 # Create a new team
MEDIUM…end/api/test/test_feature_flag_dependency_disabling.py228 # Create a new team
MEDIUM…end/api/test/test_feature_flag_dependency_disabling.py395 # Create a disabled flag
779 more matches not shown…
Unused Imports2156 hits · 1990 pts
SeverityFileLineSnippet
LOWtools/test_test_selection_verdict.py1
LOWtools/test_selection_verdict.py15
LOWtools/test_snob_backend_test_selection_shadow.py1
LOWtools/snob_backend_test_selection_shadow.py29
LOWtools/phrocs/mcp_server.py12
LOW…ts/clickhouse-multinode/verify-multinode-clickhouse.py22
LOWtools/hogli/tests/test_migrations.py3
LOWtools/hogli/tests/test_manifest.py3
LOWtools/hogli/tests/test_command_types.py3
LOWtools/hogli/tests/test_validate.py3
LOWtools/hogli/tests/test_cli.py3
LOWtools/hogli/tests/test_telemetry.py3
LOWtools/hogli/scripts/generate_man_page.py4
LOWtools/hogli/src/hogli/hooks.py9
LOWtools/hogli/src/hogli/lazy_commands.py3
LOWtools/hogli/src/hogli/manifest.py3
LOWtools/hogli/src/hogli/telemetry.py17
LOWtools/hogli/src/hogli/command_types.py3
LOWtools/hogli/src/hogli/validate.py3
LOWtools/hogli/src/hogli/cli.py7
LOWtools/hogli/src/hogli/__main__.py3
LOWtools/hogli-commands/hogli_commands/build.py3
LOWtools/hogli-commands/hogli_commands/ci_insights.py17
LOWtools/hogli-commands/hogli_commands/metabase.py20
LOWtools/hogli-commands/hogli_commands/db_schema.py3
LOWtools/hogli-commands/hogli_commands/telemetry_props.py9
LOW…ls/hogli-commands/hogli_commands/telemetry_commands.py3
LOWtools/hogli-commands/hogli_commands/test_runner.py7
LOWtools/hogli-commands/hogli_commands/migrations.py25
LOWtools/hogli-commands/hogli_commands/hint_hook.py6
LOWtools/hogli-commands/hogli_commands/hints.py13
LOWtools/hogli-commands/hogli_commands/doctor.py1
LOWtools/hogli-commands/hogli_commands/prechecks.py9
LOWtools/hogli-commands/hogli_commands/quickstart.py3
LOWtools/hogli-commands/hogli_commands/devenv/registry.py7
LOWtools/hogli-commands/hogli_commands/devenv/__init__.py13
LOWtools/hogli-commands/hogli_commands/devenv/__init__.py13
LOWtools/hogli-commands/hogli_commands/devenv/__init__.py13
LOWtools/hogli-commands/hogli_commands/devenv/__init__.py13
LOWtools/hogli-commands/hogli_commands/devenv/__init__.py13
LOWtools/hogli-commands/hogli_commands/devenv/__init__.py13
LOWtools/hogli-commands/hogli_commands/devenv/__init__.py21
LOWtools/hogli-commands/hogli_commands/devenv/__init__.py21
LOWtools/hogli-commands/hogli_commands/devenv/__init__.py21
LOWtools/hogli-commands/hogli_commands/devenv/__init__.py22
LOWtools/hogli-commands/hogli_commands/devenv/__init__.py22
LOWtools/hogli-commands/hogli_commands/devenv/__init__.py22
LOWtools/hogli-commands/hogli_commands/devenv/__init__.py23
LOWtools/hogli-commands/hogli_commands/devenv/wizard.py6
LOWtools/hogli-commands/hogli_commands/devenv/generator.py7
LOWtools/hogli-commands/hogli_commands/devenv/cli.py6
LOWtools/hogli-commands/hogli_commands/devenv/resolver.py13
LOW…s/hogli-commands/hogli_commands/tests/test_detached.py1
LOWtools/hogli-commands/hogli_commands/tests/test_hints.py1
LOW…li-commands/hogli_commands/tests/test_workflow_lint.py9
LOW…ols/hogli-commands/hogli_commands/tests/test_devenv.py3
LOW…ogli-commands/hogli_commands/tests/test_ci_insights.py1
LOW…ols/hogli-commands/hogli_commands/tests/test_devbox.py3
LOW…s/hogli-commands/hogli_commands/tests/test_metabase.py1
LOWtools/hogli-commands/hogli_commands/tests/test_build.py3
2096 more matches not shown…
Cross-File Repetition316 hits · 1580 pts
SeverityFileLineSnippet
HIGHproducts/batch_exports/backend/service.py0needed for backwards compatibility with existing batch exports. todo: remove once all existing backfills are finished.
HIGHproducts/batch_exports/backend/service.py0needed for backwards compatibility with existing batch exports. todo: remove once all existing backfills are finished.
HIGHproducts/batch_exports/backend/service.py0needed for backwards compatibility with existing batch exports. todo: remove once all existing backfills are finished.
HIGH…s/batch_exports/backend/temporal/record_batch_model.py0produce a printed query and any necessary clickhouse query parameters.
HIGH…s/batch_exports/backend/temporal/record_batch_model.py0produce a printed query and any necessary clickhouse query parameters.
HIGH…s/batch_exports/backend/temporal/record_batch_model.py0produce a printed query and any necessary clickhouse query parameters.
HIGH…s/batch_exports/backend/temporal/record_batch_model.py0produce a printed query and any necessary clickhouse query parameters.
HIGH…ch_exports/backend/temporal/pipeline/internal_stage.py0delete all objects in bucket_name under key_prefix.
HIGH…ducts/batch_exports/backend/tests/temporal/utils/s3.py0delete all objects in bucket_name under key_prefix.
HIGH…temporal/tests/external_data/test_external_data_job.py0delete all objects in bucket_name under key_prefix.
HIGHposthog/api/test/batch_exports/test_test.py0delete all objects in bucket_name under key_prefix.
HIGH…atch_exports/backend/tests/temporal/test_monitoring.py0provide a batch export for tests, not intended to be used.
HIGH…orts/backend/tests/temporal/test_batch_export_utils.py0provide a batch export for tests, not intended to be used.
HIGH…rts/backend/tests/temporal/pipeline/test_entrypoint.py0provide a batch export for tests, not intended to be used.
HIGH…/tests/temporal/destinations/base_destination_tests.py0create a test integration (for those destinations that require an integration)
HIGH…/tests/temporal/destinations/base_destination_tests.py0create a test integration (for those destinations that require an integration)
HIGH…ests/temporal/destinations/databricks/test_workflow.py0create a test integration (for those destinations that require an integration)
HIGH…rts/backend/tests/temporal/destinations/s3/conftest.py0manage an s3 client to interact with a minio bucket. yields the client after creating a bucket. upon resuming, we delete
HIGH…/temporal/destinations/redshift/test_redshift_utils.py0manage an s3 client to interact with a minio bucket. yields the client after creating a bucket. upon resuming, we delete
HIGH…sts/api/destination_tests/test_s3_destination_tests.py0manage an s3 client to interact with a minio bucket. yields the client after creating a bucket. upon resuming, we delete
HIGHposthog/temporal/tests/data_imports/conftest.py0manage an s3 client to interact with a minio bucket. yields the client after creating a bucket. upon resuming, we delete
HIGHposthog/temporal/tests/data_imports/test_end_to_end.py0manage an s3 client to interact with a minio bucket. yields the client after creating a bucket. upon resuming, we delete
HIGH…temporal/tests/external_data/test_external_data_job.py0manage an s3 client to interact with a minio bucket. yields the client after creating a bucket. upon resuming, we delete
HIGHposthog/api/test/batch_exports/test_test.py0manage an s3 client to interact with a minio bucket. yields the client after creating a bucket. upon resuming, we delete
HIGH…ckend/tests/temporal/destinations/bigquery/conftest.py0return a bigquery configuration dictionary to use in tests.
HIGH…i/destination_tests/test_bigquery_destination_tests.py0return a bigquery configuration dictionary to use in tests.
HIGH…og/temporal/tests/data_imports/test_bigquery_source.py0return a bigquery configuration dictionary to use in tests.
HIGHposthog/api/test/batch_exports/test_test.py0return a bigquery configuration dictionary to use in tests.
HIGH…ckend/tests/temporal/destinations/bigquery/conftest.py0manage a bigquery dataset for testing. we clean up the dataset after every test. could be quite time expensive, but guar
HIGH…i/destination_tests/test_bigquery_destination_tests.py0manage a bigquery dataset for testing. we clean up the dataset after every test. could be quite time expensive, but guar
HIGH…og/temporal/tests/data_imports/test_bigquery_source.py0manage a bigquery dataset for testing. we clean up the dataset after every test. could be quite time expensive, but guar
HIGH…ch_exports/backend/api/destination_tests/azure_blob.py0sequence of test steps that make up this destination test.
HIGH…atch_exports/backend/api/destination_tests/bigquery.py0sequence of test steps that make up this destination test.
HIGH…tch_exports/backend/api/destination_tests/snowflake.py0sequence of test steps that make up this destination test.
HIGH…ch_exports/backend/api/destination_tests/databricks.py0sequence of test steps that make up this destination test.
HIGH…ucts/batch_exports/backend/api/destination_tests/s3.py0sequence of test steps that make up this destination test.
HIGH…tch_exports/backend/api/destination_tests/snowflake.py0internal method with execution logic for test step.
HIGH…tch_exports/backend/api/destination_tests/snowflake.py0internal method with execution logic for test step.
HIGH…tch_exports/backend/api/destination_tests/snowflake.py0internal method with execution logic for test step.
HIGH…kend/api/test/test_feature_flag_dependency_deletion.py0helper to create a flag with optional dependencies.
HIGH…end/api/test/test_feature_flag_dependency_disabling.py0helper to create a flag with optional dependencies.
HIGHposthog/api/test/test_circular_dependency_detection.py0helper to create a flag with optional dependencies.
HIGH…ogql_queries/marketing_analytics_table_query_runner.py0execute the query and return results with pagination support
HIGH…ogql_queries/marketing_analytics_table_query_runner.py0execute the query and return results with pagination support
HIGH…ogql_queries/marketing_analytics_table_query_runner.py0execute the query and return results with pagination support
HIGHproducts/error_tracking/backend/embedding.py0create materialized view if not exists {mv_name} to {target_table} as select team_id, product, document_type, model_name
HIGHproducts/error_tracking/backend/embedding.py0create materialized view if not exists {mv_name} to {target_table} as select team_id, product, document_type, model_name
HIGHproducts/error_tracking/backend/indexed_embedding.py0create materialized view if not exists {mv_name} to {target_table} as select team_id, product, document_type, model_name
HIGHproducts/tasks/backend/services/sandbox.py0return the url for connecting to the agent server, or none if not available.
HIGHproducts/tasks/backend/services/modal_sandbox.py0return the url for connecting to the agent server, or none if not available.
HIGHproducts/tasks/backend/services/docker_sandbox.py0return the url for connecting to the agent server, or none if not available.
HIGH…ts/data_warehouse/backend/models/test/test_modeling.py0\ select events.event, persons.properties from events left join persons on events.person_id = persons.id where events.ev
HIGH…ts/data_warehouse/backend/models/test/test_modeling.py0\ select events.event, persons.properties from events left join persons on events.person_id = persons.id where events.ev
HIGH…ts/data_warehouse/backend/models/test/test_modeling.py0\ select events.event, persons.properties from events left join persons on events.person_id = persons.id where events.ev
HIGH…ts/data_warehouse/backend/models/test/test_modeling.py0\ select events.event, persons.properties from events left join persons on events.person_id = persons.id where events.ev
HIGH…ts/data_warehouse/backend/models/test/test_modeling.py0\ select events.event, persons.properties from events left join persons on events.person_id = persons.id where events.ev
HIGH…ducts/data_warehouse/backend/api/test/test_modeling.py0\ select events.event, persons.properties from events left join persons on events.person_id = persons.id where events.ev
HIGHproducts/data_warehouse/backend/api/test/conftest.py0clean up any temporal schedules created during the test.
HIGH…/data_warehouse/backend/data_load/test/test_service.py0clean up any temporal schedules created during the test.
HIGH…nt/commands/test/test_update_batch_export_schedules.py0clean up any temporal schedules created during the test.
256 more matches not shown…
Deep Nesting1587 hits · 1417 pts
SeverityFileLineSnippet
LOWtools/test_selection_verdict.py47
LOWtools/test_selection_verdict.py156
LOWtools/snob_backend_test_selection_shadow.py177
LOWtools/snob_backend_test_selection_shadow.py403
LOWtools/infra-scripts/clitools/test_toolbox.py828
LOWtools/infra-scripts/clitools/test_toolbox.py1207
LOWtools/infra-scripts/clitools/test_toolbox.py836
LOWtools/infra-scripts/clitools/toolbox.py60
LOWtools/infra-scripts/clitools/toolbox/pod.py28
LOWtools/infra-scripts/clitools/toolbox/pod.py141
LOWtools/hogli/src/hogli/command_types.py337
LOWtools/hogli/src/hogli/command_types.py402
LOWtools/hogli/src/hogli/cli.py229
LOWtools/hogli/src/hogli/cli.py443
LOWtools/pr-approval-agent/gates.py378
LOWtools/pr-approval-agent/reviewer.py215
LOWtools/pr-approval-agent/reviewer.py333
LOWtools/pr-approval-agent/review_pr.py344
LOWtools/pr-approval-agent/github.py149
LOWtools/hogli-commands/hogli_commands/metabase.py67
LOWtools/hogli-commands/hogli_commands/metabase.py176
LOWtools/hogli-commands/hogli_commands/db_schema.py301
LOWtools/hogli-commands/hogli_commands/db_schema.py335
LOWtools/hogli-commands/hogli_commands/test_runner.py63
LOWtools/hogli-commands/hogli_commands/test_runner.py391
LOWtools/hogli-commands/hogli_commands/test_runner.py583
LOWtools/hogli-commands/hogli_commands/test_runner.py618
LOWtools/hogli-commands/hogli_commands/migrations.py97
LOWtools/hogli-commands/hogli_commands/migrations.py503
LOWtools/hogli-commands/hogli_commands/migrations.py546
LOWtools/hogli-commands/hogli_commands/migrations.py683
LOWtools/hogli-commands/hogli_commands/migrations.py787
LOWtools/hogli-commands/hogli_commands/doctor.py289
LOWtools/hogli-commands/hogli_commands/doctor.py734
LOWtools/hogli-commands/hogli_commands/doctor.py882
LOWtools/hogli-commands/hogli_commands/doctor.py1401
LOWtools/hogli-commands/hogli_commands/doctor.py1530
LOWtools/hogli-commands/hogli_commands/prechecks.py15
LOWtools/hogli-commands/hogli_commands/devenv/wizard.py148
LOWtools/hogli-commands/hogli_commands/devenv/generator.py415
LOWtools/hogli-commands/hogli_commands/devenv/generator.py115
LOWtools/hogli-commands/hogli_commands/product/checks.py229
LOWtools/hogli-commands/hogli_commands/product/checks.py382
LOW…s/hogli-commands/hogli_commands/product/ast_helpers.py23
LOW…s/hogli-commands/hogli_commands/product/ast_helpers.py35
LOW…s/hogli-commands/hogli_commands/product/ast_helpers.py105
LOW…s/hogli-commands/hogli_commands/product/ast_helpers.py121
LOW…s/hogli-commands/hogli_commands/product/ast_helpers.py161
LOW…s/hogli-commands/hogli_commands/product/ast_helpers.py198
LOW…s/hogli-commands/hogli_commands/product/ast_helpers.py220
LOWtools/hogli-commands/hogli_commands/product/maturity.py143
LOWtools/hogli-commands/hogli_commands/product/maturity.py219
LOWtools/hogli-commands/hogli_commands/product/maturity.py894
LOWtools/hogli-commands/hogli_commands/devbox/coder.py921
LOWtools/hogli-commands/hogli_commands/devbox/coder.py1059
LOW…/hogli_commands/workflow_lint/checks/dorny_negation.py33
LOWtools/traffic-sim/cli.py268
LOWtools/traffic-sim/cli.py456
LOWtools/traffic-sim/cli.py512
LOWtools/traffic-sim/cli.py184
1527 more matches not shown…
Hallucination Indicators95 hits · 965 pts
SeverityFileLineSnippet
CRITICALtest-runner-jest-environment.js17 const parentName = event.test.parent.parent.name.replace(/\W/g, '-').toLowerCase()
CRITICAL…rc/ingestion/session_replay/parse-message-step.test.ts421 expect(result.value.parsedMessage.eventsRange.start.toMillis()).toBe(fixedTimeMs)
CRITICAL…rc/ingestion/session_replay/parse-message-step.test.ts422 expect(result.value.parsedMessage.eventsRange.end.toMillis()).toBe(fixedTimeMs + 5000)
CRITICAL…rc/ingestion/session_replay/parse-message-step.test.ts497 expect(result.value.parsedMessage.eventsRange.start.toMillis()).toBe(sixDaysInPast)
CRITICAL…rc/ingestion/session_replay/parse-message-step.test.ts498 expect(result.value.parsedMessage.eventsRange.end.toMillis()).toBe(sixDaysInFuture)
CRITICAL…/session-replay/recording-rasterizer/temporal/codec.ts42 data: this.encrypt(temporal.api.common.v1.Payload.encode(p).finish()),
CRITICAL…/session-replay/recording-rasterizer/temporal/codec.ts54 return temporal.api.common.v1.Payload.decode(decrypted)
CRITICAL…ckend/temporal/destinations/azure_blob_batch_export.py7from azure.core.exceptions import HttpResponseError
CRITICAL…/destinations/azure_blob/test_workflow_error_states.py9from azure.core.exceptions import ClientAuthenticationError, ResourceNotFoundError
CRITICAL…ch_exports/backend/api/destination_tests/azure_blob.py37 from azure.core.exceptions import ClientAuthenticationError, ResourceNotFoundError, ServiceRequestError
CRITICALproducts/cdp/backend/models/hook.py3from django.core.exceptions import ValidationError
CRITICALproducts/cdp/backend/api/hooks.py4from django.core.exceptions import ValidationError
CRITICALproducts/feature_flags/backend/models/feature_flag.py7from django.core.exceptions import ValidationError
CRITICAL…ics/backend/models/marketing_analytics_goal_mapping.py1from django.core.exceptions import ValidationError
CRITICAL…ckend/hogql_queries/test_marketing_analytics_config.py4from django.core.exceptions import ValidationError
CRITICAL…alytics/backend/hogql_queries/adapters/test_factory.py7from django.core.exceptions import ValidationError
CRITICAL…end/hogql_queries/error_tracking_query_runner_utils.py5from django.core.exceptions import ValidationError
CRITICAL…ackend/hogql_queries/error_tracking_query_runner_v3.py4from django.core.exceptions import ValidationError
CRITICALproducts/tasks/backend/models.py21from django.core.exceptions import ValidationError
CRITICAL…k/activities/tests/test_get_task_processing_context.py4from django.core.exceptions import ValidationError
CRITICALproducts/tasks/backend/tests/test_models.py9from django.core.exceptions import ValidationError
CRITICALproducts/user_interviews/backend/max_tools.py5from django.core.exceptions import ValidationError as DjangoValidationError
CRITICALproducts/user_interviews/backend/presentation/views.py8from django.core.exceptions import ValidationError as DjangoValidationError
CRITICAL…tics/backend/hogql_queries/paths/paths_query_runner.py730 table.select_from.table.select_from.table.select.extend( # type: ignore[union-attr]
CRITICAL…a_modeling/backend/models/datawarehouse_saved_query.py8from django.core.exceptions import ValidationError
CRITICAL…ducts/data_modeling/backend/models/github_sync_plan.py1from django.core.exceptions import ValidationError
CRITICALproducts/alerts/backend/max_tools.py4from django.core.exceptions import ValidationError
CRITICALproducts/alerts/backend/models/alert.py6from django.core.exceptions import ValidationError
CRITICALproducts/web_analytics/backend/api/heatmaps_api.py5from django.core.exceptions import FieldError
CRITICALproducts/logs/backend/models.py7from django.core.exceptions import ValidationError
CRITICALproducts/logs/backend/test/test_models.py6from django.core.exceptions import ValidationError
CRITICAL…ucts/customer_analytics/backend/models/account_test.py6from django.core.exceptions import ValidationError as DjangoValidationError
CRITICALproducts/customer_analytics/backend/models/account.py4from django.core.exceptions import ValidationError
CRITICALproducts/dashboards/backend/models/dashboard_tile.py1from django.core.exceptions import ValidationError
CRITICALproducts/dashboards/backend/api/dashboard.py12from django.core.exceptions import ValidationError as DjangoValidationError
CRITICALproducts/legal_documents/backend/admin.py5from django.core.exceptions import ValidationError
CRITICALproducts/legal_documents/backend/tests/test_admin.py7from django.core.exceptions import ValidationError
CRITICALproducts/legal_documents/backend/presentation/views.py4from django.core.exceptions import ValidationError as DjangoValidationError
CRITICAL…ai_observability/backend/models/model_configuration.py1from django.core.exceptions import ValidationError
CRITICALproducts/ai_observability/backend/models/evaluations.py1from django.core.exceptions import ValidationError
CRITICALproducts/ai_observability/backend/models/taggers.py3from django.core.exceptions import ValidationError
CRITICAL…_observability/backend/models/test/test_evaluations.py4from django.core.exceptions import ValidationError
CRITICAL…s/ai_observability/backend/models/test/test_taggers.py4from django.core.exceptions import ValidationError
CRITICALproducts/business_knowledge/backend/api/views.py6from django.core.exceptions import ValidationError as DjangoValidationError
CRITICALproducts/notebooks/backend/models.py1from django.core.exceptions import ValidationError
CRITICAL…nd/src/scenes/experiments/experimentSceneLogic.test.ts68 mockModule.experimentLogic.__logic.actions.loadExperiment.mockClear()
CRITICAL…nd/src/scenes/experiments/experimentSceneLogic.test.ts69 mockModule.experimentLogic.__logic.actions.loadExposures.mockClear()
CRITICAL…nd/src/scenes/experiments/experimentSceneLogic.test.ts117 mockModule.experimentLogic.__logic.actions.loadExperiment.mockClear()
CRITICALee/hogai/chat_agent/rag/nodes.py9from azure.core.exceptions import HttpResponseError as AzureHttpResponseError
CRITICALee/hogai/session_summaries/session/summarize_session.py256 session_start_time_str=summary_data.prompt_data.prompt_data.metadata.start_time.isoformat(),
CRITICALee/api/conversation.py8from django.core.exceptions import ValidationError
CRITICALee/api/authentication.py4from django.core.exceptions import ValidationError as DjangoValidationError
CRITICALee/api/test/test_authentication.py12from django.core.exceptions import ValidationError
CRITICALee/api/agentic_provisioning/views.py18from django.core.exceptions import ValidationError
CRITICALrust/personhog-router/src/backend/leader.rs360 /// These values must match `org.apache.kafka.common.utils.Utils.murmur2()`
CRITICALdocs/onboarding/logs/java.tsx87 io.opentelemetry.api.common.Attributes.of(
CRITICALposthog/auth.py16from django.core.exceptions import ValidationError
CRITICALposthog/demo/products/hedgebox/matrix.py11from django.core.exceptions import ValidationError
CRITICAL…sts/session_replay/export_recording/test_activities.py84 mock_qs.select_related.return_value.only.return_value.aget.assert_called_once_with(id=TEST_RECORDING_ID)
CRITICALposthog/temporal/tests/ai/test_sync_vectors.py922 from azure.core.exceptions import ClientAuthenticationError
35 more matches not shown…
Over-Commented Block935 hits · 884 pts
SeverityFileLineSnippet
LOWdocker-compose.multinode-clickhouse.yml1#
LOWdocker-compose.dev.yml1#
LOWdocker-compose.sandbox.yml1#
LOWdocker-compose.profiles.yml1# Docker Compose profile overlay — historical backwards-compatibility layer.
LOW…analytics-platform/dashboard-key-metrics/dashboards.tf1# =============================================================================
LOW…eam-analytics-platform/dashboard-key-metrics/alerts.tf1# =============================================================================
LOWnodejs/src/ingestion/ingestion-consumer.test.ts1061 // createEvent({
LOWnodejs/src/ingestion/ingestion-e2e.test.ts1741 // const testName = DateTime.now().toFormat('yyyy-MM-dd-HH-mm-ss')
LOWnodejs/src/ingestion/ingestion-e2e.test.ts1761 // .withProperties({
LOWnodejs/src/ingestion/ingestion-e2e.test.ts1781 // .withProperties({
LOWnodejs/src/ingestion/ingestion-e2e.test.ts1801 // alias: user3DistinctId,
LOWnodejs/src/ingestion/ingestion-e2e.test.ts1821 // expect(persons.length).toBe(1)
LOWnodejs/src/ingestion/ingestion-e2e.test.ts1841 // )
LOWnodejs/src/ingestion/ingestion-e2e.test.ts1861 // const events = [
LOWnodejs/src/ingestion/ingestion-e2e.test.ts1881 // .build(),
LOWnodejs/src/ingestion/ingestion-e2e.test.ts1901 // .build(),
LOWnodejs/src/ingestion/ingestion-e2e.test.ts1921
LOWnodejs/src/ingestion/ingestion-e2e.test.ts1941 // expect.objectContaining({
LOWnodejs/src/ingestion/ingestion-e2e.test.ts1961 // } as InternalPerson)
LOWnodejs/src/ingestion/ingestion-e2e.test.ts1981 // anon_distinct_id: user2DistinctId,
LOWnodejs/src/ingestion/ingestion-e2e.test.ts2001 // .withEvent('$create_alias')
LOWnodejs/src/ingestion/ingestion-e2e.test.ts2021 // .withEvent('$identify')
LOWnodejs/src/ingestion/ingestion-e2e.test.ts2041
LOWnodejs/src/ingestion/ingestion-e2e.test.ts2061 // email: `user1-${user1DistinctId}@example.com`,
LOWnodejs/src/ingestion/ai/costs/input-costs.test.ts1181 const result = calculateInputCost(event, vercelAnthropicAudioModel)
LOWnodejs/src/utils/utils.ts281 // 4 bits for ver = 0b111 (7)
LOWnodejs/src/common/redis/redis-token-bucket-v3.lua.ts1import { Redis } from 'ioredis'
LOWnodejs/src/api/router.ts61 )
LOWnodejs/src/api/router.ts81 // return a 503 status code, otherwise we return a 200 status code.
LOWnodejs/src/logs-ingestion/sampling-drop-probe-curl.sh1#!/usr/bin/env bash
LOW…dejs/src/logs-ingestion/sampling-seed-services-curl.sh1#!/usr/bin/env bash
LOW…s/src/worker/ingestion/persons/person-merge-service.ts221 // https://github.com/PostHog/posthog/blob/92e17ce307a577c4233d4ab252eebc6c2207a5ee/posthog/models/person/sql.
LOW…s/src/worker/ingestion/persons/person-merge-service.ts301 // We were the first to insert both (neither was used for Personless), so we
LOW…s/src/worker/ingestion/persons/person-merge-service.ts461 currentTargetPerson,
LOWnodejs/src/servers/ingestion-api-server.ts401 const batch = messages.map((message) => createOkContext({ message }, { message }))
LOWtools/phrocs/main.go1// phrocs is a PostHog-branded dev process runner built with Bubble Tea.
LOWtools/phrocs/internal/ipc/server.go1// Package ipc exposes phrocs process data over a Unix domain socket so
LOWtools/phrocs/internal/ipc/server.go21// {"cmd":"focus","process":"web"}
LOWtools/infra-scripts/mcp/mcp-grafana-wrapper.sh1#!/usr/bin/env bash
LOWtools/infra-scripts/clitools/toolbox.py141 # Calculate duration
LOWtools/hedgebox-dummy/next-env.d.ts1/// <reference types="next" />
LOW…s/hogli-commands/hogli_commands/product_structure.yaml1# Canonical product structure definition
LOWtools/hogli-commands/hogli_commands/devbox/coder.py61# Key of the workspace metadata item the template publishes the region back as.
LOWdevenv/intent-map.yaml1# Intent-based developer environment configuration
LOWproducts/slack_app/backend/api.py501 )
LOWproducts/metrics/backend/models.py1"""Django models for metrics."""
LOWproducts/batch_exports/backend/temporal/spmc.py681 )
LOW…ackend/temporal/destinations/snowflake_batch_export.py81 "DatabaseError",
LOW…backend/temporal/destinations/redshift_batch_export.py81 # This can also happen when merging tables with a different number of columns:
LOW…backend/temporal/destinations/postgres_batch_export.py101 # Raised when the database doesn't support a particular feature we use.
LOWproducts/feature_flags/backend/flag_status.py21
LOWproducts/feature_flags/backend/api/feature_flag.py3881 status=status.HTTP_500_INTERNAL_SERVER_ERROR,
LOWproducts/tracing/backend/models.py1"""Django models for tracing."""
LOWproducts/tracing/backend/facade/api.py21#
LOWproducts/mcp_analytics/backend/logic.py61)
LOWproducts/tasks/backend/temporal/constants.py41# a signal as lost and re-forwarding it. The child dedupes on `ack_id`, so a
LOW…cts/tasks/backend/temporal/execute_sandbox/workflow.py101# Names of signals this workflow sends back to the TaskManagement parent. Kept
LOW…oducts/tasks/backend/temporal/process_task/workflow.py101# The PR-context guard inserted a new `get_pr_context` activity before the
LOW…s/backend/temporal/process_task/tests/test_followup.py541 async def test_ci_follow_up_fires_on_changed_fingerprint_and_persists(self):
LOWproducts/data_tools/backend/models/join.py161 "properties": ["properties"],
875 more matches not shown…
Verbosity Indicators358 hits · 604 pts
SeverityFileLineSnippet
LOW…c/cdp/consumers/cdp-cohort-membership.consumer.test.ts100 // Step 1: Person enters the cohort
LOW…c/cdp/consumers/cdp-cohort-membership.consumer.test.ts126 // Step 2: Person leaves the cohort
LOW…c/cdp/consumers/cdp-cohort-membership.consumer.test.ts154 // Step 3: Person re-enters the cohort
LOW…rc/cdp/consumers/cdp-precalculated-filters.consumer.ts180 // Step 1: Parse all messages and group by team_id
LOW…rc/cdp/consumers/cdp-precalculated-filters.consumer.ts205 // Step 2: Fetch all realtime supported filters for all teams in one query
LOW…rc/cdp/consumers/cdp-precalculated-filters.consumer.ts209 // Step 3: Process each team's events with their realtime supported filters
LOW…cdp/services/hogflows/hogflow-executor.service.test.ts560 // Step 1: run first action (function_id_1)
LOW…cdp/services/hogflows/hogflow-executor.service.test.ts579 // Step 2: run again, should NOT exit early due to exit_only_at_end
LOW…ejs/src/ingestion/pipelines/docs/12-filter-map.test.ts64 // Step 1: Resolve team from teamId (some lookups may fail)
LOW…ejs/src/ingestion/pipelines/docs/12-filter-map.test.ts81 // Step 2: Process event (runs within teamAware context)
LOW…utils/overflow-redirect/main-lane-overflow-redirect.ts83 // Step 1: Check local cache (stateful only)
LOW…utils/overflow-redirect/main-lane-overflow-redirect.ts107 // Step 2: Batch check Redis for cache misses using MGET (stateful only)
LOW…utils/overflow-redirect/main-lane-overflow-redirect.ts138 // Step 3: Check rate limiter for unflagged keys
LOW…utils/overflow-redirect/main-lane-overflow-redirect.ts156 // Step 4: Batch flag newly rate-limited keys in Redis (stateful only)
LOWnodejs/src/ingestion/ai/errors/normalize-error.ts15// Step 1: UUIDs and request IDs (e.g., req_abc123, 550e8400-e29b-41d4-a716-446655440000)
LOWnodejs/src/ingestion/ai/errors/normalize-error.ts18// Step 2: ISO timestamps (e.g., 2025-11-08T14:25:51.767Z)
LOWnodejs/src/ingestion/ai/errors/normalize-error.ts21// Step 3: Cloud resource paths (e.g., projects/123/locations/us-west2/publishers/google/models/gemini-pro)
LOWnodejs/src/ingestion/ai/errors/normalize-error.ts24// Step 4: ResponseId JSON fields (e.g., "responseId":"h2sPacmZI4OWvPEPvIS16Ac")
LOWnodejs/src/ingestion/ai/errors/normalize-error.ts27// Step 5: Generic JSON "id" fields (e.g., "id": "oJf6eVw-z1gNr-99c2d11d156dff07")
LOWnodejs/src/ingestion/ai/errors/normalize-error.ts36// Step 7: Function call IDs (e.g., function call call_edLiisyOJybNZLouC6MCNxyC)
LOWnodejs/src/ingestion/ai/errors/normalize-error.ts39// Step 8: User IDs (e.g., 'user_id': 'user_32yQoBNWxpvzxVJG0S0zxnnVSCJ')
LOWnodejs/src/ingestion/ai/errors/normalize-error.ts43// Step 9: Memory object IDs / hex addresses (e.g., 0xfffced405130)
LOWnodejs/src/ingestion/ai/errors/normalize-error.ts46// Step 10: Generic id='xxx' patterns (case insensitive)
LOWnodejs/src/ingestion/ai/errors/normalize-error.ts49// Step 11: Token counts (e.g., "tokenCount":7125 or "tokenCount": 7125)
LOWnodejs/src/ingestion/ai/errors/normalize-error.ts52// Step 12: Large numeric IDs (9+ digits, e.g., project IDs like 1234567890)
LOWnodejs/src/ingestion/ai/errors/normalize-error.ts55// Step 13: All remaining numbers
LOWnodejs/src/ingestion/ai/errors/normalize-error.ts58// Step 14: Multiple whitespace
LOW…r/ingestion/persons/batch-writing-person-store.test.ts1261 // Step 1: Cache the target person (simulating fetchForUpdate)
LOW…r/ingestion/persons/batch-writing-person-store.test.ts1268 // Step 2: Update target person with merged properties (simulating updatePersonForMerge)
LOW…r/ingestion/persons/batch-writing-person-store.test.ts1295 // Step 3: moveDistinctIds - this should preserve the merged cache
LOW…r/ingestion/persons/batch-writing-person-store.test.ts1304 // Step 4: Verify that cached merged properties are preserved
LOW…r/ingestion/persons/batch-writing-person-store.test.ts1436 // Step 1: Cache target person
LOW…r/ingestion/persons/batch-writing-person-store.test.ts1443 // Step 2: Multiple merge operations
LOW…r/ingestion/persons/batch-writing-person-store.test.ts1467 // Step 3: moveDistinctIds
LOW…r/ingestion/persons/batch-writing-person-store.test.ts1475 // Step 4: Verify all merged properties are preserved
LOWtools/hogli-commands/hogli_commands/migrations.py854 # Step 1: Roll back orphaned migrations
LOWtools/hogli-commands/hogli_commands/migrations.py876 # Step 2: Apply pending
LOWtools/hogli-commands/hogli_commands/doctor.py607 # Step 1: Prune stale remote branches
LOWtools/hogli-commands/hogli_commands/doctor.py613 # Step 2: Expire old reflogs (keep 30 days for safety)
LOWtools/hogli-commands/hogli_commands/doctor.py619 # Step 3: Run gc --aggressive (this can take 1-2 minutes)
LOWproducts/mcp_store/backend/oauth.py171 # Step 1: Try RFC 9728 Protected Resource Metadata to find the authorization server
LOWproducts/mcp_store/backend/oauth.py193 # Step 2: Fall back to fetching authorization server metadata directly from the origin.
LOW…atch_exports/backend/temporal/backfill_batch_export.py882 # Step 1: Create backfill model with STARTING status
LOW…atch_exports/backend/temporal/backfill_batch_export.py908 # Step 2: Get backfill info (validation + estimation)
LOW…atch_exports/backend/temporal/backfill_batch_export.py926 # Step 3: Update backfill with adjusted start and estimated count
LOW…atch_exports/backend/temporal/backfill_batch_export.py953 # Step 4: Early exit if no data to backfill
LOW…ics/backend/hogql_queries/conversion_goal_processor.py2045 # For ActionsNode, we need to check if this is an action condition
LOW…s/backend/hogql_queries/conversion_goals_aggregator.py38 # Step 1: Generate individual conversion goal queries, parallelised across goals
LOW…s/backend/hogql_queries/conversion_goals_aggregator.py112 # Step 2: UNION ALL the individual queries
LOW…s/backend/hogql_queries/conversion_goals_aggregator.py118 # Step 3: Create final aggregation query that sums all conversion goals
LOW…arehouse/backend/api/test/test_external_data_source.py3655 # Step 1: GET the source (simulating user opening the config page)
LOW…arehouse/backend/api/test/test_external_data_source.py3660 # Step 2: PATCH with the exact data from GET (simulating user saving without changes)
LOW…arehouse/backend/api/test/test_external_data_source.py4681 # Step 1: GET the source - should properly read auth_type and return as auth
LOW…arehouse/backend/api/test/test_external_data_source.py4690 # Step 2: PATCH with the exact data from GET
LOWproducts/endpoints/backend/api.py932 # Step 1: Handle deactivation (disables materialization, prevents any materialization operations)
LOWproducts/endpoints/backend/api.py936 # Step 2: Handle query changes and versioning (independent of active/materialization state)
LOWproducts/endpoints/backend/api.py947 # Step 3: Update version-level fields on target version
LOWproducts/endpoints/backend/api.py968 # Step 4: Handle materialization state (only if endpoint should be active)
LOW…ndpoints/backend/tests/test_insight_response_parity.py127 # Step 1: Execute inline — establish the baseline shape
LOW…ndpoints/backend/tests/test_insight_response_parity.py136 # Step 2: Set up materialization
298 more matches not shown…
Fake / Example Data531 hits · 593 pts
SeverityFileLineSnippet
LOWnodejs/src/cdp/cdp-api.test.ts43 name: 'Jane Doe',
LOWnodejs/src/cdp/cdp-api.test.ts185 "name": "Jane Doe",
LOWnodejs/src/cdp/cdp-api.test.ts480 "name": "Jane Doe",
LOWnodejs/src/cdp/_tests/fixtures-hogflows.ts48 name: 'John Doe',
LOWnodejs/src/cdp/_tests/fixtures-hogflows.ts50 name: 'John Doe',
LOWnodejs/src/cdp/utils/hog-function-filtering.test.ts38 properties: { name: 'Acme Corp' },
LOWnodejs/src/cdp/utils/hog-function-filtering.test.ts69 "name": "Acme Corp",
LOWnodejs/src/cdp/utils/hog-function-filtering.test.ts146 person_properties: JSON.stringify({ name: 'John Doe' }),
LOWnodejs/src/cdp/utils/hog-function-filtering.test.ts155 properties: { name: 'John Doe' },
LOWnodejs/src/cdp/utils/hog-function-filtering.test.ts162 properties: { name: 'John Doe' },
LOWnodejs/src/cdp/utils/hog-function-filtering.test.ts178 group0_properties: JSON.stringify({ name: 'Acme Corp' }),
LOWnodejs/src/cdp/utils/hog-function-filtering.test.ts192 expect(result.group_0).toEqual({ properties: { name: 'Acme Corp' } })
LOWnodejs/src/cdp/consumers/cdp-events-consumer.test.ts1002 { name: 'Acme Inc', industry: 'Tech' },
LOWnodejs/src/cdp/consumers/cdp-events-consumer.test.ts1062 properties: { name: 'Acme Inc', industry: 'Tech' },
LOWnodejs/src/cdp/consumers/cdp-events-consumer.test.ts1097 properties: { name: 'Acme Inc', industry: 'Tech' },
LOW…p/templates/_destinations/unify/unify.template.test.ts95 properties: { company_domain: 'acme.com', company_name: 'Acme Inc' },
LOW…p/templates/_destinations/unify/unify.template.test.ts108 name: 'Acme Inc',
LOW…templates/_destinations/accoil/accoil.template.test.ts35 name: 'John Doe',
LOW…templates/_destinations/accoil/accoil.template.test.ts42 name: 'John Doe',
LOW…templates/_destinations/accoil/accoil.template.test.ts50 user_name: 'John Doe',
LOW…templates/_destinations/accoil/accoil.template.test.ts65 name: 'John Doe',
LOW…templates/_destinations/accoil/accoil.template.test.ts180 name: 'Acme Corp',
LOW…templates/_destinations/accoil/accoil.template.test.ts191 group_name: 'Acme Corp',
LOW…templates/_destinations/accoil/accoil.template.test.ts204 name: 'Acme Corp',
LOW…templates/_destinations/accoil/accoil.template.test.ts412 company: 'Acme Corp',
LOW…templates/_destinations/accoil/accoil.template.test.ts419 user_name: 'John Doe',
LOW…templates/_destinations/accoil/accoil.template.test.ts430 name: 'John Doe',
LOW…templates/_destinations/accoil/accoil.template.test.ts543 name: 'John Doe',
LOW…templates/_destinations/accoil/accoil.template.test.ts546 company: 'Acme Corp',
LOW…templates/_destinations/accoil/accoil.template.test.ts552 user_name: 'John Doe',
LOW…templates/_destinations/accoil/accoil.template.test.ts562 name: 'John Doe',
LOW…templates/_destinations/accoil/accoil.template.test.ts583 name: 'Acme Corp',
LOW…templates/_destinations/accoil/accoil.template.test.ts594 group_name: 'Acme Corp',
LOW…templates/_destinations/accoil/accoil.template.test.ts604 name: 'Acme Corp',
LOW…p/templates/_destinations/klime/klime.template.test.ts170 $group_set: { name: 'Acme Inc' },
LOW…p/templates/_destinations/klime/klime.template.test.ts179 expect(batchEvent.traits).toEqual({ name: 'Acme Inc' })
LOW…p/templates/_destinations/klime/klime.template.test.ts235 $group_set: { name: 'Acme Inc', plan: 'enterprise', $initial_os: 'Mac OS X' },
LOW…p/templates/_destinations/klime/klime.template.test.ts243 expect(parseBatchEvent(response).traits).toEqual({ name: 'Acme Inc', plan: 'enterprise' })
LOW…emplates/_sources/stripe/__tests__/stripe-webhook.json39 "customer_email": "test@test.com",
LOW…tions/hash-properties/hash-properties.template.test.ts41 name: 'John Doe',
LOW…tions/hash-properties/hash-properties.template.test.ts62 expect(result.properties.name).toMatch(sha256('John Doe'))
LOW…tions/hash-properties/hash-properties.template.test.ts69 expect(result.properties.name).not.toBe('John Doe')
LOW…tions/hash-properties/hash-properties.template.test.ts80 name: 'John Doe',
LOW…tions/hash-properties/hash-properties.template.test.ts103 expect(result.properties.$set?.name).toMatch(sha256('John Doe'))
LOW…tions/hash-properties/hash-properties.template.test.ts177 name: 'John Doe',
LOW…tions/hash-properties/hash-properties.template.test.ts196 expect(result.properties.name).toBe('John Doe')
LOW…tions/hash-properties/hash-properties.template.test.ts205 name: 'John Doe',
LOW…tions/hash-properties/hash-properties.template.test.ts224 expect(result.properties.name).toMatch(sha256('John Doe'))
LOW…tions/posthog-anonymization/tests/processEvent.test.ts21 name: 'John Doe',
LOW…cdp/services/batch-export-hog-function.service.test.ts327 { name: 'Acme Inc', industry: 'Tech' },
LOW…cdp/services/batch-export-hog-function.service.test.ts362 properties: { name: 'Acme Inc', industry: 'Tech' },
LOW…cdp/services/batch-export-hog-function.service.test.ts428 { name: 'Acme Inc', industry: 'Tech' },
LOW…cdp/services/batch-export-hog-function.service.test.ts455 group_properties: { name: 'Acme Inc', industry: 'Tech' },
LOW…cdp/services/batch-export-hog-function.service.test.ts508 properties: { name: 'Acme Inc', industry: 'Tech' },
LOWnodejs/src/cdp/services/job-queue/shared.test.ts127 properties: { name: 'Acme Inc', revenue: 1000000 },
LOW…cdp/services/hogflows/hogflow-executor.service.test.ts190 name: 'John Doe',
LOW…cdp/services/hogflows/hogflow-executor.service.test.ts213 name: 'John Doe',
LOW…cdp/services/hogflows/hogflow-executor.service.test.ts225 name: 'John Doe',
LOW…cdp/services/hogflows/hogflow-executor.service.test.ts227 name: 'John Doe',
LOW…cdp/services/hogflows/hogflow-executor.service.test.ts328 name: 'John Doe',
471 more matches not shown…
Redundant / Tautological Comments356 hits · 510 pts
SeverityFileLineSnippet
LOWtools/infra-scripts/clitools/toolbox/pod.py124 # Check if we should print an update
LOWtools/hogli/src/hogli/manifest.py276 # Check if any manifest command shares this prefix
LOWtools/hogli/src/hogli/validate.py26 # Check if executable and not a config file
LOWtools/hogli-commands/hogli_commands/migrations.py929 # Check if already cached
LOWtools/hogli-commands/hogli_commands/doctor.py448 # Check if cargo is available
LOWtools/hogli-commands/hogli_commands/doctor.py825 # Check if this is a workspace root or standalone package
LOWtools/hogli-commands/hogli_commands/doctor.py1159 # Check if the parent is a known process manager
LOWtools/hogli-commands/hogli_commands/product/maturity.py418 # Check if the facade is real (has function definitions, not re-exports)
LOWproducts/slack_app/backend/api.py2116 # Check if we own this context locally
LOW…atch_exports/backend/temporal/backfill_batch_export.py973 # Set timeout to a month for now, as unending backfills are an internal feature we are
LOW…ackend/temporal/destinations/snowflake_batch_export.py725 # Check if we've exceeded the timeout
LOW…d/tests/temporal/destinations/snowflake/test_client.py87 # Check if the query was actually cancelled/aborted in Snowflake
LOWproducts/cdp/backend/tasks/hog_functions.py47 # Check if this team references the cohort in its test_account_filters
LOWproducts/cdp/backend/api/hog_function.py750 # Check if backfill is already enabled
LOWproducts/feature_flags/backend/flags_cache.py559 # Check if evaluation_metadata is present in cached data.
LOWproducts/feature_flags/backend/max_tools.py355 # Check if any group has a rollout percentage
LOW…s/feature_flags/backend/test/test_feature_flag_sync.py245 # Set lock to prevent execution
LOW…feature_flags/backend/api/organization_feature_flag.py147 # Check if the user is allowed to edit the flag using new access control
LOW…feature_flags/backend/api/organization_feature_flag.py303 # Set method to PATCH for updates, POST for new creations
LOWproducts/feature_flags/backend/api/feature_flag.py1390 # Check if the referenced flag is active
LOWproducts/feature_flags/backend/api/feature_flag.py1629 # Check if flag is used in session replay settings
LOWproducts/feature_flags/backend/api/feature_flag.py1679 # Check if this flag depends on any disabled flags
LOWproducts/feature_flags/backend/api/feature_flag.py3456 # Check if team is quota limited for feature flags
LOWproducts/feature_flags/backend/api/feature_flag.py4185 # Check if user has editor or higher access to feature flags for this team
LOWproducts/feature_flags/backend/api/feature_flag.py412 # Check if flag is effectively at 0%: all groups have rollout_percentage == 0
LOW…hogql_queries/marketing_analytics_base_query_runner.py543 # Check if this is an aggregated query (no GROUP BY)
LOW…ogql_queries/marketing_analytics_table_query_runner.py85 # Check if there are more results
LOW…marketing_analytics/backend/hogql_queries/constants.py482 # Check if it's a StrEnum (has __members__)
LOW…marketing_analytics/backend/hogql_queries/constants.py674 # Check if it's a base column
LOW…marketing_analytics/backend/hogql_queries/constants.py681 # Check if it's a conversion goal or cost per conversion
LOW…ics/backend/hogql_queries/conversion_goal_processor.py2047 # Check if this condition comes from action_to_expr (complex action conditions)
LOW…eries/non_integrated_conversions_table_query_runner.py99 # Check if there are more results
LOWproducts/error_tracking/backend/tools/search_issues.py203 # Set searchQuery to empty string if None (matches dashboard behavior)
LOWproducts/endpoints/backend/api.py1334 # Check if materialized data is stale
LOWproducts/endpoints/backend/api.py1344 # Check if variables are valid for materialized execution
LOWproducts/endpoints/backend/api.py2265 # Check if we should use materialization for this version
LOW…dpoints/backend/tests/test_variable_materialization.py2087 # Check if this row matches all variable values
LOWproducts/product_analytics/backend/api/insight.py927 # Check if user has access to this insight when viewed in dashboard context
LOWproducts/product_analytics/backend/api/insight.py1012 # Check if we have an expected cache key from the image exporter
LOWproducts/workflows/backend/api/hog_flow_template.py274 # Check if it's a global template from files
LOWproducts/posthog_ai/dags/snapshot_team_data.py185 # Check if files are cached
LOW…a_modeling/backend/tasks/cleanup_test_saved_queries.py49 # Check if any non-deleted saved query depends on this one via DAG edges
LOWproducts/web_analytics/dags/web_preaggregated.py305 # Check if we should trigger backfill
LOW…web_analytics/dags/web_preaggregated_team_selection.py116 # Check if all operations succeeded
LOW…lytics/backend/hogql_queries/test/test_web_overview.py873 # Set team to PST timezone
LOW…l_queries/test/test_web_overview_state_aggregations.py116 # Check if both are None
LOWproducts/warehouse_sources/backend/models/util.py79 # Check if prefix matches HogQL identifier rules
LOWproducts/conversations/backend/slack.py354 # Check if this Slack user is a PostHog team member
LOWproducts/conversations/backend/slack.py626 # Check if a ticket already exists for this thread
LOWproducts/conversations/backend/slack.py797 # Check if a ticket already exists for this message thread
LOWproducts/conversations/backend/api/tickets.py865 # Check if support is enabled
LOWproducts/conversations/backend/api/email_settings.py156 # Check if team already has a config on this domain (single query for both existence + data)
LOW…oducts/conversations/backend/api/tests/test_tickets.py649 # Assign user to ticket
LOWproducts/ai_observability/backend/api/datasets.py169 # Check if this is a deletion (soft delete)
LOWproducts/ai_observability/backend/api/datasets.py312 # Check if this is a deletion (soft delete)
LOWproducts/ai_observability/backend/api/evaluations.py482 # Check if this is a deletion (soft delete)
LOW…bility/backend/text_repr/formatters/trace_formatter.py176 # Check if state looks like messages (list of dicts with role/content)
LOW…bility/backend/text_repr/formatters/event_formatter.py117 # Output messages
LOW…lity/backend/text_repr/formatters/message_formatter.py384 # Check if any blocks need special handling
LOWproducts/surveys/backend/api/survey.py847 # Check if the organization has the white labelling feature available
296 more matches not shown…
Docstring Block Structure62 hits · 310 pts
SeverityFileLineSnippet
HIGHproducts/batch_exports/backend/service.py52Align a timestamp to the batch export's interval boundary. For batch exports, intervals can have an offset from the
HIGH…oducts/batch_exports/backend/temporal/batch_exports.py270Iterate over Arrow batch records for a batch export. TODO: this can be removed once HTTP batch exports are migrated
HIGH…oducts/batch_exports/backend/temporal/batch_exports.py371Return the start and end of an export's data interval. Args: interval: The interval of the BatchExport asso
HIGH…ackend/temporal/destinations/snowflake_batch_export.py685Wrap Snowflake connector's polling API in a coroutine. This enables asynchronous execution of queries to releas
HIGH…ckend/temporal/destinations/databricks_batch_export.py403Execute a query asynchronously and poll for results. This is useful for long running queries as it means we don
HIGH…backend/temporal/destinations/bigquery_batch_export.py669Execute a query and wait for it to complete. Args: query: The query to execute. start_q
HIGHproducts/experiments/backend/facade/api.py20 Create a new experiment. Transactional safety is provided by ExperimentService.create_experiment. Args:
HIGHproducts/experiments/stats/shared/cuped.py161Apply CUPED variance reduction to experiment statistics. This is the main public API. It computes the optimal regre
HIGHproducts/experiments/stats/frequentist/utils.py16 Calculate point estimate for treatment vs control comparison. Args: treatment_stat: Treatment group st
HIGHproducts/experiments/stats/frequentist/method.py62 Run statistical test comparing treatment vs control. Args: treatment_stat: Treatment group
HIGHproducts/experiments/stats/bayesian/utils.py23 Calculate effect size and its variance for Bayesian analysis. Args: treatment_stat: Treatment group st
HIGHproducts/experiments/stats/bayesian/method.py119 Run Bayesian statistical test comparing treatment vs control. Args: treatment_stat: Treatm
HIGHproducts/experiments/stats/bayesian/tests.py154 Run Bayesian t-test comparing treatment vs control. Args: treatment_stat: Treatment group
HIGHproducts/experiments/stats/bayesian/tests.py246 Run Bayesian test for proportion data using Normal approximation. Args: treatment_stat: Tr
HIGHproducts/growth/dags/user_product_list.py26Download a list of emails from an S3 URL and return them as a set. Args: s3_url: S3 URL in format s3://buck
HIGHproducts/ai_observability/backend/api/summarization.py244Extract entity ID and validated entity data based on summarize type. Args: summarize_type: 'trace'
HIGHproducts/surveys/backend/api/survey.py2055Validate and parse date_from and date_to. Args: date_from: Optional ISO timestamp for start date wi
HIGHee/hogai/artifacts/manager.py110Retrieve artifact content by ID from the database. Args: artifact_id: The artifact's short ID.
HIGHee/hogai/context/insight/query_executor.py166 Run a query and format the results with detailed fallback information. Args: query: The qu
HIGHee/hogai/context/insight/query_executor.py246 Run a query and format the results with detailed fallback information. Args: query: The qu
HIGHee/hogai/context/insight/query_executor.py293 Execute a query and return the response dict. Args: query: The query object ex
HIGHee/hogai/context/insight/query_executor.py466 Format query results using appropriate formatter based on query type. Args: query: The que
HIGHee/hogai/chat_agent/parallel_task_execution/nodes.py151 Execute multiple tasks in parallel and yield results as they complete. This method implements true par
HIGHee/billing/queue/BillingConsumer.py74 Decompress and parse message body based on content encoding. Args: raw_body: The raw messa
HIGH…on/ingestion/acceptance_tests/test_ai_observability.py82Fetch blob data from S3 using the URL with range parameter. Args: s3_url: URL in format s3://bucket/key?ran
HIGHcommon/migration_utils/__init__.py72Get the cache path for a migration file. Validates inputs before constructing path to prevent path traversal.
HIGHcommon/migration_utils/__init__.py109Cache a migration file for later rollback. Creates the cache directory structure if needed and copies the migration
HIGHposthog/email.py302 Sanitizes properties that will be used in email templates to prevent HTML injection and to defang URL-shaped st
HIGHposthog/temporal/proxy_service/cloudflare.py125 Create a Custom Hostname in Cloudflare for SaaS. This creates a custom hostname with: - SSL certificate pr
HIGHposthog/temporal/proxy_service/cloudflare.py158 Get details of a Custom Hostname by ID. Args: hostname_id: The Cloudflare Custom Hostname ID Retu
HIGHposthog/temporal/proxy_service/cloudflare.py182 Find a Custom Hostname by domain name. Args: domain: The customer's domain (e.g., "analytics.customer.
HIGHposthog/temporal/proxy_service/cloudflare.py208 Delete a Custom Hostname. Args: hostname_id: The Cloudflare Custom Hostname ID Returns: T
HIGH…sthog/temporal/data_imports/sources/hubspot/helpers.py103 Fetch data from HUBSPOT endpoint using a specified API key and yield the properties of each result. For paginat
HIGH…sthog/temporal/data_imports/sources/hubspot/helpers.py198 Retrieve property names for a given entity from the HubSpot API. Args: entity: The entity name for whi
HIGH…mporal/ai_observability/trace_clustering/clustering.py39 Determine optimal k using silhouette score and return the clustering results. Args: embeddings: Array
HIGHposthog/batch_exports/http.py81Validate and parse a date/datetime input as a proper dt.datetime. If the interval is daily or weekly, we expect the
HIGHposthog/clickhouse/client/migration_tools.py36 Executes a SQL query on each node separately with specific options, handling distributed execution and node roles.
HIGHposthog/dags/events_backfill_to_duckling.py328Parse a partition key into team_id and date. Args: key: Partition key in format "{team_id}_{date}" (e.g., "
HIGHposthog/dags/events_backfill_to_duckling.py510Check if a table exists in the DuckLake catalog. Args: conn: psycopg connection to the org's duckgres serve
HIGHposthog/dags/person_property_reconciliation.py1755 Query ClickHouse for distinct team_ids with property-setting events in the bug window. Args: bug_windo
HIGHposthog/tasks/process_scheduled_changes.py84 Compute the next scheduled run time based on recurrence interval. Uses relativedelta for reliable date arithme
HIGHposthog/tasks/alerts/detectors/registry.py27 Factory function to create detector from config. Args: config: Detector configuration dict with 'type'
HIGHposthog/models/person/point_in_time_properties.py33 Helper function to get person object and all distinct_ids for a person based on either distinct_id or person_id.
HIGHposthog/models/person/point_in_time_properties.py102 Build person properties at a specific point in time from ClickHouse events. Args: team_id: The team ID
HIGHposthog/models/cohort/cohort.py866 Remove a user from the cohort by their UUID. This operation is idempotent - it succeeds even if the pe
HIGHposthog/api/authentication.py543 Handle passkey-based 2FA authentication. Args: request: The HTTP request user:
HIGHposthog/api/authentication.py632 Handle TOTP token or backup code 2FA authentication. Args: request: The HTTP request
HIGHposthog/api/services/flags_service.py30 Proxy a request to the Rust feature flags service /flags endpoint. Args: token: The project API token
HIGHposthog/hogql_queries/query_runner.py2012 Child query runners can override this to check if the user has access to the query runner by using the
HIGH…g/hogql_queries/experiments/hogql_aggregation_utils.py31 Extract the aggregation function, inner expression, parameters, and distinct flag from a HogQL expression. Arg
HIGH…g/hogql_queries/experiments/hogql_aggregation_utils.py103 Build an aggregation function call AST node. Args: aggregation_function: The aggregation function name
HIGHposthog/hogql_queries/experiments/metric_source.py50 Factory method to create MetricSourceInfo from any source type. This provides a uniform interface for
HIGH…hog/hogql_queries/experiments/funnels_statistics_v2.py21 Calculate the win probabilities for each variant in an experiment using Bayesian analysis for funnel conversion
HIGH…hog/hogql_queries/experiments/funnels_statistics_v2.py145 Determine if the experiment results are statistically significant using Bayesian analysis for funnel conversion
HIGH…hog/hogql_queries/experiments/funnels_statistics_v2.py203 Calculate Bayesian credible intervals for conversion rates of each variant. This function computes the 95% cre
HIGH…ogql_queries/experiments/trends_statistics_v2_count.py25 Calculate the win probabilities for each variant in an experiment using Bayesian analysis. This function compu
HIGH…ogql_queries/experiments/trends_statistics_v2_count.py102 Determines if experiment results are statistically significant. This function evaluates whether any variant ca
HIGH…ogql_queries/experiments/trends_statistics_v2_count.py167 Calculate Bayesian credible intervals for each variant's rate using a Gamma-Poisson model. Credible intervals
HIGH…ogql_queries/experiments/trends_statistics_v2_count.py233 Calculates expected loss in count/rate using Gamma-Poisson conjugate prior. This implementation uses a Bayesia
HIGH…sthog/hogql_queries/experiments/funnel_step_builder.py103 Build step columns as constants for DW subquery. Used in UNION ALL queries where each subquery represe
2 more matches not shown…
AI Slop Vocabulary105 hits · 209 pts
SeverityFileLineSnippet
MEDIUMnodejs/src/kafka/producer.ts152 // NOTE: The MessageHeader type is super weird. Essentially you are passing in a record and it expects a str
MEDIUMnodejs/src/logs-ingestion/sampling/compile-rules.ts70 // case at write time, but the ingestion path stays robust to legacy or hand-crafted rows.
LOWtools/hogli/src/hogli/command_types.py243 # If not relative to repo root, just return the name
LOW…s/hogli-commands/hogli_commands/product_structure.yaml421 __init__: false # just create the folder
LOW…s/hogli-commands/hogli_commands/product_structure.yaml424 __init__: false # just create the folder
LOW…s/hogli-commands/hogli_commands/product_structure.yaml427 __init__: false # just create the folder
LOW…s/hogli-commands/hogli_commands/product_structure.yaml430 __init__: false # just create the folder
LOW…backend/temporal/destinations/redshift_batch_export.py222 # as we have just set cursor_factory.
MEDIUM…ests/temporal/destinations/databricks/test_workflow.py219 """Reduce the poll interval for the Databricks client, in order to speed up the tests."""
LOW…/backend/tests/temporal/destinations/redshift/utils.py130 # to determine if it is empty. If it is, we can just set the value to
MEDIUM…ducts/batch_exports/backend/tests/temporal/utils/s3.py48 # To facilitate comparison, we isoformat the dates.
LOWproducts/cdp/backend/api/hog_function.py395 # For non-transformation types, just create normally
LOWproducts/feature_flags/backend/api/feature_flag.py1025 # If we see this, just return the current filters
MEDIUM…ackend/hogql_queries/test_conversion_goal_processor.py118 """Create comprehensive test data covering various scenarios"""
MEDIUM…mporal/process_task/activities/relay_sandbox_events.py116 # harness). Exit quietly — logger and Redis are already unusable here,
MEDIUMproducts/tasks/backend/services/docker_sandbox.py319 # Opt-in bind-mount for local skills. Set by the eval harness so
MEDIUM…ducts/data_warehouse/backend/models/test/test_table.py567 # Assert this is a comprehensive list of all possible ClickHouse types
MEDIUMproducts/endpoints/backend/tests/test_endpoint.py634 """Test creating a endpoint with a comprehensive TrendsQuery containing many fields."""
MEDIUMproducts/experiments/backend/experiment_service.py1551 # from the backend is already more robust (while not ideal).
MEDIUMproducts/experiments/backend/test/test_facade.py110 """Test creating experiment with comprehensive field set."""
MEDIUMproducts/experiments/stats/bayesian/utils.py294 # Use comprehensive shared validation
LOWproducts/workflows/backend/max_tools.py76 # If fetching fails, just use the original instructions
LOW…/backend/hogql_queries/pre_aggregated/query_builder.py153 # If we don't have a previous period, we can just use the same data as the values won't be used
MEDIUM…d/hogql_queries/test/test_web_stats_lazy_precompute.py31# harness does not materialize.
MEDIUM…d/hogql_queries/test/test_web_stats_lazy_precompute.py235 # which needs numeric properties the harness does not materialize — so
LOW…nd/hogql_queries/revenue_analytics_mrr_query_runner.py37# We need to use "Zero" in several places where we need a default, so let's just create one in here and reuse it
LOW…nd/hogql_queries/revenue_analytics_mrr_query_runner.py155 # Else, just use 0, it's an ongoing subscription
LOW…nd/hogql_queries/revenue_analytics_mrr_query_runner.py489 # and then we can just add the data to the results
LOW…ueries/revenue_analytics_gross_revenue_query_runner.py108 # and then we can just add the data to the results
LOW…ogql_queries/revenue_analytics_metrics_query_runner.py470 # and then we can just add the data to the results
LOW…ackend/hogql_queries/revenue_analytics_query_runner.py87 # Some filters are not namespaced and they should simply use the raw property
LOW…ackend/hogql_queries/revenue_analytics_query_runner.py106 # Some breakdowns are not namespaced and they should simply use the raw property
MEDIUM…/views/sources/test/stripe/test_stripe_revenue_item.py106 # Setup with comprehensive schemas
LOW…bility/backend/text_repr/formatters/event_formatter.py84 # Fallback: just use the string as-is
MEDIUMproducts/business_knowledge/backend/constants.py13# Chunker tunables. Kept here (not in logic.py) so the retrieval eval harness
MEDIUM…ckend/lazy_computation/lazy_computation_transformer.py37 # Use the robust timestamp field detection from timestamp_visitor
MEDIUMfrontend/src/scenes/paths/Paths.tsx130 // transition from card→SVG hover is seamless.
MEDIUMfrontend/src/scenes/max/maxLogic.tsx709 // This is more robust than checking for specific tags or attributes, because
MEDIUMfrontend/src/scenes/max/Max.stories.tsx2821 '# Complete Product Analysis\n\nThis comprehensive notebook covers user behavior, funnel analysi
MEDIUM…tend/src/scenes/notebooks/Nodes/notebookNodeContent.ts56// The HogQL WASM parser is coming. Once we have that, we'll revisit this part and make it robust.
MEDIUMfrontend/src/lib/KeaDevTools.tsx1092// robust path walker for kea logic.path (array of strings/numbers)
MEDIUMee/settings.py44 # This is because in the demo env social signups get is_staff=True to facilitate instance management
LOWee/clickhouse/queries/funnels/funnel_correlation.py789 # NOTE: for property correlations, we just use the regular funnel
LOWee/hogai/tools/read_data/tool.py370 # The agent wants to read the schema, just return it
MEDIUMee/hogai/eval/sandboxed/conftest.py119# Sandbox container name prefix used by the eval harness (set in SandboxConfig.name)
MEDIUMee/hogai/eval/sandboxed/runner.py76 # Eval is a test harness — direct use of internals (instead of MTS) is intentional:
MEDIUMee/hogai/eval/sandboxed/base.py132 # harness read back what happened without round-tripping through Braintrust.
MEDIUM…ai/eval/sandboxed/experiments/eval_lifecycle_skills.py48# because the sandboxed harness wraps a list of cases in a single
MEDIUMrust/kafka-deduplicator/src/pipelines/processor.rs50/// - `ConfirmedDuplicate`: Definitely a duplicate (same UUID or identical event)
MEDIUMrust/feature-flags/src/api/endpoint.rs520 // this is robust to wall-clock jumps. Emission of the histogram is
MEDIUMrust/property-defs-rs/src/lib.rs237 // TEMPORARY: both old (v1) and new (v2) write paths will utilize the old
MEDIUM…on/ingestion/acceptance_tests/test_ai_observability.py221 """Assert comprehensive details about a multipart part."""
MEDIUMposthog/utils.py1222 or not Organization.objects.filter(for_internal_metrics=False).exists() # Definitely can create an org if zero
LOWposthog/utils.py926 # it's not possible to just use that period length directly - the results for the previous period
MEDIUM…l/tests/data_imports/github/test_github_integration.py262 # the pipeline merge's job; exercising it through two rapid in-harness syncs
LOWposthog/temporal/common/clickhouse.py683 # we don't have the original query here so just use the query id
LOW…ng/realtime_cohort_calculation_workflow_coordinator.py275 # If cohort_id is specified, just return that specific cohort ID if it exists
LOWposthog/settings/data_stores.py124# This should have all the same config as our main writer DB, just use a different host.
LOWposthog/clickhouse/test/test_cluster.py173 # submitting a duplicate mutation should just return the original and not schedule anything new
MEDIUMposthog/dags/events_backfill_to_ducklake.py522 # Check if the DuckLake catalog is already attached in a robust way by querying DuckDB
45 more matches not shown…
Synthetic Comment Markers10 hits · 52 pts
SeverityFileLineSnippet
HIGHproducts/actions/backend/models/action.py57 summary = models.TextField(blank=True, null=True, help_text="A summary of the action, generated by AI")
HIGH…bservability/skills/exploring-llm-evaluations/SKILL.md92### Step 2 — Get the AI-generated summary
HIGHproducts/surveys/backend/models.py273 # AI-generated headline summary
HIGHproducts/surveys/backend/models.py277 # AI-generated per-question summaries
HIGHproducts/surveys/backend/models.py284 # Used as the "original" label in the editor and as the source language for AI-generated translations.
HIGHproducts/surveys/backend/api/survey.py241 help_text="Editor field paths generated by AI and safe to highlight as draft content.",
HIGH…c/lib/components/HedgehogMode/HedgehogMode.stories.tsx20// NOTE: 100% generated by ChatGPT for fun!
HIGH.agents/skills/survey-sdk-audit/SKILL.md316_This issue was generated by Claude using the `/survey-sdk-audit` skill._
HIGHposthog/models/subscription.py348 # AI-generated summary sent in the delivery, when summary_enabled is on for the subscription.
HIGH…_recordings/sql/session_replay_event_migrations_sql.py356# MIGRATION: Add AI-generated columns for session tagging
Slop Phrases26 hits · 49 pts
SeverityFileLineSnippet
LOWproducts/feature_flags/backend/flag_analytics.py45# :NOTE: When making changes here, make sure you run test_no_interference_between_different_types_of_new_incoming_increm
LOWproducts/feature_flags/backend/models/feature_flag.py47 # When adding new fields, make sure to update organization_feature_flags.py::copy_flags
MEDIUM…backend/templates/announce_a_new_feature_template.json771 "html": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional //EN\" \"http://www.w3.o
LOWproducts/web_analytics/backend/hogql_queries/ctes.py64# but means that when you use parse_select on it, you'll need to make sure you include the
MEDIUMproducts/revenue_analytics/dags/exchange_rate.py20 # NOTE: For local development, you can add this key to a `.env` file in the root of the project
LOWproducts/notebooks/backend/models.py81 # When adding a new foreign key, make sure to add the foreign key field and append field name
LOW…/backend/lazy_computation/lazy_computation_executor.py528 # Don't forget to add the last range
LOW…src/scenes/settings/environment/replayTriggersLogic.ts156 ${sanitizedUrl}, ${sanitizedUrl}/, ${sanitizedUrl}/page, etc. Don't forget to include https:// a
LOW…src/scenes/settings/environment/replayTriggersLogic.ts173 ${sanitizedUrl}, ${sanitizedUrl}/, ${sanitizedUrl}/page, etc. Don't forget to include https:// a
MEDIUM…ntend/src/scenes/surveys/SurveyWidgetCustomization.tsx74 info="Enter a class or ID selector for the feedback button, like .feedback-button or #fe
LOW…omponents/IngestionControls/triggers/urlConfigLogic.ts92 ${sanitizedUrl}, ${sanitizedUrl}/, ${sanitizedUrl}/page, etc. Don't forget to include https:// a
MEDIUMee/hogai/core/runner.py331 content="I'm unable to process this request. The conversation may be too long. Please start a ne
MEDIUMee/hogai/core/runner.py355 content="I'm unable to respond right now due to a temporary service issue. Please try again late
MEDIUMee/hogai/core/runner.py379 content="I'm unable to respond right now due to a temporary service issue. Please try again late
MEDIUMee/hogai/core/runner.py403 content="I'm unable to respond right now. Please try again later.",
MEDIUMee/hogai/core/test/test_runner.py123 "I'm unable to process this request. The conversation may be too long. Please start a new conversation."
MEDIUMee/hogai/core/test/test_runner.py217 "I'm unable to respond right now due to a temporary service issue. Please try again later.",
MEDIUMee/hogai/core/test/test_runner.py279 "I'm unable to respond right now due to a temporary service issue. Please try again later.",
MEDIUMee/hogai/core/test/test_runner.py340 "I'm unable to respond right now. Please try again later.",
MEDIUMrust/cyclotron-node/examples/basic.js27 // Most processes will only need to do one of these, but we can do both here for demonstration purposes
MEDIUM.github/workflows/codeql.yml56 # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customi
MEDIUM.dagster_home/workspace.yaml4 ## Most dags are not loaded in local dev, but you can add things if you believe they belong here.
LOWposthog/urls.py396 # NOTE: When adding paths here that should be public make sure to update ALWAYS_ALLOWED_ENDPOINTS in middleware.py
LOWposthog/models/tagged_item.py38 # When adding a new taggeditem-model relationship, make sure to add the foreign key field and append field name to
MEDIUMposthog/models/exchange_rate/currencies.py8# If you need a currency that's not in this list, you can add it to the list by
LOW…hogql/transforms/preaggregated_table_transformation.py434 # Some of these could be supported in the future, if you add them, make sure you add some tests!
Magic Placeholder Names5 hits · 25 pts
SeverityFileLineSnippet
HIGHrust/capture-logs/README.md68 -H "Authorization: Bearer your-api-key" \
HIGHrust/capture-logs/README.md79 -H "Authorization: Bearer your-api-key" \
HIGHdocs/onboarding/product-analytics/helicone.tsx39 api_key="your-api-key-here", # Replace with your OpenAI API key
HIGHdocs/onboarding/ai-observability/vercel-ai-gateway.tsx152 api_key="<your_api_key>",
HIGHdocs/onboarding/ai-observability/vercel-ai-gateway.tsx173 apiKey: '<your_api_key>',
Overly Generic Function Names20 hits · 20 pts
SeverityFileLineSnippet
LOW…anagement/commands/benchmark_error_tracking_queries.py258 def run_task(task: tuple[int, str, str, str, ErrorTrackingOrderBy, OrderDirection2, int, str]) -> None:
LOWproducts/tasks/backend/services/sandbox.py193 def execute_task(
LOWproducts/tasks/backend/services/modal_sandbox.py572 def execute_task(
LOWproducts/tasks/backend/services/docker_sandbox.py606 def execute_task(
LOWfrontend/src/lib/ui/Collapsible/Collapsible.stories.tsx87 {`function handleRequest(req, res) {
LOWee/hogai/chat_agent/parallel_task_execution/nodes.py185 async def execute_task(callable_func=task_callable, input_data=input_dict):
LOW.semgrep/rules/data-imports-http-transport.py124def do_something() -> None:
LOWcommon/storybook/.storybook/public/mockServiceWorker.js140async function handleRequest(event, requestId) {
LOW…rts/pipelines/pipeline/test/test_delta_table_helper.py22def helper():
LOWposthog/clickhouse/client/test/test_tracing.py19 def test_function(
LOWposthog/clickhouse/client/test/test_tracing.py74 def test_function(
LOWposthog/clickhouse/client/test/test_tracing.py104 def test_function(
LOWposthog/clickhouse/client/test/test_tracing.py134 def test_function(
LOWposthog/clickhouse/client/test/test_tracing.py177 def test_function(
LOWposthog/clickhouse/client/test/test_tracing.py207 def test_function(
LOWposthog/clickhouse/client/test/test_tracing.py236 def test_function(
LOWposthog/clickhouse/client/test/test_tracing.py266 def test_function(
LOWposthog/clickhouse/client/test/test_tracing.py288 def test_function(
LOWposthog/clickhouse/client/test/test_tracing.py310 def test_function(
LOWposthog/slo/context.py18 def helper() -> None:
Example Usage Blocks10 hits · 15 pts
SeverityFileLineSnippet
LOW…dejs/src/logs-ingestion/sampling-seed-services-curl.sh13# Usage:
LOWtools/phrocs/install.sh4# Usage:
LOWlivestream/docker-compose.integration.yml4# Usage:
LOWcommon/storybook/update-storybook-timings.sh6# Usage:
LOW.github/workflows/rust-smoke-test-build.yml7# Usage:
LOW…b/scripts/verify-playwright-new-tests-and-snapshots.sh7# Usage:
LOW.github/scripts/verify-storybook-new-stories.sh7# Usage:
LOW.github/scripts/compare-ci-runners.py10# Usage:
LOWposthog/management/commands/js_snippet_version.py25# Usage:
LOWposthog/models/scoping/__init__.py14# Usage:
Dead Code7 hits · 14 pts
SeverityFileLineSnippet
MEDIUMee/hogai/core/test/test_agent_executor.py537
MEDIUMee/hogai/core/test/test_runner.py27
MEDIUMee/hogai/stream/test/test_redis_stream.py355
MEDIUM…thog/temporal/tests/data_modeling/test_run_workflow.py1789
MEDIUM…thog/temporal/tests/data_modeling/test_run_workflow.py1852
MEDIUM…orts/sources/common/rest_source/tests/test_resource.py14
MEDIUMservices/llm-gateway/tests/test_streaming_errors.py232