Skip to content

feat(formatters): add Seer fixability score to issue list and detail views#233

Closed
betegon wants to merge 7 commits intomainfrom
feat/seer-fixability-score
Closed

feat(formatters): add Seer fixability score to issue list and detail views#233
betegon wants to merge 7 commits intomainfrom
feat/seer-fixability-score

Conversation

@betegon
Copy link
Member

@betegon betegon commented Feb 11, 2026

Summary

Surfaces the Seer fixability score on issue list and detail views. Shows a 3-tier label (high/med/low) with the raw percentage — e.g. med(50%) in lists, Med (50%) in detail. Color-coded green/yellow/red to match the severity coloring pattern.

Mirrors the approach in getsentry/sentry-mcp#732.

Changes

  • New seerFixabilityScore field on SentryIssueSchema (nullable/optional, returned by the API when Seer has scored an issue)
  • FIXABILITY column in issue list table, between SEEN and TITLE
  • Fixability line in issue view detail, between Priority and Level
  • Semantic coloring via fixabilityColor() (high=green, med=yellow, low=red)
  • Strict FixabilityTier union type threaded through from label function to color function
  • Property-based tests for label correctness, format patterns, monotonicity, and column width constraints
  • Boundary/edge case unit tests (score=0, score=1, null, undefined)

Test Plan

  • bun run typecheck — clean
  • bun run lint — clean
  • 285 formatter/type tests pass, 0 fail
  • Manually tested against peated org (live API)

project view now accepts <org>/<project> as a single positional argument
instead of separate --org flag and <project> positional, matching the
pattern used by event view and issue view. Auto-detect via DSN still
works when no argument is provided, including monorepo multi-target.
E2E tests now pass org/project as a single arg instead of --org flag.
Renamed test cases to reflect positional args instead of flags.
Deduplicate resolveFromProjectSearch() which was identically implemented
in event/view, trace/view, log/view, and project/view. The shared
resolveProjectBySlug() in resolve-target.ts handles project slug lookup
with consistent error messages and disambiguation prompts.
…views

Surfaces seerFixabilityScore from the Sentry API on issue list and detail
views. Shows a 3-tier label (high/med/low) with the raw percentage, e.g.
med(50%) in lists, Med (50%) in detail. Color-coded green/yellow/red.

Mirrors the approach in getsentry/sentry-mcp#732.
Unit tests for all fixability functions with boundary/edge cases (score=0,
score=1, null, undefined). Property-based tests for tier validity,
monotonicity, format pattern matching, and column width constraints.
@github-actions
Copy link
Contributor

Semver Impact of This PR

🟡 Minor (new features)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


New Features ✨

  • (formatters) Add Seer fixability score to issue list and detail views by betegon in #233

Bug Fixes 🐛

  • (telemetry) Correct runtime context for Bun binary by BYK in #231

🤖 This preview updates automatically when you update the PR.

@github-actions
Copy link
Contributor

PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://cli.sentry.dev/pr-preview/pr-233/

Built to branch gh-pages at 2026-02-11 17:06 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

@github-actions
Copy link
Contributor

Codecov Results 📊

✅ Patch coverage is 87.57%. Project has 3871 uncovered lines.
✅ Project coverage is 70%. Comparing base (base) to head (head).

Files with missing lines (67)
File Patch % Lines
human.ts 58.29% ⚠️ 395 Missing
resolve-target.ts 20.26% ⚠️ 366 Missing
list.ts 14.39% ⚠️ 345 Missing
api-client.ts 66.37% ⚠️ 230 Missing
list.ts 23.47% ⚠️ 212 Missing
oauth.ts 25.10% ⚠️ 194 Missing
list.ts 21.96% ⚠️ 167 Missing
plan.ts 19.37% ⚠️ 154 Missing
help.ts 19.85% ⚠️ 109 Missing
upgrade.ts 57.71% ⚠️ 107 Missing
view.ts 36.48% ⚠️ 101 Missing
interactive-login.ts 9.17% ⚠️ 99 Missing
view.ts 25.81% ⚠️ 92 Missing
view.ts 39.44% ⚠️ 86 Missing
clipboard.ts 4.49% ⚠️ 85 Missing
status.ts 24.07% ⚠️ 82 Missing
migration.ts 47.44% ⚠️ 82 Missing
list.ts 27.18% ⚠️ 75 Missing
browser.ts 4.11% ⚠️ 70 Missing
login.ts 33.33% ⚠️ 64 Missing
span-tree.ts 5.00% ⚠️ 57 Missing
explain.ts 33.33% ⚠️ 56 Missing
telemetry.ts 80.35% ⚠️ 56 Missing
api.ts 89.80% ⚠️ 47 Missing
upgrade.ts 66.91% ⚠️ 46 Missing
seer.ts 75.54% ⚠️ 45 Missing
schema.ts 89.56% ⚠️ 40 Missing
refresh.ts 40.63% ⚠️ 38 Missing
seer.ts 79.87% ⚠️ 30 Missing
preload.ts 53.23% ⚠️ 29 Missing
view.ts 87.27% ⚠️ 28 Missing
utils.ts 88.94% ⚠️ 25 Missing
view.ts 61.54% ⚠️ 25 Missing
detector.ts 90.10% ⚠️ 20 Missing
binary.ts 88.67% ⚠️ 17 Missing
list.ts 91.16% ⚠️ 16 Missing
code-scanner.ts 95.00% ⚠️ 16 Missing
help.ts 57.14% ⚠️ 15 Missing
arg-parsing.ts 90.00% ⚠️ 12 Missing
dsn-cache.ts 94.62% ⚠️ 12 Missing
logout.ts 56.00% ⚠️ 11 Missing
token.ts 52.17% ⚠️ 11 Missing
fix.ts 83.61% ⚠️ 10 Missing
qrcode.ts 33.33% ⚠️ 10 Missing
fs-utils.ts 57.14% ⚠️ 9 Missing
view.ts 94.70% ⚠️ 7 Missing
project-root.ts 97.73% ⚠️ 7 Missing
version-check.ts 91.76% ⚠️ 7 Missing
feedback.ts 84.21% ⚠️ 6 Missing
auth.ts 95.52% ⚠️ 6 Missing
shell.ts 96.23% ⚠️ 6 Missing
app.ts 93.59% ⚠️ 5 Missing
resolver.ts 94.57% ⚠️ 5 Missing
setup.ts 97.84% ⚠️ 4 Missing
list.ts 97.33% ⚠️ 4 Missing
index.ts 95.96% ⚠️ 4 Missing
project-aliases.ts 97.40% ⚠️ 2 Missing
project-root-cache.ts 96.92% ⚠️ 2 Missing
output.ts 89.47% ⚠️ 2 Missing
alias.ts 99.42% ⚠️ 1 Missing
completions.ts 99.37% ⚠️ 1 Missing
env-file.ts 99.19% ⚠️ 1 Missing
parser.ts 98.63% ⚠️ 1 Missing
colors.ts 98.21% ⚠️ 1 Missing
trace.ts 99.16% ⚠️ 1 Missing
helpers.ts 94.74% ⚠️ 1 Missing
helpers.ts 94.74% ⚠️ 1 Missing
Coverage diff
@@            Coverage Diff             @@
##          main       #PR       +/-##
==========================================
+ Coverage    69.87%    70.00%    +0.13%
==========================================
  Files          105       105         —
  Lines        12848     12902       +54
  Branches         0         0         —
==========================================
+ Hits          8977      9031       +54
- Misses        3871      3871         —
- Partials         0         0         —

Generated by Codecov Action

@betegon betegon closed this Feb 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant