Skip to content

feat(error-tracking): add severity rules settings - #86271

Merged
trunk-io[bot] merged 3 commits into
masterfrom
hp/error-tracking-severity-rules-04-ui
Aug 24, 2026
Merged

trunk-io[bot] merged 3 commits into
masterfrom
hp/error-tracking-severity-rules-04-ui

Conversation

@hpouillot

@hpouillot hpouillot commented Aug 20, 2026 •

Copy link
Copy Markdown
Contributor

Problem

Error tracking users need a project settings surface to configure initial issue severity without calling the severity-rules API directly.

Changes

  • Adds an ordered severity-rule list to error tracking settings.
  • Adds create, edit, delete, preview, and reorder flows using shared rule filters.
  • Requires one of the generated low, medium, high, or critical severity values.
  • Displays runtime-disabled diagnostics through the existing disabled-rule banner.
  • Explains new-issue-only evaluation, first-match precedence, and inference fallback.

A screenshot was not captured because a local frontend server was not available during the stack build.

PR stack

Merge in this order:

  1. feat(error-tracking): add severity rules API #86267
  2. feat(cymbal): evaluate error tracking severity rules #86268
  3. feat(cymbal): apply severity rules on issue creation #86270
  4. feat(error-tracking): add severity rules settings #86271 — this PR

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.ts
  • hogli test products/error_tracking/frontend/scenes/ErrorTrackingConfigurationScene/severity_rules/severityRuleModalLogic.test.ts
  • pnpm --filter=@posthog/frontend fix

The 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

  • Publish to changelog?

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.

@github-actions

github-actions Bot commented Aug 20, 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 — 🟢 -935 B (-0.0%)

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

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 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.36 MiB · 22 files no change ███░░░░░░░ 30.2% of 4.51 MiB
authenticated shell (every logged-in page)
src/scenes/AuthenticatedShell.tsx
8.75 MiB · 3,232 files 🔺 +18 B (+0.0%) █████████░ 90.1% 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
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%)

✅ Playwright — all passed

All tests passed.

View test results →

@hpouillot
hpouillot force-pushed the hp/error-tracking-severity-rules-04-ui branch from 23c8a6f to fecff7b Compare August 20, 2026 10:22
@trunk-io

trunk-io Bot commented Aug 20, 2026 •

Copy link
Copy Markdown

Static Badge   Static Badge   Static Badge

View Full Report ↗︎ ⋅ Docs

@hpouillot
hpouillot force-pushed the hp/error-tracking-severity-rules-04-ui branch from fecff7b to 5db1ebb Compare August 20, 2026 10:30
@posthog

posthog Bot commented Aug 20, 2026 •

Copy link
Copy Markdown
Contributor

@hpouillot
hpouillot force-pushed the hp/error-tracking-severity-rules-04-ui branch from 5db1ebb to 5ebb19e Compare August 20, 2026 10:57
@hpouillot
hpouillot force-pushed the hp/error-tracking-severity-rules-04-ui branch from 5ebb19e to 44c867c Compare August 20, 2026 14:06
Base automatically changed from hp/error-tracking-severity-rules-03-linking to master August 24, 2026 12:19
@trunk-io

trunk-io Bot commented Aug 24, 2026 •

Copy link
Copy Markdown

😎 Merged successfully - details.

@hpouillot
hpouillot force-pushed the hp/error-tracking-severity-rules-04-ui branch from 44c867c to 95a44a1 Compare August 24, 2026 12:22
@hpouillot
hpouillot marked this pull request as ready for review August 24, 2026 12:31
@hpouillot hpouillot added the stamphog Request AI approval (no full review) label Aug 24, 2026
@github-actions

github-actions Bot commented Aug 24, 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 a7deb26 · box box-3adf043ec168 · ready in 638s (push → usable) · build log · rebuilds on every push, torn down on close

@greptile-apps

greptile-apps Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Reviews (1): Last reviewed commit: "feat(error-tracking): gate severity rule..." | Re-trigger Greptile

@stamphog

stamphog Bot commented Aug 24, 2026

Copy link
Copy Markdown

@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
Gate Result
prerequisites ✓ all clear
deny-list ✓ no deny categories matched
size ✓ 391L, 8F substantive, 489L/9F incl. docs/generated/snapshots — within ceiling
tier ✓ T1-agent / T1d-complex (489L, 9F, two-areas, feat)
stamphog 2.0.0b4 .stamphog/policy.yml @ 6a30f3c · reviewed head 6a30f3c

2 updated
Run: 36eb6092-fc9e-4b6e-ab72-892c40ad6619

Co-authored-by: hpouillot <3455883+hpouillot@users.noreply.github.com>

@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.

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

@trunk-io
trunk-io Bot merged commit e2435bb into master Aug 24, 2026
204 checks passed
@trunk-io
trunk-io Bot deleted the hp/error-tracking-severity-rules-04-ui branch August 24, 2026 13:16
@deployment-status-posthog

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

Copy link
Copy Markdown

Deploy status

Environment Status Deployed At Workflow
dev ✅ Deployed 2026-08-24 14:10 UTC Run
prod-us ✅ Deployed 2026-08-24 16:10 UTC Run
prod-eu ✅ Deployed 2026-08-24 23:15 UTC Run

This branch was successfully deployed

1 active deployment
preview-pr-86271 — a7deb26b Deployed Aug 24, 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-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.

2 participants