Skip to content

fix: distinguish GitHub assessments from Wasteland stamps on profile#21

Merged
julianknutsen merged 2 commits intomainfrom
fix/profile-stamp-count-mismatch-complete
Mar 8, 2026
Merged

fix: distinguish GitHub assessments from Wasteland stamps on profile#21
julianknutsen merged 2 commits intomainfrom
fix/profile-stamp-count-mismatch-complete

Conversation

@julianknutsen
Copy link
Collaborator

Summary

Supersedes #18 by @DreadPirateRobertz, which correctly identified and fixed the confusion between GitHub-derived assessment counts and Wasteland reputation stamps on the profile page.

This PR includes that fix and adds maintainer fixups from the adoption review.

Credit: Original fix by @DreadPirateRobertz (commit preserved with original authorship).

Original Fix (contributor)

  • Profile page showed "11 stamps earned" for steveyegge, but the scoreboard correctly showed 2
  • Root cause: profile queries hop/the-pile (GitHub analysis stamps) while scoreboard queries hop/wl-commons (real Wasteland reputation stamps)
  • Renamed stamp_countassessment_count in the profile API response
  • Frontend now shows "assessments" with tooltip, using neutral styling instead of green "verified" badge
  • Scoreboard stamp_count unchanged — those are real Wasteland stamps

Maintainer Fixups

  • Updated CLI help text: "reputation stamps" → "GitHub assessments"
  • Updated README Profiles section to match new terminology
  • Added AssessmentCount assertions to profile_test.go (zero + non-zero cases)
  • Added assessment_count assertion to pile_handlers_test.go

Files Changed

File Change
internal/pile/profile.go StampCountAssessmentCount, JSON: assessment_count
cmd/wl/cmd_profile.go CLI footer + help text updated
web/src/api/types.ts ProfileResponse.stamp_countassessment_count
web/src/components/ProfileView.tsx "stamps earned" → "assessments" with tooltip
web/src/components/ProfileView.module.css New .assessmentBadge style (neutral)
internal/pile/profile_test.go Added AssessmentCount assertions
internal/api/pile_handlers_test.go Added assessment_count assertion
README.md Updated Profiles description

Test plan

  • go test ./internal/pile/ passes
  • go test ./internal/api/ passes
  • go test ./cmd/wl/ passes
  • go build ./cmd/wl/ compiles
  • Verify profile page shows "assessments" instead of "stamps earned"
  • Verify scoreboard still shows correct Wasteland stamp count
  • Verify CLI wl profile shows "Assessments" label

Closes #18

The profile page showed "11 stamps earned" for steveyegge, but the
scoreboard correctly showed 2. The profile queries hop/the-pile (GitHub
analysis stamps) while the scoreboard queries hop/wl-commons (real
Wasteland reputation stamps). These are two different reputation systems
but the profile conflated them.

Changes:
- Rename Profile.StampCount → AssessmentCount (JSON: assessment_count)
- Frontend shows "assessments" with tooltip explaining the distinction
- Assessment badge uses neutral styling (not green "verified" badge)
- Scoreboard stamp_count is unchanged (those are real Wasteland stamps)

Fixes gastownhall/wasteland profile stamp count mismatch.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@julianknutsen
Copy link
Collaborator Author

Adoption Review

This PR supersedes #18 by @DreadPirateRobertz, which correctly identified and fixed the confusion between GitHub-derived assessment counts and Wasteland reputation stamps on the profile page. This PR includes that fix and adds maintainer fixups.

Credit: Original fix by @DreadPirateRobertz (commit preserved with original authorship).

Initial Review

Triple-model review (Claude + Codex + Gemini) identified 3 findings:

  1. Major: API wire-format breaking change (stamp_countassessment_count) — downgraded to minor after confirming no external consumers and pre-1.0 status.
  2. Minor: No test assertions on the renamed AssessmentCount field.
  3. Minor: CLI help text and README still said "reputation stamps", contradicting the rename.

Maintainer Changes

All three initial findings addressed:

  • Updated CLI help text: "reputation stamps" → "GitHub assessments"
  • Updated README Profiles section to match terminology
  • Added AssessmentCount test assertions (zero + non-zero) in profile_test.go and pile_handlers_test.go

Final Review Status

Dual-model re-review (Claude + Codex) returned approve — all initial findings resolved. Remaining observations are minor/nit with no required fixes:

  • JSON field rename is an intentional breaking change (no external consumers, pre-1.0)
  • Handler test zero-value assertion is sufficient given unit-level non-zero coverage

Review Iterations

2 review passes performed.


Adopted via /adopt-pr workflow (Path C — new PR). Original: #18. Contributor commits preserved.

- Update CLI help text: "reputation stamps" → "GitHub assessments"
- Update README Profiles section to match new terminology
- Add AssessmentCount assertions to profile_test.go (empty + non-empty)
- Add assessment_count assertion to pile_handlers_test.go

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@julianknutsen julianknutsen force-pushed the fix/profile-stamp-count-mismatch-complete branch from bf93874 to e803120 Compare March 8, 2026 05:23
@julianknutsen julianknutsen merged commit c126232 into main Mar 8, 2026
5 checks passed
@steveyegge steveyegge deleted the fix/profile-stamp-count-mismatch-complete branch March 18, 2026 20:49
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.

2 participants