feat(signals): link scout labels in inbox to the scout - #71091
Conversation
Turn the "Scout · <name>" labels on inbox reports and evidence findings into links to the scout's detail page, so a reader can jump straight from a report to the scout that authored it. Adds a shared ScoutLink component and wires it into the report detail header, the report list card, and the evidence finding card header. Generated-By: PostHog Code Task-Id: 37a5926a-2fdf-4194-a1ac-cbf31f2117db
|
Hey @andrewm4894! 👋 It looks like your git author email on this PR isn't your
You can fix it for this repo with: git config user.email "you@posthog.com"Or set it globally with |
🦔 Hogbox preview · ✅ ready▶ Open the preview
commit |
|
Reviews (1): Last reviewed commit: "feat(signals): link scout labels in inbo..." | Re-trigger Greptile |
🤖 CI report
|
| Root | Eager (shipped) | Δ vs base | Budget |
|---|---|---|---|
entry (logged-out pages, app bootstrap)src/index.tsx |
1.22 MiB · 22 files | no change | ███░░░░░░░ 28.4% of 4.29 MiB |
authenticated shell (every logged-in page)src/scenes/AuthenticatedShell.tsx |
8.15 MiB · 2,979 files | no change | █████████░ 88.1% of 9.25 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 |
|---|---|
| 281.1 KiB | ../node_modules/.pnpm/posthog-js@1.401.0/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 |
| 235.5 KiB | src/taxonomy/core-filter-definitions-by-group.json |
| 222.7 KiB | ../node_modules/.pnpm/posthog-js@1.401.0/node_modules/posthog-js/dist/module.js |
| 164.0 KiB | src/queries/validators.js |
| 154.3 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 |
| 106.1 KiB | src/lib/api.ts |
| 93.3 KiB | ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js |
| 92.7 KiB | ../packages/quill/packages/quill/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
✅ Dist folder size — 🔺 +3.6 KiB (+0.0%)
Total size of the built frontend/dist folder (all assets), compared against the base branch.
Total: 1308.72 MiB · 🔺 +3.6 KiB (+0.0%)
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 12febebb97
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Pure frontend UI change linking existing scout labels to their detail page; no risky territory touched, author owns this area with strong familiarity, and the two inline concerns raised were addressed with reasoned replies (one even got a bot 👍) rather than ignored.
- Author wrote 86% of the modified lines and has 12 merged PRs in these paths (familiarity STRONG).
- chatgpt-codex-connector[bot], greptile-apps[bot] reviewed the current head.
Gate mechanics and policy version
| Gate | Result | |
|---|---|---|
| prerequisites | ✓ | all clear |
| deny-list | ✓ | no deny categories matched |
| size | ✓ | 104L, 4F substantive — within ceiling |
| tier | ✓ | T1-agent / T1c-medium (104L, 4F, single-area, feat) |
| stamphog 2.0.0b3 | .stamphog/policy.yml @ 7cd3afb · reviewed head 12febeb |
Problem
Inbox reports and their evidence findings show a "Scout · " label naming the scout that authored them, but the label is plain text. There's no easy way to get from a report back to the scout it came from — you'd have to navigate to the scout list and find it by name.
Changes
The scout name in the "Scout · " label is now a link to the scout's detail page (
/inbox/scouts/<skill-name>) in three places:A small shared
ScoutLinkcomponent builds the link from the raw scout skill slug (prettifying it for display via the existingscoutDisplayName) and stops click propagation so it works even inside the clickable report row.How did you test this code?
I (Claude) couldn't run the frontend typecheck/lint/format here —
node_modulesisn't installed in this environment. Changes are pure.tsxedits that reuse existing helpers (urls.inboxScout,scoutDisplayName) and the existing linked-v{version}pattern already used in the scout finding card, so the wiring mirrors code that already works. Please rely on CI for typecheck/lint.No behavior changes beyond the label becoming a link; the fallback "Scout · Cross-source finding" text (when there's no resolvable scout slug) stays plain text.
Automatic notifications
🤖 Agent context
Autonomy: Human-driven (agent-assisted)
Requested by Andy: make the scout SLO-monitoring (and every scout) label in inbox reports link to the corresponding scout so users can navigate there easily. I traced the label rendering to three components sharing the same
Scout · <name>pattern, found that the raw slug (report.scout_name/signal.extra.skill_name) was being discarded in favor of the display name at each call site, and threaded the raw slug through instead sourls.inboxScout()can build the link. Factored the name-to-link rendering into a sharedScoutLinkto keep the three sites consistent.Created with PostHog Code