Repository navigation
feat(error-tracking): add severity rules settings - #86271
Conversation
🤖 CI report✅ Trunk lane — non-backend laneThis 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 — 🟢 -935 B (-0.0%)Uncompressed size of every built Total: 68.73 MiB · 🟢 -935 B (-0.0%) No file changed by more than 1000 B. Posted automatically by build-bundle-size-report · uncompressed bytes from dist-report ✅ Eager graph — within budgetHow 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
🟢 Largest files eagerly shipped from
|
| 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 |
|---|---|
| 304.7 KiB | ../node_modules/.pnpm/posthog-js@1.418.5/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 |
| 250.7 KiB | ../node_modules/.pnpm/posthog-js@1.418.5/node_modules/posthog-js/dist/module.js |
| 246.9 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.4 KiB | src/lib/api.ts |
| 95.1 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.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 · 17 files | 🟢 -2 B (-0.0%) | ████░░░░░░ 39.1% of 5.72 MiB |
| Deferred (lazy) | 2.10 MiB · 33 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 |
|---|---|
| 743.5 KiB | dist/toolbar/toolbar-app-VJXCWTJT.css |
| 574.9 KiB | dist/toolbar/chunk-chunk-4XJQGCGU.js |
| 484.6 KiB | dist/toolbar/chunk-chunk-F4LOU7PS.js |
| 133.8 KiB | dist/toolbar/chunk-chunk-W4ZNMTB2.js |
| 131.8 KiB | dist/toolbar/chunk-chunk-T5KY5WYR.js |
| 71.2 KiB | dist/toolbar/toolbar-app-JGQUN3UJ.js |
| 69.0 KiB | dist/toolbar/chunk-chunk-27JL52RE.js |
| 35.6 KiB | dist/toolbar/chunk-chunk-PUR2JSGI.js |
| 20.9 KiB | dist/toolbar/chunk-chunk-MTR5GGMN.js |
| 12.2 KiB | dist/toolbar/chunk-chunk-PIK3PADE.js |
Posted automatically by check-toolbar-size · sizes are toolbar output bytes (shipped, post-tree-shake) from the esbuild metafile
✅ Dist folder size — 🔺 +262.0 KiB (+0.0%)
Total size of the built frontend/dist folder (all assets), compared against the base branch.
Total: 1463.79 MiB · 🔺 +262.0 KiB (+0.0%)
23c8a6f to
fecff7b
Compare
fecff7b to
5db1ebb
Compare
|
✅ Visual changes approved by @hpouillot — baseline updated in 2 changed. Changed |
5db1ebb to
5ebb19e
Compare
5ebb19e to
44c867c
Compare
|
😎 Merged successfully - details. |
44c867c to
95a44a1
Compare
🦔 Hogbox preview · ✅ ready▶ Open the preview
commit |
|
Reviews (1): Last reviewed commit: "feat(error-tracking): gate severity rule..." | Re-trigger Greptile |
|
@greptile-apps[bot] still has a review in flight (👀) — not approving over an unfinished review. The review re-runs on the next push, or re-request one once the reviewer finishes. Gate mechanics and policy version
|
2 updated Run: 36eb6092-fc9e-4b6e-ab72-892c40ad6619 Co-authored-by: hpouillot <3455883+hpouillot@users.noreply.github.com>
There was a problem hiding this comment.
Contained frontend feature (new settings UI + logic) behind a feature flag, in the author's own team's codebase, with an approved review and passing tests — no risky-territory surface touched.
- Author wrote 0% of the modified lines and has 80 merged PRs in these paths (familiarity MODERATE).
- 👍 on the PR from greptile-apps[bot].
Gate mechanics and policy version
| Gate | Result | |
|---|---|---|
| prerequisites | ✓ | all clear |
| deny-list | ✓ | no deny categories matched |
| size | ✓ | 395L, 9F substantive, 493L/10F incl. docs/generated/snapshots — within ceiling |
| tier | ✓ | T1-agent / T1d-complex (493L, 10F, two-areas, feat) |
| stamphog 2.0.0b4 | .stamphog/policy.yml @ a7deb26 · reviewed head a7deb26 |
Problem
Error tracking users need a project settings surface to configure initial issue severity without calling the severity-rules API directly.
Changes
A screenshot was not captured because a local frontend server was not available during the stack build.
PR stack
Merge in this order:
Depends on: #86270
Followed by: none
This PR is based on
hp/error-tracking-severity-rules-03-linking; review only changes relative to that branch. After its parent is squash-merged, replay only this PR's unique commit onto the rewritten parent and force-push with lease before retargeting.How did you test this code?
pnpm --filter=@posthog/frontend typegen:file products/error_tracking/frontend/scenes/ErrorTrackingConfigurationScene/severity_rules/severityRuleModalLogic.tshogli test products/error_tracking/frontend/scenes/ErrorTrackingConfigurationScene/severity_rules/severityRuleModalLogic.test.tspnpm --filter=@posthog/frontend fixThe logic tests cover required severity selection, create, update, delete, and historical match preview. The full TypeScript check is currently blocked in this worktree by unresolved Quill workspace packages unrelated to this diff.
👉 Stay up-to-date with PostHog coding conventions for a smoother review.
Automatic notifications
Docs update
The settings copy documents evaluation behavior in-product. No separate docs change is included.
🤖 Agent context
Autonomy: Human-driven (agent-assisted)
Implemented with pi coding agent. Repo guidance and the OpenSpec apply, generated API type, UI component, user-facing copy, frontend testing, and stacked PR skills shaped the implementation and split. Existing shared rule components were extended instead of creating a parallel rules framework.