Skip to content

chore(experiments): experiments scene product migration experiment status - #90511

Merged
trunk-io[bot] merged 2 commits into
masterfrom
experiments/experiments-scene-product-migration-experiment-status
Aug 28, 2026
Merged

trunk-io[bot] merged 2 commits into
masterfrom
experiments/experiments-scene-product-migration-experiment-status

Conversation

@rodrigoi

@rodrigoi rodrigoi commented Aug 27, 2026 •

Copy link
Copy Markdown
Member

Problem

experimentStatus still lives under frontend/src/scenes/experiments. It belongs in the experiments product folder.

Changes

Mechanical move of experimentStatus to products/experiments/frontend. All importers now use the products/ path. No behavior change.

How did you test this code?

pnpm --filter=@posthog/frontend typescript:check
pnpm --filter=@posthog/frontend jest frontend/src/scenes/experiments products/experiments/frontend

cat-type-small

Automatic notifications

  • Publish to changelog?

🤖 Agent context

Autonomy: Human-driven (agent-assisted)

Model: Opus 4.8 (1M context)
Manually refactored: no

Skills used:

  • /stacking-prs (local)
  • /writing-ui-components (local)
  • /writing-pull-requests (local)

Relevant decisions:

  • Each file moves in its own stacked PR, so review stays small and mechanical.
  • Components go to products/experiments/frontend/components; helper modules go to the frontend root. No ../ imports.

@github-actions

github-actions Bot commented Aug 27, 2026 •

Copy link
Copy Markdown
Contributor

🤖 CI report

✅ Trunk lane — non-backend lane

This PR is assigned to the non-backend lane. It does not run backend Python tests and may merge in parallel with PRs in other lanes.

✅ Bundle size — no change

Uncompressed size of every built .js bundle, compared against the base branch.

Total: 68.12 MiB · no change

No file changed by more than 1000 B.

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
1.37 MiB · 22 files no change ███░░░░░░░ 30.3% of 4.51 MiB
authenticated shell (every logged-in page)
src/scenes/AuthenticatedShell.tsx
8.82 MiB · 3,247 files no change █████████░ 90.8% of 9.71 MiB

🟢 node_modules/monaco-editor/ stays out of src/index.tsx
🟢 src/lib/components/ActivityLog/describers stays out of src/index.tsx
🟢 [object Object] stays out of src/index.tsx
🟢 [object Object] stays out of src/index.tsx
🟢 node_modules/monaco-editor/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/lib/components/ActivityLog/describers stays out of src/scenes/AuthenticatedShell.tsx
🟢 [object Object] stays out of src/scenes/AuthenticatedShell.tsx
🟢 [object Object] stays out of src/scenes/AuthenticatedShell.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/RootErrorBoundary.tsx
912 B ../node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js
789 B src/scenes/ChunkLoadErrorBoundary.tsx
762 B src/index.tsx
Largest files eagerly shipped from src/scenes/AuthenticatedShell.tsx
Size File
307.0 KiB ../node_modules/.pnpm/posthog-js@1.422.0_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/rrweb.js
267.7 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
263.4 KiB ../node_modules/.pnpm/posthog-js@1.422.0_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.js
252.5 KiB src/taxonomy/core-filter-definitions-by-group.json
154.2 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
104.7 KiB src/lib/api.ts
95.2 KiB ../packages/quill/packages/quill/dist/index.js
93.3 KiB ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js
90.6 KiB ../node_modules/.pnpm/@tiptap+core@3.20.6_@tiptap+pm@3.20.6/node_modules/@tiptap/core/dist/index.js

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.26 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.26 MiB · 18 files no change ████░░░░░░ 39.5% of 5.72 MiB
Deferred (lazy) 2.11 MiB · 45 files no change n/a — loads on demand
Loader dist/toolbar.js 1.1 KiB no change █░░░░░░░░░ 5.8% of 19.5 KiB
Largest eagerly-shipped chunks
Size File
749.2 KiB dist/toolbar/toolbar-app-XJ7BMNHX.css
588.2 KiB dist/toolbar/chunk-chunk-QXQCK5SA.js
484.7 KiB dist/toolbar/chunk-chunk-QMGLBVDO.js
133.8 KiB dist/toolbar/chunk-chunk-EUOYQWGB.js
131.8 KiB dist/toolbar/chunk-chunk-FDH2IBXT.js
71.3 KiB dist/toolbar/toolbar-app-DKGYKGXO.js
69.0 KiB dist/toolbar/chunk-chunk-TSAL54PB.js
35.6 KiB dist/toolbar/chunk-chunk-TMLTCDV6.js
20.9 KiB dist/toolbar/chunk-chunk-BHKA3C5E.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 — 🔺 +389 B (+0.0%)

Total size of the built frontend/dist folder (all assets), compared against the base branch.

Total: 1434.82 MiB · 🔺 +389 B (+0.0%)

✅ Playwright — all passed

All tests passed.

View test results →

@rodrigoi rodrigoi changed the title experiments/experiments scene product migration experiment status chore(experiments): experiments scene product migration experiment status Aug 27, 2026
@rodrigoi rodrigoi added skip-agent-review Save $$$, skip auto agent reviews (Greptile) — use for trivial or chore PRs skip-inkeep-docs Use this label to skip an Inkeep docs PR in posthog.com labels Aug 27, 2026
@trunk-io

trunk-io Bot commented Aug 27, 2026 •

Copy link
Copy Markdown

Static Badge   Static Badge   Static Badge

View Full Report ↗︎ ⋅ Docs

@rodrigoi
rodrigoi force-pushed the experiments/experiments-scene-product-migration-experiment-status branch from eeb4064 to 4b4f4c3 Compare August 27, 2026 21:27
@rodrigoi
rodrigoi force-pushed the experiments/experiments-scene-product-migration-experiment-status branch from 4b4f4c3 to 5b6206d Compare August 27, 2026 23:07
@rodrigoi
rodrigoi force-pushed the experiments/experiments-scene-product-migration-experiment-status branch from 5b6206d to c135842 Compare August 28, 2026 01:17
@rodrigoi
rodrigoi marked this pull request as ready for review August 28, 2026 03:12
@github-actions

github-actions Bot commented Aug 28, 2026 •

Copy link
Copy Markdown
Contributor

🦔 Hogbox preview · ✅ ready

▶ 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 36b326f · box box-70bb320f3928 · ready in 648s (push → usable) · build log · rebuilds on every push, torn down on close

@pr-assigner-resolver-posthog
pr-assigner-resolver-posthog Bot requested a review from a team August 28, 2026 03:12
@pr-assigner-resolver-posthog

Copy link
Copy Markdown

👀 Auto-assigned reviewers

These soft owners were skipped because they only have minor changes here. Nothing blocks merge, so self-assign if you'd like a look:

  • @PostHog/team-data-tools (frontend/src/scenes/owners.yaml)

Soft owners come from each directory's owners.yaml and each product's product.yaml (resolved nearest-file-wins). The locator after each owner is the file that decided it. Generated files and lockfiles are ignored when deciding ownership.

@greptile-apps

greptile-apps Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Reviews (1): Last reviewed commit: "chore(experiments): update imports for e..." | Re-trigger Greptile

Base automatically changed from experiments/experiments-scene-product-migration-duplicate-modal to master August 28, 2026 03:38
@trunk-io

trunk-io Bot commented Aug 28, 2026 •

Copy link
Copy Markdown

😎 Stack merged successfully - details.

@rodrigoi
rodrigoi force-pushed the experiments/experiments-scene-product-migration-experiment-status branch from c135842 to 36b326f Compare August 28, 2026 04:02
@rodrigoi rodrigoi added the stamphog Request AI approval (no full review) label Aug 28, 2026

@stamphog stamphog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pure mechanical file move (100%-similarity rename) with only import path updates across consumers; no logic changes, and the author has STRONG familiarity with these files despite the cross-team touch.

  • Author wrote 94% of the modified lines and has 144 merged PRs in these paths (familiarity STRONG).
  • 👍 on the PR from greptile-apps[bot].
Gate mechanics and policy version
Gate Result
prerequisites ✓ all clear
deny-list ✓ no deny categories matched
size ✓ 62L, 24F substantive, 74L/25F incl. docs/generated/snapshots — within ceiling
tier ✓ T1-agent / T1d-complex (74L, 25F, cross-cutting, chore)
stamphog 2.0.0b4 .stamphog/policy.yml @ 36b326f · reviewed head 36b326f

@trunk-io
trunk-io Bot merged commit 3104d73 into master Aug 28, 2026
228 checks passed
@trunk-io
trunk-io Bot deleted the experiments/experiments-scene-product-migration-experiment-status branch August 28, 2026 05:01
@deployment-status-posthog

deployment-status-posthog Bot commented Aug 28, 2026 •

Copy link
Copy Markdown

Deploy status

Environment Status Deployed At Workflow
dev ✅ Deployed 2026-08-28 05:24 UTC Run
prod-us ✅ Deployed 2026-08-28 05:40 UTC Run
prod-eu ✅ Deployed 2026-08-28 07:22 UTC Run

Jpckson pushed a commit to Jpckson/posthog that referenced this pull request Aug 28, 2026

This branch was successfully deployed

1 active deployment
preview-pr-90511 — 36b326f3 Deployed Aug 28, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-agent-review Save $$$, skip auto agent reviews (Greptile) — use for trivial or chore PRs skip-inkeep-docs Use this label to skip an Inkeep docs PR in posthog.com stamphog Request AI approval (no full review)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant