🦔 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.
51333 matches across 22 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | nodejs/bin/migrate-minio-to-seaweedfs.js | 265 | function ensureLocalDevelopmentOnly(minioEndpoint, seaweedfsEndpoint) { |
| LOW | nodejs/bin/migrate-minio-to-seaweedfs.js | 434 | async function listAllObjectsWithMetadata(client, bucket, prefix) { |
| LOW | …dejs/tests/worker/ingestion/person-state-batch.test.ts | 79 | function createIngestionWarningsOutputs(kafkaProducer: KafkaProducerWrapper) { |
| LOW | …dejs/tests/worker/ingestion/person-state-batch.test.ts | 329 | async function fetchOverridesForDistinctId(distinctId: string) { |
| LOW | …dejs/tests/worker/ingestion/person-state-batch.test.ts | 334 | async function fetchPersonsRowsWithVersionHigerEqualThan(version = 1) { |
| LOW | …dejs/tests/worker/ingestion/person-state-batch.test.ts | 339 | async function fetchDistinctIdsClickhouse(person: InternalPerson) { |
| LOW | …dejs/tests/worker/ingestion/person-state-batch.test.ts | 4301 | function createPersonEventProcessor(mergeMode: any, event: Partial<PluginEvent>) { |
| LOW | nodejs/tests/worker/ingestion/postgres-parity.test.ts | 44 | async function waitForClickHousePersonConsumer(clickhouse: Clickhouse): Promise<void> { |
| LOW | nodejs/tests/helpers/sql.ts | 204 | export async function createUserTeamAndOrganization( |
| LOW | nodejs/tests/helpers/sql.ts | 500 | export async function fetchPostgresDistinctIdsForPerson(postgres: PostgresRouter, personId: string): Promise<string[]> { |
| LOW | nodejs/tests/helpers/sql.ts | 507 | export async function resetBehavioralCohortsDatabase(postgres: PostgresRouter): Promise<void> { |
| LOW | nodejs/tests/helpers/raw-event.ts | 18 | export function createTestRawClickHouseEvent(overrides: Partial<RawClickHouseEvent> = {}): RawClickHouseEvent { |
| LOW | nodejs/tests/helpers/cdp.ts | 23 | function buildTestCdpProducerRegistry( |
| LOW | nodejs/tests/helpers/cdp.ts | 50 | export function createCdpLegacyEventsConsumerDeps( |
| LOW | nodejs/tests/helpers/ingestion-outputs.ts | 41 | export function createTestMonitoringOutputs(kafkaProducer: KafkaProducerWrapper) { |
| LOW | nodejs/tests/helpers/ingestion-outputs.ts | 48 | export function createTestIngestionOutputs(kafkaProducer: KafkaProducerWrapper) { |
| LOW | nodejs/src/capabilities.ts | 68 | export function getPluginServerCapabilities( |
| LOW | nodejs/src/cdp/cdp-services.ts | 231 | export function createCdpValkeyShadowPools( |
| LOW | nodejs/src/cdp/utils.ts | 34 | export function convertToHogFunctionInvocationGlobals( |
| LOW | nodejs/src/cdp/utils.ts | 90 | export function convertBatchHogFlowRequestToHogFunctionInvocationGlobals({ |
| LOW | nodejs/src/cdp/utils.ts | 129 | export function convertInternalEventToHogFunctionInvocationGlobals( |
| LOW | nodejs/src/cdp/utils.ts | 235 | export function isLegacyPluginHogFunction(hogFunction: Pick<HogFunctionType, 'template_id'>): boolean { |
| LOW | nodejs/src/cdp/utils.ts | 239 | export function isSegmentPluginHogFunction(hogFunction: Pick<HogFunctionType, 'template_id'>): boolean { |
| LOW | nodejs/src/cdp/utils.ts | 247 | export function isInternalErrorTrackingEvent(event: CdpInternalEvent['event']): boolean { |
| LOW | nodejs/src/cdp/async-function-registry.ts | 39 | export function getRegisteredAsyncFunctionNames(): string[] { |
| LOW | nodejs/src/cdp/utils/hog-function-filtering.ts | 101 | export function convertClickhouseRawEventToFilterGlobals(event: RawClickHouseEvent): HogFunctionFilterGlobals { |
| LOW | nodejs/src/cdp/utils/hog-function-filtering.ts | 225 | export function convertToHogFunctionFilterGlobal( |
| LOW | nodejs/src/cdp/utils/hog-function-filtering.ts | 345 | export async function filterFunctionInstrumented(options: { |
| LOW | nodejs/src/cdp/consumers/quota-limiting-helper.ts | 24 | export async function shouldBlockInvocationDueToQuota( |
| LOW | …rc/cdp/consumers/cdp-data-warehouse-events.consumer.ts | 138 | function convertDataWarehouseEventToHogFunctionInvocationGlobals( |
| LOW | nodejs/src/cdp/consumers/cdp-person-updates-consumer.ts | 136 | function convertClickhousePersonToInvocationGlobals( |
| LOW | …src/cdp/hog-transformations/hog-transformer.service.ts | 452 | export function createHogTransformerService( |
| LOW | nodejs/src/cdp/templates/test/test-helpers.ts | 36 | export function propagateTemplatingFromSchema(template: any, input: any): any { |
| LOW | …src/cdp/legacy-plugins/_destinations/sendgrid/index.ts | 105 | function getEmailFromIdentifyEvent(event: any): string { |
| LOW | …src/cdp/legacy-plugins/_destinations/intercom/index.ts | 56 | async function searchForContactInIntercom(meta: IntercomMeta, url: string, apiKey: string, email: string) { |
| LOW | …ins/_transformations/first-time-event-tracker/index.ts | 9 | export async function firstTimeEventTrackerPluginProcessEventAsync( |
| LOW | …ations/posthog-plugin-snowplow-referer-parser/index.ts | 149 | function getMediumAndSourceFromReferrer(domain: string) { |
| LOW | …ations/posthog-plugin-snowplow-referer-parser/index.ts | 184 | function isReferrerFromDirectDomain(referrer: string) { |
| LOW | …ransformations/plugin-netdata-event-processing/dist.js | 713 | function getInteractionDetailAgent(event) { |
| LOW | …ransformations/plugin-netdata-event-processing/dist.js | 954 | function processElementsAgentInstaller(event) { |
| LOW | …ransformations/plugin-netdata-event-processing/dist.js | 960 | function processPropertiesAgentInstaller(event) { |
| LOW | …ransformations/plugin-netdata-event-processing/dist.js | 1785 | function processPropertiesCommunity(event) { |
| LOW | …ugins/_transformations/property-filter-plugin/index.ts | 9 | function recursiveRemoveFilterObject(properties: Record<string, any>, propertyToFilterParts: string[]) { |
| LOW | …formations/posthog-url-normalizer-plugin/index.test.ts | 27 | function buildEventWithoutCurrentUrl(): PluginEvent { |
| LOW | nodejs/src/cdp/outputs/producer-registry.ts | 27 | export function createCdpProducerRegistry(kafkaClientRack: string | undefined) { |
| LOW | nodejs/src/cdp/outputs/producers.ts | 90 | export function getDefaultKafkaWarpstreamIngestionProducerEnvConfig(): KafkaWarpstreamIngestionProducerEnvConfig { |
| LOW | nodejs/src/cdp/outputs/producers.ts | 167 | export function getDefaultKafkaWarehouseProducerEnvConfig(): KafkaWarehouseProducerEnvConfig { |
| LOW | nodejs/src/cdp/outputs/producers.ts | 237 | export function getDefaultKafkaWarpstreamCalculatedEventsProducerEnvConfig(): KafkaWarpstreamCalculatedEventsProducerEnv |
| LOW | nodejs/src/cdp/outputs/producers.ts | 303 | export function getDefaultKafkaWarpstreamCyclotronProducerEnvConfig(): KafkaWarpstreamCyclotronProducerEnvConfig { |
| LOW | nodejs/src/cdp/services/job-queue/job-queue-kafka.ts | 207 | export function migrateKafkaCyclotronInvocation(invocation: CyclotronJobInvocation): CyclotronJobInvocation { |
| LOW | nodejs/src/cdp/services/job-queue/job-queue-postgres.ts | 259 | function invocationToCyclotronJobInitial(invocation: CyclotronJobInvocation): CyclotronJobInit { |
| LOW | nodejs/src/cdp/services/job-queue/job-queue-postgres.ts | 296 | function invocationToCyclotronJobUpdate(invocation: CyclotronJobInvocation): CyclotronJobUpdate { |
| LOW | nodejs/src/cdp/services/job-queue/shared.ts | 61 | export function sanitizeInvocationForPersistence( |
| LOW | nodejs/src/cdp/services/job-queue/shared.ts | 97 | export function createInvocationSanitizer(config: Pick<CdpConfig, 'CDP_CYCLOTRON_STRIP_PERSON_FROM_STATE_TEAMS'>) { |
| LOW | …js/src/cdp/services/hogflows/hogflow-quota-limiting.ts | 62 | export async function shouldBlockHogFlowDueToQuota( |
| LOW | nodejs/src/cdp/legacy-webhooks/utils.ts | 6 | export async function addGroupPropertiesToPostIngestionEvent( |
| LOW | nodejs/src/cdp/legacy-webhooks/utils.ts | 60 | export async function addGroupPropertiesToPostIngestionEventsBatch( |
| LOW | …dejs/src/cdp/legacy-webhooks/legacy-webhook-service.ts | 150 | function convertToPostIngestionEvent(event: RawKafkaEvent): PostIngestionEvent { |
| LOW | nodejs/src/cdp/legacy-webhooks/action-manager.ts | 130 | export async function fetchAllActionsGroupedByTeam( |
| LOW | nodejs/src/ingestion/config.ts | 213 | export function getDefaultIngestionConsumerConfig(): IngestionConsumerConfig { |
| 38257 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | nodejs/bin/migrate-minio-to-seaweedfs.js | 179 | print() { |
| HIGH | nodejs/src/cdp/workflows-e2e.test.ts | 108 | print('Fetch result:', res.status); |
| HIGH | nodejs/src/cdp/cdp-e2e.test.ts | 94 | print('Fetch response:', res); |
| HIGH | nodejs/src/cdp/rerun/rerun-e2e.test.ts | 200 | print('Fetch response:', res); |
| HIGH | nodejs/src/cdp/utils/hog-exec.test.ts | 37 | print('I AM FIBONACCI. ') |
| HIGH | nodejs/src/cdp/utils/hog-exec.test.ts | 44 | print(f'fib {fibonacci(64)}'); |
| HIGH | nodejs/src/cdp/consumers/cdp-cyclotron-worker.test.ts | 441 | print('I AM FIBONACCI. ') |
| HIGH | nodejs/src/cdp/consumers/cdp-cyclotron-worker.test.ts | 448 | print(f'fib {fibonacci(64)}');` |
| HIGH | …dp/templates/_destinations/webhook/webhook.template.ts | 21 | print('Request', inputs.url, payload) |
| HIGH | …dp/templates/_destinations/webhook/webhook.template.ts | 31 | print('Response', res.status, res.body); |
| HIGH | …rc/cdp/templates/_destinations/unify/unify.template.ts | 19 | print(f'Skipping unsupported event type: {event.event}') |
| HIGH | …/templates/_destinations/google_ads/google.template.ts | 82 | print('Empty \`gclid\`. Skipping...') |
| HIGH | …dp/templates/_destinations/hubspot/hubspot.template.ts | 29 | print('\`companyId\` input is empty. Skipping...') |
| HIGH | …dp/templates/_destinations/hubspot/hubspot.template.ts | 75 | print(f'Successfully created company {data.properties['posthog_group_id']}') |
| HIGH | …dp/templates/_destinations/hubspot/hubspot.template.ts | 83 | print(f'Successfully updated company {data.properties['posthog_group_id']}') |
| HIGH | …rc/cdp/templates/_destinations/klime/klime.template.ts | 57 | print('No user ID set. Skipping as user ID is required for identify events.') |
| HIGH | …rc/cdp/templates/_destinations/klime/klime.template.ts | 86 | print('No group ID set. Skipping as group ID is required for group events.') |
| HIGH | …/_destinations/firebase_push/firebase_push.template.ts | 53 | print('Sending push notification', url, payload) |
| HIGH | …/_destinations/firebase_push/firebase_push.template.ts | 63 | print('Push notification sent', res) |
| HIGH | …/templates/_destinations/whatsapp/whatsapp.template.ts | 73 | print('Sending WhatsApp message', url, payload) |
| HIGH | …/templates/_destinations/whatsapp/whatsapp.template.ts | 83 | print('WhatsApp message sent', res) |
| HIGH | …/cdp/templates/_destinations/twilio/twilio.template.ts | 44 | print('Sending SMS', url, payload) |
| HIGH | …/cdp/templates/_destinations/twilio/twilio.template.ts | 55 | print('SMS sent', res) |
| HIGH | …emplates/_sources/webhook/incoming_webhook.template.ts | 15 | print('Incoming request:', request.body) |
| HIGH | …emplates/_sources/webhook/incoming_webhook.template.ts | 28 | print('Incoming request denied due to bad authorization header') |
| HIGH | …templates/_sources/vercel/vercel_log_drain.template.ts | 15 | print('Incoming headers:', request.headers) |
| HIGH | …templates/_sources/vercel/vercel_log_drain.template.ts | 16 | print('Incoming body:', request.body) |
| HIGH | …templates/_sources/vercel/vercel_log_drain.template.ts | 29 | print('Denied: bad Authorization header') |
| HIGH | …templates/_sources/vercel/vercel_log_drain.template.ts | 102 | 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.ts | 189 | print('vercel log drain: custom_template empty, falling back to rotating_salt') |
| HIGH | …templates/_sources/vercel/vercel_log_drain.template.ts | 205 | print('vercel log drain: custom_template substituted to empty, falling back to rotating_salt') |
| HIGH | …ejs/src/cdp/templates/_sources/pixel/pixel.template.ts | 16 | print('Incoming request:', request.query) |
| HIGH | …s/_transformations/url-masking/url-masking.template.ts | 77 | print('Error masking URL parameters:', error) |
| HIGH | …cdp/templates/_transformations/geoip/geoip.template.ts | 34 | print('geoip disabled or no ip.') |
| HIGH | …cdp/templates/_transformations/geoip/geoip.template.ts | 40 | print('spoofing ip for local development', ip) |
| HIGH | …cdp/templates/_transformations/geoip/geoip.template.ts | 45 | print('geoip lookup failed for ip', ip) |
| HIGH | …cdp/templates/_transformations/geoip/geoip.template.ts | 75 | print('geoip location data for ip:', location) |
| HIGH | …rmations/ip-anonymization/ip-anonymization.template.ts | 17 | print('No IP address found in event') |
| HIGH | …rmations/ip-anonymization/ip-anonymization.template.ts | 26 | print('Invalid IP address format: wrong number of octets') |
| HIGH | …rmations/ip-anonymization/ip-anonymization.template.ts | 34 | print('Invalid IP address: octets must be numbers between 0 and 255') |
| HIGH | …ations/url-normalization/url-normalization.template.ts | 48 | print('keyValue', keyValue) |
| HIGH | …ations/url-normalization/url-normalization.template.ts | 65 | print('normalizedParams', normalizedParams) |
| HIGH | nodejs/src/cdp/services/hog-executor.service.test.ts | 946 | print('after produce')` |
| HIGH | …cdp/services/hogflows/hogflow-executor.service.test.ts | 117 | print(f'Hello, {inputs.name}!') |
| HIGH | …cdp/services/hogflows/hogflow-executor.service.test.ts | 118 | print('Fetch 1', fetch('https://posthog.com').status) |
| HIGH | …cdp/services/hogflows/hogflow-executor.service.test.ts | 119 | print('Fetch 2', fetch('https://posthog.com').status) |
| HIGH | …cdp/services/hogflows/hogflow-executor.service.test.ts | 120 | print('Fetch 3', fetch('https://posthog.com').status) |
| HIGH | …cdp/services/hogflows/hogflow-executor.service.test.ts | 121 | print('All fetches done!')`, |
| HIGH | …cdp/services/hogflows/hogflow-executor.service.test.ts | 102 | print(f'Hello, {inputs.name}!') |
| HIGH | …cdp/services/hogflows/hogflow-executor.service.test.ts | 103 | print('Fetch 1', fetch('https://posthog.com').status)`, |
| HIGH | …ndpoints/frontend/endpoint-tabs/EndpointPlayground.tsx | 109 | print(response.json())` |
| HIGH | …ndpoints/frontend/endpoint-tabs/EndpointPlayground.tsx | 130 | print(response.json())` |
| HIGH | …servability/frontend/evaluations/llmEvaluationLogic.ts | 40 | print('Output is empty') |
| HIGH | …cts/ai_observability/frontend/evaluations/templates.ts | 60 | print(concat('Cost $', toString(cost), ' exceeds budget $', toString(max_cost))) |
| HIGH | …cts/ai_observability/frontend/evaluations/templates.ts | 64 | print(concat('Latency ', toString(latency), 's exceeds limit ', toString(max_latency), 's')) |
| HIGH | …cts/ai_observability/frontend/evaluations/templates.ts | 67 | print(concat('OK — cost: $', toString(cost), ', latency: ', toString(latency), 's')) |
| HIGH | …ts/ai_observability/frontend/tags/hogTaggerExamples.ts | 21 | print(concat('Found ', toString(length(result)), ' tags')) |
| HIGH | …ts/ai_observability/frontend/tags/hogTaggerExamples.ts | 39 | print(concat('Matched "', pair.1, '" -> ', pair.2)) |
| HIGH | …ts/ai_observability/frontend/tags/hogTaggerExamples.ts | 49 | print('Empty response') |
| HIGH | …ts/ai_observability/frontend/tags/hogTaggerExamples.ts | 52 | print(concat('Short: ', toString(len), ' chars')) |
| 730 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | pyproject.toml | 463 | # --------------------------------------------------------------------------- |
| MEDIUM | pyproject.toml | 465 | # --------------------------------------------------------------------------- |
| MEDIUM | …t-2/team-analytics-platform/slo-monitoring/insights.tf | 2 | # =========================================================================== |
| MEDIUM | …t-2/team-analytics-platform/slo-monitoring/insights.tf | 6 | # =========================================================================== |
| MEDIUM | …t-2/team-analytics-platform/slo-monitoring/insights.tf | 46 | # --------------------------------------------------------------------------- |
| MEDIUM | …t-2/team-analytics-platform/slo-monitoring/insights.tf | 48 | # --------------------------------------------------------------------------- |
| MEDIUM | …t-2/team-analytics-platform/slo-monitoring/insights.tf | 70 | # --------------------------------------------------------------------------- |
| MEDIUM | …t-2/team-analytics-platform/slo-monitoring/insights.tf | 73 | # --------------------------------------------------------------------------- |
| MEDIUM | …t-2/team-analytics-platform/slo-monitoring/insights.tf | 184 | # --------------------------------------------------------------------------- |
| MEDIUM | …t-2/team-analytics-platform/slo-monitoring/insights.tf | 187 | # --------------------------------------------------------------------------- |
| MEDIUM | …t-2/team-analytics-platform/slo-monitoring/insights.tf | 234 | # --------------------------------------------------------------------------- |
| MEDIUM | …t-2/team-analytics-platform/slo-monitoring/insights.tf | 236 | # --------------------------------------------------------------------------- |
| MEDIUM | …t-2/team-analytics-platform/slo-monitoring/insights.tf | 282 | # --------------------------------------------------------------------------- |
| MEDIUM | …t-2/team-analytics-platform/slo-monitoring/insights.tf | 284 | # --------------------------------------------------------------------------- |
| MEDIUM | …t-2/team-analytics-platform/slo-monitoring/insights.tf | 324 | # --------------------------------------------------------------------------- |
| MEDIUM | …t-2/team-analytics-platform/slo-monitoring/insights.tf | 326 | # --------------------------------------------------------------------------- |
| MEDIUM | …t-2/team-analytics-platform/slo-monitoring/insights.tf | 420 | # --------------------------------------------------------------------------- |
| MEDIUM | …t-2/team-analytics-platform/slo-monitoring/insights.tf | 422 | # --------------------------------------------------------------------------- |
| MEDIUM | …m-analytics-platform/dashboard-key-metrics/insights.tf | 1 | # ============================================================================= |
| MEDIUM | …m-analytics-platform/dashboard-key-metrics/insights.tf | 3 | # ============================================================================= |
| MEDIUM | …m-analytics-platform/dashboard-key-metrics/insights.tf | 10 | # ============================================================================= |
| MEDIUM | …analytics-platform/dashboard-key-metrics/dashboards.tf | 1 | # ============================================================================= |
| MEDIUM | …analytics-platform/dashboard-key-metrics/dashboards.tf | 3 | # ============================================================================= |
| MEDIUM | …analytics-platform/dashboard-key-metrics/dashboards.tf | 9 | # ============================================================================= |
| MEDIUM | …eam-analytics-platform/dashboard-key-metrics/alerts.tf | 1 | # ============================================================================= |
| MEDIUM | …eam-analytics-platform/dashboard-key-metrics/alerts.tf | 3 | # ============================================================================= |
| MEDIUM | …eam-analytics-platform/dashboard-key-metrics/alerts.tf | 14 | # ============================================================================= |
| MEDIUM | …/us/project-2/team-analytics-platform/slos/insights.tf | 2 | # --------------------------------------------------------------------------- |
| MEDIUM | …/us/project-2/team-analytics-platform/slos/insights.tf | 5 | # --------------------------------------------------------------------------- |
| MEDIUM | …/us/project-2/team-analytics-platform/slos/insights.tf | 49 | # --------------------------------------------------------------------------- |
| MEDIUM | …/us/project-2/team-analytics-platform/slos/insights.tf | 51 | # --------------------------------------------------------------------------- |
| MEDIUM | …/us/project-2/team-analytics-platform/slos/insights.tf | 80 | # --------------------------------------------------------------------------- |
| MEDIUM | …/us/project-2/team-analytics-platform/slos/insights.tf | 82 | # --------------------------------------------------------------------------- |
| MEDIUM | …/us/project-2/team-analytics-platform/slos/insights.tf | 94 | # --------------------------------------------------------------------------- |
| MEDIUM | …/us/project-2/team-analytics-platform/slos/insights.tf | 96 | # --------------------------------------------------------------------------- |
| MEDIUM | …/us/project-2/team-analytics-platform/slos/insights.tf | 232 | # --------------------------------------------------------------------------- |
| MEDIUM | …/us/project-2/team-analytics-platform/slos/insights.tf | 234 | # --------------------------------------------------------------------------- |
| MEDIUM | …/us/project-2/team-analytics-platform/slos/insights.tf | 252 | # --------------------------------------------------------------------------- |
| MEDIUM | …/us/project-2/team-analytics-platform/slos/insights.tf | 254 | # --------------------------------------------------------------------------- |
| MEDIUM | …/us/project-2/team-analytics-platform/slos/insights.tf | 283 | # --------------------------------------------------------------------------- |
| MEDIUM | …/us/project-2/team-analytics-platform/slos/insights.tf | 285 | # --------------------------------------------------------------------------- |
| MEDIUM | …/us/project-2/team-analytics-platform/slos/insights.tf | 325 | # --------------------------------------------------------------------------- |
| MEDIUM | …/us/project-2/team-analytics-platform/slos/insights.tf | 327 | # --------------------------------------------------------------------------- |
| MEDIUM | nodejs/src/cdp/workflows-e2e.test.ts | 155 | // ── Helpers ────────────────────────────────────────────────────── |
| MEDIUM | nodejs/src/cdp/rerun/rerun-e2e.test.ts | 260 | // ── 1. Original invocation succeeds ───────────────────────────────── |
| MEDIUM | nodejs/src/cdp/rerun/rerun-e2e.test.ts | 301 | // ── 2. Mimic Django POST /rerun — only the request itself is faked ────── |
| MEDIUM | nodejs/src/cdp/rerun/rerun-e2e.test.ts | 324 | // ── 3. Rerun worker drains the wrapper job ──────────────────────────────── |
| MEDIUM | nodejs/src/cdp/rerun/rerun-e2e.test.ts | 332 | // ── 4. Wait for the wrapper job to complete ──────────────────────────────── |
| MEDIUM | nodejs/src/cdp/rerun/rerun-e2e.test.ts | 339 | // ── 5. Reruned invocation flows through the real cyclotron worker ───────── |
| MEDIUM | …ejs/src/cdp/services/cyclotron-v2/cyclotron-v2.test.ts | 12 | // ── Helpers ────────────────────────────────────────────────────────── |
| MEDIUM | …ejs/src/cdp/services/cyclotron-v2/cyclotron-v2.test.ts | 113 | // ── Tests ──────────────────────────────────────────────────────────── |
| MEDIUM | …ejs/src/cdp/services/cyclotron-v2/cyclotron-v2.test.ts | 144 | // ── Manager ────────────────────────────────────────────────────── |
| MEDIUM | …ejs/src/cdp/services/cyclotron-v2/cyclotron-v2.test.ts | 443 | // ── Worker ─────────────────────────────────────────────────────── |
| MEDIUM | …ejs/src/cdp/services/cyclotron-v2/cyclotron-v2.test.ts | 682 | // ── Janitor ────────────────────────────────────────────────────── |
| MEDIUM | tools/snob_backend_test_selection_shadow.py | 408 | # ── 1. Changed test files themselves ───────────────────────────── |
| MEDIUM | tools/snob_backend_test_selection_shadow.py | 447 | # ── 4. Product API client tests (URL dispatch heuristic) ───────���─ |
| MEDIUM | tools/snob_backend_test_selection_shadow.py | 479 | # ── 5. Temporal / ClickHouse broad matching ────────────────────── |
| MEDIUM | tools/snob_backend_test_selection_shadow.py | 494 | # ── 6. Signal handler expansion ────────────────────────────────── |
| MEDIUM | tools/snob_backend_test_selection_shadow.py | 510 | # ── 7. Middleware expansion ─────────────────────────────────────── |
| MEDIUM | tools/snob_backend_test_selection_shadow.py | 517 | # ── 8. DB router expansion ─────────────────────────────────────── |
| 1333 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | tools/hogli/tests/test_command_types.py | 20 | cmd = DirectCommand("test", {"cmd": "echo foo && echo bar"}) |
| HIGH | tools/hogli/tests/test_command_types.py | 27 | assert call_args[0][0] == "echo foo && echo bar" |
| HIGH | tools/hogli/tests/test_command_types.py | 46 | cmd = DirectCommand("test", {"cmd": "echo foo && echo bar"}) |
| HIGH | tools/hogli/tests/test_command_types.py | 19 | """Test commands with && or || use shell=True.""" |
| HIGH | tools/hogli/tests/test_command_types.py | 19 | """Test commands with && or || use shell=True.""" |
| HIGH | tools/hogli-commands/hogli_commands/devenv/generator.py | 232 | _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.py | 268 | group: build-${{ github.head_ref || github.ref }} |
| HIGH | …li-commands/hogli_commands/tests/test_workflow_lint.py | 276 | group: test-${{ github.head_ref || github.ref }} |
| HIGH | …li-commands/hogli_commands/tests/test_workflow_lint.py | 203 | concurrency: "${{ github.workflow }}-${{ github.head_ref || github.ref }}" |
| HIGH | …li-commands/hogli_commands/tests/test_workflow_lint.py | 241 | group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} |
| HIGH | …li-commands/hogli_commands/tests/test_workflow_lint.py | 297 | group: build-${{ github.head_ref || github.ref }} |
| HIGH | …ogli-commands/hogli_commands/tests/test_ci_insights.py | 106 | @pytest.mark.parametrize("payload", ["", "not json{", '{"actions": [null]}']) |
| HIGH | …ols/hogli-commands/hogli_commands/tests/test_checks.py | 311 | scripts={"backend:test": "pytest -c ../../pytest.ini --rootdir ../.. backend/ -v --tb=short || true"}, |
| HIGH | …ols/hogli-commands/hogli_commands/tests/test_checks.py | 321 | scripts={"backend:test": "pytest -c ../../pytest.ini --rootdir ../.. backend/ -v --tb=short || exit 0"}, |
| HIGH | …ols/hogli-commands/hogli_commands/tests/test_checks.py | 374 | "backend:test": "pytest -c ../../pytest.ini --rootdir ../.. backend/nonexistent -v --tb=short || true", |
| HIGH | tools/hogli-commands/hogli_commands/devbox/cli.py | 1355 | hogli devbox:exec -n api -- bash -lc 'cd ~/posthog && git status' |
| HIGH | …/hogli_commands/workflow_lint/checks/pr_concurrency.py | 7 | group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} |
| HIGH | …/hogli_commands/workflow_lint/checks/pr_concurrency.py | 57 | " group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}\n" |
| HIGH | …/hogli_commands/workflow_lint/checks/pr_concurrency.py | 77 | "concurrency group uses `github.head_ref || github.run_id`; use " |
| HIGH | …/hogli_commands/workflow_lint/checks/pr_concurrency.py | 78 | "`github.head_ref || github.ref` so push runs deduplicate" |
| HIGH | tools/traffic-sim/cli.py | 63 | let snippetLocation = null; |
| HIGH | tools/traffic-sim/cli.py | 67 | snippetLocation = s.parentElement ? s.parentElement.tagName.toLowerCase() : null; |
| HIGH | tools/traffic-sim/cli.py | 71 | let initConfig = null; |
| HIGH | tools/traffic-sim/cli.py | 81 | api_host: p.api_host || null, |
| HIGH | tools/traffic-sim/cli.py | 81 | api_host: p.api_host || null, |
| HIGH | tools/traffic-sim/cli.py | 82 | person_profiles: p.person_profiles || null, |
| HIGH | tools/traffic-sim/cli.py | 82 | person_profiles: p.person_profiles || null, |
| HIGH | tools/traffic-sim/cli.py | 90 | if (!initConfig && window.posthog && window.posthog.config) { |
| HIGH | tools/traffic-sim/cli.py | 93 | api_key: c.token || null, |
| HIGH | tools/traffic-sim/cli.py | 93 | api_key: c.token || null, |
| HIGH | tools/traffic-sim/cli.py | 94 | api_host: c.api_host || null, |
| HIGH | tools/traffic-sim/cli.py | 94 | api_host: c.api_host || null, |
| HIGH | tools/traffic-sim/cli.py | 95 | person_profiles: c.person_profiles || null, |
| HIGH | tools/traffic-sim/cli.py | 95 | person_profiles: c.person_profiles || null, |
| HIGH | tools/traffic-sim/cli.py | 98 | const arrScript = posthogScripts.find(s => s.src && s.src.includes('array')); |
| HIGH | tools/traffic-sim/cli.py | 100 | const runtimeState = defined && window.posthog |
| HIGH | tools/traffic-sim/cli.py | 104 | distinct_id: window.posthog.get_distinct_id ? window.posthog.get_distinct_id() : null, |
| HIGH | tools/traffic-sim/cli.py | 105 | config_api_host: window.posthog.config ? window.posthog.config.api_host : null, |
| HIGH | tools/traffic-sim/cli.py | 109 | if (runtimeState.loaded && hasPosthogInitId) loadMethod = 'head_snippet'; |
| HIGH | tools/traffic-sim/cli.py | 110 | else if (runtimeState.loaded && hasWebSnippet) loadMethod = 'snippet'; |
| HIGH | tools/traffic-sim/cli.py | 111 | else if (runtimeState.loaded && arrScript) loadMethod = 'array_js_only'; |
| HIGH | tools/traffic-sim/cli.py | 119 | array_js_src: arrScript ? arrScript.src : null, |
| HIGH | tools/traffic-sim/cli.py | 368 | await context.add_init_script("Object.defineProperty(navigator, 'webdriver', { get: () => undefined });") |
| HIGH | …ts/backend/tests/temporal/pipeline/test_transformer.py | 55 | b'{"timestamp": "2023-01-01T12:00:00Z", "nested": {"array": [1, 2, 3], "big_num": 12345678901234567890987654 |
| HIGH | products/cdp/backend/test_max_tools.py | 20 | "if (a && b) { print(a) }", |
| HIGH | products/feature_flags/backend/max_tools.py | 166 | "groups": [{"properties": [], "rollout_percentage": null}] |
| HIGH | products/feature_flags/backend/test/test_flags_cache.py | 733 | # If the fixture declares a field as null, the serializer must also return null. |
| HIGH | …gs/backend/models/team_feature_flag_defaults_config.py | 16 | # [{"properties": [...], "rollout_percentage": N, "variant": null}, ...] |
| HIGH | products/feature_flags/backend/api/feature_flag.py | 1061 | raise serializers.ValidationError(f"{path} must be an integer or null, got {type(value).__name__}") |
| HIGH | products/feature_flags/backend/api/feature_flag.py | 1084 | 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.py | 5252 | # Other valid JSON types (number, boolean, null, array) should be accepted |
| HIGH | …ackend/hogql_queries/test_conversion_goal_processor.py | 4080 | Tests handling of null, empty, and missing UTM parameters |
| HIGH | products/error_tracking/backend/models.py | 260 | # If not null, the rule is disabled, for the reason listed |
| HIGH | products/error_tracking/backend/models.py | 290 | # If not null, the rule is disabled, for the reason listed |
| HIGH | …error_tracking/backend/api/test/test_grouping_rules.py | 288 | band by sending `{"assignee": null}` alongside an unrelated filter edit. |
| HIGH | products/tasks/backend/models.py | 607 | environment creator. If either created_by is null, private environments |
| HIGH | …/temporal/process_task/activities/read_sandbox_logs.py | 34 | 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.py | 43 | "cat /var/log/agentsh/agentsh.log 2>/dev/null || true", |
| HIGH | …temporal/process_task/activities/start_agent_server.py | 31 | 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.py | 43 | result = sandbox.execute("tail -n 40 /tmp/agent-server.log 2>/dev/null || true", timeout_seconds=5) |
| 645 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | …s/_transformations/url-masking/url-masking.template.ts | 77 | print('Error masking URL parameters:', error) |
| LOW | tools/snob_backend_test_selection_shadow.py | 560 | except Exception as exc: |
| LOW | tools/infra-scripts/clitools/toolbox/user.py | 57 | except Exception as k8s_error: |
| MEDIUM | tools/infra-scripts/clitools/toolbox/user.py | 58 | print(f"Error: Failed to get user identity: {k8s_error}") # noqa: T201 |
| MEDIUM | tools/infra-scripts/clitools/toolbox/user.py | 59 | print(f"Error type: {type(k8s_error)}") # noqa: T201 |
| LOW | tools/infra-scripts/clitools/toolbox/user.py | 97 | except Exception as e: |
| LOW | tools/infra-scripts/clitools/toolbox/pod.py | 136 | except Exception as e: |
| MEDIUM | tools/infra-scripts/clitools/toolbox/pod.py | 198 | print(f"Error stripping labels: {e.stderr or e}") # noqa: T201 |
| MEDIUM | tools/infra-scripts/clitools/toolbox/pod.py | 215 | print(f"Error annotating pod: {e.stderr or e}") # noqa: T201 |
| LOW | tools/infra-scripts/clitools/toolbox/pod.py | 244 | except Exception as e: |
| MEDIUM | tools/infra-scripts/clitools/toolbox/pod.py | 245 | print(f"Error claiming pod: {e}") # noqa: T201 |
| MEDIUM | tools/infra-scripts/clitools/toolbox/kubernetes.py | 33 | print(f"Error getting kubernetes contexts: {e}") # noqa: T201 |
| MEDIUM | tools/infra-scripts/clitools/toolbox/kubernetes.py | 43 | print(f"Error getting current kubernetes context: {e}") # noqa: T201 |
| MEDIUM | tools/infra-scripts/clitools/toolbox/kubernetes.py | 59 | print(f"Error switching kubernetes context: {e}") # noqa: T201 |
| LOW | tools/hogli/src/hogli/lazy_commands.py | 72 | except Exception as exc: |
| LOW | tools/hogli/src/hogli/telemetry.py | 71 | except Exception: |
| LOW | tools/hogli/src/hogli/telemetry.py | 80 | except Exception: |
| LOW | tools/hogli/src/hogli/telemetry.py | 224 | except Exception as exc: |
| MEDIUM | tools/hogli/src/hogli/telemetry.py | 68 | def _load_config() -> TelemetryConfig: |
| LOW | tools/hogli/src/hogli/cli.py | 78 | except Exception: |
| LOW | tools/hogli/src/hogli/cli.py | 529 | except Exception: |
| LOW | tools/hogli/src/hogli/cli.py | 583 | except Exception: |
| LOW | tools/hogli/src/hogli/cli.py | 592 | except Exception: |
| LOW | tools/pr-approval-agent/dismiss_check.py | 220 | except Exception as e: |
| MEDIUM | tools/pr-approval-agent/dismiss_check.py | 211 | def main() -> None: |
| LOW | tools/pr-approval-agent/review_pr.py | 363 | except Exception as e: |
| LOW | tools/hogli-commands/hogli_commands/metabase.py | 119 | except Exception as exc: |
| LOW | tools/hogli-commands/hogli_commands/db_schema.py | 136 | except Exception: |
| LOW | tools/hogli-commands/hogli_commands/db_schema.py | 197 | except Exception as exc: |
| LOW | tools/hogli-commands/hogli_commands/db_schema.py | 201 | except Exception as cleanup_exc: |
| LOW | tools/hogli-commands/hogli_commands/db_schema.py | 503 | except Exception: |
| LOW | tools/hogli-commands/hogli_commands/db_schema.py | 564 | except Exception as exc: |
| LOW | tools/hogli-commands/hogli_commands/db_schema.py | 571 | except Exception as exc: |
| LOW | tools/hogli-commands/hogli_commands/db_schema.py | 604 | except Exception as exc: |
| LOW | tools/hogli-commands/hogli_commands/db_schema.py | 622 | except Exception as exc: |
| MEDIUM | tools/hogli-commands/hogli_commands/db_schema.py | 568 | def _recreate_test_db() -> None: |
| LOW | tools/hogli-commands/hogli_commands/telemetry_props.py | 42 | except Exception: |
| LOW | tools/hogli-commands/hogli_commands/telemetry_props.py | 55 | except Exception: |
| LOW | tools/hogli-commands/hogli_commands/migrations.py | 329 | except Exception as e: |
| LOW | tools/hogli-commands/hogli_commands/migrations.py | 457 | except Exception as e: |
| LOW | tools/hogli-commands/hogli_commands/migrations.py | 541 | except Exception as e: |
| LOW | tools/hogli-commands/hogli_commands/hints.py | 73 | except Exception: |
| LOW | tools/hogli-commands/hogli_commands/hints.py | 82 | except Exception: |
| LOW | tools/hogli-commands/hogli_commands/hints.py | 104 | except Exception: |
| MEDIUM | tools/hogli-commands/hogli_commands/hints.py | 70 | def _load_state() -> HintsState: |
| LOW | tools/hogli-commands/hogli_commands/doctor.py | 1688 | except Exception as e: |
| LOW | tools/hogli-commands/hogli_commands/doctor.py | 1741 | except Exception as e: |
| LOW | tools/hogli-commands/hogli_commands/prechecks.py | 43 | except Exception as e: |
| LOW | tools/hogli-commands/hogli_commands/devbox/config.py | 29 | except Exception: |
| LOW | tools/hogli-commands/hogli_commands/devbox/coder.py | 174 | except Exception: |
| LOW | tools/traffic-sim/cli.py | 490 | except Exception as exc: |
| LOW | tools/traffic-sim/cli.py | 496 | except Exception: |
| LOW | tools/traffic-sim/cli.py | 502 | except Exception: |
| LOW | tools/traffic-sim/cli.py | 507 | except Exception: |
| LOW | tools/traffic-sim/cli.py | 309 | except Exception: |
| LOW | tools/traffic-sim/cli.py | 550 | except Exception as exc: |
| LOW | products/mcp_store/backend/proxy.py | 319 | except Exception: |
| LOW | products/mcp_store/backend/admin.py | 118 | except Exception as e: |
| LOW | products/mcp_store/backend/facade/api.py | 44 | except Exception as e: |
| LOW | products/mcp_store/backend/presentation/views.py | 418 | except Exception as e: |
| 2650 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | docker-compose.dev-full.yml | 3 | # 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.hcl | 2 | # This file is NOT directly runnable - it provides shared config for child modules. |
| MEDIUM | tools/phrocs/Formula/phrocs.rb | 4 | # This file is auto-updated by CI on semver releases. DO NOT EDIT. |
| MEDIUM | tools/hogli-commands/hogli_commands/devenv/generator.py | 267 | # Create a friendly message with config hint |
| MEDIUM | devenv/intent-map.yaml | 3 | # This file defines the domain model for developer environments: |
| MEDIUM | …backend/tests/temporal/destinations/snowflake/utils.py | 217 | # Create a crude mock of the Snowflake API that just stores the queries |
| MEDIUM | …tinations/file_download/test_file_download_activity.py | 189 | # Create a batch export in the DB since BatchExportFileDownload has a FK to it. |
| MEDIUM | products/cdp/backend/models/hog_function_template.py | 93 | # Create a SHA256 hash of the content |
| MEDIUM | …ducts/cdp/backend/models/hog_functions/hog_function.py | 341 | # Create a serializer data dictionary from the template |
| MEDIUM | …ducts/cdp/backend/models/hog_functions/hog_function.py | 353 | # Create a mock request with the user |
| MEDIUM | products/cdp/backend/api/hog_function.py | 392 | # Create the function with the execution_order |
| MEDIUM | products/cdp/backend/api/test/test_plugin.py | 696 | # Create the plugin |
| MEDIUM | products/cdp/backend/api/test/test_hog_function.py | 197 | # Create the action referenced in EXAMPLE_FULL |
| MEDIUM | products/cdp/backend/api/test/test_hog_function.py | 1596 | # Create a non-transformation function - should not get execution_order |
| MEDIUM | products/cdp/backend/api/test/test_hog_function.py | 2089 | # Create a third function |
| MEDIUM | products/cdp/backend/api/test/test_hog_function.py | 2174 | # Create a third function |
| MEDIUM | products/cdp/backend/api/test/test_hog_function.py | 2337 | # Create a template in the DB |
| MEDIUM | products/cdp/backend/api/test/test_hog_function.py | 2351 | # Create a HogFunction with template_id |
| MEDIUM | products/cdp/backend/api/test/test_hog_function.py | 2368 | # Create a HogFunction without template_id |
| MEDIUM | products/cdp/backend/api/test/test_hog_function.py | 2450 | # Create a hog function |
| MEDIUM | …ts/cdp/backend/api/test/test_hog_function_templates.py | 48 | # Create a webhook template |
| MEDIUM | …ts/cdp/backend/api/test/test_hog_function_templates.py | 63 | # Create a deprecated template |
| MEDIUM | …ts/cdp/backend/api/test/test_hog_function_templates.py | 94 | # Create a site_destination template for filtering tests |
| MEDIUM | …ts/cdp/backend/api/test/test_hog_function_templates.py | 205 | # Create a modified sha of the template |
| MEDIUM | products/feature_flags/backend/test/test_flags_cache.py | 608 | # Create a new team |
| MEDIUM | products/feature_flags/backend/test/test_flags_cache.py | 2527 | # Create a flag for testing |
| MEDIUM | products/feature_flags/backend/test/test_flags_cache.py | 367 | # Create a flag |
| MEDIUM | products/feature_flags/backend/test/test_flags_cache.py | 386 | # Create a flag |
| MEDIUM | products/feature_flags/backend/test/test_flags_cache.py | 653 | # Create a flag |
| MEDIUM | products/feature_flags/backend/test/test_flags_cache.py | 1307 | # Create a team that will be deleted |
| MEDIUM | products/feature_flags/backend/test/test_flags_cache.py | 1344 | # Create a flag so batch loading succeeds |
| MEDIUM | products/feature_flags/backend/test/test_flags_cache.py | 1425 | # Create a real flag for the team |
| MEDIUM | products/feature_flags/backend/test/test_flags_cache.py | 1448 | # Create a real flag for the team |
| MEDIUM | products/feature_flags/backend/test/test_flags_cache.py | 1724 | # Create a real flag for the team |
| MEDIUM | products/feature_flags/backend/test/test_flags_cache.py | 1747 | # Create a real flag for the team |
| MEDIUM | products/feature_flags/backend/test/test_flags_cache.py | 1782 | # Create a real flag for the team |
| MEDIUM | products/feature_flags/backend/test/test_flags_cache.py | 1828 | # Create a real flag for the team |
| MEDIUM | products/feature_flags/backend/test/test_flags_cache.py | 1855 | # Create a real flag |
| MEDIUM | products/feature_flags/backend/test/test_flags_cache.py | 2105 | # Create a real flag |
| MEDIUM | products/feature_flags/backend/test/test_flags_cache.py | 2158 | # Create a real flag |
| MEDIUM | products/feature_flags/backend/test/test_flags_cache.py | 2210 | # Create a flag for the team |
| MEDIUM | products/feature_flags/backend/test/test_flags_cache.py | 2239 | # Create a flag for the team |
| MEDIUM | …ts/feature_flags/backend/test/test_local_evaluation.py | 231 | # Create the context first (this will fire a signal for EvaluationContext.post_save) |
| MEDIUM | …ts/feature_flags/backend/test/test_local_evaluation.py | 236 | # Creating the association should fire the signal |
| MEDIUM | …ts/feature_flags/backend/test/test_local_evaluation.py | 1004 | # Create the circular reference: A -> B -> A |
| MEDIUM | …/api/test/test_feature_flag_require_evaluation_tags.py | 104 | # Create a flag first without the requirement |
| MEDIUM | …/api/test/test_feature_flag_require_evaluation_tags.py | 175 | # Create a flag with evaluation tags |
| MEDIUM | …/api/test/test_feature_flag_require_evaluation_tags.py | 207 | # Create a flag with multiple evaluation tags |
| MEDIUM | …/api/test/test_feature_flag_require_evaluation_tags.py | 242 | # Create a flag without evaluation tags (before requirement was enabled) |
| MEDIUM | …/api/test/test_feature_flag_require_evaluation_tags.py | 273 | # Create a flag with evaluation tags |
| MEDIUM | …eature_flags/backend/api/test/test_scheduled_change.py | 16 | # Create a feature flag to schedule changes for |
| MEDIUM | …eature_flags/backend/api/test/test_scheduled_change.py | 47 | # Create a feature flag |
| MEDIUM | …eature_flags/backend/api/test/test_scheduled_change.py | 77 | # Create a feature flag |
| MEDIUM | …ags/backend/api/test/test_organization_feature_flag.py | 892 | # Create a flag with encrypted payloads |
| MEDIUM | …ags/backend/api/test/test_organization_feature_flag.py | 946 | # Create a flag with encrypted payloads |
| MEDIUM | …ags/backend/api/test/test_organization_feature_flag.py | 1210 | # Create a pending schedule |
| MEDIUM | …ags/backend/api/test/test_organization_feature_flag.py | 1221 | # Create an already executed schedule |
| MEDIUM | …kend/api/test/test_feature_flag_dependency_deletion.py | 229 | # Create a new team |
| MEDIUM | …end/api/test/test_feature_flag_dependency_disabling.py | 228 | # Create a new team |
| MEDIUM | …end/api/test/test_feature_flag_dependency_disabling.py | 395 | # Create a disabled flag |
| 779 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tools/test_test_selection_verdict.py | 1 | |
| LOW | tools/test_selection_verdict.py | 15 | |
| LOW | tools/test_snob_backend_test_selection_shadow.py | 1 | |
| LOW | tools/snob_backend_test_selection_shadow.py | 29 | |
| LOW | tools/phrocs/mcp_server.py | 12 | |
| LOW | …ts/clickhouse-multinode/verify-multinode-clickhouse.py | 22 | |
| LOW | tools/hogli/tests/test_migrations.py | 3 | |
| LOW | tools/hogli/tests/test_manifest.py | 3 | |
| LOW | tools/hogli/tests/test_command_types.py | 3 | |
| LOW | tools/hogli/tests/test_validate.py | 3 | |
| LOW | tools/hogli/tests/test_cli.py | 3 | |
| LOW | tools/hogli/tests/test_telemetry.py | 3 | |
| LOW | tools/hogli/scripts/generate_man_page.py | 4 | |
| LOW | tools/hogli/src/hogli/hooks.py | 9 | |
| LOW | tools/hogli/src/hogli/lazy_commands.py | 3 | |
| LOW | tools/hogli/src/hogli/manifest.py | 3 | |
| LOW | tools/hogli/src/hogli/telemetry.py | 17 | |
| LOW | tools/hogli/src/hogli/command_types.py | 3 | |
| LOW | tools/hogli/src/hogli/validate.py | 3 | |
| LOW | tools/hogli/src/hogli/cli.py | 7 | |
| LOW | tools/hogli/src/hogli/__main__.py | 3 | |
| LOW | tools/hogli-commands/hogli_commands/build.py | 3 | |
| LOW | tools/hogli-commands/hogli_commands/ci_insights.py | 17 | |
| LOW | tools/hogli-commands/hogli_commands/metabase.py | 20 | |
| LOW | tools/hogli-commands/hogli_commands/db_schema.py | 3 | |
| LOW | tools/hogli-commands/hogli_commands/telemetry_props.py | 9 | |
| LOW | …ls/hogli-commands/hogli_commands/telemetry_commands.py | 3 | |
| LOW | tools/hogli-commands/hogli_commands/test_runner.py | 7 | |
| LOW | tools/hogli-commands/hogli_commands/migrations.py | 25 | |
| LOW | tools/hogli-commands/hogli_commands/hint_hook.py | 6 | |
| LOW | tools/hogli-commands/hogli_commands/hints.py | 13 | |
| LOW | tools/hogli-commands/hogli_commands/doctor.py | 1 | |
| LOW | tools/hogli-commands/hogli_commands/prechecks.py | 9 | |
| LOW | tools/hogli-commands/hogli_commands/quickstart.py | 3 | |
| LOW | tools/hogli-commands/hogli_commands/devenv/registry.py | 7 | |
| LOW | tools/hogli-commands/hogli_commands/devenv/__init__.py | 13 | |
| LOW | tools/hogli-commands/hogli_commands/devenv/__init__.py | 13 | |
| LOW | tools/hogli-commands/hogli_commands/devenv/__init__.py | 13 | |
| LOW | tools/hogli-commands/hogli_commands/devenv/__init__.py | 13 | |
| LOW | tools/hogli-commands/hogli_commands/devenv/__init__.py | 13 | |
| LOW | tools/hogli-commands/hogli_commands/devenv/__init__.py | 13 | |
| LOW | tools/hogli-commands/hogli_commands/devenv/__init__.py | 21 | |
| LOW | tools/hogli-commands/hogli_commands/devenv/__init__.py | 21 | |
| LOW | tools/hogli-commands/hogli_commands/devenv/__init__.py | 21 | |
| LOW | tools/hogli-commands/hogli_commands/devenv/__init__.py | 22 | |
| LOW | tools/hogli-commands/hogli_commands/devenv/__init__.py | 22 | |
| LOW | tools/hogli-commands/hogli_commands/devenv/__init__.py | 22 | |
| LOW | tools/hogli-commands/hogli_commands/devenv/__init__.py | 23 | |
| LOW | tools/hogli-commands/hogli_commands/devenv/wizard.py | 6 | |
| LOW | tools/hogli-commands/hogli_commands/devenv/generator.py | 7 | |
| LOW | tools/hogli-commands/hogli_commands/devenv/cli.py | 6 | |
| LOW | tools/hogli-commands/hogli_commands/devenv/resolver.py | 13 | |
| LOW | …s/hogli-commands/hogli_commands/tests/test_detached.py | 1 | |
| LOW | tools/hogli-commands/hogli_commands/tests/test_hints.py | 1 | |
| LOW | …li-commands/hogli_commands/tests/test_workflow_lint.py | 9 | |
| LOW | …ols/hogli-commands/hogli_commands/tests/test_devenv.py | 3 | |
| LOW | …ogli-commands/hogli_commands/tests/test_ci_insights.py | 1 | |
| LOW | …ols/hogli-commands/hogli_commands/tests/test_devbox.py | 3 | |
| LOW | …s/hogli-commands/hogli_commands/tests/test_metabase.py | 1 | |
| LOW | tools/hogli-commands/hogli_commands/tests/test_build.py | 3 | |
| 2096 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | products/batch_exports/backend/service.py | 0 | needed for backwards compatibility with existing batch exports. todo: remove once all existing backfills are finished. |
| HIGH | products/batch_exports/backend/service.py | 0 | needed for backwards compatibility with existing batch exports. todo: remove once all existing backfills are finished. |
| HIGH | products/batch_exports/backend/service.py | 0 | needed for backwards compatibility with existing batch exports. todo: remove once all existing backfills are finished. |
| HIGH | …s/batch_exports/backend/temporal/record_batch_model.py | 0 | produce a printed query and any necessary clickhouse query parameters. |
| HIGH | …s/batch_exports/backend/temporal/record_batch_model.py | 0 | produce a printed query and any necessary clickhouse query parameters. |
| HIGH | …s/batch_exports/backend/temporal/record_batch_model.py | 0 | produce a printed query and any necessary clickhouse query parameters. |
| HIGH | …s/batch_exports/backend/temporal/record_batch_model.py | 0 | produce a printed query and any necessary clickhouse query parameters. |
| HIGH | …ch_exports/backend/temporal/pipeline/internal_stage.py | 0 | delete all objects in bucket_name under key_prefix. |
| HIGH | …ducts/batch_exports/backend/tests/temporal/utils/s3.py | 0 | delete all objects in bucket_name under key_prefix. |
| HIGH | …temporal/tests/external_data/test_external_data_job.py | 0 | delete all objects in bucket_name under key_prefix. |
| HIGH | posthog/api/test/batch_exports/test_test.py | 0 | delete all objects in bucket_name under key_prefix. |
| HIGH | …atch_exports/backend/tests/temporal/test_monitoring.py | 0 | provide a batch export for tests, not intended to be used. |
| HIGH | …orts/backend/tests/temporal/test_batch_export_utils.py | 0 | provide a batch export for tests, not intended to be used. |
| HIGH | …rts/backend/tests/temporal/pipeline/test_entrypoint.py | 0 | provide a batch export for tests, not intended to be used. |
| HIGH | …/tests/temporal/destinations/base_destination_tests.py | 0 | create a test integration (for those destinations that require an integration) |
| HIGH | …/tests/temporal/destinations/base_destination_tests.py | 0 | create a test integration (for those destinations that require an integration) |
| HIGH | …ests/temporal/destinations/databricks/test_workflow.py | 0 | create a test integration (for those destinations that require an integration) |
| HIGH | …rts/backend/tests/temporal/destinations/s3/conftest.py | 0 | manage 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.py | 0 | manage 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.py | 0 | manage an s3 client to interact with a minio bucket. yields the client after creating a bucket. upon resuming, we delete |
| HIGH | posthog/temporal/tests/data_imports/conftest.py | 0 | manage an s3 client to interact with a minio bucket. yields the client after creating a bucket. upon resuming, we delete |
| HIGH | posthog/temporal/tests/data_imports/test_end_to_end.py | 0 | manage 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.py | 0 | manage an s3 client to interact with a minio bucket. yields the client after creating a bucket. upon resuming, we delete |
| HIGH | posthog/api/test/batch_exports/test_test.py | 0 | manage 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.py | 0 | return a bigquery configuration dictionary to use in tests. |
| HIGH | …i/destination_tests/test_bigquery_destination_tests.py | 0 | return a bigquery configuration dictionary to use in tests. |
| HIGH | …og/temporal/tests/data_imports/test_bigquery_source.py | 0 | return a bigquery configuration dictionary to use in tests. |
| HIGH | posthog/api/test/batch_exports/test_test.py | 0 | return a bigquery configuration dictionary to use in tests. |
| HIGH | …ckend/tests/temporal/destinations/bigquery/conftest.py | 0 | manage 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.py | 0 | manage 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.py | 0 | manage 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.py | 0 | sequence of test steps that make up this destination test. |
| HIGH | …atch_exports/backend/api/destination_tests/bigquery.py | 0 | sequence of test steps that make up this destination test. |
| HIGH | …tch_exports/backend/api/destination_tests/snowflake.py | 0 | sequence of test steps that make up this destination test. |
| HIGH | …ch_exports/backend/api/destination_tests/databricks.py | 0 | sequence of test steps that make up this destination test. |
| HIGH | …ucts/batch_exports/backend/api/destination_tests/s3.py | 0 | sequence of test steps that make up this destination test. |
| HIGH | …tch_exports/backend/api/destination_tests/snowflake.py | 0 | internal method with execution logic for test step. |
| HIGH | …tch_exports/backend/api/destination_tests/snowflake.py | 0 | internal method with execution logic for test step. |
| HIGH | …tch_exports/backend/api/destination_tests/snowflake.py | 0 | internal method with execution logic for test step. |
| HIGH | …kend/api/test/test_feature_flag_dependency_deletion.py | 0 | helper to create a flag with optional dependencies. |
| HIGH | …end/api/test/test_feature_flag_dependency_disabling.py | 0 | helper to create a flag with optional dependencies. |
| HIGH | posthog/api/test/test_circular_dependency_detection.py | 0 | helper to create a flag with optional dependencies. |
| HIGH | …ogql_queries/marketing_analytics_table_query_runner.py | 0 | execute the query and return results with pagination support |
| HIGH | …ogql_queries/marketing_analytics_table_query_runner.py | 0 | execute the query and return results with pagination support |
| HIGH | …ogql_queries/marketing_analytics_table_query_runner.py | 0 | execute the query and return results with pagination support |
| HIGH | products/error_tracking/backend/embedding.py | 0 | create materialized view if not exists {mv_name} to {target_table} as select team_id, product, document_type, model_name |
| HIGH | products/error_tracking/backend/embedding.py | 0 | create materialized view if not exists {mv_name} to {target_table} as select team_id, product, document_type, model_name |
| HIGH | products/error_tracking/backend/indexed_embedding.py | 0 | create materialized view if not exists {mv_name} to {target_table} as select team_id, product, document_type, model_name |
| HIGH | products/tasks/backend/services/sandbox.py | 0 | return the url for connecting to the agent server, or none if not available. |
| HIGH | products/tasks/backend/services/modal_sandbox.py | 0 | return the url for connecting to the agent server, or none if not available. |
| HIGH | products/tasks/backend/services/docker_sandbox.py | 0 | return the url for connecting to the agent server, or none if not available. |
| HIGH | …ts/data_warehouse/backend/models/test/test_modeling.py | 0 | \ 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.py | 0 | \ 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.py | 0 | \ 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.py | 0 | \ 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.py | 0 | \ 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.py | 0 | \ select events.event, persons.properties from events left join persons on events.person_id = persons.id where events.ev |
| HIGH | products/data_warehouse/backend/api/test/conftest.py | 0 | clean up any temporal schedules created during the test. |
| HIGH | …/data_warehouse/backend/data_load/test/test_service.py | 0 | clean up any temporal schedules created during the test. |
| HIGH | …nt/commands/test/test_update_batch_export_schedules.py | 0 | clean up any temporal schedules created during the test. |
| 256 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tools/test_selection_verdict.py | 47 | |
| LOW | tools/test_selection_verdict.py | 156 | |
| LOW | tools/snob_backend_test_selection_shadow.py | 177 | |
| LOW | tools/snob_backend_test_selection_shadow.py | 403 | |
| LOW | tools/infra-scripts/clitools/test_toolbox.py | 828 | |
| LOW | tools/infra-scripts/clitools/test_toolbox.py | 1207 | |
| LOW | tools/infra-scripts/clitools/test_toolbox.py | 836 | |
| LOW | tools/infra-scripts/clitools/toolbox.py | 60 | |
| LOW | tools/infra-scripts/clitools/toolbox/pod.py | 28 | |
| LOW | tools/infra-scripts/clitools/toolbox/pod.py | 141 | |
| LOW | tools/hogli/src/hogli/command_types.py | 337 | |
| LOW | tools/hogli/src/hogli/command_types.py | 402 | |
| LOW | tools/hogli/src/hogli/cli.py | 229 | |
| LOW | tools/hogli/src/hogli/cli.py | 443 | |
| LOW | tools/pr-approval-agent/gates.py | 378 | |
| LOW | tools/pr-approval-agent/reviewer.py | 215 | |
| LOW | tools/pr-approval-agent/reviewer.py | 333 | |
| LOW | tools/pr-approval-agent/review_pr.py | 344 | |
| LOW | tools/pr-approval-agent/github.py | 149 | |
| LOW | tools/hogli-commands/hogli_commands/metabase.py | 67 | |
| LOW | tools/hogli-commands/hogli_commands/metabase.py | 176 | |
| LOW | tools/hogli-commands/hogli_commands/db_schema.py | 301 | |
| LOW | tools/hogli-commands/hogli_commands/db_schema.py | 335 | |
| LOW | tools/hogli-commands/hogli_commands/test_runner.py | 63 | |
| LOW | tools/hogli-commands/hogli_commands/test_runner.py | 391 | |
| LOW | tools/hogli-commands/hogli_commands/test_runner.py | 583 | |
| LOW | tools/hogli-commands/hogli_commands/test_runner.py | 618 | |
| LOW | tools/hogli-commands/hogli_commands/migrations.py | 97 | |
| LOW | tools/hogli-commands/hogli_commands/migrations.py | 503 | |
| LOW | tools/hogli-commands/hogli_commands/migrations.py | 546 | |
| LOW | tools/hogli-commands/hogli_commands/migrations.py | 683 | |
| LOW | tools/hogli-commands/hogli_commands/migrations.py | 787 | |
| LOW | tools/hogli-commands/hogli_commands/doctor.py | 289 | |
| LOW | tools/hogli-commands/hogli_commands/doctor.py | 734 | |
| LOW | tools/hogli-commands/hogli_commands/doctor.py | 882 | |
| LOW | tools/hogli-commands/hogli_commands/doctor.py | 1401 | |
| LOW | tools/hogli-commands/hogli_commands/doctor.py | 1530 | |
| LOW | tools/hogli-commands/hogli_commands/prechecks.py | 15 | |
| LOW | tools/hogli-commands/hogli_commands/devenv/wizard.py | 148 | |
| LOW | tools/hogli-commands/hogli_commands/devenv/generator.py | 415 | |
| LOW | tools/hogli-commands/hogli_commands/devenv/generator.py | 115 | |
| LOW | tools/hogli-commands/hogli_commands/product/checks.py | 229 | |
| LOW | tools/hogli-commands/hogli_commands/product/checks.py | 382 | |
| LOW | …s/hogli-commands/hogli_commands/product/ast_helpers.py | 23 | |
| LOW | …s/hogli-commands/hogli_commands/product/ast_helpers.py | 35 | |
| LOW | …s/hogli-commands/hogli_commands/product/ast_helpers.py | 105 | |
| LOW | …s/hogli-commands/hogli_commands/product/ast_helpers.py | 121 | |
| LOW | …s/hogli-commands/hogli_commands/product/ast_helpers.py | 161 | |
| LOW | …s/hogli-commands/hogli_commands/product/ast_helpers.py | 198 | |
| LOW | …s/hogli-commands/hogli_commands/product/ast_helpers.py | 220 | |
| LOW | tools/hogli-commands/hogli_commands/product/maturity.py | 143 | |
| LOW | tools/hogli-commands/hogli_commands/product/maturity.py | 219 | |
| LOW | tools/hogli-commands/hogli_commands/product/maturity.py | 894 | |
| LOW | tools/hogli-commands/hogli_commands/devbox/coder.py | 921 | |
| LOW | tools/hogli-commands/hogli_commands/devbox/coder.py | 1059 | |
| LOW | …/hogli_commands/workflow_lint/checks/dorny_negation.py | 33 | |
| LOW | tools/traffic-sim/cli.py | 268 | |
| LOW | tools/traffic-sim/cli.py | 456 | |
| LOW | tools/traffic-sim/cli.py | 512 | |
| LOW | tools/traffic-sim/cli.py | 184 | |
| 1527 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | test-runner-jest-environment.js | 17 | const parentName = event.test.parent.parent.name.replace(/\W/g, '-').toLowerCase() |
| CRITICAL | …rc/ingestion/session_replay/parse-message-step.test.ts | 421 | expect(result.value.parsedMessage.eventsRange.start.toMillis()).toBe(fixedTimeMs) |
| CRITICAL | …rc/ingestion/session_replay/parse-message-step.test.ts | 422 | expect(result.value.parsedMessage.eventsRange.end.toMillis()).toBe(fixedTimeMs + 5000) |
| CRITICAL | …rc/ingestion/session_replay/parse-message-step.test.ts | 497 | expect(result.value.parsedMessage.eventsRange.start.toMillis()).toBe(sixDaysInPast) |
| CRITICAL | …rc/ingestion/session_replay/parse-message-step.test.ts | 498 | expect(result.value.parsedMessage.eventsRange.end.toMillis()).toBe(sixDaysInFuture) |
| CRITICAL | …/session-replay/recording-rasterizer/temporal/codec.ts | 42 | data: this.encrypt(temporal.api.common.v1.Payload.encode(p).finish()), |
| CRITICAL | …/session-replay/recording-rasterizer/temporal/codec.ts | 54 | return temporal.api.common.v1.Payload.decode(decrypted) |
| CRITICAL | …ckend/temporal/destinations/azure_blob_batch_export.py | 7 | from azure.core.exceptions import HttpResponseError |
| CRITICAL | …/destinations/azure_blob/test_workflow_error_states.py | 9 | from azure.core.exceptions import ClientAuthenticationError, ResourceNotFoundError |
| CRITICAL | …ch_exports/backend/api/destination_tests/azure_blob.py | 37 | from azure.core.exceptions import ClientAuthenticationError, ResourceNotFoundError, ServiceRequestError |
| CRITICAL | products/cdp/backend/models/hook.py | 3 | from django.core.exceptions import ValidationError |
| CRITICAL | products/cdp/backend/api/hooks.py | 4 | from django.core.exceptions import ValidationError |
| CRITICAL | products/feature_flags/backend/models/feature_flag.py | 7 | from django.core.exceptions import ValidationError |
| CRITICAL | …ics/backend/models/marketing_analytics_goal_mapping.py | 1 | from django.core.exceptions import ValidationError |
| CRITICAL | …ckend/hogql_queries/test_marketing_analytics_config.py | 4 | from django.core.exceptions import ValidationError |
| CRITICAL | …alytics/backend/hogql_queries/adapters/test_factory.py | 7 | from django.core.exceptions import ValidationError |
| CRITICAL | …end/hogql_queries/error_tracking_query_runner_utils.py | 5 | from django.core.exceptions import ValidationError |
| CRITICAL | …ackend/hogql_queries/error_tracking_query_runner_v3.py | 4 | from django.core.exceptions import ValidationError |
| CRITICAL | products/tasks/backend/models.py | 21 | from django.core.exceptions import ValidationError |
| CRITICAL | …k/activities/tests/test_get_task_processing_context.py | 4 | from django.core.exceptions import ValidationError |
| CRITICAL | products/tasks/backend/tests/test_models.py | 9 | from django.core.exceptions import ValidationError |
| CRITICAL | products/user_interviews/backend/max_tools.py | 5 | from django.core.exceptions import ValidationError as DjangoValidationError |
| CRITICAL | products/user_interviews/backend/presentation/views.py | 8 | from django.core.exceptions import ValidationError as DjangoValidationError |
| CRITICAL | …tics/backend/hogql_queries/paths/paths_query_runner.py | 730 | table.select_from.table.select_from.table.select.extend( # type: ignore[union-attr] |
| CRITICAL | …a_modeling/backend/models/datawarehouse_saved_query.py | 8 | from django.core.exceptions import ValidationError |
| CRITICAL | …ducts/data_modeling/backend/models/github_sync_plan.py | 1 | from django.core.exceptions import ValidationError |
| CRITICAL | products/alerts/backend/max_tools.py | 4 | from django.core.exceptions import ValidationError |
| CRITICAL | products/alerts/backend/models/alert.py | 6 | from django.core.exceptions import ValidationError |
| CRITICAL | products/web_analytics/backend/api/heatmaps_api.py | 5 | from django.core.exceptions import FieldError |
| CRITICAL | products/logs/backend/models.py | 7 | from django.core.exceptions import ValidationError |
| CRITICAL | products/logs/backend/test/test_models.py | 6 | from django.core.exceptions import ValidationError |
| CRITICAL | …ucts/customer_analytics/backend/models/account_test.py | 6 | from django.core.exceptions import ValidationError as DjangoValidationError |
| CRITICAL | products/customer_analytics/backend/models/account.py | 4 | from django.core.exceptions import ValidationError |
| CRITICAL | products/dashboards/backend/models/dashboard_tile.py | 1 | from django.core.exceptions import ValidationError |
| CRITICAL | products/dashboards/backend/api/dashboard.py | 12 | from django.core.exceptions import ValidationError as DjangoValidationError |
| CRITICAL | products/legal_documents/backend/admin.py | 5 | from django.core.exceptions import ValidationError |
| CRITICAL | products/legal_documents/backend/tests/test_admin.py | 7 | from django.core.exceptions import ValidationError |
| CRITICAL | products/legal_documents/backend/presentation/views.py | 4 | from django.core.exceptions import ValidationError as DjangoValidationError |
| CRITICAL | …ai_observability/backend/models/model_configuration.py | 1 | from django.core.exceptions import ValidationError |
| CRITICAL | products/ai_observability/backend/models/evaluations.py | 1 | from django.core.exceptions import ValidationError |
| CRITICAL | products/ai_observability/backend/models/taggers.py | 3 | from django.core.exceptions import ValidationError |
| CRITICAL | …_observability/backend/models/test/test_evaluations.py | 4 | from django.core.exceptions import ValidationError |
| CRITICAL | …s/ai_observability/backend/models/test/test_taggers.py | 4 | from django.core.exceptions import ValidationError |
| CRITICAL | products/business_knowledge/backend/api/views.py | 6 | from django.core.exceptions import ValidationError as DjangoValidationError |
| CRITICAL | products/notebooks/backend/models.py | 1 | from django.core.exceptions import ValidationError |
| CRITICAL | …nd/src/scenes/experiments/experimentSceneLogic.test.ts | 68 | mockModule.experimentLogic.__logic.actions.loadExperiment.mockClear() |
| CRITICAL | …nd/src/scenes/experiments/experimentSceneLogic.test.ts | 69 | mockModule.experimentLogic.__logic.actions.loadExposures.mockClear() |
| CRITICAL | …nd/src/scenes/experiments/experimentSceneLogic.test.ts | 117 | mockModule.experimentLogic.__logic.actions.loadExperiment.mockClear() |
| CRITICAL | ee/hogai/chat_agent/rag/nodes.py | 9 | from azure.core.exceptions import HttpResponseError as AzureHttpResponseError |
| CRITICAL | ee/hogai/session_summaries/session/summarize_session.py | 256 | session_start_time_str=summary_data.prompt_data.prompt_data.metadata.start_time.isoformat(), |
| CRITICAL | ee/api/conversation.py | 8 | from django.core.exceptions import ValidationError |
| CRITICAL | ee/api/authentication.py | 4 | from django.core.exceptions import ValidationError as DjangoValidationError |
| CRITICAL | ee/api/test/test_authentication.py | 12 | from django.core.exceptions import ValidationError |
| CRITICAL | ee/api/agentic_provisioning/views.py | 18 | from django.core.exceptions import ValidationError |
| CRITICAL | rust/personhog-router/src/backend/leader.rs | 360 | /// These values must match `org.apache.kafka.common.utils.Utils.murmur2()` |
| CRITICAL | docs/onboarding/logs/java.tsx | 87 | io.opentelemetry.api.common.Attributes.of( |
| CRITICAL | posthog/auth.py | 16 | from django.core.exceptions import ValidationError |
| CRITICAL | posthog/demo/products/hedgebox/matrix.py | 11 | from django.core.exceptions import ValidationError |
| CRITICAL | …sts/session_replay/export_recording/test_activities.py | 84 | mock_qs.select_related.return_value.only.return_value.aget.assert_called_once_with(id=TEST_RECORDING_ID) |
| CRITICAL | posthog/temporal/tests/ai/test_sync_vectors.py | 922 | from azure.core.exceptions import ClientAuthenticationError |
| 35 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | docker-compose.multinode-clickhouse.yml | 1 | # |
| LOW | docker-compose.dev.yml | 1 | # |
| LOW | docker-compose.sandbox.yml | 1 | # |
| LOW | docker-compose.profiles.yml | 1 | # Docker Compose profile overlay — historical backwards-compatibility layer. |
| LOW | …analytics-platform/dashboard-key-metrics/dashboards.tf | 1 | # ============================================================================= |
| LOW | …eam-analytics-platform/dashboard-key-metrics/alerts.tf | 1 | # ============================================================================= |
| LOW | nodejs/src/ingestion/ingestion-consumer.test.ts | 1061 | // createEvent({ |
| LOW | nodejs/src/ingestion/ingestion-e2e.test.ts | 1741 | // const testName = DateTime.now().toFormat('yyyy-MM-dd-HH-mm-ss') |
| LOW | nodejs/src/ingestion/ingestion-e2e.test.ts | 1761 | // .withProperties({ |
| LOW | nodejs/src/ingestion/ingestion-e2e.test.ts | 1781 | // .withProperties({ |
| LOW | nodejs/src/ingestion/ingestion-e2e.test.ts | 1801 | // alias: user3DistinctId, |
| LOW | nodejs/src/ingestion/ingestion-e2e.test.ts | 1821 | // expect(persons.length).toBe(1) |
| LOW | nodejs/src/ingestion/ingestion-e2e.test.ts | 1841 | // ) |
| LOW | nodejs/src/ingestion/ingestion-e2e.test.ts | 1861 | // const events = [ |
| LOW | nodejs/src/ingestion/ingestion-e2e.test.ts | 1881 | // .build(), |
| LOW | nodejs/src/ingestion/ingestion-e2e.test.ts | 1901 | // .build(), |
| LOW | nodejs/src/ingestion/ingestion-e2e.test.ts | 1921 | |
| LOW | nodejs/src/ingestion/ingestion-e2e.test.ts | 1941 | // expect.objectContaining({ |
| LOW | nodejs/src/ingestion/ingestion-e2e.test.ts | 1961 | // } as InternalPerson) |
| LOW | nodejs/src/ingestion/ingestion-e2e.test.ts | 1981 | // anon_distinct_id: user2DistinctId, |
| LOW | nodejs/src/ingestion/ingestion-e2e.test.ts | 2001 | // .withEvent('$create_alias') |
| LOW | nodejs/src/ingestion/ingestion-e2e.test.ts | 2021 | // .withEvent('$identify') |
| LOW | nodejs/src/ingestion/ingestion-e2e.test.ts | 2041 | |
| LOW | nodejs/src/ingestion/ingestion-e2e.test.ts | 2061 | // email: `user1-${user1DistinctId}@example.com`, |
| LOW | nodejs/src/ingestion/ai/costs/input-costs.test.ts | 1181 | const result = calculateInputCost(event, vercelAnthropicAudioModel) |
| LOW | nodejs/src/utils/utils.ts | 281 | // 4 bits for ver = 0b111 (7) |
| LOW | nodejs/src/common/redis/redis-token-bucket-v3.lua.ts | 1 | import { Redis } from 'ioredis' |
| LOW | nodejs/src/api/router.ts | 61 | ) |
| LOW | nodejs/src/api/router.ts | 81 | // return a 503 status code, otherwise we return a 200 status code. |
| LOW | nodejs/src/logs-ingestion/sampling-drop-probe-curl.sh | 1 | #!/usr/bin/env bash |
| LOW | …dejs/src/logs-ingestion/sampling-seed-services-curl.sh | 1 | #!/usr/bin/env bash |
| LOW | …s/src/worker/ingestion/persons/person-merge-service.ts | 221 | // https://github.com/PostHog/posthog/blob/92e17ce307a577c4233d4ab252eebc6c2207a5ee/posthog/models/person/sql. |
| LOW | …s/src/worker/ingestion/persons/person-merge-service.ts | 301 | // We were the first to insert both (neither was used for Personless), so we |
| LOW | …s/src/worker/ingestion/persons/person-merge-service.ts | 461 | currentTargetPerson, |
| LOW | nodejs/src/servers/ingestion-api-server.ts | 401 | const batch = messages.map((message) => createOkContext({ message }, { message })) |
| LOW | tools/phrocs/main.go | 1 | // phrocs is a PostHog-branded dev process runner built with Bubble Tea. |
| LOW | tools/phrocs/internal/ipc/server.go | 1 | // Package ipc exposes phrocs process data over a Unix domain socket so |
| LOW | tools/phrocs/internal/ipc/server.go | 21 | // {"cmd":"focus","process":"web"} |
| LOW | tools/infra-scripts/mcp/mcp-grafana-wrapper.sh | 1 | #!/usr/bin/env bash |
| LOW | tools/infra-scripts/clitools/toolbox.py | 141 | # Calculate duration |
| LOW | tools/hedgebox-dummy/next-env.d.ts | 1 | /// <reference types="next" /> |
| LOW | …s/hogli-commands/hogli_commands/product_structure.yaml | 1 | # Canonical product structure definition |
| LOW | tools/hogli-commands/hogli_commands/devbox/coder.py | 61 | # Key of the workspace metadata item the template publishes the region back as. |
| LOW | devenv/intent-map.yaml | 1 | # Intent-based developer environment configuration |
| LOW | products/slack_app/backend/api.py | 501 | ) |
| LOW | products/metrics/backend/models.py | 1 | """Django models for metrics.""" |
| LOW | products/batch_exports/backend/temporal/spmc.py | 681 | ) |
| LOW | …ackend/temporal/destinations/snowflake_batch_export.py | 81 | "DatabaseError", |
| LOW | …backend/temporal/destinations/redshift_batch_export.py | 81 | # This can also happen when merging tables with a different number of columns: |
| LOW | …backend/temporal/destinations/postgres_batch_export.py | 101 | # Raised when the database doesn't support a particular feature we use. |
| LOW | products/feature_flags/backend/flag_status.py | 21 | |
| LOW | products/feature_flags/backend/api/feature_flag.py | 3881 | status=status.HTTP_500_INTERNAL_SERVER_ERROR, |
| LOW | products/tracing/backend/models.py | 1 | """Django models for tracing.""" |
| LOW | products/tracing/backend/facade/api.py | 21 | # |
| LOW | products/mcp_analytics/backend/logic.py | 61 | ) |
| LOW | products/tasks/backend/temporal/constants.py | 41 | # a signal as lost and re-forwarding it. The child dedupes on `ack_id`, so a |
| LOW | …cts/tasks/backend/temporal/execute_sandbox/workflow.py | 101 | # Names of signals this workflow sends back to the TaskManagement parent. Kept |
| LOW | …oducts/tasks/backend/temporal/process_task/workflow.py | 101 | # The PR-context guard inserted a new `get_pr_context` activity before the |
| LOW | …s/backend/temporal/process_task/tests/test_followup.py | 541 | async def test_ci_follow_up_fires_on_changed_fingerprint_and_persists(self): |
| LOW | products/data_tools/backend/models/join.py | 161 | "properties": ["properties"], |
| 875 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …c/cdp/consumers/cdp-cohort-membership.consumer.test.ts | 100 | // Step 1: Person enters the cohort |
| LOW | …c/cdp/consumers/cdp-cohort-membership.consumer.test.ts | 126 | // Step 2: Person leaves the cohort |
| LOW | …c/cdp/consumers/cdp-cohort-membership.consumer.test.ts | 154 | // Step 3: Person re-enters the cohort |
| LOW | …rc/cdp/consumers/cdp-precalculated-filters.consumer.ts | 180 | // Step 1: Parse all messages and group by team_id |
| LOW | …rc/cdp/consumers/cdp-precalculated-filters.consumer.ts | 205 | // Step 2: Fetch all realtime supported filters for all teams in one query |
| LOW | …rc/cdp/consumers/cdp-precalculated-filters.consumer.ts | 209 | // Step 3: Process each team's events with their realtime supported filters |
| LOW | …cdp/services/hogflows/hogflow-executor.service.test.ts | 560 | // Step 1: run first action (function_id_1) |
| LOW | …cdp/services/hogflows/hogflow-executor.service.test.ts | 579 | // Step 2: run again, should NOT exit early due to exit_only_at_end |
| LOW | …ejs/src/ingestion/pipelines/docs/12-filter-map.test.ts | 64 | // Step 1: Resolve team from teamId (some lookups may fail) |
| LOW | …ejs/src/ingestion/pipelines/docs/12-filter-map.test.ts | 81 | // Step 2: Process event (runs within teamAware context) |
| LOW | …utils/overflow-redirect/main-lane-overflow-redirect.ts | 83 | // Step 1: Check local cache (stateful only) |
| LOW | …utils/overflow-redirect/main-lane-overflow-redirect.ts | 107 | // Step 2: Batch check Redis for cache misses using MGET (stateful only) |
| LOW | …utils/overflow-redirect/main-lane-overflow-redirect.ts | 138 | // Step 3: Check rate limiter for unflagged keys |
| LOW | …utils/overflow-redirect/main-lane-overflow-redirect.ts | 156 | // Step 4: Batch flag newly rate-limited keys in Redis (stateful only) |
| LOW | nodejs/src/ingestion/ai/errors/normalize-error.ts | 15 | // Step 1: UUIDs and request IDs (e.g., req_abc123, 550e8400-e29b-41d4-a716-446655440000) |
| LOW | nodejs/src/ingestion/ai/errors/normalize-error.ts | 18 | // Step 2: ISO timestamps (e.g., 2025-11-08T14:25:51.767Z) |
| LOW | nodejs/src/ingestion/ai/errors/normalize-error.ts | 21 | // Step 3: Cloud resource paths (e.g., projects/123/locations/us-west2/publishers/google/models/gemini-pro) |
| LOW | nodejs/src/ingestion/ai/errors/normalize-error.ts | 24 | // Step 4: ResponseId JSON fields (e.g., "responseId":"h2sPacmZI4OWvPEPvIS16Ac") |
| LOW | nodejs/src/ingestion/ai/errors/normalize-error.ts | 27 | // Step 5: Generic JSON "id" fields (e.g., "id": "oJf6eVw-z1gNr-99c2d11d156dff07") |
| LOW | nodejs/src/ingestion/ai/errors/normalize-error.ts | 36 | // Step 7: Function call IDs (e.g., function call call_edLiisyOJybNZLouC6MCNxyC) |
| LOW | nodejs/src/ingestion/ai/errors/normalize-error.ts | 39 | // Step 8: User IDs (e.g., 'user_id': 'user_32yQoBNWxpvzxVJG0S0zxnnVSCJ') |
| LOW | nodejs/src/ingestion/ai/errors/normalize-error.ts | 43 | // Step 9: Memory object IDs / hex addresses (e.g., 0xfffced405130) |
| LOW | nodejs/src/ingestion/ai/errors/normalize-error.ts | 46 | // Step 10: Generic id='xxx' patterns (case insensitive) |
| LOW | nodejs/src/ingestion/ai/errors/normalize-error.ts | 49 | // Step 11: Token counts (e.g., "tokenCount":7125 or "tokenCount": 7125) |
| LOW | nodejs/src/ingestion/ai/errors/normalize-error.ts | 52 | // Step 12: Large numeric IDs (9+ digits, e.g., project IDs like 1234567890) |
| LOW | nodejs/src/ingestion/ai/errors/normalize-error.ts | 55 | // Step 13: All remaining numbers |
| LOW | nodejs/src/ingestion/ai/errors/normalize-error.ts | 58 | // Step 14: Multiple whitespace |
| LOW | …r/ingestion/persons/batch-writing-person-store.test.ts | 1261 | // Step 1: Cache the target person (simulating fetchForUpdate) |
| LOW | …r/ingestion/persons/batch-writing-person-store.test.ts | 1268 | // Step 2: Update target person with merged properties (simulating updatePersonForMerge) |
| LOW | …r/ingestion/persons/batch-writing-person-store.test.ts | 1295 | // Step 3: moveDistinctIds - this should preserve the merged cache |
| LOW | …r/ingestion/persons/batch-writing-person-store.test.ts | 1304 | // Step 4: Verify that cached merged properties are preserved |
| LOW | …r/ingestion/persons/batch-writing-person-store.test.ts | 1436 | // Step 1: Cache target person |
| LOW | …r/ingestion/persons/batch-writing-person-store.test.ts | 1443 | // Step 2: Multiple merge operations |
| LOW | …r/ingestion/persons/batch-writing-person-store.test.ts | 1467 | // Step 3: moveDistinctIds |
| LOW | …r/ingestion/persons/batch-writing-person-store.test.ts | 1475 | // Step 4: Verify all merged properties are preserved |
| LOW | tools/hogli-commands/hogli_commands/migrations.py | 854 | # Step 1: Roll back orphaned migrations |
| LOW | tools/hogli-commands/hogli_commands/migrations.py | 876 | # Step 2: Apply pending |
| LOW | tools/hogli-commands/hogli_commands/doctor.py | 607 | # Step 1: Prune stale remote branches |
| LOW | tools/hogli-commands/hogli_commands/doctor.py | 613 | # Step 2: Expire old reflogs (keep 30 days for safety) |
| LOW | tools/hogli-commands/hogli_commands/doctor.py | 619 | # Step 3: Run gc --aggressive (this can take 1-2 minutes) |
| LOW | products/mcp_store/backend/oauth.py | 171 | # Step 1: Try RFC 9728 Protected Resource Metadata to find the authorization server |
| LOW | products/mcp_store/backend/oauth.py | 193 | # Step 2: Fall back to fetching authorization server metadata directly from the origin. |
| LOW | …atch_exports/backend/temporal/backfill_batch_export.py | 882 | # Step 1: Create backfill model with STARTING status |
| LOW | …atch_exports/backend/temporal/backfill_batch_export.py | 908 | # Step 2: Get backfill info (validation + estimation) |
| LOW | …atch_exports/backend/temporal/backfill_batch_export.py | 926 | # Step 3: Update backfill with adjusted start and estimated count |
| LOW | …atch_exports/backend/temporal/backfill_batch_export.py | 953 | # Step 4: Early exit if no data to backfill |
| LOW | …ics/backend/hogql_queries/conversion_goal_processor.py | 2045 | # For ActionsNode, we need to check if this is an action condition |
| LOW | …s/backend/hogql_queries/conversion_goals_aggregator.py | 38 | # Step 1: Generate individual conversion goal queries, parallelised across goals |
| LOW | …s/backend/hogql_queries/conversion_goals_aggregator.py | 112 | # Step 2: UNION ALL the individual queries |
| LOW | …s/backend/hogql_queries/conversion_goals_aggregator.py | 118 | # Step 3: Create final aggregation query that sums all conversion goals |
| LOW | …arehouse/backend/api/test/test_external_data_source.py | 3655 | # Step 1: GET the source (simulating user opening the config page) |
| LOW | …arehouse/backend/api/test/test_external_data_source.py | 3660 | # Step 2: PATCH with the exact data from GET (simulating user saving without changes) |
| LOW | …arehouse/backend/api/test/test_external_data_source.py | 4681 | # Step 1: GET the source - should properly read auth_type and return as auth |
| LOW | …arehouse/backend/api/test/test_external_data_source.py | 4690 | # Step 2: PATCH with the exact data from GET |
| LOW | products/endpoints/backend/api.py | 932 | # Step 1: Handle deactivation (disables materialization, prevents any materialization operations) |
| LOW | products/endpoints/backend/api.py | 936 | # Step 2: Handle query changes and versioning (independent of active/materialization state) |
| LOW | products/endpoints/backend/api.py | 947 | # Step 3: Update version-level fields on target version |
| LOW | products/endpoints/backend/api.py | 968 | # Step 4: Handle materialization state (only if endpoint should be active) |
| LOW | …ndpoints/backend/tests/test_insight_response_parity.py | 127 | # Step 1: Execute inline — establish the baseline shape |
| LOW | …ndpoints/backend/tests/test_insight_response_parity.py | 136 | # Step 2: Set up materialization |
| 298 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | nodejs/src/cdp/cdp-api.test.ts | 43 | name: 'Jane Doe', |
| LOW | nodejs/src/cdp/cdp-api.test.ts | 185 | "name": "Jane Doe", |
| LOW | nodejs/src/cdp/cdp-api.test.ts | 480 | "name": "Jane Doe", |
| LOW | nodejs/src/cdp/_tests/fixtures-hogflows.ts | 48 | name: 'John Doe', |
| LOW | nodejs/src/cdp/_tests/fixtures-hogflows.ts | 50 | name: 'John Doe', |
| LOW | nodejs/src/cdp/utils/hog-function-filtering.test.ts | 38 | properties: { name: 'Acme Corp' }, |
| LOW | nodejs/src/cdp/utils/hog-function-filtering.test.ts | 69 | "name": "Acme Corp", |
| LOW | nodejs/src/cdp/utils/hog-function-filtering.test.ts | 146 | person_properties: JSON.stringify({ name: 'John Doe' }), |
| LOW | nodejs/src/cdp/utils/hog-function-filtering.test.ts | 155 | properties: { name: 'John Doe' }, |
| LOW | nodejs/src/cdp/utils/hog-function-filtering.test.ts | 162 | properties: { name: 'John Doe' }, |
| LOW | nodejs/src/cdp/utils/hog-function-filtering.test.ts | 178 | group0_properties: JSON.stringify({ name: 'Acme Corp' }), |
| LOW | nodejs/src/cdp/utils/hog-function-filtering.test.ts | 192 | expect(result.group_0).toEqual({ properties: { name: 'Acme Corp' } }) |
| LOW | nodejs/src/cdp/consumers/cdp-events-consumer.test.ts | 1002 | { name: 'Acme Inc', industry: 'Tech' }, |
| LOW | nodejs/src/cdp/consumers/cdp-events-consumer.test.ts | 1062 | properties: { name: 'Acme Inc', industry: 'Tech' }, |
| LOW | nodejs/src/cdp/consumers/cdp-events-consumer.test.ts | 1097 | properties: { name: 'Acme Inc', industry: 'Tech' }, |
| LOW | …p/templates/_destinations/unify/unify.template.test.ts | 95 | properties: { company_domain: 'acme.com', company_name: 'Acme Inc' }, |
| LOW | …p/templates/_destinations/unify/unify.template.test.ts | 108 | name: 'Acme Inc', |
| LOW | …templates/_destinations/accoil/accoil.template.test.ts | 35 | name: 'John Doe', |
| LOW | …templates/_destinations/accoil/accoil.template.test.ts | 42 | name: 'John Doe', |
| LOW | …templates/_destinations/accoil/accoil.template.test.ts | 50 | user_name: 'John Doe', |
| LOW | …templates/_destinations/accoil/accoil.template.test.ts | 65 | name: 'John Doe', |
| LOW | …templates/_destinations/accoil/accoil.template.test.ts | 180 | name: 'Acme Corp', |
| LOW | …templates/_destinations/accoil/accoil.template.test.ts | 191 | group_name: 'Acme Corp', |
| LOW | …templates/_destinations/accoil/accoil.template.test.ts | 204 | name: 'Acme Corp', |
| LOW | …templates/_destinations/accoil/accoil.template.test.ts | 412 | company: 'Acme Corp', |
| LOW | …templates/_destinations/accoil/accoil.template.test.ts | 419 | user_name: 'John Doe', |
| LOW | …templates/_destinations/accoil/accoil.template.test.ts | 430 | name: 'John Doe', |
| LOW | …templates/_destinations/accoil/accoil.template.test.ts | 543 | name: 'John Doe', |
| LOW | …templates/_destinations/accoil/accoil.template.test.ts | 546 | company: 'Acme Corp', |
| LOW | …templates/_destinations/accoil/accoil.template.test.ts | 552 | user_name: 'John Doe', |
| LOW | …templates/_destinations/accoil/accoil.template.test.ts | 562 | name: 'John Doe', |
| LOW | …templates/_destinations/accoil/accoil.template.test.ts | 583 | name: 'Acme Corp', |
| LOW | …templates/_destinations/accoil/accoil.template.test.ts | 594 | group_name: 'Acme Corp', |
| LOW | …templates/_destinations/accoil/accoil.template.test.ts | 604 | name: 'Acme Corp', |
| LOW | …p/templates/_destinations/klime/klime.template.test.ts | 170 | $group_set: { name: 'Acme Inc' }, |
| LOW | …p/templates/_destinations/klime/klime.template.test.ts | 179 | expect(batchEvent.traits).toEqual({ name: 'Acme Inc' }) |
| LOW | …p/templates/_destinations/klime/klime.template.test.ts | 235 | $group_set: { name: 'Acme Inc', plan: 'enterprise', $initial_os: 'Mac OS X' }, |
| LOW | …p/templates/_destinations/klime/klime.template.test.ts | 243 | expect(parseBatchEvent(response).traits).toEqual({ name: 'Acme Inc', plan: 'enterprise' }) |
| LOW | …emplates/_sources/stripe/__tests__/stripe-webhook.json | 39 | "customer_email": "test@test.com", |
| LOW | …tions/hash-properties/hash-properties.template.test.ts | 41 | name: 'John Doe', |
| LOW | …tions/hash-properties/hash-properties.template.test.ts | 62 | expect(result.properties.name).toMatch(sha256('John Doe')) |
| LOW | …tions/hash-properties/hash-properties.template.test.ts | 69 | expect(result.properties.name).not.toBe('John Doe') |
| LOW | …tions/hash-properties/hash-properties.template.test.ts | 80 | name: 'John Doe', |
| LOW | …tions/hash-properties/hash-properties.template.test.ts | 103 | expect(result.properties.$set?.name).toMatch(sha256('John Doe')) |
| LOW | …tions/hash-properties/hash-properties.template.test.ts | 177 | name: 'John Doe', |
| LOW | …tions/hash-properties/hash-properties.template.test.ts | 196 | expect(result.properties.name).toBe('John Doe') |
| LOW | …tions/hash-properties/hash-properties.template.test.ts | 205 | name: 'John Doe', |
| LOW | …tions/hash-properties/hash-properties.template.test.ts | 224 | expect(result.properties.name).toMatch(sha256('John Doe')) |
| LOW | …tions/posthog-anonymization/tests/processEvent.test.ts | 21 | name: 'John Doe', |
| LOW | …cdp/services/batch-export-hog-function.service.test.ts | 327 | { name: 'Acme Inc', industry: 'Tech' }, |
| LOW | …cdp/services/batch-export-hog-function.service.test.ts | 362 | properties: { name: 'Acme Inc', industry: 'Tech' }, |
| LOW | …cdp/services/batch-export-hog-function.service.test.ts | 428 | { name: 'Acme Inc', industry: 'Tech' }, |
| LOW | …cdp/services/batch-export-hog-function.service.test.ts | 455 | group_properties: { name: 'Acme Inc', industry: 'Tech' }, |
| LOW | …cdp/services/batch-export-hog-function.service.test.ts | 508 | properties: { name: 'Acme Inc', industry: 'Tech' }, |
| LOW | nodejs/src/cdp/services/job-queue/shared.test.ts | 127 | properties: { name: 'Acme Inc', revenue: 1000000 }, |
| LOW | …cdp/services/hogflows/hogflow-executor.service.test.ts | 190 | name: 'John Doe', |
| LOW | …cdp/services/hogflows/hogflow-executor.service.test.ts | 213 | name: 'John Doe', |
| LOW | …cdp/services/hogflows/hogflow-executor.service.test.ts | 225 | name: 'John Doe', |
| LOW | …cdp/services/hogflows/hogflow-executor.service.test.ts | 227 | name: 'John Doe', |
| LOW | …cdp/services/hogflows/hogflow-executor.service.test.ts | 328 | name: 'John Doe', |
| 471 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tools/infra-scripts/clitools/toolbox/pod.py | 124 | # Check if we should print an update |
| LOW | tools/hogli/src/hogli/manifest.py | 276 | # Check if any manifest command shares this prefix |
| LOW | tools/hogli/src/hogli/validate.py | 26 | # Check if executable and not a config file |
| LOW | tools/hogli-commands/hogli_commands/migrations.py | 929 | # Check if already cached |
| LOW | tools/hogli-commands/hogli_commands/doctor.py | 448 | # Check if cargo is available |
| LOW | tools/hogli-commands/hogli_commands/doctor.py | 825 | # Check if this is a workspace root or standalone package |
| LOW | tools/hogli-commands/hogli_commands/doctor.py | 1159 | # Check if the parent is a known process manager |
| LOW | tools/hogli-commands/hogli_commands/product/maturity.py | 418 | # Check if the facade is real (has function definitions, not re-exports) |
| LOW | products/slack_app/backend/api.py | 2116 | # Check if we own this context locally |
| LOW | …atch_exports/backend/temporal/backfill_batch_export.py | 973 | # Set timeout to a month for now, as unending backfills are an internal feature we are |
| LOW | …ackend/temporal/destinations/snowflake_batch_export.py | 725 | # Check if we've exceeded the timeout |
| LOW | …d/tests/temporal/destinations/snowflake/test_client.py | 87 | # Check if the query was actually cancelled/aborted in Snowflake |
| LOW | products/cdp/backend/tasks/hog_functions.py | 47 | # Check if this team references the cohort in its test_account_filters |
| LOW | products/cdp/backend/api/hog_function.py | 750 | # Check if backfill is already enabled |
| LOW | products/feature_flags/backend/flags_cache.py | 559 | # Check if evaluation_metadata is present in cached data. |
| LOW | products/feature_flags/backend/max_tools.py | 355 | # Check if any group has a rollout percentage |
| LOW | …s/feature_flags/backend/test/test_feature_flag_sync.py | 245 | # Set lock to prevent execution |
| LOW | …feature_flags/backend/api/organization_feature_flag.py | 147 | # Check if the user is allowed to edit the flag using new access control |
| LOW | …feature_flags/backend/api/organization_feature_flag.py | 303 | # Set method to PATCH for updates, POST for new creations |
| LOW | products/feature_flags/backend/api/feature_flag.py | 1390 | # Check if the referenced flag is active |
| LOW | products/feature_flags/backend/api/feature_flag.py | 1629 | # Check if flag is used in session replay settings |
| LOW | products/feature_flags/backend/api/feature_flag.py | 1679 | # Check if this flag depends on any disabled flags |
| LOW | products/feature_flags/backend/api/feature_flag.py | 3456 | # Check if team is quota limited for feature flags |
| LOW | products/feature_flags/backend/api/feature_flag.py | 4185 | # Check if user has editor or higher access to feature flags for this team |
| LOW | products/feature_flags/backend/api/feature_flag.py | 412 | # Check if flag is effectively at 0%: all groups have rollout_percentage == 0 |
| LOW | …hogql_queries/marketing_analytics_base_query_runner.py | 543 | # Check if this is an aggregated query (no GROUP BY) |
| LOW | …ogql_queries/marketing_analytics_table_query_runner.py | 85 | # Check if there are more results |
| LOW | …marketing_analytics/backend/hogql_queries/constants.py | 482 | # Check if it's a StrEnum (has __members__) |
| LOW | …marketing_analytics/backend/hogql_queries/constants.py | 674 | # Check if it's a base column |
| LOW | …marketing_analytics/backend/hogql_queries/constants.py | 681 | # Check if it's a conversion goal or cost per conversion |
| LOW | …ics/backend/hogql_queries/conversion_goal_processor.py | 2047 | # Check if this condition comes from action_to_expr (complex action conditions) |
| LOW | …eries/non_integrated_conversions_table_query_runner.py | 99 | # Check if there are more results |
| LOW | products/error_tracking/backend/tools/search_issues.py | 203 | # Set searchQuery to empty string if None (matches dashboard behavior) |
| LOW | products/endpoints/backend/api.py | 1334 | # Check if materialized data is stale |
| LOW | products/endpoints/backend/api.py | 1344 | # Check if variables are valid for materialized execution |
| LOW | products/endpoints/backend/api.py | 2265 | # Check if we should use materialization for this version |
| LOW | …dpoints/backend/tests/test_variable_materialization.py | 2087 | # Check if this row matches all variable values |
| LOW | products/product_analytics/backend/api/insight.py | 927 | # Check if user has access to this insight when viewed in dashboard context |
| LOW | products/product_analytics/backend/api/insight.py | 1012 | # Check if we have an expected cache key from the image exporter |
| LOW | products/workflows/backend/api/hog_flow_template.py | 274 | # Check if it's a global template from files |
| LOW | products/posthog_ai/dags/snapshot_team_data.py | 185 | # Check if files are cached |
| LOW | …a_modeling/backend/tasks/cleanup_test_saved_queries.py | 49 | # Check if any non-deleted saved query depends on this one via DAG edges |
| LOW | products/web_analytics/dags/web_preaggregated.py | 305 | # Check if we should trigger backfill |
| LOW | …web_analytics/dags/web_preaggregated_team_selection.py | 116 | # Check if all operations succeeded |
| LOW | …lytics/backend/hogql_queries/test/test_web_overview.py | 873 | # Set team to PST timezone |
| LOW | …l_queries/test/test_web_overview_state_aggregations.py | 116 | # Check if both are None |
| LOW | products/warehouse_sources/backend/models/util.py | 79 | # Check if prefix matches HogQL identifier rules |
| LOW | products/conversations/backend/slack.py | 354 | # Check if this Slack user is a PostHog team member |
| LOW | products/conversations/backend/slack.py | 626 | # Check if a ticket already exists for this thread |
| LOW | products/conversations/backend/slack.py | 797 | # Check if a ticket already exists for this message thread |
| LOW | products/conversations/backend/api/tickets.py | 865 | # Check if support is enabled |
| LOW | products/conversations/backend/api/email_settings.py | 156 | # Check if team already has a config on this domain (single query for both existence + data) |
| LOW | …oducts/conversations/backend/api/tests/test_tickets.py | 649 | # Assign user to ticket |
| LOW | products/ai_observability/backend/api/datasets.py | 169 | # Check if this is a deletion (soft delete) |
| LOW | products/ai_observability/backend/api/datasets.py | 312 | # Check if this is a deletion (soft delete) |
| LOW | products/ai_observability/backend/api/evaluations.py | 482 | # Check if this is a deletion (soft delete) |
| LOW | …bility/backend/text_repr/formatters/trace_formatter.py | 176 | # Check if state looks like messages (list of dicts with role/content) |
| LOW | …bility/backend/text_repr/formatters/event_formatter.py | 117 | # Output messages |
| LOW | …lity/backend/text_repr/formatters/message_formatter.py | 384 | # Check if any blocks need special handling |
| LOW | products/surveys/backend/api/survey.py | 847 | # Check if the organization has the white labelling feature available |
| 296 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | products/batch_exports/backend/service.py | 52 | Align 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.py | 270 | Iterate 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.py | 371 | Return 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.py | 685 | Wrap Snowflake connector's polling API in a coroutine. This enables asynchronous execution of queries to releas |
| HIGH | …ckend/temporal/destinations/databricks_batch_export.py | 403 | Execute 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.py | 669 | Execute a query and wait for it to complete. Args: query: The query to execute. start_q |
| HIGH | products/experiments/backend/facade/api.py | 20 | Create a new experiment. Transactional safety is provided by ExperimentService.create_experiment. Args: |
| HIGH | products/experiments/stats/shared/cuped.py | 161 | Apply CUPED variance reduction to experiment statistics. This is the main public API. It computes the optimal regre |
| HIGH | products/experiments/stats/frequentist/utils.py | 16 | Calculate point estimate for treatment vs control comparison. Args: treatment_stat: Treatment group st |
| HIGH | products/experiments/stats/frequentist/method.py | 62 | Run statistical test comparing treatment vs control. Args: treatment_stat: Treatment group |
| HIGH | products/experiments/stats/bayesian/utils.py | 23 | Calculate effect size and its variance for Bayesian analysis. Args: treatment_stat: Treatment group st |
| HIGH | products/experiments/stats/bayesian/method.py | 119 | Run Bayesian statistical test comparing treatment vs control. Args: treatment_stat: Treatm |
| HIGH | products/experiments/stats/bayesian/tests.py | 154 | Run Bayesian t-test comparing treatment vs control. Args: treatment_stat: Treatment group |
| HIGH | products/experiments/stats/bayesian/tests.py | 246 | Run Bayesian test for proportion data using Normal approximation. Args: treatment_stat: Tr |
| HIGH | products/growth/dags/user_product_list.py | 26 | Download a list of emails from an S3 URL and return them as a set. Args: s3_url: S3 URL in format s3://buck |
| HIGH | products/ai_observability/backend/api/summarization.py | 244 | Extract entity ID and validated entity data based on summarize type. Args: summarize_type: 'trace' |
| HIGH | products/surveys/backend/api/survey.py | 2055 | Validate and parse date_from and date_to. Args: date_from: Optional ISO timestamp for start date wi |
| HIGH | ee/hogai/artifacts/manager.py | 110 | Retrieve artifact content by ID from the database. Args: artifact_id: The artifact's short ID. |
| HIGH | ee/hogai/context/insight/query_executor.py | 166 | Run a query and format the results with detailed fallback information. Args: query: The qu |
| HIGH | ee/hogai/context/insight/query_executor.py | 246 | Run a query and format the results with detailed fallback information. Args: query: The qu |
| HIGH | ee/hogai/context/insight/query_executor.py | 293 | Execute a query and return the response dict. Args: query: The query object ex |
| HIGH | ee/hogai/context/insight/query_executor.py | 466 | Format query results using appropriate formatter based on query type. Args: query: The que |
| HIGH | ee/hogai/chat_agent/parallel_task_execution/nodes.py | 151 | Execute multiple tasks in parallel and yield results as they complete. This method implements true par |
| HIGH | ee/billing/queue/BillingConsumer.py | 74 | Decompress and parse message body based on content encoding. Args: raw_body: The raw messa |
| HIGH | …on/ingestion/acceptance_tests/test_ai_observability.py | 82 | Fetch blob data from S3 using the URL with range parameter. Args: s3_url: URL in format s3://bucket/key?ran |
| HIGH | common/migration_utils/__init__.py | 72 | Get the cache path for a migration file. Validates inputs before constructing path to prevent path traversal. |
| HIGH | common/migration_utils/__init__.py | 109 | Cache a migration file for later rollback. Creates the cache directory structure if needed and copies the migration |
| HIGH | posthog/email.py | 302 | Sanitizes properties that will be used in email templates to prevent HTML injection and to defang URL-shaped st |
| HIGH | posthog/temporal/proxy_service/cloudflare.py | 125 | Create a Custom Hostname in Cloudflare for SaaS. This creates a custom hostname with: - SSL certificate pr |
| HIGH | posthog/temporal/proxy_service/cloudflare.py | 158 | Get details of a Custom Hostname by ID. Args: hostname_id: The Cloudflare Custom Hostname ID Retu |
| HIGH | posthog/temporal/proxy_service/cloudflare.py | 182 | Find a Custom Hostname by domain name. Args: domain: The customer's domain (e.g., "analytics.customer. |
| HIGH | posthog/temporal/proxy_service/cloudflare.py | 208 | Delete a Custom Hostname. Args: hostname_id: The Cloudflare Custom Hostname ID Returns: T |
| HIGH | …sthog/temporal/data_imports/sources/hubspot/helpers.py | 103 | 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.py | 198 | 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.py | 39 | Determine optimal k using silhouette score and return the clustering results. Args: embeddings: Array |
| HIGH | posthog/batch_exports/http.py | 81 | Validate and parse a date/datetime input as a proper dt.datetime. If the interval is daily or weekly, we expect the |
| HIGH | posthog/clickhouse/client/migration_tools.py | 36 | Executes a SQL query on each node separately with specific options, handling distributed execution and node roles. |
| HIGH | posthog/dags/events_backfill_to_duckling.py | 328 | Parse a partition key into team_id and date. Args: key: Partition key in format "{team_id}_{date}" (e.g., " |
| HIGH | posthog/dags/events_backfill_to_duckling.py | 510 | Check if a table exists in the DuckLake catalog. Args: conn: psycopg connection to the org's duckgres serve |
| HIGH | posthog/dags/person_property_reconciliation.py | 1755 | Query ClickHouse for distinct team_ids with property-setting events in the bug window. Args: bug_windo |
| HIGH | posthog/tasks/process_scheduled_changes.py | 84 | Compute the next scheduled run time based on recurrence interval. Uses relativedelta for reliable date arithme |
| HIGH | posthog/tasks/alerts/detectors/registry.py | 27 | Factory function to create detector from config. Args: config: Detector configuration dict with 'type' |
| HIGH | posthog/models/person/point_in_time_properties.py | 33 | Helper function to get person object and all distinct_ids for a person based on either distinct_id or person_id. |
| HIGH | posthog/models/person/point_in_time_properties.py | 102 | Build person properties at a specific point in time from ClickHouse events. Args: team_id: The team ID |
| HIGH | posthog/models/cohort/cohort.py | 866 | Remove a user from the cohort by their UUID. This operation is idempotent - it succeeds even if the pe |
| HIGH | posthog/api/authentication.py | 543 | Handle passkey-based 2FA authentication. Args: request: The HTTP request user: |
| HIGH | posthog/api/authentication.py | 632 | Handle TOTP token or backup code 2FA authentication. Args: request: The HTTP request |
| HIGH | posthog/api/services/flags_service.py | 30 | Proxy a request to the Rust feature flags service /flags endpoint. Args: token: The project API token |
| HIGH | posthog/hogql_queries/query_runner.py | 2012 | 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.py | 31 | Extract the aggregation function, inner expression, parameters, and distinct flag from a HogQL expression. Arg |
| HIGH | …g/hogql_queries/experiments/hogql_aggregation_utils.py | 103 | Build an aggregation function call AST node. Args: aggregation_function: The aggregation function name |
| HIGH | posthog/hogql_queries/experiments/metric_source.py | 50 | Factory method to create MetricSourceInfo from any source type. This provides a uniform interface for |
| HIGH | …hog/hogql_queries/experiments/funnels_statistics_v2.py | 21 | Calculate the win probabilities for each variant in an experiment using Bayesian analysis for funnel conversion |
| HIGH | …hog/hogql_queries/experiments/funnels_statistics_v2.py | 145 | Determine if the experiment results are statistically significant using Bayesian analysis for funnel conversion |
| HIGH | …hog/hogql_queries/experiments/funnels_statistics_v2.py | 203 | Calculate Bayesian credible intervals for conversion rates of each variant. This function computes the 95% cre |
| HIGH | …ogql_queries/experiments/trends_statistics_v2_count.py | 25 | Calculate the win probabilities for each variant in an experiment using Bayesian analysis. This function compu |
| HIGH | …ogql_queries/experiments/trends_statistics_v2_count.py | 102 | Determines if experiment results are statistically significant. This function evaluates whether any variant ca |
| HIGH | …ogql_queries/experiments/trends_statistics_v2_count.py | 167 | Calculate Bayesian credible intervals for each variant's rate using a Gamma-Poisson model. Credible intervals |
| HIGH | …ogql_queries/experiments/trends_statistics_v2_count.py | 233 | Calculates expected loss in count/rate using Gamma-Poisson conjugate prior. This implementation uses a Bayesia |
| HIGH | …sthog/hogql_queries/experiments/funnel_step_builder.py | 103 | Build step columns as constants for DW subquery. Used in UNION ALL queries where each subquery represe |
| 2 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | nodejs/src/kafka/producer.ts | 152 | // NOTE: The MessageHeader type is super weird. Essentially you are passing in a record and it expects a str |
| MEDIUM | nodejs/src/logs-ingestion/sampling/compile-rules.ts | 70 | // case at write time, but the ingestion path stays robust to legacy or hand-crafted rows. |
| LOW | tools/hogli/src/hogli/command_types.py | 243 | # If not relative to repo root, just return the name |
| LOW | …s/hogli-commands/hogli_commands/product_structure.yaml | 421 | __init__: false # just create the folder |
| LOW | …s/hogli-commands/hogli_commands/product_structure.yaml | 424 | __init__: false # just create the folder |
| LOW | …s/hogli-commands/hogli_commands/product_structure.yaml | 427 | __init__: false # just create the folder |
| LOW | …s/hogli-commands/hogli_commands/product_structure.yaml | 430 | __init__: false # just create the folder |
| LOW | …backend/temporal/destinations/redshift_batch_export.py | 222 | # as we have just set cursor_factory. |
| MEDIUM | …ests/temporal/destinations/databricks/test_workflow.py | 219 | """Reduce the poll interval for the Databricks client, in order to speed up the tests.""" |
| LOW | …/backend/tests/temporal/destinations/redshift/utils.py | 130 | # 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.py | 48 | # To facilitate comparison, we isoformat the dates. |
| LOW | products/cdp/backend/api/hog_function.py | 395 | # For non-transformation types, just create normally |
| LOW | products/feature_flags/backend/api/feature_flag.py | 1025 | # If we see this, just return the current filters |
| MEDIUM | …ackend/hogql_queries/test_conversion_goal_processor.py | 118 | """Create comprehensive test data covering various scenarios""" |
| MEDIUM | …mporal/process_task/activities/relay_sandbox_events.py | 116 | # harness). Exit quietly — logger and Redis are already unusable here, |
| MEDIUM | products/tasks/backend/services/docker_sandbox.py | 319 | # Opt-in bind-mount for local skills. Set by the eval harness so |
| MEDIUM | …ducts/data_warehouse/backend/models/test/test_table.py | 567 | # Assert this is a comprehensive list of all possible ClickHouse types |
| MEDIUM | products/endpoints/backend/tests/test_endpoint.py | 634 | """Test creating a endpoint with a comprehensive TrendsQuery containing many fields.""" |
| MEDIUM | products/experiments/backend/experiment_service.py | 1551 | # from the backend is already more robust (while not ideal). |
| MEDIUM | products/experiments/backend/test/test_facade.py | 110 | """Test creating experiment with comprehensive field set.""" |
| MEDIUM | products/experiments/stats/bayesian/utils.py | 294 | # Use comprehensive shared validation |
| LOW | products/workflows/backend/max_tools.py | 76 | # If fetching fails, just use the original instructions |
| LOW | …/backend/hogql_queries/pre_aggregated/query_builder.py | 153 | # 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.py | 31 | # harness does not materialize. |
| MEDIUM | …d/hogql_queries/test/test_web_stats_lazy_precompute.py | 235 | # which needs numeric properties the harness does not materialize — so |
| LOW | …nd/hogql_queries/revenue_analytics_mrr_query_runner.py | 37 | # 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.py | 155 | # Else, just use 0, it's an ongoing subscription |
| LOW | …nd/hogql_queries/revenue_analytics_mrr_query_runner.py | 489 | # and then we can just add the data to the results |
| LOW | …ueries/revenue_analytics_gross_revenue_query_runner.py | 108 | # and then we can just add the data to the results |
| LOW | …ogql_queries/revenue_analytics_metrics_query_runner.py | 470 | # and then we can just add the data to the results |
| LOW | …ackend/hogql_queries/revenue_analytics_query_runner.py | 87 | # Some filters are not namespaced and they should simply use the raw property |
| LOW | …ackend/hogql_queries/revenue_analytics_query_runner.py | 106 | # Some breakdowns are not namespaced and they should simply use the raw property |
| MEDIUM | …/views/sources/test/stripe/test_stripe_revenue_item.py | 106 | # Setup with comprehensive schemas |
| LOW | …bility/backend/text_repr/formatters/event_formatter.py | 84 | # Fallback: just use the string as-is |
| MEDIUM | products/business_knowledge/backend/constants.py | 13 | # Chunker tunables. Kept here (not in logic.py) so the retrieval eval harness |
| MEDIUM | …ckend/lazy_computation/lazy_computation_transformer.py | 37 | # Use the robust timestamp field detection from timestamp_visitor |
| MEDIUM | frontend/src/scenes/paths/Paths.tsx | 130 | // transition from card→SVG hover is seamless. |
| MEDIUM | frontend/src/scenes/max/maxLogic.tsx | 709 | // This is more robust than checking for specific tags or attributes, because |
| MEDIUM | frontend/src/scenes/max/Max.stories.tsx | 2821 | '# Complete Product Analysis\n\nThis comprehensive notebook covers user behavior, funnel analysi |
| MEDIUM | …tend/src/scenes/notebooks/Nodes/notebookNodeContent.ts | 56 | // The HogQL WASM parser is coming. Once we have that, we'll revisit this part and make it robust. |
| MEDIUM | frontend/src/lib/KeaDevTools.tsx | 1092 | // robust path walker for kea logic.path (array of strings/numbers) |
| MEDIUM | ee/settings.py | 44 | # This is because in the demo env social signups get is_staff=True to facilitate instance management |
| LOW | ee/clickhouse/queries/funnels/funnel_correlation.py | 789 | # NOTE: for property correlations, we just use the regular funnel |
| LOW | ee/hogai/tools/read_data/tool.py | 370 | # The agent wants to read the schema, just return it |
| MEDIUM | ee/hogai/eval/sandboxed/conftest.py | 119 | # Sandbox container name prefix used by the eval harness (set in SandboxConfig.name) |
| MEDIUM | ee/hogai/eval/sandboxed/runner.py | 76 | # Eval is a test harness — direct use of internals (instead of MTS) is intentional: |
| MEDIUM | ee/hogai/eval/sandboxed/base.py | 132 | # harness read back what happened without round-tripping through Braintrust. |
| MEDIUM | …ai/eval/sandboxed/experiments/eval_lifecycle_skills.py | 48 | # because the sandboxed harness wraps a list of cases in a single |
| MEDIUM | rust/kafka-deduplicator/src/pipelines/processor.rs | 50 | /// - `ConfirmedDuplicate`: Definitely a duplicate (same UUID or identical event) |
| MEDIUM | rust/feature-flags/src/api/endpoint.rs | 520 | // this is robust to wall-clock jumps. Emission of the histogram is |
| MEDIUM | rust/property-defs-rs/src/lib.rs | 237 | // TEMPORARY: both old (v1) and new (v2) write paths will utilize the old |
| MEDIUM | …on/ingestion/acceptance_tests/test_ai_observability.py | 221 | """Assert comprehensive details about a multipart part.""" |
| MEDIUM | posthog/utils.py | 1222 | or not Organization.objects.filter(for_internal_metrics=False).exists() # Definitely can create an org if zero |
| LOW | posthog/utils.py | 926 | # 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.py | 262 | # the pipeline merge's job; exercising it through two rapid in-harness syncs |
| LOW | posthog/temporal/common/clickhouse.py | 683 | # we don't have the original query here so just use the query id |
| LOW | …ng/realtime_cohort_calculation_workflow_coordinator.py | 275 | # If cohort_id is specified, just return that specific cohort ID if it exists |
| LOW | posthog/settings/data_stores.py | 124 | # This should have all the same config as our main writer DB, just use a different host. |
| LOW | posthog/clickhouse/test/test_cluster.py | 173 | # submitting a duplicate mutation should just return the original and not schedule anything new |
| MEDIUM | posthog/dags/events_backfill_to_ducklake.py | 522 | # Check if the DuckLake catalog is already attached in a robust way by querying DuckDB |
| 45 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | products/actions/backend/models/action.py | 57 | summary = models.TextField(blank=True, null=True, help_text="A summary of the action, generated by AI") |
| HIGH | …bservability/skills/exploring-llm-evaluations/SKILL.md | 92 | ### Step 2 — Get the AI-generated summary |
| HIGH | products/surveys/backend/models.py | 273 | # AI-generated headline summary |
| HIGH | products/surveys/backend/models.py | 277 | # AI-generated per-question summaries |
| HIGH | products/surveys/backend/models.py | 284 | # Used as the "original" label in the editor and as the source language for AI-generated translations. |
| HIGH | products/surveys/backend/api/survey.py | 241 | help_text="Editor field paths generated by AI and safe to highlight as draft content.", |
| HIGH | …c/lib/components/HedgehogMode/HedgehogMode.stories.tsx | 20 | // NOTE: 100% generated by ChatGPT for fun! |
| HIGH | .agents/skills/survey-sdk-audit/SKILL.md | 316 | _This issue was generated by Claude using the `/survey-sdk-audit` skill._ |
| HIGH | posthog/models/subscription.py | 348 | # AI-generated summary sent in the delivery, when summary_enabled is on for the subscription. |
| HIGH | …_recordings/sql/session_replay_event_migrations_sql.py | 356 | # MIGRATION: Add AI-generated columns for session tagging |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | products/feature_flags/backend/flag_analytics.py | 45 | # :NOTE: When making changes here, make sure you run test_no_interference_between_different_types_of_new_incoming_increm |
| LOW | products/feature_flags/backend/models/feature_flag.py | 47 | # When adding new fields, make sure to update organization_feature_flags.py::copy_flags |
| MEDIUM | …backend/templates/announce_a_new_feature_template.json | 771 | "html": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional //EN\" \"http://www.w3.o |
| LOW | products/web_analytics/backend/hogql_queries/ctes.py | 64 | # but means that when you use parse_select on it, you'll need to make sure you include the |
| MEDIUM | products/revenue_analytics/dags/exchange_rate.py | 20 | # NOTE: For local development, you can add this key to a `.env` file in the root of the project |
| LOW | products/notebooks/backend/models.py | 81 | # 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.py | 528 | # Don't forget to add the last range |
| LOW | …src/scenes/settings/environment/replayTriggersLogic.ts | 156 | ${sanitizedUrl}, ${sanitizedUrl}/, ${sanitizedUrl}/page, etc. Don't forget to include https:// a |
| LOW | …src/scenes/settings/environment/replayTriggersLogic.ts | 173 | ${sanitizedUrl}, ${sanitizedUrl}/, ${sanitizedUrl}/page, etc. Don't forget to include https:// a |
| MEDIUM | …ntend/src/scenes/surveys/SurveyWidgetCustomization.tsx | 74 | info="Enter a class or ID selector for the feedback button, like .feedback-button or #fe |
| LOW | …omponents/IngestionControls/triggers/urlConfigLogic.ts | 92 | ${sanitizedUrl}, ${sanitizedUrl}/, ${sanitizedUrl}/page, etc. Don't forget to include https:// a |
| MEDIUM | ee/hogai/core/runner.py | 331 | content="I'm unable to process this request. The conversation may be too long. Please start a ne |
| MEDIUM | ee/hogai/core/runner.py | 355 | content="I'm unable to respond right now due to a temporary service issue. Please try again late |
| MEDIUM | ee/hogai/core/runner.py | 379 | content="I'm unable to respond right now due to a temporary service issue. Please try again late |
| MEDIUM | ee/hogai/core/runner.py | 403 | content="I'm unable to respond right now. Please try again later.", |
| MEDIUM | ee/hogai/core/test/test_runner.py | 123 | "I'm unable to process this request. The conversation may be too long. Please start a new conversation." |
| MEDIUM | ee/hogai/core/test/test_runner.py | 217 | "I'm unable to respond right now due to a temporary service issue. Please try again later.", |
| MEDIUM | ee/hogai/core/test/test_runner.py | 279 | "I'm unable to respond right now due to a temporary service issue. Please try again later.", |
| MEDIUM | ee/hogai/core/test/test_runner.py | 340 | "I'm unable to respond right now. Please try again later.", |
| MEDIUM | rust/cyclotron-node/examples/basic.js | 27 | // Most processes will only need to do one of these, but we can do both here for demonstration purposes |
| MEDIUM | .github/workflows/codeql.yml | 56 | # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customi |
| MEDIUM | .dagster_home/workspace.yaml | 4 | ## Most dags are not loaded in local dev, but you can add things if you believe they belong here. |
| LOW | posthog/urls.py | 396 | # NOTE: When adding paths here that should be public make sure to update ALWAYS_ALLOWED_ENDPOINTS in middleware.py |
| LOW | posthog/models/tagged_item.py | 38 | # When adding a new taggeditem-model relationship, make sure to add the foreign key field and append field name to |
| MEDIUM | posthog/models/exchange_rate/currencies.py | 8 | # 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.py | 434 | # Some of these could be supported in the future, if you add them, make sure you add some tests! |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | rust/capture-logs/README.md | 68 | -H "Authorization: Bearer your-api-key" \ |
| HIGH | rust/capture-logs/README.md | 79 | -H "Authorization: Bearer your-api-key" \ |
| HIGH | docs/onboarding/product-analytics/helicone.tsx | 39 | api_key="your-api-key-here", # Replace with your OpenAI API key |
| HIGH | docs/onboarding/ai-observability/vercel-ai-gateway.tsx | 152 | api_key="<your_api_key>", |
| HIGH | docs/onboarding/ai-observability/vercel-ai-gateway.tsx | 173 | apiKey: '<your_api_key>', |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …anagement/commands/benchmark_error_tracking_queries.py | 258 | def run_task(task: tuple[int, str, str, str, ErrorTrackingOrderBy, OrderDirection2, int, str]) -> None: |
| LOW | products/tasks/backend/services/sandbox.py | 193 | def execute_task( |
| LOW | products/tasks/backend/services/modal_sandbox.py | 572 | def execute_task( |
| LOW | products/tasks/backend/services/docker_sandbox.py | 606 | def execute_task( |
| LOW | frontend/src/lib/ui/Collapsible/Collapsible.stories.tsx | 87 | {`function handleRequest(req, res) { |
| LOW | ee/hogai/chat_agent/parallel_task_execution/nodes.py | 185 | async def execute_task(callable_func=task_callable, input_data=input_dict): |
| LOW | .semgrep/rules/data-imports-http-transport.py | 124 | def do_something() -> None: |
| LOW | common/storybook/.storybook/public/mockServiceWorker.js | 140 | async function handleRequest(event, requestId) { |
| LOW | …rts/pipelines/pipeline/test/test_delta_table_helper.py | 22 | def helper(): |
| LOW | posthog/clickhouse/client/test/test_tracing.py | 19 | def test_function( |
| LOW | posthog/clickhouse/client/test/test_tracing.py | 74 | def test_function( |
| LOW | posthog/clickhouse/client/test/test_tracing.py | 104 | def test_function( |
| LOW | posthog/clickhouse/client/test/test_tracing.py | 134 | def test_function( |
| LOW | posthog/clickhouse/client/test/test_tracing.py | 177 | def test_function( |
| LOW | posthog/clickhouse/client/test/test_tracing.py | 207 | def test_function( |
| LOW | posthog/clickhouse/client/test/test_tracing.py | 236 | def test_function( |
| LOW | posthog/clickhouse/client/test/test_tracing.py | 266 | def test_function( |
| LOW | posthog/clickhouse/client/test/test_tracing.py | 288 | def test_function( |
| LOW | posthog/clickhouse/client/test/test_tracing.py | 310 | def test_function( |
| LOW | posthog/slo/context.py | 18 | def helper() -> None: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …dejs/src/logs-ingestion/sampling-seed-services-curl.sh | 13 | # Usage: |
| LOW | tools/phrocs/install.sh | 4 | # Usage: |
| LOW | livestream/docker-compose.integration.yml | 4 | # Usage: |
| LOW | common/storybook/update-storybook-timings.sh | 6 | # Usage: |
| LOW | .github/workflows/rust-smoke-test-build.yml | 7 | # Usage: |
| LOW | …b/scripts/verify-playwright-new-tests-and-snapshots.sh | 7 | # Usage: |
| LOW | .github/scripts/verify-storybook-new-stories.sh | 7 | # Usage: |
| LOW | .github/scripts/compare-ci-runners.py | 10 | # Usage: |
| LOW | posthog/management/commands/js_snippet_version.py | 25 | # Usage: |
| LOW | posthog/models/scoping/__init__.py | 14 | # Usage: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | ee/hogai/core/test/test_agent_executor.py | 537 | |
| MEDIUM | ee/hogai/core/test/test_runner.py | 27 | |
| MEDIUM | ee/hogai/stream/test/test_redis_stream.py | 355 | |
| MEDIUM | …thog/temporal/tests/data_modeling/test_run_workflow.py | 1789 | |
| MEDIUM | …thog/temporal/tests/data_modeling/test_run_workflow.py | 1852 | |
| MEDIUM | …orts/sources/common/rest_source/tests/test_resource.py | 14 | |
| MEDIUM | services/llm-gateway/tests/test_streaming_errors.py | 232 |