From c736091d1a3c3fa36081936c9d7c3dd9158c13ec Mon Sep 17 00:00:00 2001 From: Charles Cook Date: Mon, 8 Jun 2026 12:04:49 +0100 Subject: [PATCH] refactor(rename): use "AI observability" for renamed LLM analytics product PostHog renamed the LLM analytics product to AI observability. This updates all user-facing references in PostHog Code to match. - Canonical product label in `POSTHOG_PRODUCTS` (drives the session product chip) - Desktop inbox signal-source labels, filter menu, signal card, and toggles header/link - Mobile inbox signal card and filter sheet labels - Billing token-spend banner copy (normalized to sentence case) and spend-analysis prompt - Docs URLs updated to /docs/ai-observability Internal identifiers (the `llm_analytics` product id, API paths, type unions, the `/instrument-llm-analytics` slash command, and generated API types) are left unchanged. Generated-By: PostHog Code Task-Id: 1a6dc0e2-db86-412a-9149-9cb4bb510d7e --- .../billing/components/TokenSpendAnalysisBanner.tsx | 6 +++--- .../features/billing/utils/spendAnalysisPrompt.test.ts | 2 +- .../features/billing/utils/spendAnalysisPrompt.ts | 2 +- .../features/inbox/components/SignalSourceToggles.tsx | 8 ++++---- .../features/inbox/components/detail/SignalCard.tsx | 2 +- .../features/inbox/components/list/FilterSortMenu.tsx | 2 +- .../inbox/components/utils/source-product-icons.tsx | 2 +- apps/mobile/src/features/inbox/components/FilterSheet.tsx | 2 +- apps/mobile/src/features/inbox/components/SignalCard.tsx | 2 +- packages/agent/src/posthog-products.ts | 2 +- 10 files changed, 15 insertions(+), 15 deletions(-) diff --git a/apps/code/src/renderer/features/billing/components/TokenSpendAnalysisBanner.tsx b/apps/code/src/renderer/features/billing/components/TokenSpendAnalysisBanner.tsx index 4e6a464a0d..17406a599d 100644 --- a/apps/code/src/renderer/features/billing/components/TokenSpendAnalysisBanner.tsx +++ b/apps/code/src/renderer/features/billing/components/TokenSpendAnalysisBanner.tsx @@ -24,7 +24,7 @@ import { Button, Callout, Flex, Spinner, Table, Text } from "@radix-ui/themes"; import { ANALYTICS_EVENTS } from "@shared/types/analytics"; import { track } from "@utils/analytics"; -const DOCS_URL = "https://posthog.com/docs/llm-analytics"; +const DOCS_URL = "https://posthog.com/docs/ai-observability"; function generateSuggestions(data: SpendAnalysisResponse): string[] { const suggestions: string[] = []; @@ -254,7 +254,7 @@ function FooterLinks({ data }: { data: SpendAnalysisResponse }) { rel="noreferrer" className="text-(--accent-11) underline" > - PostHog AI Observability + PostHog AI observability {" "} in your own project for the full slice-and-dice experience. @@ -363,7 +363,7 @@ export function TokenSpendAnalysisBanner() { - Analyse your token usage with PostHog AI Observability + Analyse your token usage with PostHog AI observability See where your spend goes — by product, tool, and model — over the diff --git a/apps/code/src/renderer/features/billing/utils/spendAnalysisPrompt.test.ts b/apps/code/src/renderer/features/billing/utils/spendAnalysisPrompt.test.ts index 81750ce789..caf83f9fd3 100644 --- a/apps/code/src/renderer/features/billing/utils/spendAnalysisPrompt.test.ts +++ b/apps/code/src/renderer/features/billing/utils/spendAnalysisPrompt.test.ts @@ -188,7 +188,7 @@ describe("buildAnalysisPrompt", () => { it("instructs the agent not to query external data", () => { const prompt = buildAnalysisPrompt(makeResponse()); expect(prompt).toContain( - "do **not** try to query PostHog LLM analytics or any external data source", + "do **not** try to query PostHog AI observability or any external data source", ); }); }); diff --git a/apps/code/src/renderer/features/billing/utils/spendAnalysisPrompt.ts b/apps/code/src/renderer/features/billing/utils/spendAnalysisPrompt.ts index 0918eaeda6..d6d4057d81 100644 --- a/apps/code/src/renderer/features/billing/utils/spendAnalysisPrompt.ts +++ b/apps/code/src/renderer/features/billing/utils/spendAnalysisPrompt.ts @@ -93,7 +93,7 @@ export function buildAnalysisPrompt(data: SpendAnalysisResponse): string { return `Here is my PostHog Code LLM spend for the last ${windowDays}. Help me understand what's driving the cost and what concrete changes I should make to reduce it. -Work only from the tables below — do **not** try to query PostHog LLM analytics or any external data source. The numbers here are everything you have. Rank advice by impact, lead with the biggest lever, and keep each suggestion concrete and actionable. +Work only from the tables below — do **not** try to query PostHog AI observability or any external data source. The numbers here are everything you have. Rank advice by impact, lead with the biggest lever, and keep each suggestion concrete and actionable. ## My spend diff --git a/apps/code/src/renderer/features/inbox/components/SignalSourceToggles.tsx b/apps/code/src/renderer/features/inbox/components/SignalSourceToggles.tsx index db1a72a98e..a0cb6f9f25 100644 --- a/apps/code/src/renderer/features/inbox/components/SignalSourceToggles.tsx +++ b/apps/code/src/renderer/features/inbox/components/SignalSourceToggles.tsx @@ -178,7 +178,7 @@ export const EvaluationsSection = memo(function EvaluationsSection({ - LLM Analytics + AI observability Internal @@ -189,21 +189,21 @@ export const EvaluationsSection = memo(function EvaluationsSection({ { e.stopPropagation(); e.preventDefault(); window.open( - "https://posthog.com/docs/llm-analytics", + "https://posthog.com/docs/ai-observability", "_blank", "noopener", ); }} className="inline-flex items-center gap-[4px] text-(--accent-11) no-underline" > - Learn about LLM Analytics + Learn about AI observability diff --git a/apps/code/src/renderer/features/inbox/components/detail/SignalCard.tsx b/apps/code/src/renderer/features/inbox/components/detail/SignalCard.tsx index 0b4a8706e2..b3f458fbc0 100644 --- a/apps/code/src/renderer/features/inbox/components/detail/SignalCard.tsx +++ b/apps/code/src/renderer/features/inbox/components/detail/SignalCard.tsx @@ -60,7 +60,7 @@ function signalCardSourceLine(signal: { return "Session replay · Session analysis cluster"; } if (source_product === "llm_analytics" && source_type === "evaluation") { - return "LLM analytics · Evaluation"; + return "AI observability · Evaluation"; } if (source_product === "zendesk" && source_type === "ticket") { return "Zendesk · Ticket"; diff --git a/apps/code/src/renderer/features/inbox/components/list/FilterSortMenu.tsx b/apps/code/src/renderer/features/inbox/components/list/FilterSortMenu.tsx index 9f9d2d5d11..5880a6352d 100644 --- a/apps/code/src/renderer/features/inbox/components/list/FilterSortMenu.tsx +++ b/apps/code/src/renderer/features/inbox/components/list/FilterSortMenu.tsx @@ -103,7 +103,7 @@ const SOURCE_PRODUCT_OPTIONS: { }, { value: "llm_analytics", - label: "LLM analytics", + label: "AI observability", icon: , }, { value: "github", label: "GitHub", icon: }, diff --git a/apps/code/src/renderer/features/inbox/components/utils/source-product-icons.tsx b/apps/code/src/renderer/features/inbox/components/utils/source-product-icons.tsx index 5fdeb8f69b..f5bcf6552e 100644 --- a/apps/code/src/renderer/features/inbox/components/utils/source-product-icons.tsx +++ b/apps/code/src/renderer/features/inbox/components/utils/source-product-icons.tsx @@ -33,7 +33,7 @@ export const SOURCE_PRODUCT_META: Record< llm_analytics: { Icon: BrainIcon, color: "var(--purple-9)", - label: "LLM analytics", + label: "AI observability", }, github: { Icon: GithubLogoIcon, diff --git a/apps/mobile/src/features/inbox/components/FilterSheet.tsx b/apps/mobile/src/features/inbox/components/FilterSheet.tsx index 78492d82a5..0ced237a67 100644 --- a/apps/mobile/src/features/inbox/components/FilterSheet.tsx +++ b/apps/mobile/src/features/inbox/components/FilterSheet.tsx @@ -52,7 +52,7 @@ function useStatusDotColors(): Record { const SOURCE_PRODUCT_OPTIONS: { value: SourceProduct; label: string }[] = [ { value: "session_replay", label: "Session replay" }, { value: "error_tracking", label: "Error tracking" }, - { value: "llm_analytics", label: "LLM analytics" }, + { value: "llm_analytics", label: "AI observability" }, { value: "github", label: "GitHub" }, { value: "linear", label: "Linear" }, { value: "zendesk", label: "Zendesk" }, diff --git a/apps/mobile/src/features/inbox/components/SignalCard.tsx b/apps/mobile/src/features/inbox/components/SignalCard.tsx index ba8521a566..bbc2f75ed8 100644 --- a/apps/mobile/src/features/inbox/components/SignalCard.tsx +++ b/apps/mobile/src/features/inbox/components/SignalCard.tsx @@ -38,7 +38,7 @@ function sourceLine(signal: Signal): string { if (source_product === "session_replay" && source_type === "session_problem") return "Session replay · Session problem"; if (source_product === "llm_analytics" && source_type === "evaluation") - return "LLM analytics · Evaluation"; + return "AI observability · Evaluation"; if (source_product === "zendesk" && source_type === "ticket") return "Zendesk · Ticket"; if (source_product === "github" && source_type === "issue") diff --git a/packages/agent/src/posthog-products.ts b/packages/agent/src/posthog-products.ts index a6fca27742..61de243f01 100644 --- a/packages/agent/src/posthog-products.ts +++ b/packages/agent/src/posthog-products.ts @@ -22,7 +22,7 @@ export const POSTHOG_PRODUCTS = { error_tracking: "Error tracking", session_replay: "Session replay", surveys: "Surveys", - llm_analytics: "LLM analytics", + llm_analytics: "AI observability", data_warehouse: "Data warehouse", cdp: "Data pipelines", logs: "Logs",