Repository navigation
feat(tasks): let cloud tasks run on fx - #118254
charlesvien wants to merge 12 commits into
Conversation
🤖 CI report🚨 Trunk lane — universal laneThis PR is assigned to the universal lane. It cannot merge in parallel with other PRs, so it can take longer to merge. Ask dev-ex if you think this is wrong.
|
| Function | Location | Complexity | Limit |
|---|---|---|---|
submitNewTask |
products/posthog_ai/frontend/scenes/TaskTracker/taskTrackerSceneLogic.ts:795 |
58 | 10 |
sendNow |
products/posthog_ai/frontend/logics/runInteractionLogic.ts:1365 |
45 | 10 |
TaskRunComposer |
products/posthog_ai/frontend/scenes/TaskTracker/components/TaskRunComposer.tsx:49 |
35 | 10 |
startNewRun |
products/posthog_ai/frontend/logics/runInteractionLogic.ts:1573 |
24 | 10 |
submit |
products/posthog_ai/frontend/logics/runInteractionLogic.ts:953 |
13 | 10 |
<anonymous> |
products/posthog_ai/frontend/logics/runInteractionLogic.ts:1132 |
12 | 10 |
⚠️ Duplication (Python) — 30 new duplicated blocks (worst 324 tokens)
New Python code duplication introduced by this branch. Fails at 70+ tokens in app code, or 150+ tokens when both copies live in test files. Advisory while the gate proves itself: extract a shared helper instead of copying.
| First copy | Second copy | Lines | Tokens |
|---|---|---|---|
posthog/tasks/test/test_usage_report.py:995 |
posthog/tasks/test/test_usage_report.py:1090 |
81 | 324 |
products/signals/backend/temporal/grouping.py:1481 |
products/signals/backend/temporal/parallel_grouping.py:191 |
55 | 261 |
products/warehouse_sources/backend/temporal/data_imports/sources/courier/courier.py:9 |
products/warehouse_sources/backend/temporal/data_imports/sources/vantage/vantage.py:4 |
27 | 204 |
products/warehouse_sources/backend/temporal/data_imports/sources/marketstack/marketstack.py:10 |
products/warehouse_sources/backend/temporal/data_imports/sources/rentcast/rentcast.py:7 |
16 | 164 |
products/signals/backend/scout_harness/tools/runs.py:133 |
products/signals/backend/scout_harness/tools/runs.py:181 |
37 | 146 |
products/warehouse_sources/backend/temporal/data_imports/sources/asaas/source.py:20 |
products/warehouse_sources/backend/temporal/data_imports/sources/cloudzero/source.py:22 |
17 | 143 |
products/warehouse_sources/backend/temporal/data_imports/sources/asaas/asaas.py:15 |
products/warehouse_sources/backend/temporal/data_imports/sources/vellum/vellum.py:5 |
17 | 132 |
posthog/api/project.py:679 |
posthog/api/team/team_serializer.py:350 |
18 | 117 |
posthog/api/resource_transfer.py:71 |
posthog/api/resource_transfer.py:134 |
17 | 117 |
products/warehouse_sources/backend/temporal/data_imports/sources/asaas/asaas.py:13 |
products/warehouse_sources/backend/temporal/data_imports/sources/gitbook/gitbook.py:6 |
19 | 117 |
posthog/tasks/usage_report.py:3541 |
posthog/temporal/usage_report/aggregator.py:181 |
22 | 110 |
products/warehouse_sources/backend/temporal/data_imports/sources/poplar/poplar.py:12 |
products/warehouse_sources/backend/temporal/data_imports/sources/veeqo/veeqo.py:40 |
13 | 106 |
products/slack_app/backend/temporal/posthog_code_slack_mention.py:50 |
products/slack_app/backend/temporal/posthog_code_slack_mention_command.py:29 |
19 | 105 |
products/warehouse_sources/backend/temporal/data_imports/sources/deel/deel.py:19 |
products/warehouse_sources/backend/temporal/data_imports/sources/veeqo/veeqo.py:44 |
11 | 96 |
products/slack_app/backend/temporal/tests/activities/test_classify_slack_app_project_route.py:14 |
products/slack_app/evals/eval_project_classifier.py:55 |
12 | 90 |
products/warehouse_sources/backend/temporal/data_imports/sources/gocardless/gocardless.py:7 |
products/warehouse_sources/backend/temporal/data_imports/sources/veeqo/veeqo.py:33 |
12 | 90 |
products/warehouse_sources/backend/temporal/data_imports/sources/asaas/asaas.py:13 |
products/warehouse_sources/backend/temporal/data_imports/sources/brex/brex.py:8 |
12 | 88 |
products/warehouse_sources/backend/temporal/data_imports/sources/asaas/asaas.py:15 |
products/warehouse_sources/backend/temporal/data_imports/sources/profound/profound.py:8 |
11 | 88 |
posthog/clickhouse/logs/logs_pattern_buckets.py:45 |
posthog/clickhouse/logs/logs_volume_buckets.py:33 |
12 | 86 |
products/warehouse_sources/backend/temporal/data_imports/sources/dodopayments/dodopayments.py:5 |
products/warehouse_sources/backend/temporal/data_imports/sources/recurly/recurly.py:7 |
12 | 86 |
products/warehouse_sources/backend/temporal/data_imports/sources/motion/motion.py:11 |
products/warehouse_sources/backend/temporal/data_imports/sources/twitter/twitter.py:13 |
12 | 85 |
products/slack_app/backend/services/commands.py:189 |
products/slack_app/backend/temporal/activities/rules.py:62 |
18 | 80 |
products/warehouse_sources/backend/temporal/data_imports/sources/sendgrid/sendgrid.py:390 |
products/warehouse_sources/backend/temporal/data_imports/sources/vantage/vantage.py:182 |
11 | 78 |
products/tasks/backend/temporal/process_task/activities/start_agent_server.py:793 |
products/tasks/backend/temporal/process_task/activities/start_agent_server.py:930 |
15 | 77 |
products/warehouse_sources/backend/temporal/data_imports/sources/hookdeck/hookdeck.py:3 |
products/warehouse_sources/backend/temporal/data_imports/sources/veeqo/veeqo.py:30 |
11 | 76 |
products/warehouse_sources/backend/temporal/data_imports/sources/grafana_irm/grafana_irm.py:258 |
products/warehouse_sources/backend/temporal/data_imports/sources/grafana_irm/grafana_irm.py:301 |
15 | 75 |
products/warehouse_sources/backend/temporal/data_imports/sources/baseten/baseten.py:290 |
products/warehouse_sources/backend/temporal/data_imports/sources/vantage/vantage.py:229 |
13 | 73 |
products/warehouse_sources/backend/temporal/data_imports/sources/callrail/callrail.py:14 |
products/warehouse_sources/backend/temporal/data_imports/sources/veeqo/veeqo.py:37 |
11 | 73 |
products/slack_app/backend/temporal/activities/task_creation.py:553 |
products/slack_app/backend/temporal/tests/test_slack_app_mention_workflow.py:219 |
13 | 72 |
products/warehouse_sources/backend/temporal/data_imports/sources/asaas/asaas.py:149 |
products/warehouse_sources/backend/temporal/data_imports/sources/cliniko/cliniko.py:129 |
17 | 71 |
⚠️ Duplication (TypeScript) — 44 new duplicated blocks (worst 3393 tokens)
New TypeScript code duplication introduced by this branch. Fails at 70+ tokens in app code, or 150+ tokens when both copies live in test files. Advisory while the gate proves itself: extract a shared helper instead of copying.
| First copy | Second copy | Lines | Tokens |
|---|---|---|---|
products/workflows/frontend/Workflows/hogflows/hogFlowEditorLogic.tsx:248 |
products/workflows/frontend/Workflows/hogflows/hogFlowEditorLogic.tsx:1125 |
875 | 3393 |
products/workflows/frontend/Workflows/workflowLogic.ts:401 |
products/workflows/frontend/Workflows/workflowLogic.ts:1278 |
875 | 3393 |
products/workflows/frontend/Workflows/hogflows/steps/stepWaitUntilTimeWindowLogic.ts:410 |
products/workflows/frontend/Workflows/workflowLogic.ts:2166 |
314 | 1141 |
products/workflows/frontend/Workflows/hogflows/steps/stepDelayLogic.ts:484 |
products/workflows/frontend/Workflows/workflowLogic.ts:2564 |
312 | 1137 |
products/workflows/frontend/Workflows/hogflows/steps/stepWaitUntilTimeWindowLogic.ts:101 |
products/workflows/frontend/Workflows/hogflows/steps/stepWaitUntilTimeWindowLogic.ts:413 |
310 | 1133 |
products/workflows/frontend/Workflows/hogflows/steps/stepDelayLogic.ts:176 |
products/workflows/frontend/Workflows/hogflows/steps/stepWaitUntilTimeWindowLogic.ts:102 |
308 | 1128 |
products/workflows/frontend/Workflows/hogflows/panel/testing/hogFlowEditorTestLogic.ts:335 |
products/workflows/frontend/Workflows/hogflows/panel/testing/hogFlowEditorTestLogic.ts:469 |
134 | 510 |
products/workflows/frontend/Workflows/hogflows/panel/testing/hogFlowEditorTestLogic.ts:335 |
products/workflows/frontend/Workflows/hogflows/panel/testing/hogFlowEditorTestLogic.ts:607 |
134 | 510 |
products/workflows/frontend/Workflows/hogflows/panel/testing/hogFlowEditorTestLogic.ts:335 |
products/workflows/frontend/Workflows/workflowLogic.ts:3000 |
134 | 510 |
products/workflows/frontend/Workflows/hogflows/panel/testing/hogFlowEditorTestLogic.ts:335 |
products/workflows/frontend/Workflows/hogflows/panel/testing/hogFlowEditorTestLogic.ts:741 |
134 | 509 |
products/workflows/frontend/Workflows/hogflows/panel/testing/hogFlowEditorTestLogic.ts:337 |
products/workflows/frontend/Workflows/workflowLogic.ts:835 |
130 | 491 |
products/workflows/frontend/Workflows/hogflows/panel/testing/hogFlowEditorTestLogic.ts:338 |
products/workflows/frontend/Workflows/workflowLogic.ts:1117 |
99 | 352 |
products/workflows/frontend/Workflows/hogflows/hogFlowEditorLogic.tsx:793 |
products/workflows/frontend/Workflows/hogflows/hogFlowEditorLogic.tsx:964 |
98 | 351 |
products/workflows/frontend/Workflows/hogflows/steps/stepDelayLogic.ts:272 |
products/workflows/frontend/Workflows/hogflows/steps/stepDelayLogic.ts:599 |
83 | 260 |
products/workflows/frontend/Workflows/hogflows/steps/stepDelayLogic.ts:273 |
products/workflows/frontend/Workflows/workflowLogic.ts:531 |
81 | 256 |
frontend/src/scenes/insights/insightDataLogic.tsx:190 |
products/error_tracking/frontend/logics/issuesDataNodeLogic.tsx:144 |
66 | 234 |
nodejs/src/cdp/schema/cyclotron.ts:31 |
products/workflows/frontend/Workflows/hogflows/steps/types.ts:101 |
34 | 206 |
frontend/src/queries/nodes/DataNode/dataNodeLogic.ts:422 |
frontend/src/scenes/insights/insightVizDataLogic.ts:339 |
61 | 203 |
nodejs/src/cdp/schema/hogflow.ts:49 |
products/workflows/frontend/Workflows/hogflows/steps/types.ts:153 |
26 | 198 |
products/data_warehouse/frontend/sql_editor/aiChartRecommendationLogic.ts:186 |
products/web_analytics/frontend/marketing/marketingAnalyticsCrossSellLogic.ts:81 |
49 | 173 |
products/product_analytics/frontend/insights/funnels/FunnelCorrelation/funnelCorrelationUsageLogic.ts:116 |
products/product_analytics/frontend/insights/retention/retentionPeopleLogic.ts:60 |
49 | 163 |
products/workflows/frontend/Workflows/hogflows/hogFlowEditorLogic.tsx:503 |
products/workflows/frontend/Workflows/hogflows/hogFlowEditorLogic.tsx:1073 |
47 | 142 |
products/workflows/frontend/Workflows/hogflows/steps/stepDelayLogic.ts:301 |
products/workflows/frontend/Workflows/workflowLogic.ts:1226 |
47 | 142 |
nodejs/src/cdp/consumers/cdp-cohort-membership-trigger.consumer.ts:66 |
nodejs/src/cdp/consumers/cdp-data-warehouse-events.consumer.ts:68 |
22 | 122 |
products/workflows/frontend/Workflows/WorkflowMetrics.tsx:98 |
products/workflows/frontend/Workflows/WorkflowMetrics.tsx:277 |
29 | 122 |
products/customer_analytics/frontend/components/Accounts/accountsLogic.ts:372 |
products/product_analytics/frontend/insights/chartAlternatives/chartPreviewsLogic.ts:79 |
20 | 117 |
products/customer_analytics/frontend/components/Accounts/accountsLogic.ts:402 |
products/product_analytics/frontend/insights/chartAlternatives/chartPreviewsLogic.ts:109 |
19 | 112 |
nodejs/src/cdp/consumers/cdp-cohort-membership-trigger.consumer.ts:220 |
nodejs/src/cdp/consumers/cdp-person-updates-consumer.ts:114 |
15 | 110 |
products/data_warehouse/frontend/sql_editor/aiChartRecommendationLogic.ts:205 |
products/web_analytics/frontend/marketing/marketingAnalyticsCrossSellLogic.ts:100 |
31 | 109 |
products/ai_observability/frontend/aiObservabilityTraceDataLogic.ts:492 |
products/customer_analytics/frontend/components/Accounts/accountsLogic.ts:404 |
16 | 107 |
nodejs/src/cdp/consumers/cdp-cohort-membership-trigger.consumer.ts:220 |
nodejs/src/cdp/consumers/cdp-data-warehouse-events.consumer.ts:184 |
15 | 105 |
services/mcp/src/api/client.ts:1189 |
services/mcp/src/api/client.ts:1219 |
27 | 105 |
frontend/src/scenes/insights/insightDataTimingLogic.ts:90 |
products/product_analytics/frontend/insights/funnels/FunnelCorrelation/funnelCorrelationUsageLogic.ts:132 |
31 | 104 |
frontend/src/scenes/hog-functions/sub-templates/sub-templates.ts:1183 |
frontend/src/scenes/onboarding/error-tracking/onboardingErrorTrackingAlertsLogic.ts:29 |
14 | 97 |
products/data_warehouse/frontend/sql_editor/aiChartRecommendationLogic.ts:202 |
products/product_analytics/frontend/insights/chartAlternatives/chartPreviewsLogic.ts:95 |
18 | 88 |
nodejs/src/cdp/consumers/cdp-cohort-membership-trigger.consumer.ts:73 |
nodejs/src/cdp/consumers/cdp-person-updates-consumer.ts:41 |
15 | 85 |
nodejs/src/cdp/consumers/cdp-cohort-membership-trigger.consumer.ts:139 |
nodejs/src/cdp/consumers/cdp-data-warehouse-events.consumer.ts:132 |
14 | 85 |
frontend/src/products.tsx:3167 |
products/skills/manifest.tsx:71 |
17 | 81 |
frontend/src/queries/nodes/DataNode/dataNodeLogic.ts:426 |
products/data_warehouse/frontend/sql_editor/aiChartRecommendationLogic.ts:177 |
28 | 79 |
products/product_analytics/frontend/insights/funnels/FunnelCorrelation/funnelCorrelationUsageLogic.ts:141 |
products/product_analytics/frontend/insights/retention/retentionPeopleLogic.ts:85 |
25 | 78 |
frontend/src/layout/panel-layout/ProjectTree/projectTreeDataLogic.tsx:250 |
frontend/src/scenes/max/maxGlobalLogic.tsx:142 |
21 | 75 |
frontend/src/lib/components/AppMetrics/appMetricsLogic.ts:305 |
products/workflows/frontend/Workflows/overview/workflowOverviewLogic.ts:88 |
24 | 75 |
products/customer_analytics/frontend/components/Accounts/accountsLogic.ts:388 |
products/product_analytics/frontend/insights/funnels/FunnelCorrelation/funnelCorrelationUsageLogic.ts:132 |
18 | 75 |
frontend/src/queries/nodes/DataNode/dataNodeLogic.ts:427 |
frontend/src/scenes/insights/insightDataTimingLogic.ts:66 |
26 | 72 |
⚠️ Bundle size — 🔺 +67.3 KiB (+0.1%)
Uncompressed size of every built .js bundle, compared against the base branch.
Total: 76.71 MiB · 🔺 +67.3 KiB (+0.1%)
| File | Size | Δ vs base |
|---|---|---|
posthog-app/src/scenes/experiments/Experiment.js |
384.1 KiB | 🔺 +74.2 KiB (+23.9%) |
posthog-app/src/scenes/onboarding/Onboarding.js |
758.4 KiB | 🟢 -50.3 KiB (-6.2%) |
posthog-app/_parent/products/web_analytics/frontend/heatmaps/scenes/heatmap/HeatmapScene.js |
44.7 KiB | 🔺 +29.3 KiB (+189.5%) |
posthog-app/_parent/products/workflows/frontend/Workflows/WorkflowScene.js |
107.4 KiB | 🔺 +28.0 KiB (+35.3%) |
posthog-app/src/scenes/AuthenticatedShell.js |
293.6 KiB | 🟢 -22.5 KiB (-7.1%) |
exporter/src/queries/schema.js |
1.25 MiB | 🟢 -17.5 KiB (-1.3%) |
posthog-app/src/queries/schema.js |
1.25 MiB | 🟢 -17.5 KiB (-1.3%) |
render-query/src/render-query/render-query.js |
24.59 MiB | 🟢 -10.8 KiB (-0.0%) |
posthog-app/_parent/products/signals/frontend/inbox/InboxScene.js |
467.7 KiB | 🔺 +6.9 KiB (+1.5%) |
posthog-app/_parent/products/tracing/frontend/components/TraceDialog/TraceDialog.js |
25.9 KiB | 🔺 +5.1 KiB (+24.7%) |
posthog-app/_parent/products/business_intelligence/frontend/BusinessIntelligenceScene.js |
149.1 KiB | 🔺 +4.9 KiB (+3.4%) |
posthog-app/src/scenes/experiments/SharedMetrics/SharedMetric.js |
16.3 KiB | 🟢 -4.2 KiB (-20.7%) |
posthog-app/_parent/products/replay_vision/frontend/components/WorkflowScanSetup/CyclotronJobInputReplayVisionScan.js |
3.8 KiB | 🔺 +3.8 KiB (new) |
posthog-app/_parent/products/workflows/frontend/WorkflowsScene.js |
60.0 KiB | 🔺 +3.6 KiB (+6.3%) |
exporter/_parent/products/replay_vision/frontend/components/WorkflowScanSetup/CyclotronJobInputReplayVisionScan.js |
3.5 KiB | 🔺 +3.5 KiB (new) |
posthog-app/src/scenes/onboarding/coupon/OnboardingCouponRedemption.js |
1.9 KiB | 🔺 +1.9 KiB (new) |
posthog-app/src/scenes/onboarding/legacy/coupon/OnboardingCouponRedemption.js |
removed | 🟢 -1.8 KiB (-100.0%) |
posthog-app/src/scenes/project-homepage/today/TodayHome.js |
21.3 KiB | 🟢 -1.8 KiB (-7.7%) |
posthog-app/_parent/products/tracing/frontend/TracingScene.js |
171.5 KiB | 🟢 -1.3 KiB (-0.8%) |
exporter/_parent/products/workflows/frontend/Workflows/Workflow.js |
129.1 KiB | 🔺 +1.2 KiB (+0.9%) |
posthog-app/src/scenes/dashboard/dashboards/Dashboards.js |
38.1 KiB | 🔺 +1.1 KiB (+2.9%) |
Posted automatically by build-bundle-size-report · uncompressed bytes from dist-report
✅ Eager graph — within budget
How much code each root ships on the eager path — downloaded and parsed before the surface is interactive. Measured from the esbuild output chunks (post-tree-shake, static imports only); lazy import() / React.lazy chunks are not counted.
| Root | Eager (shipped) | Δ vs base | Budget |
|---|---|---|---|
entry (logged-out pages, app bootstrap)src/index.tsx |
1011.5 KiB · 24 files | 🟢 -832 B (-0.1%) | █████████░ 86.3% of 1.14 MiB |
logged-out boot: index + App + bootApp (preloaded by every page, including /login)src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts |
2.87 MiB · 606 files | 🟢 -1.5 KiB (-0.1%) | █████████░ 94.8% of 3.03 MiB |
authenticated shell (every logged-in page)src/scenes/AuthenticatedShell.tsx |
7.44 MiB · 2,517 files | 🟢 -24.2 KiB (-0.3%) | ██████████ 97.3% of 7.64 MiB |
dashboard scenesrc/scenes/dashboard/Dashboard.tsx |
9.69 MiB · 3,631 files | 🔺 +30.8 KiB (+0.3%) | █████████░ 94.1% of 10.30 MiB |
today home pathsrc/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx |
7.82 MiB · 2,846 files | 🟢 -31.6 KiB (-0.4%) | ██████████ 99.1% of 7.89 MiB |
events scenesrc/scenes/activity/explore/EventsScene.tsx |
9.26 MiB · 3,457 files | 🔺 +28.0 KiB (+0.3%) | █████████░ 93.8% of 9.88 MiB |
replay detail scenesrc/scenes/session-recordings/detail/SessionRecordingDetail.tsx |
11.95 MiB · 4,308 files | 🟢 -12.1 KiB (-0.1%) | ████████░░ 79.4% of 15.05 MiB |
🟢 node_modules/monaco-editor/ stays out of src/index.tsx
🟢 src/lib/components/ActivityLog/describers stays out of src/index.tsx
🟢 node_modules/@posthog/brand/dist/generated/hoggies/svg/ stays out of src/index.tsx
🟢 node_modules/@posthog/brand/dist/generated/hoggies/components/ stays out of src/index.tsx
🟢 node_modules/monaco-editor/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/layout/navigation-3000/navigationLogic.tsx stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/scenes/dashboard/dashboardLogic.tsx stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/lib/lemon-ui/LemonMarkdown/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/lib/components/RichContentEditor/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/lib/components/CodeSnippet/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/taxonomy/core-filter-definitions-by-group.json stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 node_modules/zod/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/scenes/billing/billingLogic.tsx stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/lib/components/ProductEmptyState/productSetupPreloadLogic.ts stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 node_modules/monaco-editor/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/lib/components/ActivityLog/describers stays out of src/scenes/AuthenticatedShell.tsx
🟢 products/dashboards/frontend/widgets/previews/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/scenes/session-recordings/player/sessionRecordingPlayerLogic.ts stays out of src/scenes/AuthenticatedShell.tsx
🟢 zod/v4/locales/de.js stays out of src/scenes/AuthenticatedShell.tsx
🟢 node_modules/@posthog/brand/dist/generated/hoggies/svg/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 node_modules/@posthog/brand/dist/generated/hoggies/components/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/scenes/session-recordings/playlist/SessionRecordingsPlaylist.tsx stays out of src/scenes/dashboard/Dashboard.tsx
🟢 src/scenes/web-analytics/tiles/WebAnalyticsTile.tsx stays out of src/scenes/dashboard/Dashboard.tsx
🟢 src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx
🟢 src/scenes/project-homepage/today/TodayReportPage.tsx stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx
🟢 src/queries/Query/Query.tsx stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx
🟢 src/scenes/session-recordings/playlist/SessionRecordingsPlaylist.tsx stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 src/scenes/web-analytics/tiles/WebAnalyticsTile.tsx stays out of src/scenes/activity/explore/EventsScene.tsx
Largest files eagerly shipped from src/index.tsx
| Size | File |
|---|---|
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 24.6 KiB | ../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js |
| 6.3 KiB | ../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js |
| 4.5 KiB | ../node_modules/.pnpm/@jspm+core@2.1.0/node_modules/@jspm/core/nodelibs/browser/process.js |
| 3.9 KiB | ../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/cjs/scheduler.production.min.js |
| 1.4 KiB | ../node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js |
| 1.3 KiB | src/index.tsx |
| 1.3 KiB | src/RootErrorBoundary.tsx |
| 1.0 KiB | src/lib/utils/bootTiming.ts |
| 912 B | ../node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js |
Largest files eagerly shipped from src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
| Size | File |
|---|---|
| 319.8 KiB | ../node_modules/.pnpm/posthog-js@1.438.8_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs |
| 220.2 KiB | ../node_modules/.pnpm/@posthog+icons@0.38.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js |
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 105.8 KiB | src/products.tsx |
| 99.3 KiB | src/lib/api.ts |
| 69.0 KiB | src/lib/lemon-ui/icons/icons.tsx |
| 38.7 KiB | ../node_modules/.pnpm/@dnd-kit+core@6.0.8_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@dnd-kit/core/dist/core.esm.js |
| 33.9 KiB | ../node_modules/.pnpm/kea@4.0.0-pre.6_patch_hash=139b8d1f1304f9d9da452a9a1244c94ea679dbcb85687d8999563146879fb6f5_react@18.3.1/node_modules/kea/lib/index.cjs.js |
| 28.9 KiB | src/scenes/scenes.ts |
| 27.4 KiB | src/lib/constants.tsx |
Largest files eagerly shipped from src/scenes/AuthenticatedShell.tsx
| Size | File |
|---|---|
| 319.8 KiB | ../node_modules/.pnpm/posthog-js@1.438.8_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs |
| 281.1 KiB | src/taxonomy/core-filter-definitions-by-group.json |
| 220.2 KiB | ../node_modules/.pnpm/@posthog+icons@0.38.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js |
| 185.5 KiB | ../packages/quill/packages/quill/dist/index.js |
| 153.7 KiB | ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js |
| 139.9 KiB | ../packages/quill/packages/primitives/dist/index.js |
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 105.8 KiB | src/products.tsx |
| 99.3 KiB | src/lib/api.ts |
| 93.3 KiB | ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js |
Largest files eagerly shipped from src/scenes/dashboard/Dashboard.tsx
| Size | File |
|---|---|
| 319.8 KiB | ../node_modules/.pnpm/posthog-js@1.438.8_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs |
| 281.1 KiB | src/taxonomy/core-filter-definitions-by-group.json |
| 220.2 KiB | ../node_modules/.pnpm/@posthog+icons@0.38.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js |
| 185.5 KiB | ../packages/quill/packages/quill/dist/index.js |
| 181.9 KiB | src/queries/validators.js |
| 153.7 KiB | ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js |
| 139.9 KiB | ../packages/quill/packages/primitives/dist/index.js |
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 105.8 KiB | src/products.tsx |
| 99.3 KiB | src/lib/api.ts |
Largest files eagerly shipped from src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx
| Size | File |
|---|---|
| 319.8 KiB | ../node_modules/.pnpm/posthog-js@1.438.8_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs |
| 281.1 KiB | src/taxonomy/core-filter-definitions-by-group.json |
| 220.2 KiB | ../node_modules/.pnpm/@posthog+icons@0.38.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js |
| 185.5 KiB | ../packages/quill/packages/quill/dist/index.js |
| 153.7 KiB | ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js |
| 139.9 KiB | ../packages/quill/packages/primitives/dist/index.js |
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 105.8 KiB | src/products.tsx |
| 99.3 KiB | src/lib/api.ts |
| 93.3 KiB | ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js |
Largest files eagerly shipped from src/scenes/activity/explore/EventsScene.tsx
| Size | File |
|---|---|
| 319.8 KiB | ../node_modules/.pnpm/posthog-js@1.438.8_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs |
| 281.1 KiB | src/taxonomy/core-filter-definitions-by-group.json |
| 220.2 KiB | ../node_modules/.pnpm/@posthog+icons@0.38.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js |
| 185.5 KiB | ../packages/quill/packages/quill/dist/index.js |
| 181.9 KiB | src/queries/validators.js |
| 153.7 KiB | ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js |
| 139.9 KiB | ../packages/quill/packages/primitives/dist/index.js |
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 105.8 KiB | src/products.tsx |
| 99.3 KiB | src/lib/api.ts |
Largest files eagerly shipped from src/scenes/session-recordings/detail/SessionRecordingDetail.tsx
| Size | File |
|---|---|
| 319.8 KiB | ../node_modules/.pnpm/posthog-js@1.438.8_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs |
| 316.0 KiB | ../node_modules/.pnpm/posthog-js@1.438.8_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/rrweb.js |
| 281.1 KiB | src/taxonomy/core-filter-definitions-by-group.json |
| 220.2 KiB | ../node_modules/.pnpm/@posthog+icons@0.38.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js |
| 185.5 KiB | ../packages/quill/packages/quill/dist/index.js |
| 181.9 KiB | src/queries/validators.js |
| 153.7 KiB | ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js |
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 105.8 KiB | src/products.tsx |
| 99.3 KiB | src/lib/api.ts |
Posted automatically by check-eager-graph · sizes are eager output bytes (shipped, post-tree-shake) from the esbuild metafile · part of #32479
✅ Toolbar bundle — eager 2.24 MiB within budget
What the toolbar ships to customer pages, measured from the esbuild output (minified, post-tree-shake). The eager set is the entry plus everything statically imported from it — fetched before any feature runs; deferred chunks load lazily. The eager guardrail is 5.72 MiB. Each output file must also stay below 10 MB, where CloudFront stops compressing it. The module boundary is enforced separately by check-toolbar-graph.
| Metric | Size | Δ vs base | Budget |
|---|---|---|---|
| Eager (shipped) entry + static imports |
2.24 MiB · 19 files | 🟢 -971 B (-0.0%) | ████░░░░░░ 39.1% of 5.72 MiB |
| Deferred (lazy) | 2.10 MiB · 40 files | no change | n/a — loads on demand |
Loader dist/toolbar.js |
1.2 KiB | no change | █░░░░░░░░░ 6.0% of 19.5 KiB |
Largest eagerly-shipped chunks
| Size | File |
|---|---|
| 876.2 KiB | dist/toolbar/toolbar-app-NTPCC6U5.css |
| 663.9 KiB | dist/toolbar/chunk-chunk-B77DDUDT.js |
| 257.8 KiB | dist/toolbar/chunk-chunk-OMORXVYN.js |
| 131.8 KiB | dist/toolbar/chunk-chunk-FDH2IBXT.js |
| 129.6 KiB | dist/toolbar/chunk-chunk-IS3YNTET.js |
| 74.8 KiB | dist/toolbar/toolbar-app-PVPTRV5K.js |
| 69.0 KiB | dist/toolbar/chunk-chunk-TSAL54PB.js |
| 35.6 KiB | dist/toolbar/chunk-chunk-WEX4MAVB.js |
| 21.7 KiB | dist/toolbar/chunk-chunk-SQDOOVI6.js |
| 6.8 KiB | dist/toolbar/chunk-chunk-DV7IWQNF.js |
Posted automatically by check-toolbar-size · sizes are toolbar output bytes (shipped, post-tree-shake) from the esbuild metafile
✅ Dist folder size — 🟢 -1.10 MiB (-0.1%)
Total size of the built frontend/dist folder (all assets), compared against the base branch.
Total: 1015.61 MiB · 🟢 -1.10 MiB (-0.1%)
ℹ️ MCP UI apps size — 32 app(s), 26180.2 KB JS
Built size of each MCP UI app (main.js + styles.css).
| App | JS | CSS |
|---|---|---|
| debug | 836.4 KB | 206.4 KB |
| action | 760.5 KB | 206.4 KB |
| action-list | 827.4 KB | 206.4 KB |
| cohort | 759.5 KB | 206.4 KB |
| cohort-list | 826.4 KB | 206.4 KB |
| email-template | 759.3 KB | 206.4 KB |
| error-details | 764.3 KB | 206.4 KB |
| error-issue | 760.8 KB | 206.4 KB |
| error-issue-list | 828.0 KB | 206.4 KB |
| experiment | 824.5 KB | 206.4 KB |
| experiment-list | 828.2 KB | 206.4 KB |
| experiment-results | 827.0 KB | 206.4 KB |
| feature-flag | 826.8 KB | 206.4 KB |
| feature-flag-list | 830.5 KB | 206.4 KB |
| feature-flag-testing | 762.7 KB | 206.4 KB |
| inline-scan | 759.9 KB | 206.4 KB |
| insight-actors | 825.9 KB | 206.4 KB |
| llm-costs | 823.2 KB | 206.4 KB |
| session-recording | 761.7 KB | 206.4 KB |
| survey | 761.0 KB | 206.4 KB |
| survey-global-stats | 823.2 KB | 206.4 KB |
| survey-list | 828.1 KB | 206.4 KB |
| survey-stats | 823.2 KB | 206.4 KB |
| trace-span | 759.8 KB | 206.4 KB |
| trace-span-list | 827.3 KB | 206.4 KB |
| vision-observation-list | 826.5 KB | 206.4 KB |
| workflow | 759.8 KB | 206.4 KB |
| workflow-list | 826.7 KB | 206.4 KB |
| query-results | 1076.9 KB | 206.4 KB |
| render-ui | 1148.1 KB | 206.4 KB |
| visual-review-snapshots | 764.3 KB | 206.4 KB |
| workflow-data-suggestions | 762.1 KB | 206.4 KB |
ℹ️ MCP agent API — agent-facing tool changes
What this PR changes for agents, from the tool schema snapshots and tool definitions.
Tools changed (2):
| Tool | Params | Scopes | Annotations | Schema chars |
|---|---|---|---|---|
tasks-config-create |
1,958 -> 1,989 | |||
tasks-me-config-create |
1,958 -> 1,989 |
⚠️ Playwright — 1 flaky
🎭 Playwright report · View test results →
- Logout in another tab results in logout in the current tab too (chromium)
These issues are not necessarily caused by your changes.
Annoyed by this section? Help fix flakies and failures and it will go green!
⚠️ Backend coverage — 95.0% of changed backend lines covered — 5 uncovered
🧪 Backend test coverage
Patch coverage — changed backend lines (products + core): ███████████████████░ 95.0% (105 / 110)
| File | Patch | Uncovered changed lines |
|---|---|---|
products/tasks/backend/feature_flags.py |
50.0% | 185, 187, 199–201 |
🤖 Agents: add a test only if an uncovered line exposes a realistic regression that existing tests miss. Otherwise explain why no new test is needed under "How did you test this code?". Gap list: the patch-coverage artifact on this run (gh run download 385553204337292 -n patch-coverage), or the coverage-data block at the end of this comment.
Per-product line coverage (touched products)
| Product | Coverage | Lines |
|---|---|---|
platform_features |
██░░░░░░░░░░░░░░░░░░ 12.1% |
7 / 58 |
demo |
███████████░░░░░░░░░ 56.3% |
1,540 / 2,736 |
data_tools |
████████████░░░░░░░░ 61.2% |
90 / 147 |
warehouse_sources_queue |
██████████████░░░░░░ 67.7% |
2,020 / 2,984 |
aeo |
███████████████░░░░░ 76.3% |
617 / 809 |
batch_exports |
████████████████░░░░ 80.6% |
21,895 / 27,149 |
apm |
█████████████████░░░ 84.1% |
1,306 / 1,553 |
engineering_analytics |
█████████████████░░░ 85.1% |
11,417 / 13,422 |
commands |
█████████████████░░░ 85.2% |
1,249 / 1,466 |
mcp_analytics |
█████████████████░░░ 85.4% |
5,527 / 6,475 |
ml_inference |
█████████████████░░░ 86.3% |
524 / 607 |
warehouse_suggestions |
█████████████████░░░ 87.3% |
2,252 / 2,580 |
posthog_ai |
██████████████████░░ 87.8% |
4,252 / 4,843 |
notebooks |
██████████████████░░ 88.5% |
15,330 / 17,330 |
dashboards |
██████████████████░░ 88.5% |
7,371 / 8,332 |
mcp_registry |
██████████████████░░ 89.0% |
1,596 / 1,794 |
webmcp |
██████████████████░░ 89.6% |
240 / 268 |
cohorts |
██████████████████░░ 89.7% |
8,490 / 9,469 |
product_tours |
██████████████████░░ 89.7% |
1,355 / 1,510 |
today |
██████████████████░░ 90.1% |
2,656 / 2,948 |
signals |
██████████████████░░ 90.2% |
72,264 / 80,146 |
data_modeling |
██████████████████░░ 90.5% |
11,310 / 12,499 |
visual_review |
██████████████████░░ 90.7% |
9,853 / 10,867 |
metrics |
██████████████████░░ 90.7% |
8,434 / 9,299 |
exports |
██████████████████░░ 90.9% |
9,778 / 10,759 |
data_warehouse |
██████████████████░░ 90.9% |
15,049 / 16,555 |
canvas |
██████████████████░░ 91.0% |
7,822 / 8,598 |
autoresearch |
██████████████████░░ 91.2% |
10,841 / 11,884 |
cdp |
██████████████████░░ 91.4% |
10,048 / 10,995 |
managed_warehouse |
██████████████████░░ 91.4% |
11,565 / 12,652 |
slack_app |
██████████████████░░ 91.5% |
19,227 / 21,020 |
tasks |
██████████████████░░ 91.5% |
79,274 / 86,619 |
wizard |
██████████████████░░ 91.6% |
6,444 / 7,035 |
business_knowledge |
██████████████████░░ 91.6% |
9,960 / 10,873 |
error_tracking |
██████████████████░░ 91.7% |
17,104 / 18,646 |
streamlit_apps |
██████████████████░░ 91.9% |
3,139 / 3,415 |
ai_training |
██████████████████░░ 92.1% |
441 / 479 |
conversations |
██████████████████░░ 92.1% |
29,912 / 32,488 |
review_hog |
██████████████████░░ 92.2% |
17,411 / 18,893 |
stamphog |
███████████████████░ 92.6% |
8,696 / 9,396 |
early_access_features |
███████████████████░ 92.6% |
1,339 / 1,446 |
managed_migrations |
███████████████████░ 92.6% |
1,630 / 1,760 |
notifications |
███████████████████░ 93.0% |
1,198 / 1,288 |
messaging |
███████████████████░ 93.1% |
3,980 / 4,276 |
web_analytics |
███████████████████░ 93.1% |
25,161 / 27,021 |
alerts |
███████████████████░ 93.1% |
8,177 / 8,781 |
surveys |
███████████████████░ 93.4% |
6,869 / 7,358 |
cross_project_dashboards |
███████████████████░ 93.4% |
880 / 942 |
approvals |
███████████████████░ 93.4% |
4,576 / 4,898 |
context_layer |
███████████████████░ 93.6% |
3,367 / 3,598 |
marketing_analytics |
███████████████████░ 93.8% |
20,228 / 21,555 |
billing_alerts |
███████████████████░ 93.9% |
2,090 / 2,226 |
mcp_store |
███████████████████░ 93.9% |
9,011 / 9,596 |
workflows |
███████████████████░ 93.9% |
19,933 / 21,223 |
customer_analytics |
███████████████████░ 93.9% |
26,181 / 27,872 |
alerts_platform |
███████████████████░ 94.0% |
5,715 / 6,080 |
ai_observability |
███████████████████░ 94.1% |
26,565 / 28,218 |
logs |
███████████████████░ 94.2% |
17,044 / 18,099 |
experiments |
███████████████████░ 94.2% |
35,785 / 37,997 |
legal_documents |
███████████████████░ 94.3% |
2,289 / 2,427 |
replay_vision |
███████████████████░ 94.4% |
30,809 / 32,645 |
actions |
███████████████████░ 94.6% |
973 / 1,029 |
reminders |
███████████████████░ 94.8% |
760 / 802 |
growth |
███████████████████░ 94.9% |
11,276 / 11,888 |
skills |
███████████████████░ 94.9% |
7,126 / 7,512 |
endpoints |
███████████████████░ 94.9% |
9,434 / 9,937 |
annotations |
███████████████████░ 95.1% |
1,078 / 1,134 |
tracing |
███████████████████░ 95.2% |
3,631 / 3,815 |
data_catalog |
███████████████████░ 95.6% |
4,477 / 4,684 |
access_control |
███████████████████░ 95.6% |
8,016 / 8,385 |
product_analytics |
███████████████████░ 95.7% |
28,960 / 30,264 |
revenue_analytics |
███████████████████░ 95.9% |
1,877 / 1,958 |
data_quality |
███████████████████░ 95.9% |
8,619 / 8,983 |
feature_flags |
███████████████████░ 96.2% |
27,284 / 28,351 |
warehouse_sources |
███████████████████░ 96.3% |
445,178 / 462,140 |
account_audits |
███████████████████░ 96.7% |
768 / 794 |
security |
███████████████████░ 96.7% |
1,455 / 1,504 |
pulse |
███████████████████░ 97.4% |
2,023 / 2,078 |
analytics_platform |
████████████████████ 98.0% |
2,779 / 2,836 |
groups |
████████████████████ 98.0% |
1,818 / 1,855 |
field_notes |
████████████████████ 99.4% |
172 / 173 |
Report-only. Patch coverage = changed backend lines covered vs origin/master. Sorted lowest first.
Known gaps: lines covered only by Temporal tests show as uncovered; core line numbers may drift if master changed the same file.
⚠️ MCP snapshots — 2 updated (2 modified, 0 added, 0 deleted)
Snapshots: MCP unit test snapshots updated
Changes: 2 snapshots (2 modified, 0 added, 0 deleted)
What this means:
- Snapshots have been automatically updated to match current output
Next steps:
- Review the changes to ensure they're intentional
- If unexpected, investigate what caused the output to change
✅ Hogbox preview — ready, open the preview
▶ Open the preview
| 🔑 Login | test@posthog.com / 12345678 (demo data) |
| 🧩 Running | this PR's backend and frontend, on the PostHog :master base |
| 🔗 Link | stable across rebuilds: a re-push swaps the box underneath, the URL stays |
| 🔒 Access | tailnet only (PostHog VPN) |
| 🛠️ Admin | inspect & debug state in hogland |
| 💤 Idle | sleeps after ~30 min idle (snapshot to S3, zero node cost) and wakes on your next visit in ~30s, behind a brief "waking up" screen |
commit fbc016c · box box-27667c0f73fa · ready in 1601s (push → usable) · build log · rebuilds on every push, torn down on close
There was a problem hiding this comment.
PostHog Review · Standard · reviewed 31f3856: 1 Must fix, 2 Should fix.
This is the only automatic review while this pull request is a draft. Comment @posthog review to review new changes sooner. Otherwise, a review of the new changes runs when you mark it ready for review.
|
[High impact] Adds a new runtime adapter to the task execution system. The PR still needs the fx Plan-mode fix and the required missing-result convention fix before merging. Reviews (2) · Last reviewed commit: "chore: update OpenAPI generated types" · Reviewed by Greptile |
|
Risk: No findings This increment adds fx runtime-adapter inheritance for resumed runs: a team/task-scoped lookup of the previous run's adapter (mirroring the existing Claude plan-access lookup), an auto-inherit when a resume request supplies a model but no adapter, and a frontend tweak hiding ChatGPT plan billing on fx runs. I traced every gate downstream of the new inherit (fx feature flag at processing time, permission-mode choices, model entitlement, Pi-task incompatibility) and found no bypass; the new facade query is scoped by team and task identically to its sibling. No security issues found in this increment. Sentinel reviewed |
|
React Doctor found 28 issues in 11 files · 4 errors & 24 warnings. Errors
24 warnings
Reviewed by React Doctor for commit |
|
|
@PostHog stamp |
|
@charlesvien Stamphog is reviewing this pull request. |
There was a problem hiding this comment.
Not approved — this change needs a human reviewer.
Re-adding the stamphog label gives the same result unless the changed files change.
stamphog won't auto-review this pull request because two gates refused it. The deny-list gate matched it on deps_toolchain and infra_cicd, which fits the changes to the sandbox image files (Dockerfile.sandbox-base and hogland/setup-golden.sh) that install the fx release. The tier gate also classified it as T2-never: it touches two areas (backend tasks and frontend/generated clients) across 41 files and 1479 lines, including generated code and snapshots.
Please ask a human reviewer to take it. You could also split the sandbox image and toolchain changes into their own pull request, separate from the task-run and frontend changes, so each piece is smaller and easier to review.
- 👍 on the PR from greptile-apps[bot].
- 2 of the 41 changed files are governed by
products/desktop/AGENT_APPROVALS.md.
Gate mechanics and policy version
| Gate | Result | |
|---|---|---|
| prerequisites | ✓ | all clear |
| deny-list | ✗ | matches: deps_toolchain, infra_cicd |
| size | ✓ | 452L, 24F substantive, 1479L/41F incl. docs/generated/snapshots — within ceiling |
| tier | ✗ | classified as T2-never: T2-never (1479L, 41F, two-areas, feat) |
| stamphog 2.5.1 | .stamphog/policy.yml @ unknown · reviewed head fbc016c |
Problem
The agent server can run fx (#117842), but cloud tasks can't pick it yet.
Changes
runtime_adapter: "fx"with any gateway model, behind thetasks-fx-runtimeflag.How did you test this code?
Unit tests. No real cloud run yet: sandboxes need an agent release with this stack.