Skip to content

feat(api): achievement expansion + free-tier XP earning + report-event (#196) - #268

Merged
thomasluizon merged 3 commits into
mainfrom
issue-196
Jun 30, 2026
Merged

thomasluizon merged 3 commits into
mainfrom
issue-196

Conversation

@thomasluizon

Copy link
Copy Markdown
Owner

Backend half of #196 (paired with the orbit-ui-mobile PR — merge this API PR first).

What

Validation

dotnet build clean; dotnet test 4152 passed (App 2400 / Domain 455 / Infra 1297).

Cross-repo

This is the dependency root for the Phase 5 achievement hooks — merge it before the other achievement-touching PRs so their string-id award fallbacks resolve. Refs thomasluizon/orbit-ui-mobile#196.

🤖 Generated with Claude Code

- Append Social/Sharing/Together achievement categories
- Define 10 achievements: FirstFriend, SquadGoals, Cheerleader, ShowOff,
  YearInReview, TeamPlayer, MissionAccomplished, BattleBuddy (defined for
  siblings #197-#201) + StreakImmortal/Unstoppable (wired on streak/volume)
- Add idempotent IGamificationService.TryGrantAchievementsAsync grant funnel
- Add POST /api/achievements/report-event (auth, whitelisted keys:
  card_shared->ShowOff, wrapped_viewed->YearInReview); no Pro gate
- A1: free users earn habit-log + goal XP and level up (achievements stay
  Pro-gated) behind the gamification_free_tier flag predicate
- Data-only migration enabling gamification_free_tier
- Portuguese notification strings for the 10 new achievements
- Inventory report-event in the agent capability catalog

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@thomasluizon

Copy link
Copy Markdown
Owner Author

Paired client PR: thomasluizon/orbit-ui-mobile#357 (Closes #196). Merge this API PR first.

thomasluizon and others added 2 commits June 30, 2026 18:08
The Dependency Scan flags a high-severity advisory: Microsoft.AspNetCore.OpenApi
10.0.9 transitively resolves the vulnerable Microsoft.OpenApi 2.0.0 ("circular
schema references may terminate OpenAPI parsing"). Pin a direct reference to the
patched 2.7.5. This affects main and every open branch, not just this PR; it rides
on the foundation PR so it lands on main first.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@thomasluizon
thomasluizon merged commit 52958dd into main Jun 30, 2026
8 checks passed
@thomasluizon
thomasluizon deleted the issue-196 branch June 30, 2026 21:22
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