Skip to content

feat(signals): link scout labels in inbox to the scout - #71091

Merged
andrewm4894 merged 1 commit into
masterfrom
posthog-code/link-scout-labels-in-inbox
Jul 15, 2026
Merged

feat(signals): link scout labels in inbox to the scout#71091
andrewm4894 merged 1 commit into
masterfrom
posthog-code/link-scout-labels-in-inbox

Conversation

@andrewm4894

Copy link
Copy Markdown
Member

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:

  • the report detail header meta row
  • the report list card
  • each evidence finding card header

A small shared ScoutLink component builds the link from the raw scout skill slug (prettifying it for display via the existing scoutDisplayName) 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_modules isn't installed in this environment. Changes are pure .tsx edits 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

  • Publish to changelog?
  • Alert Sales and Marketing teams?

🤖 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 so urls.inboxScout() can build the link. Factored the name-to-link rendering into a shared ScoutLink to keep the three sites consistent.


Created with PostHog Code

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
@andrewm4894 andrewm4894 self-assigned this Jul 15, 2026
@andrewm4894
andrewm4894 marked this pull request as ready for review July 15, 2026 14:17
@github-actions

Copy link
Copy Markdown
Contributor

Hey @andrewm4894! 👋

It looks like your git author email on this PR isn't your @posthog.com address (andrewm4894@gmail.com). Since you're on the PostHog team, it's worth pointing your local git author email at your @posthog.com address. Why it matters:

  • Consistent work identity in git history — internal tooling that attributes commits to team members keys off your @posthog.com address.
  • Keeps team contributions easy to tell apart from external community ones when scanning history.

You can fix it for this repo with:

git config user.email "you@posthog.com"

Or set it globally with git config --global user.email "you@posthog.com". No need to redo this PR — just a nudge for next time. 🙂

@pr-assigner-resolver-posthog
pr-assigner-resolver-posthog Bot requested a review from a team July 15, 2026 14:18
@andrewm4894
andrewm4894 removed the request for review from a team July 15, 2026 14:18
@github-actions

github-actions Bot commented Jul 15, 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 12febeb · box box-257ef5ee9113 · ready in 846s (push → usable) · build log · rebuilds on every push, torn down on close

@greptile-apps

greptile-apps Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Reviews (1): Last reviewed commit: "feat(signals): link scout labels in inbo..." | Re-trigger Greptile

Comment thread frontend/src/lib/signals/ScoutLink.tsx
@github-actions

github-actions Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

🤖 CI report

⚠️ Bundle size — 🔺 +599 B (+0.0%)

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

Total: 64.80 MiB · 🔺 +599 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.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%)

Playwright — all passed

All tests passed.

View test results →

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 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".

Comment thread frontend/src/scenes/inbox/components/cards/ReportCard.tsx
@trunk-io

trunk-io Bot commented Jul 15, 2026

Copy link
Copy Markdown

Static BadgeStatic BadgeStatic BadgeStatic Badge

View Full Report ↗︎Docs

@andrewm4894 andrewm4894 added the stamphog Request AI approval (no full review) label Jul 15, 2026
@andrewm4894
andrewm4894 enabled auto-merge (squash) July 15, 2026 15:16

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

@andrewm4894
andrewm4894 merged commit c7e3a2a into master Jul 15, 2026
382 of 424 checks passed
@andrewm4894
andrewm4894 deleted the posthog-code/link-scout-labels-in-inbox branch July 15, 2026 15:37
@deployment-status-posthog

deployment-status-posthog Bot commented Jul 15, 2026

Copy link
Copy Markdown

Deploy status

Environment Status Deployed At Workflow
dev ✅ Deployed 2026-07-15 16:16 UTC Run
prod-us ✅ Deployed 2026-07-15 16:37 UTC Run
prod-eu ✅ Deployed 2026-07-15 16:37 UTC Run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

stamphog Request AI approval (no full review)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant