Skip to content

feat(ui): split security ranking into research + fix credits#239

Merged
Progi1984 merged 1 commit into
PrestaShop:developfrom
PrestaEdit:feat/top-security-remediation
Jul 8, 2026
Merged

feat(ui): split security ranking into research + fix credits#239
Progi1984 merged 1 commit into
PrestaShop:developfrom
PrestaEdit:feat/top-security-remediation

Conversation

@PrestaEdit

Copy link
Copy Markdown
Contributor

Why

Follow-up to #237. After discussion with the security team, the split between the two kinds of credited work is worth showing everywhere, not only in the Wall of Fame — because that's the whole point of the board:

  • The people who find and report vulnerabilities show up on public GitHub anyway (advisory pages, sometimes their own writeups); it's decent recognition.
  • The people who ship the fix push their commits through the private security repository, then their patches are republished by the core team on the public repo — so they never appear as author on any public PR or commit. Their work is invisible everywhere else in the Top Contributors site. This board is essentially the only place it surfaces.

Hiding that behind a single total defeats the purpose. Both views now show the breakdown.

What this does

Both the compact Top card in the Top section and the Wall of Fame Security tab now display three numeric columns:

Advisories · Research · Fixes

  • Advisories — total credited advisories (sort key, unchanged).
  • Research — advisories where the person holds a finder / reporter / analyst / coordinator credit.
  • Fixes — advisories where the person holds a remediation_developer / reviewer / verifier credit.

Fed by the new research and remediation fields on top_security.json. TopRankingView gets an optional extraColumns prop so the other cards (Reviewers / Issues / PR authors) stay single-column and untouched.

Card title stays neutral ("🛡️ Top security contributors") — the split does the talking.

⚠️ Merge order

Depends on the traces PR: PrestaShop/traces#236. The top_security.json published by the current traces release (v6.4.0) only carries count; the front columns will render - until a new traces release is published including #236. Suggested order:

  1. Merge feat: expose research and remediation counts in top_security.json traces#236
  2. Publish a traces release tag
  3. Merge this PR

Checks

  • ESLint clean.
  • vitest green (12/12), including new coverage for the extra-columns rendering.
  • Verified in the dev server: card and tab both show Advisories / Research / Fixes with correct per-family counts.

🤖 Generated with Claude Code

Both the compact Top card and the Wall of Fame Security tab now show
three numeric columns instead of one:

  Advisories · Research · Fixes

Advisories is still the total (sort key, unchanged). Research and
Fixes come from the new `research` and `remediation` fields in
top_security.json (produced by traces:generate:topsecurity).

Rationale: fixing a PrestaShop CVE lives entirely in the private
security repository and never surfaces on a public PR — so the
remediation credit on published advisories is the only structured
signal for that work, and hiding it behind a single total defeats the
purpose of the board (community thread with Clotaire: prioritise the
patchers, not just the reporters).

TopRankingView gets an optional `extraColumns` prop so other cards
stay single-column.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@github-project-automation github-project-automation Bot moved this to Ready for review in PR Dashboard Jul 8, 2026
@PrestaEdit

Copy link
Copy Markdown
Contributor Author
image

@Progi1984
Progi1984 merged commit 914b614 into PrestaShop:develop Jul 8, 2026
2 checks passed
@github-project-automation github-project-automation Bot moved this from Ready for review to Merged in PR Dashboard Jul 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants