Skip to content

feat(signals): add bulk state transition and constrain dismissal reason#65008

Merged
andrewm4894 merged 5 commits into
masterfrom
posthog-code/signals-bulk-set-state
Jun 20, 2026
Merged

feat(signals): add bulk state transition and constrain dismissal reason#65008
andrewm4894 merged 5 commits into
masterfrom
posthog-code/signals-bulk-set-state

Conversation

@posthog

@posthog posthog Bot commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

Problem

The inbox inbox-reports-set-state MCP tool (and its backing state action) takes a single report id and an unvalidated free-form dismissal_reason. That blocks two things in the autonomous inbox-triage loop that dogfoods it:

  • No batch transition. Dismissing or snoozing N reports means N separate calls — an agent reported it couldn't finish a batch dismissal.
  • Unvalidated reason codes. dismissal_reason was a free CharField whose help text suggested ad-hoc examples (not_a_bug, wont_fix, duplicate) that don't match the canonical inbox UI codes. Agent-invented values round-trip into the inbox as raw, unlabelled chips.

Both gaps are success-path (every call returns 200), so they're invisible to error-rate monitoring.

Surfaced by PostHog inbox report 019ee28f-6c30-7ae4-8a26-26ea14f291a4.

Changes

  • Bulk transition. New bulk-state action and inbox-reports-bulk-set-state MCP tool transition up to 100 reports in one call. Each id is processed independently, so the call returns 200 even on partial failure with a compact per-id result (transitioned / skipped / failed / not_found) plus per-outcome counts. The single and bulk paths share one _transition_report_state helper, so they honour identical restore/snooze semantics and transition guards. bulk_state is added to the suppressed-visible actions so a bulk restore (state='potential') can reach archived reports; everything stays team-scoped via the existing queryset, so another team's id comes back as not_found, never touched.
  • Canonical dismissal reasons. dismissal_reason is now a ChoiceField constrained to the inbox UI's canonical codes (already_fixed, report_unclear, analysis_wrong, wontfix_intentional, wontfix_irrelevant, other), mirrored from frontend/src/scenes/inbox/utils/dismissalReasons.ts. Invented codes are now rejected, and the tool descriptions note that already_fixed is a snooze (state='potential') rather than a dismissal.

The response outcome field is a documented CharField rather than a ChoiceField on purpose — a ChoiceField named outcome collides with another product's OutcomeEnum in the shared OpenAPI schema, and a server-generated response value needs no input validation.

The frontend already does its own client-side bulk via Promise.allSettled, so it's left untouched; the new endpoint primarily serves the MCP/agent workflow. Wiring the frontend onto the single bulk call is a reasonable follow-up.

How did you test this code?

I'm an agent. This environment has no database, so I could not run the Django suite or the OpenAPI codegen locally — CI will run both (and auto-commits the regenerated OpenAPI/MCP artifacts). I verified ruff check / ruff format pass and the files byte-compile, and I checked for OpenAPI enum-name collisions by hand (only the resolved outcome case).

Added automated coverage in products/signals/backend/test/test_signal_report_api.py:

  • bulk suppress transitions all reports (with dismissal artefacts written),
  • partial run where a disallowed transition is skipped while the rest go through,
  • unknown and cross-team ids report not_found and are never mutated (IDOR boundary),
  • request-order-preserving de-duplication,
  • bulk restore reaching suppressed reports,
  • request validation (empty / missing / >100 ids, non-canonical reason, invalid state, non-UUID id),
  • updated the single-report tests so a non-canonical dismissal_reason is now rejected.

Automatic notifications

  • Publish to changelog?
  • Alert Sales and Marketing teams?

🤖 Agent context

Autonomy: Human-driven (agent-assisted) — directed by Andy Maguire via an inbox report action.

Authored with Claude Code (PostHog Code). Fetched the inbox report and its contributing signal finding via the PostHog MCP inbox tools + the signals HogQL skill, then implemented the fix. Skills invoked: /improving-drf-endpoints (serializer/viewset audit — drove the ChoiceField constraint and the enum-collision avoidance) and /implementing-mcp-tools (tool YAML conventions).

Key decisions:

  • Added a dedicated detail=False bulk-state endpoint rather than overloading the single-report state action, keeping the single-report contract (200/409/400) intact while the bulk form degrades per-id.
  • Made dismissal_reason a strict enum (vs. just fixing the misleading examples) since the frontend already sends only canonical codes, so this aligns the API with the UI without breaking it.
  • Used a CharField for the response outcome to dodge an OutcomeEnum collision in the shared OpenAPI schema instead of renaming the field or threading ENUM_NAME_OVERRIDES through another product's generated types.

@assign-reviewers-posthog assign-reviewers-posthog Bot requested a review from a team June 20, 2026 11:54
@greptile-apps

greptile-apps Bot commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

Comments Outside Diff (2)

  1. products/signals/backend/views.py, line 568-574 (link)

    The NOT_FOUND entry in _BULK_STATE_OUTCOME_DETAIL is never consulted — the bulk_state loop handles the report is None branch with its own hardcoded string rather than looking up the dict. So the dict entry is dead code and the string is expressed twice (once in the dict, once inline), which violates the OnceAndOnlyOnce principle. The simplest fix is to drop the NOT_FOUND key from the dict and use the dict for the not-found branch as well.

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

  2. products/signals/backend/views.py, line 1275-1284 (link)

    The NOT_FOUND branch hardcodes a detail string that already lives in _BULK_STATE_OUTCOME_DETAIL. Using the dict here removes the duplication and ensures both places stay in sync if the wording ever changes.

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Prompt To Fix All With AI
Fix the following 2 code review issues. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 2
products/signals/backend/views.py:568-574
The `NOT_FOUND` entry in `_BULK_STATE_OUTCOME_DETAIL` is never consulted — the `bulk_state` loop handles the `report is None` branch with its own hardcoded string rather than looking up the dict. So the dict entry is dead code and the string is expressed twice (once in the dict, once inline), which violates the OnceAndOnlyOnce principle. The simplest fix is to drop the `NOT_FOUND` key from the dict and use the dict for the not-found branch as well.

### Issue 2 of 2
products/signals/backend/views.py:1275-1284
The `NOT_FOUND` branch hardcodes a detail string that already lives in `_BULK_STATE_OUTCOME_DETAIL`. Using the dict here removes the duplication and ensures both places stay in sync if the wording ever changes.

```suggestion
            if report is None:
                outcome = SignalReportBulkStateOutcome.NOT_FOUND
                results.append(
                    {
                        "id": report_id,
                        "outcome": outcome.value,
                        "status": None,
                        "detail": self._BULK_STATE_OUTCOME_DETAIL[outcome],
                    }
                )
```

Reviews (1): Last reviewed commit: "feat(signals): add bulk state transition..." | Re-trigger Greptile

@github-actions

github-actions Bot commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

MCP UI Apps size report

App JS CSS
debug 574.1 KB 154.6 KB
action 344.7 KB 154.6 KB
action-list 505.7 KB 154.6 KB
cohort 343.7 KB 154.6 KB
cohort-list 504.7 KB 154.6 KB
email-template 343.6 KB 154.6 KB
error-details 363.5 KB 154.6 KB
error-issue 344.4 KB 154.6 KB
error-issue-list 505.6 KB 154.6 KB
experiment 503.0 KB 154.6 KB
experiment-list 506.5 KB 154.6 KB
experiment-results 504.7 KB 154.6 KB
feature-flag 541.1 KB 154.6 KB
feature-flag-list 544.7 KB 154.6 KB
feature-flag-testing 423.2 KB 154.6 KB
insight-actors 503.6 KB 154.6 KB
invite-email-preview 343.0 KB 154.6 KB
llm-costs 501.1 KB 154.6 KB
session-recording 345.4 KB 154.6 KB
session-summary 350.9 KB 154.6 KB
survey 345.3 KB 154.6 KB
survey-global-stats 503.8 KB 154.6 KB
survey-list 506.4 KB 154.6 KB
survey-stats 503.8 KB 154.6 KB
trace-span 344.1 KB 154.6 KB
trace-span-list 505.7 KB 154.6 KB
workflow 344.1 KB 154.6 KB
workflow-list 505.1 KB 154.6 KB
query-results 669.9 KB 154.6 KB
render-ui 610.3 KB 154.6 KB
visual-review-snapshots 348.5 KB 154.6 KB

@github-actions

github-actions Bot commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

Size Change: 0 B

Total Size: 64.5 MB

ℹ️ View Unchanged
Filename Size
frontend/dist-report/decompression-worker/src/scenes/session-recordings/player/snapshot-processing/decompressionWorker 2.85 kB
frontend/dist-report/exporter/_chunks/chunk 2.62 MB
frontend/dist-report/exporter/_parent/products/actions/frontend/pages/Action 27.7 kB
frontend/dist-report/exporter/_parent/products/actions/frontend/pages/Actions 5.46 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/AIObservabilityScene 121 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/AIObservabilitySessionScene 20.4 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/AIObservabilityTraceScene 133 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/AIObservabilityUsers 3.41 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/clusters/AIObservabilityClusterScene 21.8 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/clusters/AIObservabilityClustersScene 54.5 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/datasets/AIObservabilityDatasetScene 20.7 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/datasets/AIObservabilityDatasetsScene 4.07 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/evaluations/AIObservabilityEvaluation 60 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/evaluations/AIObservabilityEvaluationsScene 32.3 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/evaluations/EvaluationTemplates 671 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/LLMASessionFeedbackDisplay 4.81 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/playground/AIObservabilityPlaygroundScene 37.7 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/prompts/LLMPromptScene 32.6 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/prompts/LLMPromptsScene 5.21 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/tags/AIObservabilityTag 31.8 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/tags/AIObservabilityTagsScene 11.6 kB
frontend/dist-report/exporter/_parent/products/business_knowledge/frontend/scenes/BusinessKnowledgeScene 22.4 kB
frontend/dist-report/exporter/_parent/products/conversations/frontend/components/Assignee/CyclotronJobInputAssignee 1.38 kB
frontend/dist-report/exporter/_parent/products/conversations/frontend/components/SlaBusinessHours/CyclotronJobInputBusinessHours 2.69 kB
frontend/dist-report/exporter/_parent/products/conversations/frontend/components/TicketTags/CyclotronJobInputTicketTags 783 B
frontend/dist-report/exporter/_parent/products/conversations/frontend/scenes/settings/SupportSettingsScene 5.63 kB
frontend/dist-report/exporter/_parent/products/conversations/frontend/scenes/ticket/SupportTicketScene 39 kB
frontend/dist-report/exporter/_parent/products/conversations/frontend/scenes/tickets/SupportTicketsScene 1.65 kB
frontend/dist-report/exporter/_parent/products/customer_analytics/frontend/CustomerAnalyticsScene 92.9 kB
frontend/dist-report/exporter/_parent/products/customer_analytics/frontend/scenes/CustomerAnalyticsConfigurationScene/CustomerAnalyticsConfigurationScene 6.38 kB
frontend/dist-report/exporter/_parent/products/customer_analytics/frontend/scenes/CustomerJourneyBuilderScene/CustomerJourneyBuilderScene 6.12 kB
frontend/dist-report/exporter/_parent/products/customer_analytics/frontend/scenes/CustomerJourneyTemplatesScene/CustomerJourneyTemplatesScene 9.13 kB
frontend/dist-report/exporter/_parent/products/data_warehouse/DataWarehouseScene 29 kB
frontend/dist-report/exporter/_parent/products/data_warehouse/frontend/scenes/NewSourceScene/NewSourceScene 2.78 kB
frontend/dist-report/exporter/_parent/products/data_warehouse/frontend/scenes/SchemaScene/SchemaScene 28.9 kB
frontend/dist-report/exporter/_parent/products/data_warehouse/frontend/scenes/SourceConnectScene/SourceConnectScene 6.9 kB
frontend/dist-report/exporter/_parent/products/data_warehouse/frontend/scenes/SourceScene/SourceScene 2.58 kB
frontend/dist-report/exporter/_parent/products/data_warehouse/frontend/scenes/SourcesScene/SourcesScene 7.42 kB
frontend/dist-report/exporter/_parent/products/early_access_features/frontend/EarlyAccessFeature 5.34 kB
frontend/dist-report/exporter/_parent/products/early_access_features/frontend/EarlyAccessFeatures 3.73 kB
frontend/dist-report/exporter/_parent/products/endpoints/frontend/EndpointScene 47.3 kB
frontend/dist-report/exporter/_parent/products/endpoints/frontend/EndpointsScene 27.2 kB
frontend/dist-report/exporter/_parent/products/engineering_analytics/frontend/scenes/EngineeringAnalyticsScene 23.4 kB
frontend/dist-report/exporter/_parent/products/engineering_analytics/frontend/scenes/PullRequestDetailScene 11.4 kB
frontend/dist-report/exporter/_parent/products/error_tracking/frontend/scenes/ErrorTrackingFingerprintsScene/ErrorTrackingIssueFingerprintsScene 7.66 kB
frontend/dist-report/exporter/_parent/products/error_tracking/frontend/scenes/ErrorTrackingIssueScene/ErrorTrackingIssueScene 102 kB
frontend/dist-report/exporter/_parent/products/error_tracking/frontend/scenes/ErrorTrackingScene/ErrorTrackingScene 42.2 kB
frontend/dist-report/exporter/_parent/products/feature_flags/frontend/FeatureFlagTemplatesScene 6.91 kB
frontend/dist-report/exporter/_parent/products/games/368Hedgehogs/368Hedgehogs 5.24 kB
frontend/dist-report/exporter/_parent/products/games/FlappyHog/FlappyHog 5.7 kB
frontend/dist-report/exporter/_parent/products/growth/frontend/IdentityMatchingScene 6.11 kB
frontend/dist-report/exporter/_parent/products/legal_documents/frontend/scenes/LegalDocumentNewScene 60.5 kB
frontend/dist-report/exporter/_parent/products/legal_documents/frontend/scenes/LegalDocumentsScene 6.68 kB
frontend/dist-report/exporter/_parent/products/links/frontend/LinkScene 25.4 kB
frontend/dist-report/exporter/_parent/products/links/frontend/LinksScene 5.15 kB
frontend/dist-report/exporter/_parent/products/live_debugger/frontend/LiveDebugger 19.6 kB
frontend/dist-report/exporter/_parent/products/logs/frontend/LogsScene 22.7 kB
frontend/dist-report/exporter/_parent/products/logs/frontend/scenes/LogsAlertDetailScene/LogsAlertDetailScene 18.6 kB
frontend/dist-report/exporter/_parent/products/logs/frontend/scenes/LogsAlertNotificationDetailScene/LogsAlertNotificationDetailScene 9.03 kB
frontend/dist-report/exporter/_parent/products/logs/frontend/scenes/LogsSamplingDetailScene/LogsSamplingDetailScene 6.14 kB
frontend/dist-report/exporter/_parent/products/logs/frontend/scenes/LogsSamplingNewScene/LogsSamplingNewScene 3.15 kB
frontend/dist-report/exporter/_parent/products/managed_migrations/frontend/ManagedMigration 15.2 kB
frontend/dist-report/exporter/_parent/products/mcp_analytics/frontend/MCPAnalyticsScene 108 kB
frontend/dist-report/exporter/_parent/products/mcp_analytics/frontend/MCPAnalyticsToolDetail 20.4 kB
frontend/dist-report/exporter/_parent/products/metrics/frontend/MetricsScene 18 kB
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/stickiness/StickinessBarChart/StickinessBarChart 4.03 kB
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/stickiness/StickinessLineChart/StickinessLineChart 3.91 kB
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/TrendsBarChart/TrendsBarChart 9.69 kB
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/TrendsLifecycleChart/TrendsLifecycleChart 5.84 kB
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/TrendsLineChart/TrendsLineChart 7.42 kB
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/TrendsPieChart/TrendsPieChart 5.04 kB
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/TrendsSlopeChart/TrendsSlopeChart 2.6 kB
frontend/dist-report/exporter/_parent/products/replay_vision/frontend/observations/ReplayObservation 17.8 kB
frontend/dist-report/exporter/_parent/products/replay_vision/frontend/replay_scanners/ReplayScanner 35.5 kB
frontend/dist-report/exporter/_parent/products/replay_vision/frontend/replay_scanners/ReplayScannersScene 21.8 kB
frontend/dist-report/exporter/_parent/products/replay_vision/frontend/replay_scanners/ScannerEditorScene 25.2 kB
frontend/dist-report/exporter/_parent/products/revenue_analytics/frontend/revenueAnalyticsLogic 1.49 kB
frontend/dist-report/exporter/_parent/products/revenue_analytics/frontend/RevenueAnalyticsScene 29.5 kB
frontend/dist-report/exporter/_parent/products/session_summaries/frontend/SessionGroupSummariesTable 5.4 kB
frontend/dist-report/exporter/_parent/products/session_summaries/frontend/SessionGroupSummaryScene 23.1 kB
frontend/dist-report/exporter/_parent/products/skills/frontend/LLMSkillScene 1.47 kB
frontend/dist-report/exporter/_parent/products/skills/frontend/LLMSkillsScene 1.48 kB
frontend/dist-report/exporter/_parent/products/tasks/frontend/SlackTaskContextScene 9.29 kB
frontend/dist-report/exporter/_parent/products/tasks/frontend/TaskDetailScene 25.1 kB
frontend/dist-report/exporter/_parent/products/tasks/frontend/TaskTracker 14.8 kB
frontend/dist-report/exporter/_parent/products/tracing/frontend/TracingScene 86.4 kB
frontend/dist-report/exporter/_parent/products/user_interviews/frontend/UserInterview 10.8 kB
frontend/dist-report/exporter/_parent/products/user_interviews/frontend/UserInterviewResponse 8.05 kB
frontend/dist-report/exporter/_parent/products/user_interviews/frontend/UserInterviews 6.46 kB
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewIndexScene 3 kB
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewRunScene 46.8 kB
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewRunsScene 8.18 kB
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewSettingsScene 11.6 kB
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewSnapshotHistoryScene 14.2 kB
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewSnapshotOverviewScene 19.8 kB
frontend/dist-report/exporter/_parent/products/workflows/frontend/TemplateLibrary/MessageTemplate 17 kB
frontend/dist-report/exporter/_parent/products/workflows/frontend/Workflows/WorkflowScene 110 kB
frontend/dist-report/exporter/_parent/products/workflows/frontend/WorkflowsScene 61.4 kB
frontend/dist-report/exporter/src/exporter/exporter 44.6 kB
frontend/dist-report/exporter/src/exporter/scenes/ExporterDashboardScene 6.37 kB
frontend/dist-report/exporter/src/exporter/scenes/ExporterHeatmapScene 20.1 kB
frontend/dist-report/exporter/src/exporter/scenes/ExporterInsightScene 7.01 kB
frontend/dist-report/exporter/src/exporter/scenes/ExporterInterviewScene 310 kB
frontend/dist-report/exporter/src/exporter/scenes/ExporterNotebookScene 2.89 MB
frontend/dist-report/exporter/src/exporter/scenes/ExporterRecordingScene 5.46 kB
frontend/dist-report/exporter/src/exporterSharedChunkAnchors 1.3 kB
frontend/dist-report/exporter/src/lib/components/ActivityLog/describers 129 kB
frontend/dist-report/exporter/src/lib/components/Cards/TextCard/TextCardMarkdownEditor 10.6 kB
frontend/dist-report/exporter/src/lib/components/MonacoDiffEditor 533 B
frontend/dist-report/exporter/src/lib/lemon-ui/LemonMarkdown/MermaidDiagram 2 kB
frontend/dist-report/exporter/src/lib/lemon-ui/LemonTextArea/LemonTextAreaMarkdown 790 B
frontend/dist-report/exporter/src/lib/lemon-ui/Link/Link 415 B
frontend/dist-report/exporter/src/lib/monaco/CodeEditor 448 B
frontend/dist-report/exporter/src/lib/monaco/CodeEditorImpl 26 kB
frontend/dist-report/exporter/src/lib/monaco/CodeEditorInline 649 B
frontend/dist-report/exporter/src/lib/monaco/vimMode 211 kB
frontend/dist-report/exporter/src/lib/ui/Button/ButtonPrimitives 482 B
frontend/dist-report/exporter/src/queries/nodes/WebVitals/WebVitals 11.3 kB
frontend/dist-report/exporter/src/queries/nodes/WebVitals/WebVitalsPathBreakdown 4.76 kB
frontend/dist-report/exporter/src/queries/Query/Query 4.88 kB
frontend/dist-report/exporter/src/queries/schema 939 kB
frontend/dist-report/exporter/src/scenes/approvals/changeRequestsLogic 622 B
frontend/dist-report/exporter/src/scenes/authentication/login/loginLogic 569 B
frontend/dist-report/exporter/src/scenes/authentication/shared/passkeyLogic 602 B
frontend/dist-report/exporter/src/scenes/data-pipelines/event-filtering/EventFilterScene 22.8 kB
frontend/dist-report/exporter/src/scenes/data-pipelines/TransformationsScene 7.95 kB
frontend/dist-report/exporter/src/scenes/experiments/notebook/NotebookCompactTable 1.54 kB
frontend/dist-report/exporter/src/scenes/hog-functions/misc/Diff 1.35 kB
frontend/dist-report/exporter/src/scenes/insights/views/BoxPlot/BoxPlot 4.52 kB
frontend/dist-report/exporter/src/scenes/insights/views/CalendarHeatMap/CalendarHeatMap 8.88 kB
frontend/dist-report/exporter/src/scenes/insights/views/RegionMap/RegionMap 30.3 kB
frontend/dist-report/exporter/src/scenes/insights/views/WorldMap/WorldMap 1.04 MB
frontend/dist-report/exporter/src/scenes/models/ModelsScene 19.1 kB
frontend/dist-report/exporter/src/scenes/models/NodeDetailScene 18.9 kB
frontend/dist-report/monaco-editor-worker/src/lib/monaco/workers/monacoEditorWorker 288 kB
frontend/dist-report/monaco-json-worker/src/lib/monaco/workers/monacoJsonWorker 419 kB
frontend/dist-report/monaco-typescript-worker/src/lib/monaco/workers/monacoTsWorker 7.02 MB
frontend/dist-report/posthog-app/_chunks/chunk 2.62 MB
frontend/dist-report/posthog-app/_parent/products/actions/frontend/pages/Action 29.2 kB
frontend/dist-report/posthog-app/_parent/products/actions/frontend/pages/Actions 6.82 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/AIObservabilityScene 123 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/AIObservabilitySessionScene 20.5 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/AIObservabilityTraceScene 134 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/AIObservabilityUsers 4.26 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/clusters/AIObservabilityClusterScene 22.3 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/clusters/AIObservabilityClustersScene 55 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/datasets/AIObservabilityDatasetScene 21.2 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/datasets/AIObservabilityDatasetsScene 4.58 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/evaluations/AIObservabilityEvaluation 60.5 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/evaluations/AIObservabilityEvaluationsScene 33.6 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/evaluations/EvaluationTemplates 671 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/LLMASessionFeedbackDisplay 4.81 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/playground/AIObservabilityPlaygroundScene 38.2 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/prompts/LLMPromptScene 34 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/prompts/LLMPromptsScene 5.73 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/tags/AIObservabilityTag 33.1 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/tags/AIObservabilityTagsScene 12.9 kB
frontend/dist-report/posthog-app/_parent/products/business_knowledge/frontend/scenes/BusinessKnowledgeScene 22.9 kB
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/components/Assignee/CyclotronJobInputAssignee 1.38 kB
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/components/SlaBusinessHours/CyclotronJobInputBusinessHours 2.7 kB
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/components/TicketTags/CyclotronJobInputTicketTags 783 B
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/scenes/settings/SupportSettingsScene 7.73 kB
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/scenes/ticket/SupportTicketScene 33.6 kB
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/scenes/tickets/SupportTicketsScene 2.15 kB
frontend/dist-report/posthog-app/_parent/products/customer_analytics/frontend/CustomerAnalyticsScene 93.2 kB
frontend/dist-report/posthog-app/_parent/products/customer_analytics/frontend/scenes/CustomerAnalyticsConfigurationScene/CustomerAnalyticsConfigurationScene 8.49 kB
frontend/dist-report/posthog-app/_parent/products/customer_analytics/frontend/scenes/CustomerJourneyBuilderScene/CustomerJourneyBuilderScene 7.45 kB
frontend/dist-report/posthog-app/_parent/products/customer_analytics/frontend/scenes/CustomerJourneyTemplatesScene/CustomerJourneyTemplatesScene 10 kB
frontend/dist-report/posthog-app/_parent/products/data_warehouse/DataWarehouseScene 2.04 kB
frontend/dist-report/posthog-app/_parent/products/data_warehouse/frontend/scenes/NewSourceScene/NewSourceScene 3.56 kB
frontend/dist-report/posthog-app/_parent/products/data_warehouse/frontend/scenes/SchemaScene/SchemaScene 29.5 kB
frontend/dist-report/posthog-app/_parent/products/data_warehouse/frontend/scenes/SourceConnectScene/SourceConnectScene 7.61 kB
frontend/dist-report/posthog-app/_parent/products/data_warehouse/frontend/scenes/SourceScene/SourceScene 3.26 kB
frontend/dist-report/posthog-app/_parent/products/data_warehouse/frontend/scenes/SourcesScene/SourcesScene 8.1 kB
frontend/dist-report/posthog-app/_parent/products/early_access_features/frontend/EarlyAccessFeature 6.83 kB
frontend/dist-report/posthog-app/_parent/products/early_access_features/frontend/EarlyAccessFeatures 4.24 kB
frontend/dist-report/posthog-app/_parent/products/endpoints/frontend/EndpointScene 48.6 kB
frontend/dist-report/posthog-app/_parent/products/endpoints/frontend/EndpointsScene 26.5 kB
frontend/dist-report/posthog-app/_parent/products/engineering_analytics/frontend/scenes/EngineeringAnalyticsScene 23.9 kB
frontend/dist-report/posthog-app/_parent/products/engineering_analytics/frontend/scenes/PullRequestDetailScene 11.9 kB
frontend/dist-report/posthog-app/_parent/products/error_tracking/frontend/scenes/ErrorTrackingFingerprintsScene/ErrorTrackingIssueFingerprintsScene 8.2 kB
frontend/dist-report/posthog-app/_parent/products/error_tracking/frontend/scenes/ErrorTrackingIssueScene/ErrorTrackingIssueScene 103 kB
frontend/dist-report/posthog-app/_parent/products/error_tracking/frontend/scenes/ErrorTrackingScene/ErrorTrackingScene 44.7 kB
frontend/dist-report/posthog-app/_parent/products/feature_flags/frontend/FeatureFlagTemplatesScene 6.92 kB
frontend/dist-report/posthog-app/_parent/products/games/368Hedgehogs/368Hedgehogs 5.24 kB
frontend/dist-report/posthog-app/_parent/products/games/FlappyHog/FlappyHog 5.7 kB
frontend/dist-report/posthog-app/_parent/products/growth/frontend/IdentityMatchingScene 6.11 kB
frontend/dist-report/posthog-app/_parent/products/legal_documents/frontend/scenes/LegalDocumentNewScene 61 kB
frontend/dist-report/posthog-app/_parent/products/legal_documents/frontend/scenes/LegalDocumentsScene 7.19 kB
frontend/dist-report/posthog-app/_parent/products/links/frontend/LinkScene 25.9 kB
frontend/dist-report/posthog-app/_parent/products/links/frontend/LinksScene 5.66 kB
frontend/dist-report/posthog-app/_parent/products/live_debugger/frontend/LiveDebugger 20.1 kB
frontend/dist-report/posthog-app/_parent/products/logs/frontend/components/LogsViewer/LogsViewerModal/LogsViewerModal 2.52 kB
frontend/dist-report/posthog-app/_parent/products/logs/frontend/LogsScene 24 kB
frontend/dist-report/posthog-app/_parent/products/logs/frontend/scenes/LogsAlertDetailScene/LogsAlertDetailScene 19.2 kB
frontend/dist-report/posthog-app/_parent/products/logs/frontend/scenes/LogsAlertNotificationDetailScene/LogsAlertNotificationDetailScene 9.57 kB
frontend/dist-report/posthog-app/_parent/products/logs/frontend/scenes/LogsSamplingDetailScene/LogsSamplingDetailScene 6.66 kB
frontend/dist-report/posthog-app/_parent/products/logs/frontend/scenes/LogsSamplingNewScene/LogsSamplingNewScene 3.67 kB
frontend/dist-report/posthog-app/_parent/products/managed_migrations/frontend/ManagedMigration 15.8 kB
frontend/dist-report/posthog-app/_parent/products/mcp_analytics/frontend/MCPAnalyticsScene 108 kB
frontend/dist-report/posthog-app/_parent/products/mcp_analytics/frontend/MCPAnalyticsToolDetail 20.9 kB
frontend/dist-report/posthog-app/_parent/products/metrics/frontend/MetricsScene 18.8 kB
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/stickiness/StickinessBarChart/StickinessBarChart 4.51 kB
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/stickiness/StickinessLineChart/StickinessLineChart 4.39 kB
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/TrendsBarChart/TrendsBarChart 10.2 kB
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/TrendsLifecycleChart/TrendsLifecycleChart 6.32 kB
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/TrendsLineChart/TrendsLineChart 7.89 kB
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/TrendsPieChart/TrendsPieChart 5.52 kB
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/TrendsSlopeChart/TrendsSlopeChart 2.97 kB
frontend/dist-report/posthog-app/_parent/products/replay_vision/frontend/observations/ReplayObservation 20 kB
frontend/dist-report/posthog-app/_parent/products/replay_vision/frontend/replay_scanners/ReplayScanner 36.9 kB
frontend/dist-report/posthog-app/_parent/products/replay_vision/frontend/replay_scanners/ReplayScannersScene 23.2 kB
frontend/dist-report/posthog-app/_parent/products/replay_vision/frontend/replay_scanners/ScannerEditorScene 25.7 kB
frontend/dist-report/posthog-app/_parent/products/revenue_analytics/frontend/revenueAnalyticsLogic 1.83 kB
frontend/dist-report/posthog-app/_parent/products/revenue_analytics/frontend/RevenueAnalyticsScene 31 kB
frontend/dist-report/posthog-app/_parent/products/session_summaries/frontend/SessionGroupSummariesTable 5.91 kB
frontend/dist-report/posthog-app/_parent/products/session_summaries/frontend/SessionGroupSummaryScene 25.3 kB
frontend/dist-report/posthog-app/_parent/products/skills/frontend/LLMSkillScene 1.98 kB
frontend/dist-report/posthog-app/_parent/products/skills/frontend/LLMSkillsScene 1.99 kB
frontend/dist-report/posthog-app/_parent/products/tasks/frontend/SlackTaskContextScene 9.8 kB
frontend/dist-report/posthog-app/_parent/products/tasks/frontend/TaskDetailScene 25.7 kB
frontend/dist-report/posthog-app/_parent/products/tasks/frontend/TaskTracker 15.4 kB
frontend/dist-report/posthog-app/_parent/products/tracing/frontend/TracingScene 86.9 kB
frontend/dist-report/posthog-app/_parent/products/user_interviews/frontend/UserInterview 10.8 kB
frontend/dist-report/posthog-app/_parent/products/user_interviews/frontend/UserInterviewResponse 8.56 kB
frontend/dist-report/posthog-app/_parent/products/user_interviews/frontend/UserInterviews 6.98 kB
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewIndexScene 3.51 kB
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewRunScene 47.3 kB
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewRunsScene 8.69 kB
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewSettingsScene 12.1 kB
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewSnapshotHistoryScene 14.7 kB
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewSnapshotOverviewScene 20.3 kB
frontend/dist-report/posthog-app/_parent/products/workflows/frontend/TemplateLibrary/MessageTemplate 17.6 kB
frontend/dist-report/posthog-app/_parent/products/workflows/frontend/Workflows/WorkflowScene 104 kB
frontend/dist-report/posthog-app/_parent/products/workflows/frontend/WorkflowsScene 62.5 kB
frontend/dist-report/posthog-app/src/index 62.5 kB
frontend/dist-report/posthog-app/src/layout/panel-layout/ai-first/tabs/NavTabChat 7.93 kB
frontend/dist-report/posthog-app/src/lib/components/ActivityLog/describers 130 kB
frontend/dist-report/posthog-app/src/lib/components/AppShortcuts/utils/DebugCHQueriesImpl 19.2 kB
frontend/dist-report/posthog-app/src/lib/components/Cards/TextCard/TextCardMarkdownEditor 10.6 kB
frontend/dist-report/posthog-app/src/lib/components/MonacoDiffEditor 533 B
frontend/dist-report/posthog-app/src/lib/lemon-ui/LemonMarkdown/MermaidDiagram 2 kB
frontend/dist-report/posthog-app/src/lib/lemon-ui/LemonTextArea/LemonTextAreaMarkdown 790 B
frontend/dist-report/posthog-app/src/lib/lemon-ui/Link/Link 415 B
frontend/dist-report/posthog-app/src/lib/monaco/CodeEditor 448 B
frontend/dist-report/posthog-app/src/lib/monaco/CodeEditorImpl 26 kB
frontend/dist-report/posthog-app/src/lib/monaco/CodeEditorInline 649 B
frontend/dist-report/posthog-app/src/lib/monaco/vimMode 211 kB
frontend/dist-report/posthog-app/src/lib/ui/Button/ButtonPrimitives 482 B
frontend/dist-report/posthog-app/src/queries/nodes/WebVitals/WebVitals 12.6 kB
frontend/dist-report/posthog-app/src/queries/nodes/WebVitals/WebVitalsPathBreakdown 5.17 kB
frontend/dist-report/posthog-app/src/queries/Query/Query 6.2 kB
frontend/dist-report/posthog-app/src/queries/schema 939 kB
frontend/dist-report/posthog-app/src/scenes/activity/explore/EventsScene 8.37 kB
frontend/dist-report/posthog-app/src/scenes/activity/explore/SessionsScene 9.71 kB
frontend/dist-report/posthog-app/src/scenes/activity/live/LiveEventsTable 6.64 kB
frontend/dist-report/posthog-app/src/scenes/agentic/AgenticAuthorize 5.51 kB
frontend/dist-report/posthog-app/src/scenes/approvals/ApprovalDetail 17.7 kB
frontend/dist-report/posthog-app/src/scenes/approvals/changeRequestsLogic 622 B
frontend/dist-report/posthog-app/src/scenes/audit-logs/AdvancedActivityLogsScene 43.1 kB
frontend/dist-report/posthog-app/src/scenes/AuthenticatedShell 209 kB
frontend/dist-report/posthog-app/src/scenes/authentication/account/AccountConnected 3.04 kB
frontend/dist-report/posthog-app/src/scenes/authentication/account/AgenticAccountMismatch 2.43 kB
frontend/dist-report/posthog-app/src/scenes/authentication/account/credential-review/CredentialReview 5.04 kB
frontend/dist-report/posthog-app/src/scenes/authentication/cli/CLIAuthorize 12.1 kB
frontend/dist-report/posthog-app/src/scenes/authentication/cli/CLILive 4.05 kB
frontend/dist-report/posthog-app/src/scenes/authentication/email-mfa-verify/EmailMFAVerify 3.04 kB
frontend/dist-report/posthog-app/src/scenes/authentication/invite-signup/InviteSignup 1.4 kB
frontend/dist-report/posthog-app/src/scenes/authentication/login-2fa/Login2FA 4.73 kB
frontend/dist-report/posthog-app/src/scenes/authentication/login/Login 1.41 kB
frontend/dist-report/posthog-app/src/scenes/authentication/login/loginLogic 569 B
frontend/dist-report/posthog-app/src/scenes/authentication/password-reset/PasswordReset 4.5 kB
frontend/dist-report/posthog-app/src/scenes/authentication/password-reset/PasswordResetComplete 3.06 kB
frontend/dist-report/posthog-app/src/scenes/authentication/shared/passkeyLogic 602 B
frontend/dist-report/posthog-app/src/scenes/authentication/signup/SignupContainer 1.39 kB
frontend/dist-report/posthog-app/src/scenes/authentication/two-factor-reset/TwoFactorReset 4.04 kB
frontend/dist-report/posthog-app/src/scenes/authentication/vercel/VercelConnect 5.03 kB
frontend/dist-report/posthog-app/src/scenes/authentication/vercel/VercelLinkError 2.3 kB
frontend/dist-report/posthog-app/src/scenes/authentication/verify-email/VerifyEmail 4.79 kB
frontend/dist-report/posthog-app/src/scenes/billing/AuthorizationStatus 768 B
frontend/dist-report/posthog-app/src/scenes/billing/Billing 717 B
frontend/dist-report/posthog-app/src/scenes/billing/BillingSection 21.6 kB
frontend/dist-report/posthog-app/src/scenes/cohorts/Cohort 33.8 kB
frontend/dist-report/posthog-app/src/scenes/cohorts/CohortCalculationHistory 7.34 kB
frontend/dist-report/posthog-app/src/scenes/cohorts/Cohorts 10.9 kB
frontend/dist-report/posthog-app/src/scenes/coupons/Coupons 895 B
frontend/dist-report/posthog-app/src/scenes/dashboard/Dashboard 7.62 kB
frontend/dist-report/posthog-app/src/scenes/dashboard/dashboards/Dashboards 22.6 kB
frontend/dist-report/posthog-app/src/scenes/dashboard/dashboards/templates/DashboardTemplateCopyScene 7.06 kB
frontend/dist-report/posthog-app/src/scenes/data-management/DataManagementScene 6.52 kB
frontend/dist-report/posthog-app/src/scenes/data-management/definition/DefinitionEdit 23.1 kB
frontend/dist-report/posthog-app/src/scenes/data-management/definition/DefinitionView 31.3 kB
frontend/dist-report/posthog-app/src/scenes/data-management/MaterializedColumns/MaterializedColumns 12.8 kB
frontend/dist-report/posthog-app/src/scenes/data-management/variables/SqlVariableEditScene 8.53 kB
frontend/dist-report/posthog-app/src/scenes/data-pipelines/batch-exports/BatchExportScene 67.7 kB
frontend/dist-report/posthog-app/src/scenes/data-pipelines/DataPipelinesNewScene 5.11 kB
frontend/dist-report/posthog-app/src/scenes/data-pipelines/DestinationsScene 5.64 kB
frontend/dist-report/posthog-app/src/scenes/data-pipelines/event-filtering/EventFilterScene 23.3 kB
frontend/dist-report/posthog-app/src/scenes/data-pipelines/legacy-plugins/LegacyPluginScene 22 kB
frontend/dist-report/posthog-app/src/scenes/data-pipelines/TransformationsScene 4.75 kB
frontend/dist-report/posthog-app/src/scenes/data-pipelines/WebScriptsScene 5.51 kB
frontend/dist-report/posthog-app/src/scenes/data-warehouse/DataWarehouseScene 2.02 kB
frontend/dist-report/posthog-app/src/scenes/data-warehouse/editor/EditorScene 4.75 kB
frontend/dist-report/posthog-app/src/scenes/debug/DebugScene 25.2 kB
frontend/dist-report/posthog-app/src/scenes/debug/hog/HogRepl 9.02 kB
frontend/dist-report/posthog-app/src/scenes/experiments/Experiment 224 kB
frontend/dist-report/posthog-app/src/scenes/experiments/Experiments 23.1 kB
frontend/dist-report/posthog-app/src/scenes/experiments/notebook/NotebookCompactTable 1.94 kB
frontend/dist-report/posthog-app/src/scenes/experiments/SharedMetrics/SharedMetric 12.2 kB
frontend/dist-report/posthog-app/src/scenes/experiments/SharedMetrics/SharedMetrics 1.77 kB
frontend/dist-report/posthog-app/src/scenes/exports/ExportsScene 5.34 kB
frontend/dist-report/posthog-app/src/scenes/feature-flags/FeatureFlag 117 kB
frontend/dist-report/posthog-app/src/scenes/feature-flags/FeatureFlags 3.87 kB
frontend/dist-report/posthog-app/src/scenes/groups/Group 23.1 kB
frontend/dist-report/posthog-app/src/scenes/groups/Groups 9.35 kB
frontend/dist-report/posthog-app/src/scenes/groups/GroupsNew 8.62 kB
frontend/dist-report/posthog-app/src/scenes/health-alerts/HealthAlertsScene 6.33 kB
frontend/dist-report/posthog-app/src/scenes/health/categoryDetail/HealthCategoryDetailScene 13.1 kB
frontend/dist-report/posthog-app/src/scenes/health/HealthScene 17 kB
frontend/dist-report/posthog-app/src/scenes/health/pipelineStatus/PipelineStatusScene 12.3 kB
frontend/dist-report/posthog-app/src/scenes/heatmaps/scenes/heatmap/HeatmapNewScene 6.38 kB
frontend/dist-report/posthog-app/src/scenes/heatmaps/scenes/heatmap/HeatmapRecordingScene 5.11 kB
frontend/dist-report/posthog-app/src/scenes/heatmaps/scenes/heatmap/HeatmapScene 7.96 kB
frontend/dist-report/posthog-app/src/scenes/heatmaps/scenes/heatmaps/HeatmapsScene 5.2 kB
frontend/dist-report/posthog-app/src/scenes/hog-functions/HogFunctionScene 60.5 kB
frontend/dist-report/posthog-app/src/scenes/hog-functions/misc/Diff 1.35 kB
frontend/dist-report/posthog-app/src/scenes/inbox/InboxScene 183 kB
frontend/dist-report/posthog-app/src/scenes/insights/InsightQuickStart/InsightQuickStart 8.12 kB
frontend/dist-report/posthog-app/src/scenes/insights/InsightScene 40.8 kB
frontend/dist-report/posthog-app/src/scenes/insights/views/BoxPlot/BoxPlot 5 kB
frontend/dist-report/posthog-app/src/scenes/insights/views/CalendarHeatMap/CalendarHeatMap 9.23 kB
frontend/dist-report/posthog-app/src/scenes/insights/views/RegionMap/RegionMap 30.8 kB
frontend/dist-report/posthog-app/src/scenes/insights/views/WorldMap/WorldMap 6.16 kB
frontend/dist-report/posthog-app/src/scenes/instance/AsyncMigrations/AsyncMigrations 14.3 kB
frontend/dist-report/posthog-app/src/scenes/instance/DeadLetterQueue/DeadLetterQueue 6.68 kB
frontend/dist-report/posthog-app/src/scenes/instance/QueryPerformance/QueryPerformance 9.91 kB
frontend/dist-report/posthog-app/src/scenes/instance/SystemStatus/SystemStatus 18.2 kB
frontend/dist-report/posthog-app/src/scenes/integrations/IntegrationsLandingScene 1.64 kB
frontend/dist-report/posthog-app/src/scenes/IntegrationsRedirect/IntegrationsRedirect 921 B
frontend/dist-report/posthog-app/src/scenes/marketing-analytics/MarketingAnalyticsScene 46.7 kB
frontend/dist-report/posthog-app/src/scenes/max/Max 20 kB
frontend/dist-report/posthog-app/src/scenes/models/ModelsScene 19.6 kB
frontend/dist-report/posthog-app/src/scenes/models/NodeDetailScene 19.7 kB
frontend/dist-report/posthog-app/src/scenes/moveToPostHogCloud/MoveToPostHogCloud 4.5 kB
frontend/dist-report/posthog-app/src/scenes/new-tab/NewTabScene 2.72 kB
frontend/dist-report/posthog-app/src/scenes/notebooks/NotebookCanvasScene 11.9 kB
frontend/dist-report/posthog-app/src/scenes/notebooks/NotebookPanel/NotebookPanel 13.9 kB
frontend/dist-report/posthog-app/src/scenes/notebooks/NotebookScene 17.4 kB
frontend/dist-report/posthog-app/src/scenes/notebooks/NotebooksScene 8.73 kB
frontend/dist-report/posthog-app/src/scenes/oauth/OAuthAuthorize 810 B
frontend/dist-report/posthog-app/src/scenes/onboarding/legacy/coupon/OnboardingCouponRedemption 1.34 kB
frontend/dist-report/posthog-app/src/scenes/onboarding/Onboarding 782 kB
frontend/dist-report/posthog-app/src/scenes/onboarding/shared/sdkHealth/SdkHealthScene 9.16 kB
frontend/dist-report/posthog-app/src/scenes/organization/ConfirmOrganization/ConfirmOrganization 4.5 kB
frontend/dist-report/posthog-app/src/scenes/organization/Create/Create 704 B
frontend/dist-report/posthog-app/src/scenes/organization/Deactivated 1.17 kB
frontend/dist-report/posthog-app/src/scenes/organization/PendingDeletion 2.24 kB
frontend/dist-report/posthog-app/src/scenes/persons/PersonScene 28 kB
frontend/dist-report/posthog-app/src/scenes/persons/PersonsScene 11.6 kB
frontend/dist-report/posthog-app/src/scenes/PreflightCheck/PreflightCheck 5.57 kB
frontend/dist-report/posthog-app/src/scenes/product-tours/ProductTour 273 kB
frontend/dist-report/posthog-app/src/scenes/product-tours/ProductTours 6 kB
frontend/dist-report/posthog-app/src/scenes/project-homepage/ProjectHomepage 26.8 kB
frontend/dist-report/posthog-app/src/scenes/project/Create/Create 982 B
frontend/dist-report/posthog-app/src/scenes/project/PendingDeletion 2.6 kB
frontend/dist-report/posthog-app/src/scenes/resource-transfer/ResourceTransfer 10.5 kB
frontend/dist-report/posthog-app/src/scenes/saved-insights/SavedInsights 3.43 kB
frontend/dist-report/posthog-app/src/scenes/session-recordings/detail/SessionRecordingDetail 8.51 kB
frontend/dist-report/posthog-app/src/scenes/session-recordings/file-playback/SessionRecordingFilePlaybackScene 11.1 kB
frontend/dist-report/posthog-app/src/scenes/session-recordings/kiosk/SessionRecordingsKiosk 16.6 kB
frontend/dist-report/posthog-app/src/scenes/session-recordings/player/modal/SessionPlayerModal 8.22 kB
frontend/dist-report/posthog-app/src/scenes/session-recordings/player/snapshot-processing/DecompressionWorkerManager 323 B
frontend/dist-report/posthog-app/src/scenes/session-recordings/playlist/SessionRecordingsPlaylistScene 11.7 kB
frontend/dist-report/posthog-app/src/scenes/session-recordings/SessionRecordings 7.64 kB
frontend/dist-report/posthog-app/src/scenes/session-recordings/settings/SessionRecordingsSettingsScene 8.88 kB
frontend/dist-report/posthog-app/src/scenes/sessions/SessionProfileScene 21.7 kB
frontend/dist-report/posthog-app/src/scenes/settings/SettingsMap 6.59 kB
frontend/dist-report/posthog-app/src/scenes/settings/SettingsScene 9.93 kB
frontend/dist-report/posthog-app/src/scenes/sites/Site 1.57 kB
frontend/dist-report/posthog-app/src/scenes/startups/StartupProgram 21.1 kB
frontend/dist-report/posthog-app/src/scenes/StripeConfirmInstall/StripeConfirmInstall 3.67 kB
frontend/dist-report/posthog-app/src/scenes/subscriptions/SubscriptionScene 17.6 kB
frontend/dist-report/posthog-app/src/scenes/subscriptions/SubscriptionsScene 7.02 kB
frontend/dist-report/posthog-app/src/scenes/surveys/forms/SurveyFormBuilder 3.06 kB
frontend/dist-report/posthog-app/src/scenes/surveys/Survey 7.34 kB
frontend/dist-report/posthog-app/src/scenes/surveys/Surveys 27.8 kB
frontend/dist-report/posthog-app/src/scenes/surveys/wizard/SurveyWizard 69.8 kB
frontend/dist-report/posthog-app/src/scenes/themes/CustomCssScene 4.94 kB
frontend/dist-report/posthog-app/src/scenes/toolbar-launch/ToolbarLaunch 3.9 kB
frontend/dist-report/posthog-app/src/scenes/Unsubscribe/Unsubscribe 1.71 kB
frontend/dist-report/posthog-app/src/scenes/web-analytics/SessionAttributionExplorer/SessionAttributionExplorerScene 12.2 kB
frontend/dist-report/posthog-app/src/scenes/web-analytics/WebAnalyticsScene 20.6 kB
frontend/dist-report/posthog-app/src/scenes/wizard/Wizard 4.45 kB
frontend/dist-report/posthog-app/src/sharedChunkAnchors 1.33 kB
frontend/dist-report/render-query/src/render-query/render-query 25.4 MB
frontend/dist-report/toolbar/src/toolbar/toolbar 11.2 MB

compressed-size-action

The inbox `set-state` MCP tool took a single report id and an unvalidated free
`dismissal_reason`, so agents running the autonomous inbox-triage loop had to fire
one call per report and could leak invented reason codes into the inbox UI as raw chips.

- Add a `bulk-state` action (and `inbox-reports-bulk-set-state` MCP tool) that
  transitions up to 100 reports in one call, processing each id independently and
  returning a compact per-id result (transitioned / skipped / failed / not_found)
  plus per-outcome counts. The single and bulk paths share one transition helper.
- Constrain `dismissal_reason` to the canonical inbox codes
  (`already_fixed`, `report_unclear`, `analysis_wrong`, `wontfix_intentional`,
  `wontfix_irrelevant`, `other`) mirrored from the inbox UI source of truth, so
  reasons render as labelled chips and invented values are rejected.

Generated-By: PostHog Code
Task-Id: ac82cacf-24f4-47fc-8ed6-e00e76e54520
- Access user.uuid via getattr so the AnonymousUser branch type-checks (mypy union-attr).
- Pin the shared `state` enum to SignalReportStateEnum via ENUM_NAME_OVERRIDES: the new
  bulk serializer added a second component referencing the suppressed/potential `state`
  enum, which tipped drf-spectacular into a non-optimally-resolvable name collision under
  --fail-on-warn (mirrors the existing Experiment type/status precedent).
- Use _BULK_STATE_OUTCOME_DETAIL for the not_found branch too, removing a duplicated
  detail string (per Greptile review).

Generated-By: PostHog Code
Task-Id: ac82cacf-24f4-47fc-8ed6-e00e76e54520
Regenerate the committed MCP tool-schema snapshots (not covered by the OpenAPI
auto-commit) for the new inbox-reports-bulk-set-state tool and the updated
inbox-reports-set-state description. Produced via `pnpm --filter=@posthog/mcp run test -u`.

Generated-By: PostHog Code
Task-Id: ac82cacf-24f4-47fc-8ed6-e00e76e54520
@andrewm4894 andrewm4894 force-pushed the posthog-code/signals-bulk-set-state branch from 8decf40 to 18003bf Compare June 20, 2026 18:28
@github-actions

Copy link
Copy Markdown
Contributor

🎭 Playwright report · View test results →

⚠️ 2 flaky tests:

  • create experiment via wizard, add metrics, and launch (chromium)
  • View persons list, navigate to detail, and browse tabs (chromium)

These issues are not necessarily caused by your changes.
Annoyed by this comment? Help fix flakies and failures and it'll disappear!

@andrewm4894 andrewm4894 merged commit 573cd32 into master Jun 20, 2026
238 checks passed
@andrewm4894 andrewm4894 deleted the posthog-code/signals-bulk-set-state branch June 20, 2026 20:43
@deployment-status-posthog

deployment-status-posthog Bot commented Jun 20, 2026

Copy link
Copy Markdown

Deploy status

Environment Status Deployed At Workflow
dev ✅ Deployed 2026-06-20 21:23 UTC Run
prod-us ✅ Deployed 2026-06-20 21:46 UTC Run
prod-eu ✅ Deployed 2026-06-20 21:47 UTC Run

andrewm4894 added a commit that referenced this pull request Jun 20, 2026
…reasons

PR #65008 turned `inbox-reports-set-state`'s `dismissal_reason` into a server-validated
enum and shipped `inbox-reports-bulk-set-state`, but left this skill describing the
pre-#65008 contract — so its worked example taught agents a `dismissal_reason`
(`not_a_bug`) the API now rejects with 400.

- Replace the rejected `not_a_bug` example and the "caller-owned code" description with
  the six canonical codes (`already_fixed`, `report_unclear`, `analysis_wrong`,
  `wontfix_intentional`, `wontfix_irrelevant`, `other`), noting `already_fixed` snoozes
  (pair with `state: "potential"`) and `other` + a note is the catch-all.
- Document `inbox-reports-bulk-set-state` (1–100 ids, per-id results, partial-failure
  semantics) and drop the now-false "the only exposed write" claims.

Doc-only; no backend changes. Addresses the follow-up signal on inbox report
019ee28f-6c30-7ae4-8a26-26ea14f291a4 that #65008 did not cover.

Generated-By: PostHog Code
Task-Id: 17c42180-9197-486b-8e9a-2fbeaaa1b3fc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant